compiled-knowledge 4.0.0a11__cp312-cp312-win_amd64.whl → 4.0.0a15__cp312-cp312-win_amd64.whl

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.

Potentially problematic release.


This version of compiled-knowledge might be problematic. Click here for more details.

@@ -269,40 +269,48 @@ def _pre_prune_factor_tables(factor_rows: Sequence[_FactorRows]) -> None:
269
269
  will be formed, which may eliminate rows. This method identifies and removes
270
270
  such rows.
271
271
  """
272
+ # Find all pairs of factors that have at least one common random variable.
272
273
  pairs_to_check: List[_FactorPair] = [
273
274
  _FactorPair(f1, f2)
274
275
  for f1, f2 in pairs(factor_rows)
275
276
  if not set(f1.rv_indexes).isdisjoint(f1.rv_indexes)
276
277
  ]
277
278
 
278
- pairs_done: List[_FactorPair] = []
279
-
280
- while len(pairs_to_check) > 0:
281
- pair = pairs_to_check.pop()
282
- x = pair.x
283
- y = pair.y
284
-
285
- x_size = len(x)
286
- y_size = len(y)
279
+ # Simple version.
280
+ for pair in pairs_to_check:
287
281
  pair.prune()
288
282
 
289
- # See if any pairs need re-checking
290
- rvs_affected: Set[int] = set()
291
- if x_size != len(x):
292
- rvs_affected.update(x.rv_indexes)
293
- if y_size != len(y):
294
- rvs_affected.update(y.rv_indexes)
295
- if len(rvs_affected) > 0:
296
- next_pairs_done: List[_FactorPair] = []
297
- for pair in pairs_done:
298
- if rvs_affected.isdisjoint(pair.all_rv_indexes):
299
- next_pairs_done.append(pair)
300
- else:
301
- pairs_to_check.append(pair)
302
- pairs_done = next_pairs_done
303
-
304
- # Mark the current pair as done.
305
- pairs_done.append(pair)
283
+ # Earlier version.
284
+ # This version re-checks processed pairs that may get benefit from a subsequent pruning.
285
+ # Unfortunately, this is computationally expensive, and provides no practical benefit.
286
+ #
287
+ # pairs_done: List[_FactorPair] = []
288
+ # while len(pairs_to_check) > 0:
289
+ # pair: _FactorPair = pairs_to_check.pop()
290
+ # x: _FactorRows = pair.x
291
+ # y: _FactorRows = pair.y
292
+ #
293
+ # x_size = len(x)
294
+ # y_size = len(y)
295
+ # pair.prune()
296
+ #
297
+ # # See if any pairs need re-checking
298
+ # rvs_affected: Set[int] = set()
299
+ # if x_size != len(x):
300
+ # rvs_affected.update(x.rv_indexes)
301
+ # if y_size != len(y):
302
+ # rvs_affected.update(y.rv_indexes)
303
+ # if len(rvs_affected) > 0:
304
+ # next_pairs_done: List[_FactorPair] = []
305
+ # for pair in pairs_done:
306
+ # if rvs_affected.isdisjoint(pair.all_rv_indexes):
307
+ # next_pairs_done.append(pair)
308
+ # else:
309
+ # pairs_to_check.append(pair)
310
+ # pairs_done = next_pairs_done
311
+ #
312
+ # # Mark the current pair as done.
313
+ # pairs_done.append(pair)
306
314
 
307
315
 
308
316
  def _make_factor_table(
@@ -25,7 +25,7 @@ def compile_pgm(
25
25
  const_parameters: bool = True,
26
26
  *,
27
27
  algorithm: ClusterAlgorithm = MIN_FILL_THEN_DEGREE,
28
- pre_prune_factor_tables: bool = True,
28
+ pre_prune_factor_tables: bool = False,
29
29
  ) -> PGMCircuit:
30
30
  """
31
31
  Compile the PGM to an arithmetic circuit, using variable elimination.
ck_demos/ace/demo_ace.py CHANGED
@@ -17,7 +17,7 @@ def main() -> None:
17
17
  # Here is an example showing how to copy Ace to the default
18
18
  # location from a source directory.
19
19
  #
20
- # ace.copy_ace_to_default_location(r'E:\Dropbox\Research\Ace\all')
20
+ # ace.copy_ace_to_default_location(r'C:\Research\Ace\ace_v3.0_windows')
21
21
 
