@claude-flow/plugin-quantum-optimizer 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +300 -0
- package/dist/bridges/dag-bridge.d.ts +95 -0
- package/dist/bridges/dag-bridge.d.ts.map +1 -0
- package/dist/bridges/dag-bridge.js +461 -0
- package/dist/bridges/dag-bridge.js.map +1 -0
- package/dist/bridges/exotic-bridge.d.ts +64 -0
- package/dist/bridges/exotic-bridge.d.ts.map +1 -0
- package/dist/bridges/exotic-bridge.js +434 -0
- package/dist/bridges/exotic-bridge.js.map +1 -0
- package/dist/bridges/index.d.ts +10 -0
- package/dist/bridges/index.d.ts.map +1 -0
- package/dist/bridges/index.js +8 -0
- package/dist/bridges/index.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-tools.d.ts +34 -0
- package/dist/mcp-tools.d.ts.map +1 -0
- package/dist/mcp-tools.js +525 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/types.d.ts +789 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +154 -0
- package/dist/types.js.map +1 -0
- package/package.json +100 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exotic Bridge - Quantum-Inspired Optimization Algorithms
|
|
3
|
+
*
|
|
4
|
+
* Bridge to @ruvector/exotic-wasm for quantum-inspired optimization
|
|
5
|
+
* including simulated quantum annealing, QAOA emulation, and Grover search.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Default annealing configuration
|
|
9
|
+
*/
|
|
10
|
+
const DEFAULT_ANNEALING_CONFIG = {
|
|
11
|
+
numReads: 1000,
|
|
12
|
+
annealingTime: 20,
|
|
13
|
+
chainStrength: 1.0,
|
|
14
|
+
temperature: {
|
|
15
|
+
initial: 100,
|
|
16
|
+
final: 0.01,
|
|
17
|
+
type: 'exponential',
|
|
18
|
+
},
|
|
19
|
+
embedding: 'auto',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Quantum-Inspired Exotic Bridge
|
|
23
|
+
*/
|
|
24
|
+
export class ExoticBridge {
|
|
25
|
+
name = 'quantum-exotic-bridge';
|
|
26
|
+
version = '0.1.0';
|
|
27
|
+
_status = 'unloaded';
|
|
28
|
+
_module = null;
|
|
29
|
+
get status() {
|
|
30
|
+
return this._status;
|
|
31
|
+
}
|
|
32
|
+
get initialized() {
|
|
33
|
+
return this._status === 'ready';
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Initialize the WASM module
|
|
37
|
+
*/
|
|
38
|
+
async initialize() {
|
|
39
|
+
if (this._status === 'ready')
|
|
40
|
+
return;
|
|
41
|
+
if (this._status === 'loading')
|
|
42
|
+
return;
|
|
43
|
+
this._status = 'loading';
|
|
44
|
+
try {
|
|
45
|
+
// Dynamic import - module may not be installed
|
|
46
|
+
const wasmModule = await import(/* webpackIgnore: true */ '@ruvector/exotic-wasm').catch(() => null);
|
|
47
|
+
if (wasmModule) {
|
|
48
|
+
this._module = wasmModule;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Use mock module for development/testing
|
|
52
|
+
this._module = this.createMockModule();
|
|
53
|
+
}
|
|
54
|
+
this._status = 'ready';
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
this._status = 'error';
|
|
58
|
+
throw new Error(`Failed to initialize ExoticBridge: ${error instanceof Error ? error.message : String(error)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Dispose of resources
|
|
63
|
+
*/
|
|
64
|
+
async dispose() {
|
|
65
|
+
this._module = null;
|
|
66
|
+
this._status = 'unloaded';
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Solve a QUBO problem using simulated quantum annealing
|
|
70
|
+
*/
|
|
71
|
+
async solveQubo(problem, config = {}) {
|
|
72
|
+
if (!this._module) {
|
|
73
|
+
throw new Error('ExoticBridge not initialized');
|
|
74
|
+
}
|
|
75
|
+
const mergedConfig = { ...DEFAULT_ANNEALING_CONFIG, ...config };
|
|
76
|
+
const startTime = performance.now();
|
|
77
|
+
// Validate problem
|
|
78
|
+
this.validateQuboProblem(problem);
|
|
79
|
+
// Run annealing
|
|
80
|
+
const samples = [];
|
|
81
|
+
const energyHistogram = new Map();
|
|
82
|
+
for (let read = 0; read < mergedConfig.numReads; read++) {
|
|
83
|
+
const solution = this.simulatedAnnealing(problem, mergedConfig);
|
|
84
|
+
samples.push(solution);
|
|
85
|
+
const energyKey = Math.round(solution.energy * 1000) / 1000;
|
|
86
|
+
energyHistogram.set(energyKey, (energyHistogram.get(energyKey) ?? 0) + 1);
|
|
87
|
+
}
|
|
88
|
+
// Sort by energy
|
|
89
|
+
samples.sort((a, b) => a.energy - b.energy);
|
|
90
|
+
const endTime = performance.now();
|
|
91
|
+
return {
|
|
92
|
+
solution: samples[0],
|
|
93
|
+
samples: samples.slice(0, 100), // Return top 100 samples
|
|
94
|
+
energyHistogram,
|
|
95
|
+
timing: {
|
|
96
|
+
totalMs: endTime - startTime,
|
|
97
|
+
annealingMs: (endTime - startTime) * 0.9,
|
|
98
|
+
embeddingMs: (endTime - startTime) * 0.1,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Run QAOA optimization
|
|
104
|
+
*/
|
|
105
|
+
async runQaoa(graph, circuit = {}) {
|
|
106
|
+
if (!this._module) {
|
|
107
|
+
throw new Error('ExoticBridge not initialized');
|
|
108
|
+
}
|
|
109
|
+
const defaultCircuit = {
|
|
110
|
+
depth: 3,
|
|
111
|
+
optimizer: 'cobyla',
|
|
112
|
+
initialParams: 'heuristic',
|
|
113
|
+
shots: 1024,
|
|
114
|
+
};
|
|
115
|
+
const mergedCircuit = { ...defaultCircuit, ...circuit };
|
|
116
|
+
// Validate graph
|
|
117
|
+
this.validateProblemGraph(graph);
|
|
118
|
+
// Initialize variational parameters
|
|
119
|
+
let gamma = new Float32Array(mergedCircuit.depth);
|
|
120
|
+
let beta = new Float32Array(mergedCircuit.depth);
|
|
121
|
+
// Heuristic initialization
|
|
122
|
+
for (let i = 0; i < mergedCircuit.depth; i++) {
|
|
123
|
+
gamma[i] = Math.PI / 4 * (1 - i / mergedCircuit.depth);
|
|
124
|
+
beta[i] = Math.PI / 8 * (1 - i / mergedCircuit.depth);
|
|
125
|
+
}
|
|
126
|
+
// Simulate QAOA circuit optimization
|
|
127
|
+
const convergence = [];
|
|
128
|
+
let bestEnergy = Infinity;
|
|
129
|
+
let bestAssignment = new Uint8Array(graph.nodes);
|
|
130
|
+
for (let iteration = 0; iteration < 100; iteration++) {
|
|
131
|
+
// Evaluate current parameters
|
|
132
|
+
const { energy, assignment } = this.evaluateQaoaCircuit(graph, gamma, beta, mergedCircuit.shots);
|
|
133
|
+
convergence.push(energy);
|
|
134
|
+
if (energy < bestEnergy) {
|
|
135
|
+
bestEnergy = energy;
|
|
136
|
+
bestAssignment = new Uint8Array(assignment);
|
|
137
|
+
}
|
|
138
|
+
// Update parameters using gradient-free optimization
|
|
139
|
+
const gradGamma = this.estimateGradient(graph, gamma, beta, 'gamma', mergedCircuit.shots);
|
|
140
|
+
const gradBeta = this.estimateGradient(graph, gamma, beta, 'beta', mergedCircuit.shots);
|
|
141
|
+
const learningRate = 0.1 * Math.pow(0.99, iteration);
|
|
142
|
+
gamma = new Float32Array(gamma.map((g, i) => g - learningRate * gradGamma[i]));
|
|
143
|
+
beta = new Float32Array(beta.map((b, i) => b - learningRate * gradBeta[i]));
|
|
144
|
+
}
|
|
145
|
+
// Estimate optimal value for approximation ratio
|
|
146
|
+
const optimalEnergy = this.estimateOptimalCut(graph);
|
|
147
|
+
const approximationRatio = optimalEnergy !== 0 ? Math.abs(bestEnergy / optimalEnergy) : 1;
|
|
148
|
+
return {
|
|
149
|
+
solution: {
|
|
150
|
+
assignment: bestAssignment,
|
|
151
|
+
energy: bestEnergy,
|
|
152
|
+
optimal: approximationRatio > 0.9,
|
|
153
|
+
iterations: 100,
|
|
154
|
+
confidence: approximationRatio,
|
|
155
|
+
},
|
|
156
|
+
parameters: { gamma, beta },
|
|
157
|
+
approximationRatio: Math.min(approximationRatio, 1),
|
|
158
|
+
convergence: new Float32Array(convergence),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Grover-inspired search
|
|
163
|
+
*/
|
|
164
|
+
async groverSearch(space, config = {}) {
|
|
165
|
+
if (!this._module) {
|
|
166
|
+
throw new Error('ExoticBridge not initialized');
|
|
167
|
+
}
|
|
168
|
+
const amplification = {
|
|
169
|
+
method: config.method ?? 'standard',
|
|
170
|
+
boostFactor: config.boostFactor ?? 1,
|
|
171
|
+
};
|
|
172
|
+
// Parse and validate oracle
|
|
173
|
+
const oracleFunc = this.parseOracle(space.oracle);
|
|
174
|
+
// Calculate optimal iterations: pi/4 * sqrt(N/M)
|
|
175
|
+
const estimatedTargets = 1; // Assume 1 target for initial estimate
|
|
176
|
+
const optimalIterations = Math.floor(Math.PI / 4 * Math.sqrt(space.size / estimatedTargets));
|
|
177
|
+
const solutions = [];
|
|
178
|
+
const numBits = Math.ceil(Math.log2(space.size));
|
|
179
|
+
// Simulate amplitude amplification
|
|
180
|
+
let queries = 0;
|
|
181
|
+
const maxQueries = Math.min(optimalIterations * 2, 10000);
|
|
182
|
+
// Classical simulation with importance sampling inspired by Grover
|
|
183
|
+
const amplitudes = new Float32Array(Math.min(space.size, 10000));
|
|
184
|
+
amplitudes.fill(1 / Math.sqrt(amplitudes.length));
|
|
185
|
+
for (let iter = 0; iter < maxQueries && solutions.length < 10; iter++) {
|
|
186
|
+
// Sample based on amplitudes
|
|
187
|
+
const sampleIdx = this.weightedSample(amplitudes);
|
|
188
|
+
queries++;
|
|
189
|
+
const candidate = this.indexToBits(sampleIdx, numBits);
|
|
190
|
+
if (oracleFunc(candidate)) {
|
|
191
|
+
// Found a solution
|
|
192
|
+
if (!solutions.some(s => this.arraysEqual(s, candidate))) {
|
|
193
|
+
solutions.push(candidate);
|
|
194
|
+
}
|
|
195
|
+
// Amplify (flip sign of marked states in classical simulation)
|
|
196
|
+
amplitudes[sampleIdx] *= -1;
|
|
197
|
+
// Diffusion (inversion about mean)
|
|
198
|
+
const mean = amplitudes.reduce((s, a) => s + a, 0) / amplitudes.length;
|
|
199
|
+
for (let i = 0; i < amplitudes.length; i++) {
|
|
200
|
+
amplitudes[i] = 2 * mean - amplitudes[i];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
// Calculate success probability
|
|
205
|
+
const successProb = solutions.length > 0
|
|
206
|
+
? Math.min(1, solutions.length / Math.sqrt(space.size))
|
|
207
|
+
: 0;
|
|
208
|
+
return {
|
|
209
|
+
solutions,
|
|
210
|
+
queries,
|
|
211
|
+
optimalQueries: optimalIterations,
|
|
212
|
+
successProbability: successProb,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
// ============================================================================
|
|
216
|
+
// Private Helper Methods
|
|
217
|
+
// ============================================================================
|
|
218
|
+
validateQuboProblem(problem) {
|
|
219
|
+
if (problem.variables < 1 || problem.variables > 10000) {
|
|
220
|
+
throw new Error(`Invalid number of variables: ${problem.variables} (must be 1-10000)`);
|
|
221
|
+
}
|
|
222
|
+
if (problem.linear.length !== problem.variables) {
|
|
223
|
+
throw new Error(`Linear coefficients length mismatch: ${problem.linear.length} vs ${problem.variables}`);
|
|
224
|
+
}
|
|
225
|
+
const expectedQuadratic = (problem.variables * (problem.variables - 1)) / 2;
|
|
226
|
+
if (problem.quadratic.length !== expectedQuadratic && problem.quadratic.length !== 0) {
|
|
227
|
+
throw new Error(`Quadratic coefficients length mismatch: ${problem.quadratic.length} vs ${expectedQuadratic}`);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
validateProblemGraph(graph) {
|
|
231
|
+
if (graph.nodes < 1 || graph.nodes > 1000) {
|
|
232
|
+
throw new Error(`Invalid number of nodes: ${graph.nodes} (must be 1-1000)`);
|
|
233
|
+
}
|
|
234
|
+
for (const [u, v] of graph.edges) {
|
|
235
|
+
if (u < 0 || u >= graph.nodes || v < 0 || v >= graph.nodes) {
|
|
236
|
+
throw new Error(`Invalid edge: [${u}, ${v}] for ${graph.nodes} nodes`);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
simulatedAnnealing(problem, config) {
|
|
241
|
+
const n = problem.variables;
|
|
242
|
+
const assignment = new Uint8Array(n);
|
|
243
|
+
// Random initial assignment
|
|
244
|
+
for (let i = 0; i < n; i++) {
|
|
245
|
+
assignment[i] = Math.random() < 0.5 ? 0 : 1;
|
|
246
|
+
}
|
|
247
|
+
let energy = this.computeEnergy(problem, assignment);
|
|
248
|
+
let bestEnergy = energy;
|
|
249
|
+
const bestAssignment = new Uint8Array(assignment);
|
|
250
|
+
let temperature = config.temperature.initial;
|
|
251
|
+
const steps = config.annealingTime * 100;
|
|
252
|
+
for (let step = 0; step < steps; step++) {
|
|
253
|
+
// Pick random variable to flip
|
|
254
|
+
const flipIdx = Math.floor(Math.random() * n);
|
|
255
|
+
assignment[flipIdx] = 1 - assignment[flipIdx];
|
|
256
|
+
const newEnergy = this.computeEnergy(problem, assignment);
|
|
257
|
+
const deltaE = newEnergy - energy;
|
|
258
|
+
if (deltaE <= 0 || Math.random() < Math.exp(-deltaE / temperature)) {
|
|
259
|
+
energy = newEnergy;
|
|
260
|
+
if (energy < bestEnergy) {
|
|
261
|
+
bestEnergy = energy;
|
|
262
|
+
bestAssignment.set(assignment);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
// Reject flip
|
|
267
|
+
assignment[flipIdx] = 1 - assignment[flipIdx];
|
|
268
|
+
}
|
|
269
|
+
// Update temperature
|
|
270
|
+
temperature = this.updateTemperature(config.temperature.initial, config.temperature.final, step / steps, config.temperature.type);
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
assignment: bestAssignment,
|
|
274
|
+
energy: bestEnergy,
|
|
275
|
+
optimal: false,
|
|
276
|
+
iterations: steps,
|
|
277
|
+
confidence: 0.9,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
computeEnergy(problem, assignment) {
|
|
281
|
+
let energy = 0;
|
|
282
|
+
// Linear terms
|
|
283
|
+
for (let i = 0; i < problem.variables; i++) {
|
|
284
|
+
energy += problem.linear[i] * assignment[i];
|
|
285
|
+
}
|
|
286
|
+
// Quadratic terms
|
|
287
|
+
let quadIdx = 0;
|
|
288
|
+
for (let i = 0; i < problem.variables; i++) {
|
|
289
|
+
for (let j = i + 1; j < problem.variables; j++) {
|
|
290
|
+
energy += (problem.quadratic[quadIdx] ?? 0) * assignment[i] * assignment[j];
|
|
291
|
+
quadIdx++;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return energy;
|
|
295
|
+
}
|
|
296
|
+
updateTemperature(initial, final, progress, type) {
|
|
297
|
+
switch (type) {
|
|
298
|
+
case 'linear':
|
|
299
|
+
return initial + (final - initial) * progress;
|
|
300
|
+
case 'logarithmic':
|
|
301
|
+
return initial / (1 + Math.log(1 + progress * 10));
|
|
302
|
+
case 'adaptive':
|
|
303
|
+
return initial * Math.pow(final / initial, progress * progress);
|
|
304
|
+
case 'exponential':
|
|
305
|
+
default:
|
|
306
|
+
return initial * Math.pow(final / initial, progress);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
evaluateQaoaCircuit(graph, gamma, beta, shots) {
|
|
310
|
+
// Simplified QAOA simulation
|
|
311
|
+
let totalEnergy = 0;
|
|
312
|
+
let bestEnergy = Infinity;
|
|
313
|
+
let bestAssignment = new Uint8Array(graph.nodes);
|
|
314
|
+
for (let shot = 0; shot < shots; shot++) {
|
|
315
|
+
// Sample from approximate QAOA distribution
|
|
316
|
+
const assignment = new Uint8Array(graph.nodes);
|
|
317
|
+
for (let i = 0; i < graph.nodes; i++) {
|
|
318
|
+
// Probability influenced by gamma/beta parameters
|
|
319
|
+
const bias = Math.sin(gamma.reduce((s, g) => s + g, 0)) * Math.cos(beta.reduce((s, b) => s + b, 0));
|
|
320
|
+
assignment[i] = Math.random() < 0.5 + bias * 0.1 ? 1 : 0;
|
|
321
|
+
}
|
|
322
|
+
const energy = this.computeCutValue(graph, assignment);
|
|
323
|
+
totalEnergy += energy;
|
|
324
|
+
if (energy < bestEnergy) {
|
|
325
|
+
bestEnergy = energy;
|
|
326
|
+
bestAssignment = new Uint8Array(assignment);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
energy: totalEnergy / shots,
|
|
331
|
+
assignment: bestAssignment,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
computeCutValue(graph, assignment) {
|
|
335
|
+
let cut = 0;
|
|
336
|
+
for (let i = 0; i < graph.edges.length; i++) {
|
|
337
|
+
const [u, v] = graph.edges[i];
|
|
338
|
+
if (assignment[u] !== assignment[v]) {
|
|
339
|
+
cut += graph.weights?.[i] ?? 1;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return -cut; // Negative because we minimize
|
|
343
|
+
}
|
|
344
|
+
estimateGradient(graph, gamma, beta, param, shots) {
|
|
345
|
+
const eps = 0.1;
|
|
346
|
+
const gradient = new Float32Array(gamma.length);
|
|
347
|
+
const params = param === 'gamma' ? gamma : beta;
|
|
348
|
+
for (let i = 0; i < params.length; i++) {
|
|
349
|
+
// Parameter shift rule approximation
|
|
350
|
+
const paramsPlus = new Float32Array(params);
|
|
351
|
+
const paramsMinus = new Float32Array(params);
|
|
352
|
+
paramsPlus[i] += eps;
|
|
353
|
+
paramsMinus[i] -= eps;
|
|
354
|
+
const ePlus = param === 'gamma'
|
|
355
|
+
? this.evaluateQaoaCircuit(graph, paramsPlus, beta, Math.floor(shots / 4)).energy
|
|
356
|
+
: this.evaluateQaoaCircuit(graph, gamma, paramsPlus, Math.floor(shots / 4)).energy;
|
|
357
|
+
const eMinus = param === 'gamma'
|
|
358
|
+
? this.evaluateQaoaCircuit(graph, paramsMinus, beta, Math.floor(shots / 4)).energy
|
|
359
|
+
: this.evaluateQaoaCircuit(graph, gamma, paramsMinus, Math.floor(shots / 4)).energy;
|
|
360
|
+
gradient[i] = (ePlus - eMinus) / (2 * eps);
|
|
361
|
+
}
|
|
362
|
+
return gradient;
|
|
363
|
+
}
|
|
364
|
+
estimateOptimalCut(graph) {
|
|
365
|
+
// Use Goemans-Williamson approximation bound
|
|
366
|
+
const totalWeight = graph.weights?.reduce((s, w) => s + w, 0) ?? graph.edges.length;
|
|
367
|
+
return -totalWeight * 0.878; // GW approximation ratio
|
|
368
|
+
}
|
|
369
|
+
parseOracle(oracleStr) {
|
|
370
|
+
// Safe oracle parsing - only allow specific operations
|
|
371
|
+
const ALLOWED_OPS = ['==', '!=', '<', '>', '<=', '>=', '&&', '||', '!', '+', '-', '*', '/', '%', '.'];
|
|
372
|
+
// Validate oracle string
|
|
373
|
+
const sanitized = oracleStr.replace(/[a-zA-Z_$][a-zA-Z0-9_$]*/g, 'x');
|
|
374
|
+
for (const char of sanitized) {
|
|
375
|
+
if (!/[0-9\s\[\]()x]/.test(char) && !ALLOWED_OPS.some(op => op.includes(char))) {
|
|
376
|
+
throw new Error(`Invalid character in oracle: ${char}`);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
// Return a simple oracle that checks if sum of bits equals a target
|
|
380
|
+
const match = oracleStr.match(/sum\s*==\s*(\d+)/);
|
|
381
|
+
if (match) {
|
|
382
|
+
const target = parseInt(match[1], 10);
|
|
383
|
+
return (input) => input.reduce((s, b) => s + b, 0) === target;
|
|
384
|
+
}
|
|
385
|
+
// Default: check if first bit is 1
|
|
386
|
+
return (input) => input[0] === 1;
|
|
387
|
+
}
|
|
388
|
+
weightedSample(weights) {
|
|
389
|
+
const total = weights.reduce((s, w) => s + Math.abs(w), 0);
|
|
390
|
+
let r = Math.random() * total;
|
|
391
|
+
for (let i = 0; i < weights.length; i++) {
|
|
392
|
+
r -= Math.abs(weights[i]);
|
|
393
|
+
if (r <= 0)
|
|
394
|
+
return i;
|
|
395
|
+
}
|
|
396
|
+
return weights.length - 1;
|
|
397
|
+
}
|
|
398
|
+
indexToBits(index, numBits) {
|
|
399
|
+
const bits = new Uint8Array(numBits);
|
|
400
|
+
for (let i = 0; i < numBits; i++) {
|
|
401
|
+
bits[i] = (index >> i) & 1;
|
|
402
|
+
}
|
|
403
|
+
return bits;
|
|
404
|
+
}
|
|
405
|
+
arraysEqual(a, b) {
|
|
406
|
+
if (a.length !== b.length)
|
|
407
|
+
return false;
|
|
408
|
+
for (let i = 0; i < a.length; i++) {
|
|
409
|
+
if (a[i] !== b[i])
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
412
|
+
return true;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Create mock module for development
|
|
416
|
+
*/
|
|
417
|
+
createMockModule() {
|
|
418
|
+
return {
|
|
419
|
+
solve_qubo: () => new Float32Array(0),
|
|
420
|
+
qaoa_solve: () => new Float32Array(0),
|
|
421
|
+
grover_search: () => new Uint32Array(0),
|
|
422
|
+
alloc: () => 0,
|
|
423
|
+
dealloc: () => undefined,
|
|
424
|
+
memory: new WebAssembly.Memory({ initial: 1 }),
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Create a new ExoticBridge instance
|
|
430
|
+
*/
|
|
431
|
+
export function createExoticBridge() {
|
|
432
|
+
return new ExoticBridge();
|
|
433
|
+
}
|
|
434
|
+
//# sourceMappingURL=exotic-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exotic-bridge.js","sourceRoot":"","sources":["../../src/bridges/exotic-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quantum Optimizer Plugin - Bridges Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* @module @claude-flow/plugin-quantum-optimizer/bridges
|
|
5
|
+
*/
|
|
6
|
+
export { ExoticBridge, createExoticBridge, } from './exotic-bridge.js';
|
|
7
|
+
export type { WasmModuleStatus } from './exotic-bridge.js';
|
|
8
|
+
export { DagBridge, createDagBridge, } from './dag-bridge.js';
|
|
9
|
+
export type { Dag, DagNode, DagEdge, TopologicalSortResult, CriticalPathResult, } from './dag-bridge.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EACL,SAAS,EACT,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,GAAG,EACH,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quantum Optimizer Plugin - Bridges Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* @module @claude-flow/plugin-quantum-optimizer/bridges
|
|
5
|
+
*/
|
|
6
|
+
export { ExoticBridge, createExoticBridge, } from './exotic-bridge.js';
|
|
7
|
+
export { DagBridge, createDagBridge, } from './dag-bridge.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridges/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,eAAe,GAChB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @claude-flow/plugin-quantum-optimizer
|
|
3
|
+
*
|
|
4
|
+
* Quantum-inspired optimization plugin for Claude Flow V3.
|
|
5
|
+
*
|
|
6
|
+
* Provides MCP tools for:
|
|
7
|
+
* - Simulated quantum annealing (QUBO, Ising, SAT, Max-Cut)
|
|
8
|
+
* - QAOA variational optimization
|
|
9
|
+
* - Grover-inspired search with quadratic speedup
|
|
10
|
+
* - Dependency resolution using quantum optimization
|
|
11
|
+
* - Task scheduling with DAG analysis
|
|
12
|
+
*
|
|
13
|
+
* @module @claude-flow/plugin-quantum-optimizer
|
|
14
|
+
* @version 3.0.0-alpha.1
|
|
15
|
+
*/
|
|
16
|
+
export type { QUBOProblem, QUBOSolution, TemperatureSchedule, AnnealingConfig, AnnealingResult, ProblemGraph, QAOACircuit, QAOAResult, SearchSpace, AmplificationConfig, GroverResult, PackageDescriptor, DependencyConstraints, DependencyResult, ScheduleTask, ScheduleResource, ScheduleObjective, ScheduledTask, ScheduleResult, MCPTool, MCPToolResult, MCPToolInputSchema, ToolContext, Logger, QuantumOptimizerConfig, QuantumOptimizerBridge, } from './types.js';
|
|
17
|
+
export { AnnealingSolveInputSchema, QAOAOptimizeInputSchema, GroverSearchInputSchema, DependencyResolveInputSchema, ScheduleOptimizeInputSchema, TemperatureScheduleSchema, successResult, errorResult, RESOURCE_LIMITS, ALLOWED_ORACLE_OPS, } from './types.js';
|
|
18
|
+
export { ExoticBridge, createExoticBridge } from './bridges/exotic-bridge.js';
|
|
19
|
+
export { DagBridge, createDagBridge } from './bridges/dag-bridge.js';
|
|
20
|
+
export type { WasmModuleStatus } from './bridges/exotic-bridge.js';
|
|
21
|
+
export type { Dag, DagNode, DagEdge, TopologicalSortResult, CriticalPathResult } from './bridges/dag-bridge.js';
|
|
22
|
+
export { quantumOptimizerTools, toolHandlers, getTool, getToolNames, annealingSolveTool, qaoaOptimizeTool, groverSearchTool, dependencyResolveTool, scheduleOptimizeTool, } from './mcp-tools.js';
|
|
23
|
+
export { default } from './mcp-tools.js';
|
|
24
|
+
/**
|
|
25
|
+
* Plugin metadata
|
|
26
|
+
*/
|
|
27
|
+
export declare const pluginMetadata: {
|
|
28
|
+
readonly name: "@claude-flow/plugin-quantum-optimizer";
|
|
29
|
+
readonly version: "3.0.0-alpha.1";
|
|
30
|
+
readonly description: "Quantum-inspired optimization for combinatorial problems";
|
|
31
|
+
readonly category: "exotic";
|
|
32
|
+
readonly author: "rUv";
|
|
33
|
+
readonly license: "MIT";
|
|
34
|
+
readonly repository: "https://github.com/ruvnet/claude-flow";
|
|
35
|
+
readonly tools: readonly ["quantum_annealing_solve", "quantum_qaoa_optimize", "quantum_grover_search", "quantum_dependency_resolve", "quantum_schedule_optimize"];
|
|
36
|
+
readonly bridges: readonly ["exotic-bridge", "dag-bridge"];
|
|
37
|
+
readonly wasmPackages: readonly ["@ruvector/exotic-wasm", "@ruvector/dag-wasm", "@ruvector/sparse-inference-wasm"];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Initialize the plugin
|
|
41
|
+
*/
|
|
42
|
+
export declare function initializePlugin(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Plugin configuration validator
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateConfig(config: unknown): config is QuantumOptimizerConfig;
|
|
47
|
+
/**
|
|
48
|
+
* Default plugin configuration
|
|
49
|
+
*/
|
|
50
|
+
export declare const defaultConfig: QuantumOptimizerConfig;
|
|
51
|
+
import type { QuantumOptimizerConfig } from './types.js';
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,YAAY,EAEV,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,YAAY,EAEZ,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAEhB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEd,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGhH,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;CAqBjB,CAAC;AAEX;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAatD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,sBAAsB,CAWhF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,sBAoB3B,CAAC;AAGF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @claude-flow/plugin-quantum-optimizer
|
|
3
|
+
*
|
|
4
|
+
* Quantum-inspired optimization plugin for Claude Flow V3.
|
|
5
|
+
*
|
|
6
|
+
* Provides MCP tools for:
|
|
7
|
+
* - Simulated quantum annealing (QUBO, Ising, SAT, Max-Cut)
|
|
8
|
+
* - QAOA variational optimization
|
|
9
|
+
* - Grover-inspired search with quadratic speedup
|
|
10
|
+
* - Dependency resolution using quantum optimization
|
|
11
|
+
* - Task scheduling with DAG analysis
|
|
12
|
+
*
|
|
13
|
+
* @module @claude-flow/plugin-quantum-optimizer
|
|
14
|
+
* @version 3.0.0-alpha.1
|
|
15
|
+
*/
|
|
16
|
+
// Zod Schemas
|
|
17
|
+
export { AnnealingSolveInputSchema, QAOAOptimizeInputSchema, GroverSearchInputSchema, DependencyResolveInputSchema, ScheduleOptimizeInputSchema, TemperatureScheduleSchema, successResult, errorResult, RESOURCE_LIMITS, ALLOWED_ORACLE_OPS, } from './types.js';
|
|
18
|
+
// Bridges
|
|
19
|
+
export { ExoticBridge, createExoticBridge } from './bridges/exotic-bridge.js';
|
|
20
|
+
export { DagBridge, createDagBridge } from './bridges/dag-bridge.js';
|
|
21
|
+
// MCP Tools
|
|
22
|
+
export { quantumOptimizerTools, toolHandlers, getTool, getToolNames, annealingSolveTool, qaoaOptimizeTool, groverSearchTool, dependencyResolveTool, scheduleOptimizeTool, } from './mcp-tools.js';
|
|
23
|
+
// Re-export default
|
|
24
|
+
export { default } from './mcp-tools.js';
|
|
25
|
+
/**
|
|
26
|
+
* Plugin metadata
|
|
27
|
+
*/
|
|
28
|
+
export const pluginMetadata = {
|
|
29
|
+
name: '@claude-flow/plugin-quantum-optimizer',
|
|
30
|
+
version: '3.0.0-alpha.1',
|
|
31
|
+
description: 'Quantum-inspired optimization for combinatorial problems',
|
|
32
|
+
category: 'exotic',
|
|
33
|
+
author: 'rUv',
|
|
34
|
+
license: 'MIT',
|
|
35
|
+
repository: 'https://github.com/ruvnet/claude-flow',
|
|
36
|
+
tools: [
|
|
37
|
+
'quantum_annealing_solve',
|
|
38
|
+
'quantum_qaoa_optimize',
|
|
39
|
+
'quantum_grover_search',
|
|
40
|
+
'quantum_dependency_resolve',
|
|
41
|
+
'quantum_schedule_optimize',
|
|
42
|
+
],
|
|
43
|
+
bridges: ['exotic-bridge', 'dag-bridge'],
|
|
44
|
+
wasmPackages: [
|
|
45
|
+
'@ruvector/exotic-wasm',
|
|
46
|
+
'@ruvector/dag-wasm',
|
|
47
|
+
'@ruvector/sparse-inference-wasm',
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Initialize the plugin
|
|
52
|
+
*/
|
|
53
|
+
export async function initializePlugin() {
|
|
54
|
+
const { createExoticBridge } = await import('./bridges/exotic-bridge.js');
|
|
55
|
+
const { createDagBridge } = await import('./bridges/dag-bridge.js');
|
|
56
|
+
const exoticBridge = createExoticBridge();
|
|
57
|
+
const dagBridge = createDagBridge();
|
|
58
|
+
await Promise.all([
|
|
59
|
+
exoticBridge.initialize(),
|
|
60
|
+
dagBridge.initialize(),
|
|
61
|
+
]);
|
|
62
|
+
console.info('[quantum-optimizer] Plugin initialized');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Plugin configuration validator
|
|
66
|
+
*/
|
|
67
|
+
export function validateConfig(config) {
|
|
68
|
+
if (!config || typeof config !== 'object')
|
|
69
|
+
return false;
|
|
70
|
+
const c = config;
|
|
71
|
+
return (typeof c['annealing'] === 'object' &&
|
|
72
|
+
typeof c['qaoa'] === 'object' &&
|
|
73
|
+
typeof c['grover'] === 'object' &&
|
|
74
|
+
typeof c['resourceLimits'] === 'object');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Default plugin configuration
|
|
78
|
+
*/
|
|
79
|
+
export const defaultConfig = {
|
|
80
|
+
annealing: {
|
|
81
|
+
defaultReads: 1000,
|
|
82
|
+
maxVariables: 10000,
|
|
83
|
+
timeout: 600000,
|
|
84
|
+
},
|
|
85
|
+
qaoa: {
|
|
86
|
+
maxDepth: 20,
|
|
87
|
+
maxNodes: 1000,
|
|
88
|
+
defaultShots: 1024,
|
|
89
|
+
},
|
|
90
|
+
grover: {
|
|
91
|
+
maxSearchSpace: 1000000000,
|
|
92
|
+
allowedOracleOps: ['==', '!=', '<', '>', '<=', '>=', '&&', '||', '!', '+', '-', '*', '/', '%'],
|
|
93
|
+
},
|
|
94
|
+
resourceLimits: {
|
|
95
|
+
maxMemoryBytes: 4294967296,
|
|
96
|
+
maxCpuTimeMs: 600000,
|
|
97
|
+
maxIterations: 1000000,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|