-
Notifications
You must be signed in to change notification settings - Fork 1
/
test_data.json
460 lines (429 loc) · 32.4 KB
/
test_data.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
{
"example_1": {
"num_input_qubits": 4,
"num_total_qubits": 7,
"constraints_string": "([0] == [1]),([2] == [3])",
"high_level_constraints_string": "(x0 == x1),(x2 == x3)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [3]},
"num_solutions": 4,
"num_iterations": 1,
"solutions": ["0000", "1100", "0011", "1111"],
"high_level_solutions": [
{"x0": 0, "x1": 0, "x2": 1, "x3": 1},
{"x0": 1, "x1": 1, "x2": 1, "x3": 1},
{"x0": 1, "x1": 1, "x2": 0, "x3": 0},
{"x0": 0, "x1": 0, "x2": 0, "x3": 0}
],
"perform_test": true
},
"example_2": {
"num_input_qubits": 4,
"num_total_qubits": 10,
"constraints_string": "([0] == [1]),([2] == [3]),([1][0] != [3][2])",
"num_solutions": 2,
"num_iterations": 2,
"solutions": ["1100", "0011"],
"perform_test": true
},
"example_3": {
"num_input_qubits": 5,
"num_total_qubits": 12,
"constraints_string": "([4][3][2] != [0]),([2] == [3]),([3] == [4]),([0] != [1])",
"num_solutions": 3,
"num_iterations": 2,
"solutions": ["11110", "00001", "11101"],
"perform_test": true
},
"example_4": {
"num_input_qubits": 8,
"num_total_qubits": 22,
"constraints_string": "([2][1][0] == [5][4][3]),([4][3] == [1][0]),([1] != [7]),([3][2] != [7][6]),([3] == [4]),([5] != [6])",
"num_solutions": 4,
"num_iterations": 6,
"solutions": ["11000000", "10100100", "01011011", "00111111"],
"perform_test": true
},
"example_5": {
"num_input_qubits": 6,
"num_total_qubits": 15,
"constraints_string": "([4][3] == [1][0]),([5] != [2]),([5] == [0]),([5][4] == [3][2])",
"num_solutions": 2,
"num_iterations": 4,
"solutions": ["010110", "101001"],
"perform_test": true
},
"example_6": {
"num_input_qubits": 7,
"num_total_qubits": 15,
"constraints_string": "([3][2] != [0]),([6] == [5]),([6][5][4] == [3])",
"num_solutions": 12,
"num_iterations": 2,
"solutions": ["0000001", "0000011", "0000100", "0000110", "0011000", "0011001", "0011010", "0011011", "0011100", "0011101", "0011110", "0011111"],
"perform_test": true
},
"example_7": {
"num_input_qubits": 9,
"num_total_qubits": 18,
"constraints_string": "([4][3][2] == [0]),([2] == [3]),([3] == [4]),([0] != [1]),([8][7] == [3][2])",
"num_solutions": 4,
"num_iterations": 8,
"solutions": ["000000010", "000100010", "001000010", "001100010"],
"perform_test": true
},
"example_8": {
"num_input_qubits": 10,
"num_total_qubits": 20,
"constraints_string": "([9][8][7][6] == [5][4][3][2]),([1] != [0]),([9][8] == [7][6])",
"num_solutions": 8,
"num_iterations": 8,
"solutions": ["1010101010", "0000000010", "1010101001", "0000000001", "1111111110", "1111111101", "0101010110", "0101010101"],
"perform_test": true
},
"example_9": {
"num_input_qubits": 11,
"num_total_qubits": 27,
"constraints_string": "([4][3] == [2][1]),([9] == [0]),([1] == [0]),([9][7][5] != [3][2][1]),([3][2] == [1][0]),([9][7] == [1][0])",
"num_solutions": 16,
"num_iterations": 8,
"solutions": ["00000100000", "00001100000", "00100100000", "00101100000", "01010011111", "01011011111",
"01110011111", "01111011111", "10000100000", "10001100000", "10100100000", "10101100000",
"11010011111", "11011011111", "11110011111", "11111011111"],
"perform_test": false,
"note": "*** WARNING - This example exploits 27 qubits and is heavy for a classical computer ***"
},
"example_10": {
"num_input_qubits": 8,
"num_total_qubits": 23,
"constraints_string": "([2][1][0] == [5][4][3]),([4][3] == [1][0]),([1] != [7]),([3][2] != [7][6]),([3] == [4]),([5] != [6]),([6] == [7])",
"num_solutions": 2,
"num_iterations": 8,
"solutions": ["11000000", "00111111"],
"perform_test": true
},
"example_11": {
"num_input_qubits": 10,
"num_total_qubits": 24,
"constraints_string": "([9][8][7][6] == [5][4][3][2]),([1] != [0]),([9][8] == [7][6]),([3][2] == [5][4]),([9] == [0])",
"num_solutions": 4,
"num_iterations": 12,
"solutions": ["0101010110", "1111111101", "1010101001", "0000000010"],
"perform_test": true
},
"example_12": {
"num_input_qubits": 11,
"num_total_qubits": 23,
"constraints_string": "([9][8][7] == [2][1][0]),([4][3] != [2][1]),([6] == [5]),([5] == [4]),([4] != [3]),([4] == [2])",
"num_solutions": 8,
"num_iterations": 12,
"solutions": ["11101110110", "00010001001", "10010001001", "00000001000", "11111110111", "01101110110", "01111110111", "10000001000"],
"perform_test": true
},
"example_13": {
"num_input_qubits": 8,
"num_total_qubits": 20,
"constraints_string": "([0] != [1]),([4][3] != [5]),([1] != [4][3]),([4][3] != [6]),([6] != [7]),([0] != [2]),([1] != [7]),([5] != [7])",
"high_level_constraints_string": "(x0 != x1),(x3 != x4),(x1 != x3),(x3 != x5),(x5 != x6),(x0 != x2),(x1 != x6),(x4 != x6)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 6,
"num_iterations": 5,
"solutions": ["10011001", "10010001", "10001001", "01110110", "01100110", "01111110"],
"high_level_solutions": [
{"x0": 1, "x1": 0, "x2": 0, "x3": 3, "x4": 0, "x5": 0, "x6": 1},
{"x0": 1, "x1": 0, "x2": 0, "x3": 1, "x4": 0, "x5": 0, "x6": 1},
{"x0": 0, "x1": 1, "x2": 1, "x3": 0, "x4": 1, "x5": 1, "x6": 0},
{"x0": 0, "x1": 1, "x2": 1, "x3": 3, "x4": 1, "x5": 1, "x6": 0},
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 0},
{"x0": 1, "x1": 0, "x2": 0, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": true
},
"example_14": {
"num_input_qubits": 8,
"num_total_qubits": 29,
"constraints_string": "([0] != [1]),([2] + 2 != [4][3]),([4][3] != [5]),([1] != [4][3]),([4][3] != [6]),([6] != [7]),([0] != [2]),([1] != [6]),([5] != [7]),([4][3] == 2),([2] + [5] + [4][3] == 3)",
"high_level_constraints_string": "(x0 != x1),(x2 + 2 != x3),(x3 != x4),(x1 != x3),(x3 != x5),(x5 != x6),(x0 != x2),(x1 != x5),(x4 != x6),(x3 == 2),(x2 + x4 + x3 == 3)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 1,
"num_iterations": 12,
"solutions": ["10010110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": false,
"note": "*** WARNING - This example exploits 29 qubits, intractable by AerSimulator (max 28 qubits) and is heavy for a classical computer ***"
},
"example_15": {
"num_input_qubits": 8,
"num_total_qubits": 21,
"constraints_string": "([0] != [1]),([4][3] != [5]),([1] != [4][3]),([4][3] != [6]),([6] != [7]),([0] != [2]),([1] != [6]),([5] != [7]),([4][3] == 2)",
"high_level_constraints_string": "(x0 != x1),(x3 != x4),(x1 != x3),(x3 != x5),(x5 != x6),(x0 != x2),(x1 != x5),(x4 != x6),(x3 == 2)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 2,
"num_iterations": 8,
"solutions": ["01110001", "10010110"],
"high_level_solutions": [
{"x0": 1, "x1": 0, "x2": 0, "x3": 2, "x4": 1, "x5": 1, "x6": 0},
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": true
},
"example_16": {
"num_input_qubits": 8,
"num_total_qubits": 26,
"constraints_string": "([0] != [1]),([2] + 2 != [4][3]),([4][3] != [5]),([1] != [4][3]),([4][3] != [6]),([6] != [7]),([0] != [2]),([1] != [6]),([5] != [7]),([4][3] == 2)",
"high_level_constraints_string": "(x0 != x1),(x2 + 2 != x3),(x3 != x4),(x1 != x3),(x3 != x5),(x5 != x6),(x0 != x2),(x1 != x5),(x4 != x6),(x3 == 2)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 1,
"num_iterations": 12,
"solutions": ["10010110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": false,
"note": "*** WARNING - This example exploits 26 qubits and is heavy for a classical computer ***"
},
"example_17": {
"num_input_qubits": 5,
"num_total_qubits": 8,
"constraints_string": "([4] == [3]),([2][1][0] == 6)",
"high_level_constraints_string": "(x2 == x1),(x0 == 6)",
"high_level_vars": {"x0": 3, "x1": 1, "x2": 1},
"high_level_to_bit_indexes_map": {"x0": [2, 1, 0], "x1": [3], "x2": [4]},
"num_solutions": 2,
"num_iterations": 3,
"solutions": ["00110", "11110"],
"high_level_solutions": [
{"x0": 6, "x1": 1, "x2": 1},
{"x0": 6, "x1": 0, "x2": 0}
],
"perform_test": true
},
"example_18": {
"num_input_qubits": 7,
"num_total_qubits": 10,
"constraints_string": "([5] == [6]),([4][3][2][1][0] == 22)",
"high_level_constraints_string": "(x1 == x2),(x0 == 22)",
"high_level_vars": {"x0": 5, "x1": 1, "x2": 1},
"high_level_to_bit_indexes_map": {"x0": [4, 3, 2, 1, 0], "x1": [5], "x2": [6]},
"num_solutions": 2,
"num_iterations": 6,
"solutions": ["1110110", "0010110"],
"high_level_solutions": [
{"x0": 22, "x1": 1, "x2": 1},
{"x0": 22, "x1": 0, "x2": 0}
],
"perform_test": true
},
"example_19": {
"num_input_qubits": 8,
"num_total_qubits": 22,
"constraints_string": "([0] != [1]),([2] == 1),([4][3] != [5]),([1] != [4][3]),([4][3] != [6]),([6] != [7]),([0] != [2]),([1] != [6]),([5] != [7]),([4][3] == 2)",
"high_level_constraints_string": "(x0 != x1),(x2 == 1),(x3 != x4),(x1 != x3),(x3 != x5),(x5 != x6),(x0 != x2),(x1 != x5),(x4 != x6),(x3 == 2)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 1,
"num_iterations": 12,
"solutions": ["10010110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": true
},
"example_20": {
"num_input_qubits": 4,
"num_total_qubits": 11,
"constraints_string": "([0] + [1] + [2] == 2),([3][2] != [1][0])",
"num_solutions": 5,
"num_iterations": 1,
"solutions": ["1101", "1110", "0011", "1011", "0110"],
"perform_test": true
},
"example_21": {
"num_input_qubits": 7,
"num_total_qubits": 16,
"constraints_string": "([0] + [1] + [2] + [6][5][4] == 2),([3][2] != [1][0])",
"num_solutions": 11,
"num_iterations": 2,
"solutions": ["0001101", "0000110", "0010100", "0010001", "0101000", "0001011", "0011100", "0000011", "0011001", "0010010", "0001110"],
"perform_test": true
},
"example_22": {
"num_input_qubits": 7,
"num_total_qubits": 15,
"constraints_string": "([0] + [1] + [2] + [6][5][4] == 7),([3][2] != [1][0])",
"num_solutions": 12,
"num_iterations": 2,
"solutions": ["1101100", "1011101", "1010110", "1100010", "1011011", "1010011", "1101001", "1000111", "1111000", "1011110", "1100100", "1100001"],
"perform_test": true
},
"example_23": {
"num_input_qubits": 8,
"num_total_qubits": 16,
"constraints_string": "(1 == [1]),([2] == 1),(1 == [7]),([0] == 0),(0 == [6]),([5] == 0),([4][3] == 2)",
"high_level_constraints_string": "(1 == x1),(x2 == 1),(1 == x6),(x0 == 0),(0 == x5),(x4 == 0),(x3 == 2)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 1,
"num_iterations": 12,
"solutions": ["10010110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": true
},
"example_24": {
"num_input_qubits": 8,
"num_total_qubits": 18,
"constraints_string": "([3][2] + [0] + [1] + 5 == [7][6][5][4])",
"high_level_constraints_string": "(x2 + x0 + x1 + 5 == x3)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 2, "x3": 4},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [3, 2], "x3": [7, 6, 5, 4]},
"num_solutions": 16,
"num_iterations": 3,
"solutions": ["10101111", "10011110", "01110011", "10011101", "10001001", "01010000", "01100001", "10011011", "01110110", "01110101", "10000111", "10001100", "01111000", "10001010", "01100100", "01100010"],
"high_level_solutions": [
{"x0": 1, "x1": 0, "x2": 0, "x3": 6},
{"x0": 1, "x1": 1, "x2": 1, "x3": 8},
{"x0": 1, "x1": 0, "x2": 2, "x3": 8},
{"x0": 0, "x1": 0, "x2": 2, "x3": 7},
{"x0": 0, "x1": 0, "x2": 0, "x3": 5},
{"x0": 1, "x1": 1, "x2": 2, "x3": 9},
{"x0": 1, "x1": 1, "x2": 0, "x3": 7},
{"x0": 0, "x1": 1, "x2": 3, "x3": 9},
{"x0": 0, "x1": 0, "x2": 1, "x3": 6},
{"x0": 1, "x1": 0, "x2": 3, "x3": 9},
{"x0": 0, "x1": 1, "x2": 0, "x3": 6},
{"x0": 0, "x1": 1, "x2": 1, "x3": 7},
{"x0": 1, "x1": 0, "x2": 1, "x3": 7},
{"x0": 0, "x1": 0, "x2": 3, "x3": 8},
{"x0": 1, "x1": 1, "x2": 3, "x3": 10},
{"x0": 0, "x1": 1, "x2": 2, "x3": 8}
],
"perform_test": true
},
"example_25": {
"num_input_qubits": 8,
"num_total_qubits": 16,
"constraints_string": "([3][2] + [7][6][5] == 9),([4] == [2]),([7] || ~[1] || ~[0])",
"num_solutions": 8,
"num_iterations": 4,
"solutions": ["11011110", "11101001", "11011100", "11101011", "11101000", "11011101", "11011111", "11101010"],
"perform_test": true
},
"example_26": {
"num_input_qubits": 8,
"num_total_qubits": 16,
"constraints_string": "([3][2] + [7][6][5] == 9),([4] == [2]),([7] && ~[1] && ~[0])",
"num_solutions": 2,
"num_iterations": 8,
"solutions": ["11101000", "11011100"],
"perform_test": true
},
"example_27": {
"num_input_qubits": 11,
"num_total_qubits": 27,
"constraints_string": "([2][1][0] != 4),([3] + [6][5][4] == [2][1][0]),([10][9][8][7] + [2][1][0] + [3] + [6][5][4] != 27)",
"high_level_constraints_string": "(x0 != 4),(x1 + x2 == x0),(x3 + x0 + x1 + x2 != 27)",
"high_level_vars": {"x0": 3, "x1": 1, "x2": 3, "x3": 4},
"high_level_to_bit_indexes_map": {"x0": [2, 1, 0], "x1": [3], "x2": [6, 5, 4], "x3": [10, 9, 8, 7]},
"num_solutions": 204,
"num_iterations": 2,
"solutions": ["00000011010", "10000110011", "10011011110", "01010000000", "01101110111", "10001011110", "00110011010", "00111101111", "11010001001", "00011001101", "11000000000", "01001100110", "11000001001", "11110010001", "10111001101", "11000100010", "11111101111", "11010101011", "00011010101", "00000100010", "10000011010", "11110000000", "01111011110", "11101011110", "10110101011", "01110110011", "10110011010", "11101001101", "00110010001", "01101001101", "10000101011", "00001010101", "11110101011", "01010110011", "01100001001", "00011011110", "01011011110", "10001100110", "01101010101", "10010010001", "10011110111", "00010010001", "10001101111", "00110000000", "11000110011", "11110001001", "01000100010", "10001001101", "11001100110", "01110011010", "11101010101", "00100110011", "01111010101", "10100100010", "10100101011", "00110110011", "00001101111", "01000110011", "01001110111", "10100001001", "11001010101", "00110101011", "10010001001", "11011011110", "11100110011", "11010110011", "00100101011", "00101110111", "11011100110", "11001011110", "00101011110", "00001001101", "10101001101", "01001101111", "00111010101", "11000101011", "00000000000", "01101101111", "00011101111", "01101011110", "00000010001", "11100101011", "00010100010", "10011100110", "11001101111", "10010011010", "01000001001", "00001110111", "00100001001", "01110010001", "10011101111", "11010000000", "01110101011", "01000011010", "01100100010", "11010100010", "01001001101", "10100010001", "11001110111", "10100000000", "00110001001", "11110100010", "11010011010", "00100100010", "11010010001", "01100010001", "00100010001", "10101110111", "10000001001", "10010100010", "11100000000", "01100011010", "11100001001", "01011001101", "01010100010", "11011010101", "10001110111", "10010110011", "10100110011", "01001010101", "01000010001", "01111100110", "10101011110", "01100000000", "00000001001", "01100110011", "00111110111", "10111101111", "10011010101", "01000101011", "01011110111", "00101001101", "00110100010", "00101101111", "10101010101", "01000000000", "01110000000", "01111110111", "01100101011", "10010101011", "00111100110", "10111010101", "01011100110", "00101100110", "00111001101", "10010000000", "10011001101", "11100010001", "11111010101", "11111110111", "10110100010", "11101110111", "00100000000", "10110000000", "10110001001", "11110011010", "00011100110", "10110110011", "10101101111", "11100011010", "10100011010", "10000000000", "11000010001", "01001011110", "10110010001", "11011001101", "00100011010", "00101010101", "01010010001", "01111001101", "10101100110", "00000110011", "00010001001", "11101101111", "01101100110", "11111001101", "00010101011", "01010011010", "11110110011", "11000011010", "00011110111", "10001010101", "00001100110", "10000010001", "01011101111", "10111100110", "00010000000", "01010101011", "00001011110", "01010001001", "01111101111", "10111011110", "11001001101", "01011010101", "00000101011", "00010011010", "10000100010", "01110100010", "00111011110", "01110001001", "10111110111", "00010110011", "11101100110", "11100100010"],
"high_level_solutions": [
{"x0": 7, "x1": 0, "x2": 7, "x3": 11}, {"x0": 6, "x1": 1, "x2": 5, "x3": 0}, {"x0": 6, "x1": 1, "x2": 5, "x3": 14}, {"x0": 3, "x1": 0, "x2": 3, "x3": 9}, {"x0": 1, "x1": 0, "x2": 1, "x3": 11}, {"x0": 0, "x1": 0, "x2": 0, "x3": 9}, {"x0": 5, "x1": 1, "x2": 4, "x3": 9}, {"x0": 5, "x1": 1, "x2": 4, "x3": 14}, {"x0": 5, "x1": 0, "x2": 5, "x3": 7}, {"x0": 6, "x1": 1, "x2": 5, "x3": 4}, {"x0": 1, "x1": 1, "x2": 0, "x3": 3}, {"x0": 6, "x1": 0, "x2": 6, "x3": 9}, {"x0": 1, "x1": 0, "x2": 1, "x3": 3}, {"x0": 3, "x1": 0, "x2": 3, "x3": 2}, {"x0": 5, "x1": 0, "x2": 5, "x3": 0}, {"x0": 2, "x1": 1, "x2": 1, "x3": 0}, {"x0": 1, "x1": 1, "x2": 0, "x3": 15}, {"x0": 3, "x1": 1, "x2": 2, "x3": 11}, {"x0": 5, "x1": 0, "x2": 5, "x3": 9}, {"x0": 6, "x1": 0, "x2": 6, "x3": 10}, {"x0": 0, "x1": 0, "x2": 0, "x3": 15}, {"x0": 6, "x1": 0, "x2": 6, "x3": 11}, {"x0": 0, "x1": 0, "x2": 0, "x3": 4}, {"x0": 5, "x1": 0, "x2": 5, "x3": 8}, {"x0": 7, "x1": 1, "x2": 6, "x3": 0}, {"x0": 2, "x1": 0, "x2": 2, "x3": 4}, {"x0": 6, "x1": 1, "x2": 5, "x3": 13}, {"x0": 0, "x1": 0, "x2": 0, "x3": 11}, {"x0": 5, "x1": 0, "x2": 5, "x3": 6}, {"x0": 6, "x1": 0, "x2": 6, "x3": 12}, {"x0": 3, "x1": 1, "x2": 2, "x3": 6}, {"x0": 1, "x1": 1, "x2": 0, "x3": 7}, {"x0": 3, "x1": 0, "x2": 3, "x3": 11}, {"x0": 6, "x1": 0, "x2": 6, "x3": 2}, {"x0": 0, "x1": 0, "x2": 0, "x3": 14}, {"x0": 5, "x1": 1, "x2": 4, "x3": 5}, {"x0": 2, "x1": 1, "x2": 1, "x3": 5}, {"x0": 2, "x1": 0, "x2": 2, "x3": 6}, {"x0": 7, "x1": 0, "x2": 7, "x3": 15}, {"x0": 1, "x1": 1, "x2": 0, "x3": 0}, {"x0": 1, "x1": 1, "x2": 0, "x3": 6}, {"x0": 7, "x1": 1, "x2": 6, "x3": 3}, {"x0": 2, "x1": 1, "x2": 1, "x3": 8}, {"x0": 2, "x1": 1, "x2": 1, "x3": 4}, {"x0": 5, "x1": 1, "x2": 4, "x3": 10}, {"x0": 3, "x1": 0, "x2": 3, "x3": 12}, {"x0": 5, "x1": 0, "x2": 5, "x3": 10}, {"x0": 1, "x1": 1, "x2": 0, "x3": 14}, {"x0": 5, "x1": 0, "x2": 5, "x3": 13}, {"x0": 5, "x1": 0, "x2": 5, "x3": 14}, {"x0": 7, "x1": 1, "x2": 6, "x3": 10}, {"x0": 7, "x1": 0, "x2": 7, "x3": 6}, {"x0": 2, "x1": 0, "x2": 2, "x3": 3}, {"x0": 1, "x1": 1, "x2": 0, "x3": 4}, {"x0": 3, "x1": 0, "x2": 3, "x3": 6}, {"x0": 7, "x1": 0, "x2": 7, "x3": 9}, {"x0": 2, "x1": 0, "x2": 2, "x3": 11}, {"x0": 3, "x1": 0, "x2": 3, "x3": 0}, {"x0": 7, "x1": 1, "x2": 6, "x3": 5}, {"x0": 2, "x1": 1, "x2": 1, "x3": 3}, {"x0": 2, "x1": 0, "x2": 2, "x3": 7}, {"x0": 3, "x1": 0, "x2": 3, "x3": 7}, {"x0": 2, "x1": 0, "x2": 2, "x3": 0}, {"x0": 5, "x1": 1, "x2": 4, "x3": 15}, {"x0": 2, "x1": 0, "x2": 2, "x3": 14}, {"x0": 7, "x1": 0, "x2": 7, "x3": 8}, {"x0": 7, "x1": 1, "x2": 6, "x3": 9}, {"x0": 1, "x1": 0, "x2": 1, "x3": 5}, {"x0": 3, "x1": 1, "x2": 2, "x3": 9}, {"x0": 6, "x1": 1, "x2": 5, "x3": 6}, {"x0": 6, "x1": 0, "x2": 6, "x3": 3}, {"x0": 0, "x1": 0, "x2": 0, "x3": 8}, {"x0": 7, "x1": 0, "x2": 7, "x3": 5}, {"x0": 0, "x1": 0, "x2": 0, "x3": 1}, {"x0": 3, "x1": 1, "x2": 2, "x3": 0}, {"x0": 2, "x1": 0, "x2": 2, "x3": 13}, {"x0": 2, "x1": 0, "x2": 2, "x3": 12}, {"x0": 7, "x1": 0, "x2": 7, "x3": 2}, {"x0": 1, "x1": 0, "x2": 1, "x3": 4}, {"x0": 2, "x1": 0, "x2": 2, "x3": 8}, {"x0": 5, "x1": 1, "x2": 4, "x3": 8}, {"x0": 5, "x1": 0, "x2": 5, "x3": 4}, {"x0": 3, "x1": 1, "x2": 2, "x3": 10}, {"x0": 3, "x1": 0, "x2": 3, "x3": 5}, {"x0": 7, "x1": 0, "x2": 7, "x3": 0}, {"x0": 7, "x1": 1, "x2": 6, "x3": 11}, {"x0": 5, "x1": 0, "x2": 5, "x3": 12}, {"x0": 2, "x1": 0, "x2": 2, "x3": 10}, {"x0": 3, "x1": 1, "x2": 2, "x3": 4}, {"x0": 6, "x1": 0, "x2": 6, "x3": 7}, {"x0": 5, "x1": 0, "x2": 5, "x3": 3}, {"x0": 2, "x1": 1, "x2": 1, "x3": 12}, {"x0": 0, "x1": 0, "x2": 0, "x3": 5}, {"x0": 6, "x1": 1, "x2": 5, "x3": 10}, {"x0": 3, "x1": 0, "x2": 3, "x3": 3}, {"x0": 5, "x1": 0, "x2": 5, "x3": 1}, {"x0": 2, "x1": 1, "x2": 1, "x3": 7}, {"x0": 5, "x1": 1, "x2": 4, "x3": 0}, {"x0": 7, "x1": 0, "x2": 7, "x3": 14}, {"x0": 5, "x1": 1, "x2": 4, "x3": 13}, {"x0": 1, "x1": 1, "x2": 0, "x3": 1}, {"x0": 7, "x1": 1, "x2": 6, "x3": 4}, {"x0": 3, "x1": 0, "x2": 3, "x3": 14}, {"x0": 3, "x1": 1, "x2": 2, "x3": 12}, {"x0": 3, "x1": 0, "x2": 3, "x3": 15}, {"x0": 5, "x1": 1, "x2": 4, "x3": 7}, {"x0": 0, "x1": 0, "x2": 0, "x3": 2}, {"x0": 3, "x1": 0, "x2": 3, "x3": 4}, {"x0": 2, "x1": 1, "x2": 1, "x3": 1}, {"x0": 6, "x1": 0, "x2": 6, "x3": 5}, {"x0": 6, "x1": 1, "x2": 5, "x3": 12}, {"x0": 5, "x1": 1, "x2": 4, "x3": 12}, {"x0": 2, "x1": 1, "x2": 1, "x3": 14}, {"x0": 5, "x1": 0, "x2": 5, "x3": 5}, {"x0": 3, "x1": 1, "x2": 2, "x3": 8}, {"x0": 5, "x1": 1, "x2": 4, "x3": 6}, {"x0": 2, "x1": 1, "x2": 1, "x3": 2}, {"x0": 7, "x1": 1, "x2": 6, "x3": 15}, {"x0": 1, "x1": 0, "x2": 1, "x3": 8}, {"x0": 1, "x1": 1, "x2": 0, "x3": 2}, {"x0": 7, "x1": 1, "x2": 6, "x3": 12}, {"x0": 3, "x1": 1, "x2": 2, "x3": 1}, {"x0": 1, "x1": 0, "x2": 1, "x3": 9}, {"x0": 2, "x1": 0, "x2": 2, "x3": 1}, {"x0": 0, "x1": 0, "x2": 0, "x3": 6}, {"x0": 7, "x1": 1, "x2": 6, "x3": 7}, {"x0": 3, "x1": 0, "x2": 3, "x3": 1}, {"x0": 5, "x1": 0, "x2": 5, "x3": 15}, {"x0": 7, "x1": 0, "x2": 7, "x3": 10}, {"x0": 5, "x1": 0, "x2": 5, "x3": 11}, {"x0": 1, "x1": 0, "x2": 1, "x3": 0}, {"x0": 2, "x1": 0, "x2": 2, "x3": 9}, {"x0": 6, "x1": 1, "x2": 5, "x3": 9}, {"x0": 6, "x1": 0, "x2": 6, "x3": 6}, {"x0": 3, "x1": 1, "x2": 2, "x3": 3}, {"x0": 1, "x1": 1, "x2": 0, "x3": 5}, {"x0": 3, "x1": 0, "x2": 3, "x3": 10}, {"x0": 2, "x1": 1, "x2": 1, "x3": 13}, {"x0": 5, "x1": 1, "x2": 4, "x3": 3}, {"x0": 3, "x1": 0, "x2": 3, "x3": 13}, {"x0": 0, "x1": 0, "x2": 0, "x3": 10}, {"x0": 3, "x1": 1, "x2": 2, "x3": 7}, {"x0": 0, "x1": 0, "x2": 0, "x3": 12}, {"x0": 2, "x1": 1, "x2": 1, "x3": 11}, {"x0": 0, "x1": 0, "x2": 0, "x3": 7}, {"x0": 0, "x1": 0, "x2": 0, "x3": 3}, {"x0": 6, "x1": 1, "x2": 5, "x3": 8}, {"x0": 1, "x1": 1, "x2": 0, "x3": 12}, {"x0": 6, "x1": 0, "x2": 6, "x3": 1}, {"x0": 1, "x1": 1, "x2": 0, "x3": 8}, {"x0": 2, "x1": 0, "x2": 2, "x3": 2}, {"x0": 3, "x1": 1, "x2": 2, "x3": 5}, {"x0": 1, "x1": 0, "x2": 1, "x3": 1}, {"x0": 2, "x1": 1, "x2": 1, "x3": 15}, {"x0": 6, "x1": 0, "x2": 6, "x3": 14}, {"x0": 7, "x1": 0, "x2": 7, "x3": 7}, {"x0": 3, "x1": 1, "x2": 2, "x3": 14}, {"x0": 0, "x1": 0, "x2": 0, "x3": 13}, {"x0": 2, "x1": 1, "x2": 1, "x3": 10}, {"x0": 2, "x1": 0, "x2": 2, "x3": 15}, {"x0": 1, "x1": 0, "x2": 1, "x3": 12}, {"x0": 1, "x1": 1, "x2": 0, "x3": 9}, {"x0": 6, "x1": 0, "x2": 6, "x3": 13}, {"x0": 7, "x1": 1, "x2": 6, "x3": 1}, {"x0": 6, "x1": 1, "x2": 5, "x3": 3}, {"x0": 6, "x1": 0, "x2": 6, "x3": 4}, {"x0": 5, "x1": 1, "x2": 4, "x3": 2}, {"x0": 5, "x1": 1, "x2": 4, "x3": 1}, {"x0": 6, "x1": 0, "x2": 6, "x3": 0}, {"x0": 1, "x1": 0, "x2": 1, "x3": 6}, {"x0": 5, "x1": 1, "x2": 4, "x3": 4}, {"x0": 6, "x1": 1, "x2": 5, "x3": 2}, {"x0": 2, "x1": 0, "x2": 2, "x3": 5}, {"x0": 7, "x1": 0, "x2": 7, "x3": 4}, {"x0": 7, "x1": 0, "x2": 7, "x3": 3}, {"x0": 6, "x1": 1, "x2": 5, "x3": 11}, {"x0": 3, "x1": 1, "x2": 2, "x3": 15}, {"x0": 7, "x1": 1, "x2": 6, "x3": 2}, {"x0": 1, "x1": 0, "x2": 1, "x3": 10}, {"x0": 3, "x1": 1, "x2": 2, "x3": 2}, {"x0": 1, "x1": 0, "x2": 1, "x3": 7}, {"x0": 1, "x1": 0, "x2": 1, "x3": 15}, {"x0": 3, "x1": 1, "x2": 2, "x3": 13}, {"x0": 0, "x1": 0, "x2": 0, "x3": 0}, {"x0": 7, "x1": 1, "x2": 6, "x3": 8}, {"x0": 7, "x1": 1, "x2": 6, "x3": 6}, {"x0": 1, "x1": 0, "x2": 1, "x3": 2}, {"x0": 3, "x1": 0, "x2": 3, "x3": 8}, {"x0": 6, "x1": 0, "x2": 6, "x3": 8}, {"x0": 6, "x1": 1, "x2": 5, "x3": 7}, {"x0": 5, "x1": 0, "x2": 5, "x3": 2}, {"x0": 7, "x1": 0, "x2": 7, "x3": 1}, {"x0": 7, "x1": 0, "x2": 7, "x3": 12}, {"x0": 1, "x1": 1, "x2": 0, "x3": 11}, {"x0": 2, "x1": 1, "x2": 1, "x3": 6}, {"x0": 1, "x1": 0, "x2": 1, "x3": 14}, {"x0": 1, "x1": 1, "x2": 0, "x3": 13}, {"x0": 6, "x1": 1, "x2": 5, "x3": 1}, {"x0": 1, "x1": 1, "x2": 0, "x3": 10}, {"x0": 2, "x1": 1, "x2": 1, "x3": 9}, {"x0": 6, "x1": 1, "x2": 5, "x3": 5}, {"x0": 7, "x1": 1, "x2": 6, "x3": 14}, {"x0": 5, "x1": 1, "x2": 4, "x3": 11}, {"x0": 1, "x1": 0, "x2": 1, "x3": 13}],
"perform_test": false,
"note": "*** WARNING - This example exploits 27 qubits and is heavy for a classical computer ***"
},
"example_28": {
"num_input_qubits": 8,
"num_total_qubits": 20,
"constraints_string": "([2][1][0] != 5),([3] == [4]),([2][1][0] + [3] + [4] + 2 == [7][6][5]),([7][6][5] != 7)",
"high_level_constraints_string": "(x0 != 5),(x1 == x2),(x0 + x1 + x2 + 2 == x3),(x3 != 7)",
"high_level_vars": {"x0": 3, "x1": 1, "x2": 1, "x3": 3},
"high_level_to_bit_indexes_map": {"x0": [2, 1, 0], "x1": [3], "x2": [4], "x3": [7, 6, 5]},
"num_solutions": 8,
"num_iterations": 4,
"solutions": ["10111001", "10011000", "01100001", "11011010", "10000010", "01000000", "10100011", "11000100"],
"high_level_solutions": [
{"x0": 1, "x1": 0, "x2": 0, "x3": 3},
{"x0": 1, "x1": 1, "x2": 1, "x3": 5},
{"x0": 4, "x1": 0, "x2": 0, "x3": 6},
{"x0": 0, "x1": 1, "x2": 1, "x3": 4},
{"x0": 2, "x1": 0, "x2": 0, "x3": 4},
{"x0": 2, "x1": 1, "x2": 1, "x3": 6},
{"x0": 3, "x1": 0, "x2": 0, "x3": 5},
{"x0": 0, "x1": 0, "x2": 0, "x3": 2}
],
"perform_test": true
},
"example_29": {
"num_input_qubits": 8,
"num_total_qubits": 27,
"constraints_string": "([0] != [1]),([2] + 2 != [4][3]),([4][3] != [5]),([4][3] != [1]),([6] != [7]),([0] != [2]),([1] != [6]),([5] != [7]),([4][3] == 2),([2] + [5] + [4][3] == 3)",
"high_level_constraints_string": "(x0 != x1),(x2 + 2 != x3),(x3 != x4),(x3 != x1),(x5 != x6),(x0 != x2),(x1 != x5),(x4 != x6),(x3 == 2),(x2 + x4 + x3 == 3)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 2, "x4": 1, "x5": 1, "x6": 1},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [2], "x3": [4, 3], "x4": [5], "x5": [6], "x6": [7]},
"num_solutions": 1,
"num_iterations": 12,
"solutions": ["10010110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 1, "x3": 2, "x4": 0, "x5": 0, "x6": 1}
],
"perform_test": false,
"note": "*** WARNING - This example exploits 27 qubits and is heavy for a classical computer ***"
},
"example_30": {
"num_input_qubits": 11,
"num_total_qubits": 22,
"constraints_string": "([1] != [2]),([2] != [3]),([3] != [4]),([4] != [5]),([5] != [6]),([6] != [7]),([7] == [8]),([8] != [9]),([9] == [10]),([10] == [0])",
"high_level_constraints_string": "(x0 != x1),(x1 != x2),(x2 != x3),(x3 != x4),(x4 != x5),(x5 != x6),(x6 == x7),(x7 != x8),(x8 == x9),(x9 == x10)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 1, "x3": 1, "x4": 1, "x5": 1, "x6": 1, "x7": 1, "x8": 1, "x9": 1, "x10": 1},
"high_level_to_bit_indexes_map": {"x10": [0], "x0": [1], "x1": [2], "x2": [3], "x3": [4], "x4": [5], "x5": [6], "x6": [7], "x7": [8], "x8": [9], "x9": [10]},
"num_solutions": 2,
"num_iterations": 25,
"solutions": ["11001010101", "00110101010"],
"high_level_solutions": [
{"x10": 1, "x0": 0, "x1": 1, "x2": 0, "x3": 1, "x4": 0, "x5": 1, "x6": 0, "x7": 0, "x8": 1, "x9": 1},
{"x10": 0, "x0": 1, "x1": 0, "x2": 1, "x3": 0, "x4": 1, "x5": 0, "x6": 1, "x7": 1, "x8": 0, "x9": 0}
],
"perform_test": true
},
"example_31": {
"num_input_qubits": 13,
"num_total_qubits": 27,
"constraints_string": "([0] != [1]),([1] != [4][3][2]),([4][3][2] == [6][5]),([6][5] != [7]),([7] || [8] || [0]),([4][3][2] == [12][11][10][9])",
"high_level_constraints_string": "(x0 != x1),(x1 != x2),(x2 == x3),(x3 != x4),(x4 || x5 || x0),(x2 == x6)",
"high_level_vars": {"x0": 1, "x1": 1, "x2": 3, "x3": 2, "x4": 1, "x5": 1, "x6": 4},
"high_level_to_bit_indexes_map": {"x0": [0], "x1": [1], "x2": [4, 3, 2], "x3": [6, 5], "x4": [7], "x5": [8], "x6": [12, 11, 10, 9]},
"num_solutions": 18,
"num_iterations": 16,
"solutions": ["0010101001010", "0011101101110", "0010011001001", "0010011001010", "0011011101110", "0010111001001", "0010101001001", "0000010000010", "0011101101101", "0011011101101", "0001000100101", "0011111101101", "0010111001010", "0010001001001", "0011001101101", "0000110000010", "0001100100101", "0011111101110"],
"high_level_solutions": [
{"x0": 0, "x1": 1, "x2": 3, "x3": 3, "x4": 1, "x5": 1, "x6": 3},
{"x0": 0, "x1": 1, "x2": 2, "x3": 2, "x4": 1, "x5": 0, "x6": 2},
{"x0": 1, "x1": 0, "x2": 3, "x3": 3, "x4": 0, "x5": 0, "x6": 3},
{"x0": 1, "x1": 0, "x2": 2, "x3": 2, "x4": 0, "x5": 1, "x6": 2},
{"x0": 0, "x1": 1, "x2": 3, "x3": 3, "x4": 0, "x5": 1, "x6": 3},
{"x0": 1, "x1": 0, "x2": 2, "x3": 2, "x4": 1, "x5": 0, "x6": 2},
{"x0": 0, "x1": 1, "x2": 0, "x3": 0, "x4": 1, "x5": 0, "x6": 0},
{"x0": 0, "x1": 1, "x2": 2, "x3": 2, "x4": 1, "x5": 1, "x6": 2},
{"x0": 0, "x1": 1, "x2": 3, "x3": 3, "x4": 1, "x5": 0, "x6": 3},
{"x0": 1, "x1": 0, "x2": 3, "x3": 3, "x4": 0, "x5": 1, "x6": 3},
{"x0": 1, "x1": 0, "x2": 2, "x3": 2, "x4": 0, "x5": 0, "x6": 2},
{"x0": 1, "x1": 0, "x2": 3, "x3": 3, "x4": 1, "x5": 1, "x6": 3},
{"x0": 1, "x1": 0, "x2": 3, "x3": 3, "x4": 1, "x5": 0, "x6": 3},
{"x0": 0, "x1": 1, "x2": 2, "x3": 2, "x4": 0, "x5": 1, "x6": 2},
{"x0": 1, "x1": 0, "x2": 1, "x3": 1, "x4": 0, "x5": 1, "x6": 1},
{"x0": 1, "x1": 0, "x2": 1, "x3": 1, "x4": 0, "x5": 0, "x6": 1},
{"x0": 0, "x1": 1, "x2": 0, "x3": 0, "x4": 1, "x5": 1, "x6": 0},
{"x0": 1, "x1": 0, "x2": 2, "x3": 2, "x4": 1, "x5": 1, "x6": 2}
],
"perform_test": false,
"note": "*** WARNING - This example exploits 27 qubits and is heavy for a classical computer ***"
}
}