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.
- ck/circuit/circuit.c +38861 -0
- ck/circuit/circuit.cp312-win_amd64.pyd +0 -0
- ck/circuit_compiler/cython_vm_compiler/_compiler.c +17373 -0
- ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win_amd64.pyd +0 -0
- ck/circuit_compiler/named_circuit_compilers.py +8 -8
- ck/example/pathfinder.py +120 -47
- ck/in_out/parse_ace_lmap.py +1 -1
- ck/in_out/parse_ace_nnf.py +13 -3
- ck/pgm_compiler/ace/ace.py +3 -6
- ck/pgm_compiler/factor_elimination.py +3 -3
- ck/pgm_compiler/named_pgm_compilers.py +26 -26
- ck/pgm_compiler/recursive_conditioning.py +1 -1
- ck/pgm_compiler/support/circuit_table/circuit_table.c +16042 -0
- ck/pgm_compiler/support/circuit_table/circuit_table.cp312-win_amd64.pyd +0 -0
- ck/pgm_compiler/support/factor_tables.py +34 -26
- ck/pgm_compiler/variable_elimination.py +1 -1
- ck_demos/ace/demo_ace.py +1 -1
- ck_demos/pgm_compiler/compare_pgm_compilers.py +13 -2
- ck_demos/utils/compare.py +36 -18
- {compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/METADATA +2 -2
- {compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/RECORD +24 -21
- {compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/WHEEL +0 -0
- {compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/licenses/LICENSE.txt +0 -0
- {compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
@@ -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
|
-
|
|
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
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
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 =
|
|
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'
|
|
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
|
-
#
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
#
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
63
|
-
print(f'{"":
|
|
64
|
-
print(f'{"":
|
|
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
|
-
|
|
70
|
-
print(f'{
|
|
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():
|
|
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:
|
|
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
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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=
|
|
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.
|
|
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=
|
|
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=
|
|
56
|
-
ck/in_out/parse_ace_nnf.py,sha256=
|
|
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=
|
|
76
|
-
ck/pgm_compiler/named_pgm_compilers.py,sha256=
|
|
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=
|
|
79
|
-
ck/pgm_compiler/variable_elimination.py,sha256=
|
|
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=
|
|
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=
|
|
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.
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
166
|
-
compiled_knowledge-4.0.
|
|
167
|
-
compiled_knowledge-4.0.
|
|
168
|
-
compiled_knowledge-4.0.
|
|
169
|
-
compiled_knowledge-4.0.
|
|
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,,
|
|
File without changes
|
{compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/licenses/LICENSE.txt
RENAMED
|
File without changes
|
{compiled_knowledge-4.0.0a11.dist-info → compiled_knowledge-4.0.0a15.dist-info}/top_level.txt
RENAMED
|
File without changes
|