22
22
  pgm_cct: PGMCircuit = ace.compile_pgm(pgm, print_output=True)
23
23
 
@@ -9,6 +9,14 @@ from ck_demos.utils.compare import compare
9
9
 
10
10
  # @formatter:off
11
11
 
12
+ # =========================================
13
+ # Experiment configuration
14
+ # =========================================
15
+
16
+ CACHE_CIRCUITS: bool = True
17
+ BREAK_BETWEEN_PGMS: bool = True
18
+ COMMA_NUMBERS: bool = True
19
+
12
20
  PGMS: Sequence[PGM] = [
13
21
  example.Rain(),
14
22
  example.Cancer(),
@@ -25,14 +33,14 @@ PGMS: Sequence[PGM] = [
25
33
  # example.Mildew(),
26
34
  ]
27
35
 
28
- CCT_COMPILERS: Sequence[NamedCircuitCompiler] = [DEFAULT_CIRCUIT_COMPILER]
29
-
30
36
  PGM_COMPILERS: Sequence[NamedPGMCompiler] = [
31
37
  named_compiler
32
38
  for named_compiler in NamedPGMCompiler
33
39
  if named_compiler.name.startswith('FE_') and 'WEIGHTED' not in named_compiler.name
34
40
  ] + [NamedPGMCompiler.ACE]
35
41
 
42
+ CCT_COMPILERS: Sequence[NamedCircuitCompiler] = [DEFAULT_CIRCUIT_COMPILER]
43
+
36
44
  # @formatter:on
37
45
 
38
46
 
@@ -41,6 +49,9 @@ def main() -> None:
41
49
  pgms=PGMS,
42
50
  pgm_compilers=PGM_COMPILERS,
43
51
  cct_compilers=CCT_COMPILERS,
52
+ cache_circuits=CACHE_CIRCUITS,
53
+ break_between_pgms=BREAK_BETWEEN_PGMS,
54
+ comma_numbers=COMMA_NUMBERS,
44
55
  )
45
56
  print()
46
57
  print('Done.')
ck_demos/utils/compare.py CHANGED
@@ -7,13 +7,15 @@ from ck.pgm_circuit.wmc_program import WMCProgram
7
7
  from ck.pgm_compiler import NamedPGMCompiler
8
8
  from ck_demos.utils.stop_watch import StopWatch
9
9
 
10
- CACHE_CIRCUIT: bool = True
11
-
12
10
 
13
11
  def compare(
14
12
  pgms: Sequence[PGM],
15
13
  pgm_compilers: Sequence[NamedPGMCompiler],
16
14
  cct_compilers: Sequence[NamedCircuitCompiler],
15
+ *,
16
+ cache_circuits: bool = True,
17
+ break_between_pgms: bool = True,
18
+ comma_numbers: bool = True,
17
19
  ) -> None:
18
20
  """
19
21
  For each combination of the given arguments, construct a PGMCircuit (using a
@@ -35,22 +37,34 @@ def compare(
35
37
  pgms: a sequence of PGM objects.
36
38
  pgm_compilers: a sequence of named PGM compilers.
37
39
  cct_compilers: a sequence of named circuit compilers.
40
+ cache_circuits: if true, then circuits are reused across different circuit compilers.
41
+ break_between_pgms: if true, print a blank line between different workload PGMs.
42
+ comma_numbers: if true, commas are used in large numbers.
38
43
  """
39
- # work out column widths for names.
40
- max_pgm_name: int = max(len(pgm.name) for pgm in pgms)
41
- max_pgm_compiler_name: int = max(len(pgm_compiler.name) for pgm_compiler in pgm_compilers)
42
- max_cct_compiler_name: int = max(len(cct_compiler.name) for cct_compiler in cct_compilers)
44
+ # Work out column widths for names.
45
+ col_pgm_name: int = max(len(pgm.name) for pgm in pgms)
46
+ col_pgm_compiler_name: int = max(len(pgm_compiler.name) for pgm_compiler in pgm_compilers)
47
+ col_cct_compiler_name: int = max(len(cct_compiler.name) for cct_compiler in cct_compilers)
48
+ col_cct_ops: int = 10
49
+ col_pgm_compile_time: int = 10
50
+ col_cct_compile_time: int = 10
51
+ col_execute_time: int = 10
43
52
 
44
- # variables for when CACHE_CIRCUIT is true
53
+ # Variables for when cache_circuits is true
45
54
  prev_pgm = None
46
55
  prev_pgm_compiler = None
47
56
 
57
+ if comma_numbers:
58
+ comma = ','
59
+ else:
60
+ comma = ''
61
+
48
62
  for pgm in pgms:
49
- pgm_name: str = pgm.name.ljust(max_pgm_name)
63
+ pgm_name: str = pgm.name.ljust(col_pgm_name)
50
64
  for pgm_compiler in pgm_compilers:
51
- pgm_compiler_name: str = pgm_compiler.name.ljust(max_pgm_compiler_name)
65
+ pgm_compiler_name: str = pgm_compiler.name.ljust(col_pgm_compiler_name)
52
66
  for cct_compiler in cct_compilers:
53
- cct_compiler_name: str = cct_compiler.name.ljust(max_cct_compiler_name)
67
+ cct_compiler_name: str = cct_compiler.name.ljust(col_cct_compiler_name)
54
68
 
55
69
  print(f'{pgm_name} ', end='')
56
70
  print(f'{pgm_compiler_name} ', end='')
@@ -59,30 +73,34 @@ def compare(
59
73
  try:
60
74
  time = StopWatch()
61
75
 
62
- if CACHE_CIRCUIT and pgm is prev_pgm and pgm_compiler is prev_pgm_compiler:
63
- print(f'{"":10} ', end='')
64
- print(f'{"":10} ', end='')
76
+ if cache_circuits and pgm is prev_pgm and pgm_compiler is prev_pgm_compiler:
77
+ print(f'{"":{col_cct_ops}} ', end='')
78
+ print(f'{"":{col_pgm_compile_time}} ', end='')
65
79
  else:
66
80
  time.start()
67
81
  pgm_cct: PGMCircuit = pgm_compiler(pgm)
68
82
  time.stop()
69
- print(f'{pgm_cct.circuit_top.circuit.number_of_operations:10,} ', end='')
70
- print(f'{time.seconds():10.3f}s ', end='')
83
+ num_ops: int = pgm_cct.circuit_top.circuit.number_of_operations
84
+ print(f'{num_ops:{col_cct_ops}{comma}} ', end='')
85
+ print(f'{time.seconds():{col_pgm_compile_time}{comma}.3f} ', end='')
71
86
  prev_pgm = pgm
72
87
  prev_pgm_compiler = pgm_compiler
73
88
 
74
89
  time.start()
90
+ # `pgm_cct` will always be set but the IDE can't work that out.
91
+ # noinspection PyUnboundLocalVariable
75
92
  wmc = WMCProgram(pgm_cct, compiler=cct_compiler.compiler)
76
93
  time.stop()
77
- print(f'{time.seconds():10.3f}s ', end='')
94
+ print(f'{time.seconds():{col_cct_compile_time}{comma}.3f} ', end='')
78
95
 
79
96
  time.start()
80
97
  for _ in range(1000):
81
98
  wmc.compute()
82
99
  time.stop()
83
- print(f'{time.seconds() * 1000:10.3f}μs ', end='')
100
+ print(f'{time.seconds() * 1000:{col_execute_time}{comma}.3f} ', end='')
84
101
  except Exception as err:
85
102
  print(repr(err), end='')
86
103
 
87
104
  print()
88
- print()
105
+ if break_between_pgms:
106
+ print()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compiled-knowledge
3
- Version: 4.0.0a11
3
+ Version: 4.0.0a15
4
4
  Summary: A Python package for compiling and querying discrete probabilistic graphical models.
5
5
  Author-email: Barry Drake <barry@compiledknowledge.org>
6
6
  License-Expression: MIT
@@ -43,7 +43,7 @@ Refer to the project online documentation at
43
43
  The primary repository for the project is
44
44
  [github.com/ropeless/compiled_knowledge](https://github.com/ropeless/compiled_knowledge).
45
45
 
46
- The Python package is available on PyPi, see
46
+ The Python package is available on PyPI, see
47
47
  [pypi.org/project/compiled-knowledge](https://pypi.org/project/compiled-knowledge/).
48
48
 
49
49
  For more information email
@@ -1,7 +1,8 @@
1
1
  ck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  ck/pgm.py,sha256=rbqgP-clfSvgpzUXxVjk_6SdM9neHmpChku6qpyeidk,120700
3
3
  ck/circuit/__init__.py,sha256=tozFNNVzsgQDwFrtGzrgcFS4XTszhgyFmbMGfV5pimc,212
4
- ck/circuit/circuit.cp312-win_amd64.pyd,sha256=InSRSXXMYNc_7RyWOZx_EeRDwboCCyMPLhd8O1vslJ4,252416
4
+ ck/circuit/circuit.c,sha256=_DN78mWLcGdXOKoZv6Eq-m50KLpOP0SY_GjFrhLJoj0,1773051
5
+ ck/circuit/circuit.cp312-win_amd64.pyd,sha256=TCkj4oiRcRFb0av5YyizlygbYKtFJn8LAqjT7nO8Zjw,252416
5
6
  ck/circuit/circuit.pyx,sha256=Y35CZMalySX8_uhNH6wIaZzS6ACn3rh3L99bog1lQx8,28060
6
7
  ck/circuit/circuit_node.pyx,sha256=8RuEC1ngYxnsGryzQ1lOEPc4ewTxvKwc56sOxWLB9zs,4103
7
8
  ck/circuit/circuit_py.py,sha256=_k8H1yZsfp2vERkX_CIo8VxxOf1ICw2zL8i2ckoaSlE,28127
@@ -11,9 +12,10 @@ ck/circuit_compiler/circuit_compiler.py,sha256=8BLB8DUnPbpl5PXZsIopydPbItytdn2rz
11
12
  ck/circuit_compiler/interpret_compiler.py,sha256=Vlu4VnZ_VWGoBb4yx6wuJOlhJ2nGVhkzQpIyJ8xyjbI,7350
12
13
  ck/circuit_compiler/llvm_compiler.py,sha256=ejeNPkO5Og2FyjjyA5JAexxUl1f8IJ6mwU5Ng5EafAA,14009
13
14
  ck/circuit_compiler/llvm_vm_compiler.py,sha256=I46_XV5FrClDKO06zIjn8T3ME5XQ9RYJ_1aAE8e_YzM,21873
14
- ck/circuit_compiler/named_circuit_compilers.py,sha256=Fsk2HANYhw25uxAdOo5-7aSnVZxlPgsaPz9wO_1YdRg,2400
15
+ ck/circuit_compiler/named_circuit_compilers.py,sha256=gKhRvYLflSCkk6CBI-CBQ2UwR-bhEhMxLvnefPm8288,2282
15
16
  ck/circuit_compiler/cython_vm_compiler/__init__.py,sha256=pEAwTleuZgdYhTAQMea2f9YsFK54eoNbZSbrWkW8aeE,49
16
- ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd,sha256=nsx6Nz3p2P83RAvHORCxvdGHC8RaSRGbQhzg1bb6Dug,92160
17
+ ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=xpYybtj-aRcMJV1oKkB-p0kciZVW3gLRd0OJBfDg3sc,757006
18
+ ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd,sha256=hq07LvGfpD8VsssyCmmbecF38YCIws2efly317jvPug,92160
17
19
  ck/circuit_compiler/cython_vm_compiler/_compiler.pyx,sha256=hHuNo99TbodNpWgQwQ8qzW1cTwGXZj5SW0tKAo9u6cw,7718
18
20
  ck/circuit_compiler/cython_vm_compiler/cython_vm_compiler.py,sha256=yUkBNr5HnoVXyWjJdXHp8lyAXFiIDYapvMvHtzKuhI8,3140
19
21
  ck/circuit_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -39,7 +41,7 @@ ck/example/insurance.py,sha256=Nq8WqpMtWgYv8XgTQo3iL2DzDu-PdmsJBL6fpQjOI-0,31708
39
41
  ck/example/loop.py,sha256=9Au9FABY_0X7W-6M4vQljepul010vMIMOh9OA6be14w,1451
40
42
  ck/example/mildew.py,sha256=qblE1Fx_P_eYJqu_uptwoCUvIDXhGmO67G6sHLSu0zc,1830957
41
43
  ck/example/munin.py,sha256=HbkEOqzq9ZrYzm4uSSOnfVv_rt_NDxmN7Wy4JwDf3Z0,1680209
42
- ck/example/pathfinder.py,sha256=BxEg-peUzg6vHVopqlL6pUdNcEUfcO7PFhg38_TbRXU,2309107
44
+ ck/example/pathfinder.py,sha256=U1RHp0L6OzdfL4Dh0x6CAb9eMqd6kzkuLavvc16BCjg,2310872
43
45
  ck/example/rain.py,sha256=el8cOP51IKjDXw_F4dnh0FIqI5xw0qFRdmg-GyFymsE,1226
44
46
  ck/example/rectangle.py,sha256=srcBu90-RsMqYtRKngVxdXS8OQDMIiucx78VcFyN49M,6995
45
47
  ck/example/run.py,sha256=HHCfHwrkRCSuplV2msXuZ3azkgC4bjtN8C5cL6UWtp0,994
@@ -52,8 +54,8 @@ ck/example/survey.py,sha256=KrqDgzU1V-yJHy4BEAAJQatqH9YAy8acrp6rVYAqQag,1611
52
54
  ck/example/triangle_square.py,sha256=D-ADGOSxCffsgukLTySsb6HVQpUnOJ-ZyMGBz_qGna4,2148
53
55
  ck/example/truss.py,sha256=5ud1qvPZMSKqSx0Sq1ZKcEeD_ZVUdKbEBfk5eyqhpm4,1974
54
56
  ck/in_out/__init__.py,sha256=PKhy5qeUrmmUaECSQIkoLQ2McAfQFSwB06vQZk3vpmo,112
55
- ck/in_out/parse_ace_lmap.py,sha256=JAwYL4TDlO4GhJmg-v8-3hl67lYyKYLKSvQUI8mTvgw,7886
56
- ck/in_out/parse_ace_nnf.py,sha256=7O8B5LdoICq0nFAAZfHK-mWkuzrGY_h2WOaNzLghCWw,11403
57
+ ck/in_out/parse_ace_lmap.py,sha256=EZnSLhsZwdPnk2Fbe2El0YXYqvjd_cBh7PZro7ZeR04,7891
58
+ ck/in_out/parse_ace_nnf.py,sha256=Hkc24qn4ziA4-VunBEinURDGsnmCWICj73w3bopecR0,11843
57
59
  ck/in_out/parse_net.py,sha256=cBY7X4k5U8v9x_dtFZWdOpSPh-q-U47gdImNo2Tf9dY,14302
58
60
  ck/in_out/parser_utils.py,sha256=Js_BaOmNji4mM7UYDm6pGd56wYcQoere7TuB0tkztko,5440
59
61
  ck/in_out/pgm_pickle.py,sha256=i5LYxez356we7MzHwsQBmFdOvBJOLVKBp4u4lSwBOjU,1004
@@ -72,20 +74,21 @@ ck/pgm_circuit/wmc_program.py,sha256=WtABU74FOCCJuKRCoDL4CyZ4CJXFmt9RSxiNNHsOhRY
72
74
  ck/pgm_circuit/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
75
  ck/pgm_circuit/support/compile_circuit.py,sha256=RuYzDCRpfXZcY96sSW8v7x6ev9ScQ4IZkVqMdJUoMp8,3484
74
76
  ck/pgm_compiler/__init__.py,sha256=XCK1AWBBB9UYi6kbFnxMFzBL9a25EWfHnz_yn3ZKYuM,112
75
- ck/pgm_compiler/factor_elimination.py,sha256=iZe7Y-YIm0P9I-h4jLomUS49QiEedAbWQ1btU5JRBLg,13244
76
- ck/pgm_compiler/named_pgm_compilers.py,sha256=zqRR8gER4zhl_RjXPHy8U0j5G-bQhYQZuG9hWptAHms,3720
77
+ ck/pgm_compiler/factor_elimination.py,sha256=Eu7wJWYjRK4aTEsJP4P_femktbqqZkWN3aI-nqHyNzU,13247
78
+ ck/pgm_compiler/named_pgm_compilers.py,sha256=kYMomYlsW7xbL0hzTWQb41EckkugaCfuYHUJqbEWBBs,3421
77
79
  ck/pgm_compiler/pgm_compiler.py,sha256=F44PtlwqMG0FS6KzOYKZuyZT6olWAVtBH-QXZPzz4O8,616
78
- ck/pgm_compiler/recursive_conditioning.py,sha256=dlLAKdV7KUf7hHRVIndBsMC1bGUvrOCXeOY0vGs6yHE,7935
79
- ck/pgm_compiler/variable_elimination.py,sha256=wNNntrng2OGSsnGHWr8cLHsMHDQgJodQxhu6h7RMung,3459
80
+ ck/pgm_compiler/recursive_conditioning.py,sha256=U0NdIns8yLQtYR_MOf1w__CChpOMDlgRCL2nFRhtnzU,7936
81
+ ck/pgm_compiler/variable_elimination.py,sha256=YNBurWTz8_BoaZgRZFj-T9gRVGek7ZutGkvjegyLkCM,3460
80
82
  ck/pgm_compiler/ace/__init__.py,sha256=BkZXAF32Pk8QU7jhkuKvHqtsFasPjf8gxiZbyrGDDbQ,82
81
- ck/pgm_compiler/ace/ace.py,sha256=SpOX8s0PsNP0I9X5_TagHo5Gh4kZYxciKuEQbuvpyE4,10131
83
+ ck/pgm_compiler/ace/ace.py,sha256=Q3d76rwAMsNFQeRXdxycy_KUJeE29g7bURryKAdq-aI,10095
82
84
  ck/pgm_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
85
  ck/pgm_compiler/support/clusters.py,sha256=96Up5XUgERh-t6KzSIOF2gtP5T4Ul83JK_aPtIR72Ic,20821
84
- ck/pgm_compiler/support/factor_tables.py,sha256=LAZbWtDVyTpxps7C4d3q38uUVkNnzRBO8JpYl9Qly-c,15081
86
+ ck/pgm_compiler/support/factor_tables.py,sha256=N7BNBBA-BX6RN-eiDwENtMLczW3JAkV-qW0i0k8OZEM,15558
85
87
  ck/pgm_compiler/support/join_tree.py,sha256=tRHev655cwRsOSyLK9HYwfX8EEkubmlg1fw748Kztb4,10418
86
88
  ck/pgm_compiler/support/named_compiler_maker.py,sha256=tQ79JOI8MknAziUiFhFGV9n4y6PPKrnbq3-quMmnrwY,974
87
89
  ck/pgm_compiler/support/circuit_table/__init__.py,sha256=eWMP5ywgd51RJexKkhcpKJb_8iEluL0C4_hyOpzlAvQ,167
88
- ck/pgm_compiler/support/circuit_table/circuit_table.cp312-win_amd64.pyd,sha256=7Yc_Iqes51f7Q6lPyc2M1ysXeES0T8TkZaOf2ZbQoEc,94720
90
+ ck/pgm_compiler/support/circuit_table/circuit_table.c,sha256=aO3bq3V-FwbmJDzWVYwigOFeQUC6gFz-nAq091XQp2E,702527
91
+ ck/pgm_compiler/support/circuit_table/circuit_table.cp312-win_amd64.pyd,sha256=eVXmnKKG8k-V0v_RfhH9_n8nHfB6zZtC5LPDAvHitY0,94720
89
92
  ck/pgm_compiler/support/circuit_table/circuit_table.pyx,sha256=jhzstay-3EUgu0CIbWKd0eNDNToX1tmm9IQxk0ZgpYM,11904
90
93
  ck/pgm_compiler/support/circuit_table/circuit_table_py.py,sha256=1WFCxgBFu4oaYRCdk_1uXeufFQu6PqMOsYIQ_SkXDS4,10156
91
94
  ck/probability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -117,7 +120,7 @@ ck_demos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
120
  ck_demos/all_demos.py,sha256=E1SZDvG0l_j1PfHZLemHocezw10uY5uGl3yE3BX87DE,2556
118
121
  ck_demos/ace/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
122
  ck_demos/ace/copy_ace_to_ck.py,sha256=TJHPGcUbd1a6OjH3Fw7c3fno8ULPbf5p3V_lBmiNR-k,303
120
- ck_demos/ace/demo_ace.py,sha256=68Q27XFpGaj_bUZuQ35-p2jpqgFN9zVWKLuA_dWBQRw,1360
123
+ ck_demos/ace/demo_ace.py,sha256=yF35GsYtFZxzTFqXlD_yoEg25BA8wROB5HbuOaxLPUs,1365
121
124
  ck_demos/circuit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
125
  ck_demos/circuit/demo_circuit_dump.py,sha256=CQC5cxXaaRuVZ3d8h-SqXs8EJo0Tm5H5l7T9ad6pyEk,458
123
126
  ck_demos/circuit/demo_derivatives.py,sha256=3JoWVAEKLEoLjq6QzWkq4Z-qVq1l0tHvGDn5erVuozc,1186
@@ -130,7 +133,7 @@ ck_demos/pgm/demo_pgm_dump_stress.py,sha256=L9S3yp0EQM56kWztV4A6XzEqITOGbThImZIU
130
133
  ck_demos/pgm/demo_pgm_string_rendering.py,sha256=JTf_M6pPwl9RtOLlpJFQIgNgGuHnsddJbxhgbZOChos,285
131
134
  ck_demos/pgm/show_examples.py,sha256=KxK37hKqWD9w9k9RoMCdJgkBIMePf8udQbqaFs-s91c,461
132
135
  ck_demos/pgm_compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
- ck_demos/pgm_compiler/compare_pgm_compilers.py,sha256=UQtMa_z4EQIZKjFpm-QCiAZrDmT4BJxr9GZuxsQQoYM,1209
136
+ ck_demos/pgm_compiler/compare_pgm_compilers.py,sha256=0dm77DygI9E4WMOAD-M8Kzrf4xlPmZuZX6zUdy5fZ4Y,1548
134
137
  ck_demos/pgm_compiler/demo_compiler_dump.py,sha256=OlLJi1wwdFQxave5lpceyVx0-ihHEn2-d-0XFFTjowY,1370
135
138
  ck_demos/pgm_compiler/demo_factor_elimination.py,sha256=KDzYwNZJ9HTcPoNxg6lxFoaXJ26QW-nnBI-0Ux_yWoM,1320
136
139
  ck_demos/pgm_compiler/demo_join_tree.py,sha256=E7ZqFrRuAmnSRmBTDqNGxD-KFlHOtd_jIju8UJssUfM,574
@@ -158,12 +161,12 @@ ck_demos/sampling/demo_marginal_direct_sampler.py,sha256=RhNunuIUnYI_GXp9m8wzadM
158
161
  ck_demos/sampling/demo_uniform_sampler.py,sha256=Z6tX_OYKGLc_w3-kEPK4KEZlJo7F5HOq_tUVppB_VQE,962
159
162
  ck_demos/sampling/demo_wmc_direct_sampler.py,sha256=c7maxTmZyIijaVdFs2h_KQbK30LvI-oCm2BXSUXVoD8,1113
160
163
  ck_demos/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
- ck_demos/utils/compare.py,sha256=eC1rJXuWQhEfq4yQlXggn2O_sk-xAVEn6PpVuIaZJoo,3447
164
+ ck_demos/utils/compare.py,sha256=WGCYv6rbT_vU1ldndnIoflmF2EDAQ2ckCw2i2QVVPng,4357
162
165
  ck_demos/utils/convert_network.py,sha256=TSKj8q7L7J5rhrvwjaDkdYZ0Sg8vV5FRL_vCanX1CQw,1363
163
166
  ck_demos/utils/sample_model.py,sha256=in-Nlv-iuNIu6y9fDuMyo7nzgimBuTAnCWcpnVqvqDQ,8839
164
167
  ck_demos/utils/stop_watch.py,sha256=VzXHRWx0V8vPSD-bLgLlEYkCkR2FA0-KmM_pfKx-Pxo,13205
165
- compiled_knowledge-4.0.0a11.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
166
- compiled_knowledge-4.0.0a11.dist-info/METADATA,sha256=BwJQwg7IB8iA7mXWDo2aPDyWXz7jbfyZoUNJ2vNaXUM,1838
167
- compiled_knowledge-4.0.0a11.dist-info/WHEEL,sha256=b7PoVIxzH_MOHKjftqMzQiGKfdHRlRFepVBVPg0y3vc,101
168
- compiled_knowledge-4.0.0a11.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
169
- compiled_knowledge-4.0.0a11.dist-info/RECORD,,
168
+ compiled_knowledge-4.0.0a15.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
169
+ compiled_knowledge-4.0.0a15.dist-info/METADATA,sha256=2pLUAaU9vrC3iWkLGsj6SPKfKQDSZ8UL2eBh9xdkF4k,1838
170
+ compiled_knowledge-4.0.0a15.dist-info/WHEEL,sha256=b7PoVIxzH_MOHKjftqMzQiGKfdHRlRFepVBVPg0y3vc,101
171
+ compiled_knowledge-4.0.0a15.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
172
+ compiled_knowledge-4.0.0a15.dist-info/RECORD,,