compiled-knowledge 4.0.0a24__cp312-cp312-win32.whl → 4.1.0__cp312-cp312-win32.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.

Files changed (58) hide show
  1. ck/circuit/_circuit_cy.c +1 -1
  2. ck/circuit/_circuit_cy.cp312-win32.pyd +0 -0
  3. ck/circuit/tmp_const.py +5 -4
  4. ck/circuit_compiler/cython_vm_compiler/_compiler.c +152 -152
  5. ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd +0 -0
  6. ck/circuit_compiler/interpret_compiler.py +2 -2
  7. ck/circuit_compiler/llvm_compiler.py +4 -4
  8. ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c +1 -1
  9. ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd +0 -0
  10. ck/circuit_compiler/support/input_vars.py +4 -4
  11. ck/circuit_compiler/support/llvm_ir_function.py +4 -4
  12. ck/dataset/__init__.py +1 -0
  13. ck/dataset/cross_table.py +334 -0
  14. ck/dataset/dataset.py +682 -0
  15. ck/dataset/dataset_builder.py +519 -0
  16. ck/dataset/dataset_compute.py +140 -0
  17. ck/dataset/dataset_from_crosstable.py +64 -0
  18. ck/dataset/dataset_from_csv.py +151 -0
  19. ck/dataset/sampled_dataset.py +96 -0
  20. ck/example/diamond_square.py +3 -1
  21. ck/example/triangle_square.py +3 -1
  22. ck/example/truss.py +3 -1
  23. ck/in_out/parse_net.py +21 -19
  24. ck/in_out/parser_utils.py +7 -3
  25. ck/learning/__init__.py +0 -0
  26. ck/learning/coalesce_cross_tables.py +403 -0
  27. ck/learning/model_from_cross_tables.py +296 -0
  28. ck/learning/parameters.py +117 -0
  29. ck/learning/train_generative_bn.py +198 -0
  30. ck/pgm.py +105 -92
  31. ck/pgm_circuit/marginals_program.py +5 -0
  32. ck/pgm_circuit/mpe_program.py +3 -4
  33. ck/pgm_circuit/pgm_circuit.py +27 -18
  34. ck/pgm_circuit/program_with_slotmap.py +27 -46
  35. ck/pgm_circuit/support/compile_circuit.py +2 -4
  36. ck/pgm_circuit/wmc_program.py +5 -0
  37. ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c +1 -1
  38. ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd +0 -0
  39. ck/probability/cross_table_probability_space.py +53 -0
  40. ck/probability/divergence.py +226 -0
  41. ck/probability/empirical_probability_space.py +1 -0
  42. ck/probability/probability_space.py +53 -30
  43. ck/program/raw_program.py +23 -16
  44. ck/sampling/sampler_support.py +5 -6
  45. ck/utils/iter_extras.py +3 -2
  46. ck/utils/local_config.py +16 -8
  47. ck_demos/dataset/__init__.py +0 -0
  48. ck_demos/dataset/demo_dataset_builder.py +37 -0
  49. ck_demos/dataset/demo_dataset_from_sampler.py +18 -0
  50. ck_demos/learning/__init__.py +0 -0
  51. ck_demos/learning/demo_bayesian_network_from_cross_tables.py +70 -0
  52. ck_demos/learning/demo_simple_learning.py +55 -0
  53. ck_demos/sampling/demo_wmc_direct_sampler.py +2 -2
  54. {compiled_knowledge-4.0.0a24.dist-info → compiled_knowledge-4.1.0.dist-info}/METADATA +2 -1
  55. {compiled_knowledge-4.0.0a24.dist-info → compiled_knowledge-4.1.0.dist-info}/RECORD +58 -37
  56. {compiled_knowledge-4.0.0a24.dist-info → compiled_knowledge-4.1.0.dist-info}/WHEEL +0 -0
  57. {compiled_knowledge-4.0.0a24.dist-info → compiled_knowledge-4.1.0.dist-info}/licenses/LICENSE.txt +0 -0
  58. {compiled_knowledge-4.0.0a24.dist-info → compiled_knowledge-4.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,70 @@
1
+ from typing import List, Set
2
+
3
+ from ck import example
4
+ from ck.dataset import HardDataset
5
+ from ck.dataset.cross_table import CrossTable, cross_table_from_hard_dataset
6
+ from ck.dataset.sampled_dataset import dataset_from_sampler
7
+ from ck.learning.model_from_cross_tables import model_from_cross_tables
8
+ from ck.pgm import PGM, RandomVariable
9
+ from ck.pgm_circuit.wmc_program import WMCProgram
10
+ from ck.pgm_compiler import DEFAULT_PGM_COMPILER
11
+ from ck.probability import divergence
12
+
13
+ EXCLUDE_UNNECESSARY_CROSS_TABLES = True
14
+
15
+
16
+ def main() -> None:
17
+ # Create a dataset based on model which is an example PGM
18
+ number_of_samples: int = 10000 # How many instances to make for the model dataset
19
+ model: PGM = example.Student()
20
+ model_dataset: HardDataset = dataset_from_sampler(
21
+ WMCProgram(DEFAULT_PGM_COMPILER(model)).sample_direct(),
22
+ number_of_samples,
23
+ )
24
+
25
+ # Clone the model, without factors, and transport the dataset to the new PGM
26
+ pgm = PGM()
27
+ dataset = HardDataset(weights=model_dataset.weights)
28
+ for model_rv in model.rvs:
29
+ rv = pgm.new_rv(model_rv.name, model_rv.states)
30
+ dataset.add_rv_from_state_idxs(rv, model_dataset.state_idxs(model_rv))
31
+
32
+ # What model rvs have a child
33
+ model_rvs_with_children: Set[RandomVariable] = set()
34
+ for model_factor in model.factors:
35
+ for parent_rv in model_factor.rvs[1:]:
36
+ model_rvs_with_children.add(parent_rv)
37
+
38
+ # Construct cross-tables from the dataset
39
+ cross_tables: List[CrossTable] = []
40
+ for model_factor in model.factors:
41
+ if (
42
+ EXCLUDE_UNNECESSARY_CROSS_TABLES
43
+ and len(model_factor.rvs) == 1
44
+ and model_factor.rvs[0] in model_rvs_with_children
45
+ ):
46
+ # The factor relates to a single random variable (has
47
+ # no parents) but it does have children.
48
+ # No need to include a cross-table as it is inferable from
49
+ # cross-tables of its children.
50
+ continue
51
+
52
+ rvs = tuple(pgm.rvs[model_rv.idx] for model_rv in model_factor.rvs)
53
+ cross_tables.append(cross_table_from_hard_dataset(dataset, rvs))
54
+ print('cross-table:', *rvs)
55
+
56
+ # Train the PGM
57
+ model_from_cross_tables(pgm, cross_tables)
58
+
59
+ # Show results
60
+ print()
61
+ pgm.dump(show_function_values=True)
62
+ print()
63
+ model_space = WMCProgram(DEFAULT_PGM_COMPILER(model))
64
+ pgm_space = WMCProgram(DEFAULT_PGM_COMPILER(pgm))
65
+ print('HI', divergence.hi(model_space, pgm_space))
66
+ print('KL', divergence.kl(model_space, pgm_space))
67
+
68
+
69
+ if __name__ == '__main__':
70
+ main()
@@ -0,0 +1,55 @@
1
+ from ck.dataset.dataset_from_csv import hard_dataset_from_csv
2
+ from ck.learning.train_generative_bn import train_generative_bn
3
+ from ck.pgm import PGM
4
+
5
+
6
+ def main() -> None:
7
+ pgm = PGM('Student')
8
+
9
+ difficult = pgm.new_rv('difficult', ['y', 'n'])
10
+ intelligent = pgm.new_rv('intelligent', ['y', 'n'])
11
+ grade = pgm.new_rv('grade', ['low', 'medium', 'high'])
12
+ award = pgm.new_rv('award', ['y', 'n'])
13
+ letter = pgm.new_rv('letter', ['y', 'n'])
14
+
15
+ pgm.new_factor(difficult)
16
+ pgm.new_factor(intelligent)
17
+ pgm.new_factor(grade, intelligent, difficult)
18
+ pgm.new_factor(award, intelligent)
19
+ pgm.new_factor(letter, grade)
20
+
21
+ rvs = (difficult, intelligent, grade, award, letter)
22
+ csv = """
23
+ 0,1,2,0,1
24
+ 1,1,2,0,1
25
+ 1,1,2,0,1
26
+ 0,0,2,0,0
27
+ 0,1,1,1,0
28
+ 1,1,1,1,1
29
+ 1,1,0,0,0
30
+ 1,1,0,0,1
31
+ 1,0,0,0,0
32
+ """
33
+
34
+ dataset = hard_dataset_from_csv(rvs, csv.splitlines())
35
+
36
+ # Learn parameters values for `pgm` using the training data `dataset`.
37
+ # This updates the PGMs potential functions.
38
+ train_generative_bn(pgm, dataset)
39
+
40
+ show_pgm_factors(pgm)
41
+
42
+ print('Done.')
43
+
44
+
45
+ def show_pgm_factors(pgm: PGM) -> None:
46
+ for factor in pgm.factors:
47
+ potential_function = factor.function
48
+ print(f'Factor: {factor} {type(potential_function)}')
49
+ for instance, _, param_value in potential_function.keys_with_param:
50
+ print(f'Factor{instance} = {param_value}')
51
+ print()
52
+
53
+
54
+ if __name__ == '__main__':
55
+ main()
@@ -2,7 +2,7 @@ import random
2
2
 
3
3
  from ck import example
4
4
  from ck.pgm import PGM
5
- from ck.pgm_compiler import factor_elimination
5
+ from ck.pgm_compiler import DEFAULT_PGM_COMPILER
6
6
  from ck.pgm_circuit import PGMCircuit
7
7
  from ck.pgm_circuit.wmc_program import WMCProgram
8
8
  from ck.probability.empirical_probability_space import EmpiricalProbabilitySpace
@@ -18,7 +18,7 @@ def main():
18
18
 
19
19
  pgm: PGM = example.Rain()
20
20
 
21
- pgm_cct: PGMCircuit = factor_elimination.compile_pgm(pgm)
21
+ pgm_cct: PGMCircuit = DEFAULT_PGM_COMPILER(pgm)
22
22
  wmc = WMCProgram(pgm_cct)
23
23
  sampler = wmc.sample_direct()
24
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compiled-knowledge
3
- Version: 4.0.0a24
3
+ Version: 4.1.0
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
@@ -13,6 +13,7 @@ Description-Content-Type: text/markdown
13
13
  License-File: LICENSE.txt
14
14
  Requires-Dist: llvmlite
15
15
  Requires-Dist: numpy
16
+ Requires-Dist: scipy
16
17
  Dynamic: license-file
17
18
 
18
19
  Compiled Knowledge
@@ -1,31 +1,39 @@
1
1
  ck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ck/pgm.py,sha256=PjRTOot-4_FAxEnJsJ0aZVflwq-INQCn8H8kmS5WTDU,120828
2
+ ck/pgm.py,sha256=MaUPE1ymO9hX4Z-b780iX1w-5veU5VeMO5nFfvJ9e8U,121189
3
3
  ck/circuit/__init__.py,sha256=klUR7OVESf53-8Ho4f32clHFsR2SOz4XgwZzfDlms88,418
4
- ck/circuit/_circuit_cy.c,sha256=TmbBc9Mxkor12-JjNH5snykGG7I-oIpd8ddd6e7EzSM,1741715
5
- ck/circuit/_circuit_cy.cp312-win32.pyd,sha256=xVzvnDjfdXecCf0fs69ArGVj_tobLC6Ki9yrMbBI8iE,221184
4
+ ck/circuit/_circuit_cy.c,sha256=ycfjqeftXOlged0PsTg-JIJELz37V3oJPNUvTps1M-o,1741715
5
+ ck/circuit/_circuit_cy.cp312-win32.pyd,sha256=RtX7MxMNLWpzs10UU8_jeNLNibdtiTPwmYMiktK2dcA,221184
6
6
  ck/circuit/_circuit_cy.pxd,sha256=F1WU4KuX_knXQX-hwNKoHsoUK3fJLbLOxEnomWMJFpI,1057
7
7
  ck/circuit/_circuit_cy.pyx,sha256=TIjqsdyN_IzOm9XQw26kEURpL6GSL1kJO3K-UUlkbQc,27763
8
8
  ck/circuit/_circuit_py.py,sha256=gQZoEphxut2UyBL0ZqmNc8KlNBSMST_VOCqOpDMIRSM,28331
9
- ck/circuit/tmp_const.py,sha256=dG9FuGfoAG5qjYG1rNwekqKiea_KmVfxHMTOgCPbBiQ,2372
9
+ ck/circuit/tmp_const.py,sha256=9DVKsAqwNb3BrmaLoxrBoVmFqQ3nacz3wIx7k3qe8SE,2375
10
10
  ck/circuit_compiler/__init__.py,sha256=T0Igyp5jPgnIXv4oRcIYhmsOdcNOb3L4Za6dK6eYk7g,132
11
11
  ck/circuit_compiler/circuit_compiler.py,sha256=xujLh120_G7AGJpv-IZTI4S1TpNf4gzHilaqvlKvfXA,1148
12
- ck/circuit_compiler/interpret_compiler.py,sha256=KMzLzIV-BU5l8GQ2833kjios4sbGSVUm4ero7MEYvVk,8786
13
- ck/circuit_compiler/llvm_compiler.py,sha256=6RHUCVWCOgt3ZNyjRTl2Z2npYJMWyAFJVAIc5SAx2mY,14023
12
+ ck/circuit_compiler/interpret_compiler.py,sha256=xNpUdzbKgATLgF0beGKIfLonrtcVPitsvqlkqZPsbY4,8790
13
+ ck/circuit_compiler/llvm_compiler.py,sha256=vnel-2YV_RYKXNah7YsV8tDFUoP4FMcg4oTu16jgxHw,14044
14
14
  ck/circuit_compiler/llvm_vm_compiler.py,sha256=XJhiAZmGMRRz49XUfng9lgETxVw6NgD6XCI0H3fX-1E,22200
15
15
  ck/circuit_compiler/named_circuit_compilers.py,sha256=snlD3JnhAZC-atKpf5GD0v4CGdvj2_ZhCZ3O-tsxzxc,2284
16
16
  ck/circuit_compiler/cython_vm_compiler/__init__.py,sha256=pEAwTleuZgdYhTAQMea2f9YsFK54eoNbZSbrWkW8aeE,49
17
- ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=sef464hFUqpMeO7hcB3Mr-jHIr-m_GBcoY2NXl3wTHA,871325
18
- ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd,sha256=-_hRzpcpd92NtuaARGTOVjXSxO72L5oS9j6UYMhcy7E,91648
17
+ ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=EufXKH3ZK8gnVkMpWFfFmIC0P9rWz9-IxgcX-HdpgtE,871325
18
+ ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd,sha256=T0EzVMPaBZr0LxV0UhNWg9X60yZmOuwLc6YAEpSbSro,91648
19
19
  ck/circuit_compiler/cython_vm_compiler/_compiler.pyx,sha256=550r0AkOh8ZuuTRy3e6Aq-YqBQ82EKcap8e6f3zlEuM,13278
20
20
  ck/circuit_compiler/cython_vm_compiler/cython_vm_compiler.py,sha256=3Q-HCyA7VWFoXS9gn-k4LXedzqHPvdFNvWHfDcKYv6s,4473
21
21
  ck/circuit_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- ck/circuit_compiler/support/input_vars.py,sha256=x6krN6sW9A-vZTteY4M4on_0vS4ChaaCcmnXcnQ4y0s,4812
23
- ck/circuit_compiler/support/llvm_ir_function.py,sha256=f4gD591d8cytln4vY9Lxw_cJrSyQJ3iHES49eN44eec,8612
22
+ ck/circuit_compiler/support/input_vars.py,sha256=wVj3BeNTyQdvEhR6P4WWw4WSvmCok5iKytlLHjuqYOs,4821
23
+ ck/circuit_compiler/support/llvm_ir_function.py,sha256=07IUmx4bGReDu-BsUhJEWM_onm8NmsHwQzJan1rnAFE,8572
24
24
  ck/circuit_compiler/support/circuit_analyser/__init__.py,sha256=RbyIObAAb-w0Ky4fB198xAfxTh2doquN9ez68SZSZgo,536
25
- ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c,sha256=pdGWGzEsPqJnlEmI1J58ccSXslpZHsdOXA39lvIZCv4,448751
26
- ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd,sha256=Dkje7k7v3s_uTRZTtzb9ggQ5e3kputY4Fvna8v8BEIc,47104
25
+ ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c,sha256=CNxYbcVT2IeyOP-WGl0qL7aan4nnAmgDRKZ1nN5v_zQ,448751
26
+ ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd,sha256=k28zRkheew0TRwGKiuEiHTInbmjG9eo_POgKIcGaZRQ,47104
27
27
  ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.pyx,sha256=ctDOHOjnUhdsR_XHBrgchFVTImLhsEUjU3cqkP-GdF8,3331
28
28
  ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_py.py,sha256=eWjc2B946LeSzcGa9PyI4XQvlx_B1KPEiQuM6OOFjjQ,3086
29
+ ck/dataset/__init__.py,sha256=3vxB-b8LdgtoZ73q28sdPYPUbCbXARH-fNGUZcxIzIo,56
30
+ ck/dataset/cross_table.py,sha256=j0HxWXJp14lOOJyb23T5LHEWziMYyY2UYnqIxdeG7kM,13348
31
+ ck/dataset/dataset.py,sha256=yuX499Ue4V5T4YQJOEsslpGAoFZv-4UpTRk7zDVZ7B0,26213
32
+ ck/dataset/dataset_builder.py,sha256=ZmDYz5xZrqbQLO4aLcESnBxmo838Z8CD0Y0-YrUNoio,19392
33
+ ck/dataset/dataset_compute.py,sha256=B1BxTJ-JAsNk8l79iDRmJAQ5QwEvWgsI1wepRg4aQCQ,5845
34
+ ck/dataset/dataset_from_crosstable.py,sha256=bThBqyM4H0kfg4DonguLW1DIdkAQdlQa5nPAciMnMrI,2345
35
+ ck/dataset/dataset_from_csv.py,sha256=Nn2RzZP_fhag2UaXzv27YEnKSo6oogKEVGEEafQuB6U,5953
36
+ ck/dataset/sampled_dataset.py,sha256=8PfiTXqraSQ5rXpFUFFMN13jQL1x--_z9g6FYs2VW1U,3357
29
37
  ck/example/__init__.py,sha256=BXVxvTcl3tqgai-xJiGQIaG_ChlpPRdfWg985MQ7dwM,1744
30
38
  ck/example/alarm.py,sha256=QkHoUb6MxZzCOCX4nLE8UJazNEqAPqrFWQ01lslvdsk,25274
31
39
  ck/example/asia.py,sha256=IX8L-9YCk_DxE-PjYTv1VL33V2oxkHrL7rHmDkMj3kY,1295
@@ -36,7 +44,7 @@ ck/example/chain.py,sha256=AAqLeEUzZYir3fqBl9bzY1SZKW3HLT_FJPzXTFSOvuU,1351
36
44
  ck/example/child.py,sha256=IkYgd3LBSQI8S3-hwEWcusHuH5MjqGSKNCl0NJnw7O4,7811
37
45
  ck/example/clique.py,sha256=auWWzCV3s-r6ctdPKGcb_bulMymU2pEUuKJsqE1Onm4,1088
38
46
  ck/example/cnf_pgm.py,sha256=vzr36kokWutGgbfmsI0ZDIgdmWIsUegnO49EUYjgpVQ,1283
39
- ck/example/diamond_square.py,sha256=VYvrdFJv_E297RGneu98CV-mH2AXiPpCalCXoYjTVuE,2790
47
+ ck/example/diamond_square.py,sha256=IkHuzn_04SKXk2a9YRrxmyr5hxyL7CY3-R-GLbWq-P8,2795
40
48
  ck/example/earthquake.py,sha256=KuvHciKlidAJAxgti07BS8XoVIXHJth3khvQkP8tGls,1289
41
49
  ck/example/empty.py,sha256=tyg8Z8JIwTMR2C8oXD81pzAzvKpHRBX21ocWLdAUfE8,182
42
50
  ck/example/hailfinder.py,sha256=KMT9VobwFGWnw0JRymQTkd35HAIRFQhXnoN87mlhCYQ,39405
@@ -55,28 +63,33 @@ ck/example/star.py,sha256=3vf6xRl4MxRlhj3MGPfwKk3ipSVym-qLYJUDkiUqfe0,1578
55
63
  ck/example/stress.py,sha256=ENeOKFVFMa8WkbhhCLt2CIeYdPmHaiU_FOGIy80RYpI,1998
56
64
  ck/example/student.py,sha256=XqUIX0DxR0a3G1sqK4MM3V_pvUm3IQ5aY2hpbo_BMlo,1333
57
65
  ck/example/survey.py,sha256=KrqDgzU1V-yJHy4BEAAJQatqH9YAy8acrp6rVYAqQag,1611
58
- ck/example/triangle_square.py,sha256=D-ADGOSxCffsgukLTySsb6HVQpUnOJ-ZyMGBz_qGna4,2148
59
- ck/example/truss.py,sha256=5ud1qvPZMSKqSx0Sq1ZKcEeD_ZVUdKbEBfk5eyqhpm4,1974
66
+ ck/example/triangle_square.py,sha256=WQpFrIm8h51ZYNZ9kAtoq3XamUNiVGKCGAsMdSv5urI,2153
67
+ ck/example/truss.py,sha256=w1DNacSg2HyEz_m38t__hdl3zqzKX5pf-tc8M9PLRGo,1979
60
68
  ck/in_out/__init__.py,sha256=PKhy5qeUrmmUaECSQIkoLQ2McAfQFSwB06vQZk3vpmo,112
61
69
  ck/in_out/parse_ace_lmap.py,sha256=EZnSLhsZwdPnk2Fbe2El0YXYqvjd_cBh7PZro7ZeR04,7891
62
70
  ck/in_out/parse_ace_nnf.py,sha256=zO3smkKKiUy_g0S7WeNyhEaZu5x65wuSNIDWlA3YU_g,13350
63
- ck/in_out/parse_net.py,sha256=cBY7X4k5U8v9x_dtFZWdOpSPh-q-U47gdImNo2Tf9dY,14302
64
- ck/in_out/parser_utils.py,sha256=IKwgXBrIhHdL85n92RzB5yau_ja7DB3iAV-FHMgWsnI,5440
71
+ ck/in_out/parse_net.py,sha256=ZeHgMXBYUkboMFkbs0y7Px4Ngbooi000obl_wFfym7k,14307
72
+ ck/in_out/parser_utils.py,sha256=5OnvBKGGQbbc9ez8GwwudX2BFYTCF4gbkj6t2f73Esk,5567
65
73
  ck/in_out/pgm_pickle.py,sha256=i5LYxez356we7MzHwsQBmFdOvBJOLVKBp4u4lSwBOjU,1004
66
74
  ck/in_out/pgm_python.py,sha256=c2-yxXxJ4fF00gUD5Lvt_CSE07EgwYeHW3nSNXunEvc,10092
67
75
  ck/in_out/render_bugs.py,sha256=6YBhMIq3VRKFS0XqHbaWj6iz1io7O9icW23kukF_Cic,3383
68
76
  ck/in_out/render_net.py,sha256=LpQYAo_tF45vMIcHW1Ir5Zd_Ot69SPAK-e1Tl_6Ygo0,5147
69
77
  ck/in_out/render_pomegranate.py,sha256=gGvXyX9vOoilGIIL3rsMB07gERMU-12XPsttfSb4xLI,5764
78
+ ck/learning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ ck/learning/coalesce_cross_tables.py,sha256=yl8L-YYN5DZ_nCxBHgat7cVXOe8rEiPFaNkzDZnDIk0,13700
80
+ ck/learning/model_from_cross_tables.py,sha256=jZp60w4g5FW8wM4oh7ZeiKmHZuGMxz7D63nZOl9XxQ4,11046
81
+ ck/learning/parameters.py,sha256=PXLNq45zvlBqonMkQ1Lb-pYlHPnpI3osi2gabbpZMX0,4505
82
+ ck/learning/train_generative_bn.py,sha256=wBk6xfU1EqvamFlMqScrsmmAVJIF0nFkAFiF3AegLJI,8217
70
83
  ck/pgm_circuit/__init__.py,sha256=B0CCjNMnPzrd0YiOEFdK4JzmRCvFIGJi3RJQ5Vg6fqA,37
71
- ck/pgm_circuit/marginals_program.py,sha256=DUvSND3ozQuBCZcmIsgwZ4w_IWCVV7O31Pm4PJ7ZDok,14786
72
- ck/pgm_circuit/mpe_program.py,sha256=sKj1hoxN3dTYOegj6tf5fV7KLHuqJ9FaP3tRK3HM4Xg,10245
73
- ck/pgm_circuit/pgm_circuit.py,sha256=3vKOh2gFGyB_PhfQgviCQGXv1t4dbawBL89sjm4-SPA,3287
74
- ck/pgm_circuit/program_with_slotmap.py,sha256=boS8Y1X60F-_pTM3wFyC4oP9jc-5zDc8Iv4vn7JUJWM,8959
84
+ ck/pgm_circuit/marginals_program.py,sha256=ZrFDOvsv-Hn7G3rbuXJDtRxFdOpI_J9P7dvSkcBsnng,15139
85
+ ck/pgm_circuit/mpe_program.py,sha256=-8fcb-txUiKo2bPKhApl_GD7U_gREC5SvU_D5sQe9sg,10226
86
+ ck/pgm_circuit/pgm_circuit.py,sha256=DLjQmaVuAQ0YF6kCi15vDRiydLCJmufeo0hQJndqv2Y,3375
87
+ ck/pgm_circuit/program_with_slotmap.py,sha256=5iIPVvhGncluMR-dfCIqXGjmzSnxLL-btfy80PI23DE,8025
75
88
  ck/pgm_circuit/slot_map.py,sha256=T4nBweoiivEdBDhYZ6GWpOXqSusRbp3vrSbCTyP1qpI,857
76
89
  ck/pgm_circuit/target_marginals_program.py,sha256=x4YQM-hUQRo2OLxodKJVOAKxqNlxmiDl9nGbbknypkY,3768
77
- ck/pgm_circuit/wmc_program.py,sha256=WtABU74FOCCJuKRCoDL4CyZ4CJXFmt9RSxiNNHsOhRY,12699
90
+ ck/pgm_circuit/wmc_program.py,sha256=ZVGSyTh4pIP0BqITrHeibWmPNE1ntPp2hyR1bjBd9Tg,13052
78
91
  ck/pgm_circuit/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- ck/pgm_circuit/support/compile_circuit.py,sha256=krsTlZxLk_RHZL0qoRVAjyW78Zk2HZi_MrurzZIfa6Y,3259
92
+ ck/pgm_circuit/support/compile_circuit.py,sha256=5UtwaGQHWp8I5aVECXGQjkzKqXBRdO8dRunQNGSNdXo,3203
80
93
  ck/pgm_compiler/__init__.py,sha256=XCK1AWBBB9UYi6kbFnxMFzBL9a25EWfHnz_yn3ZKYuM,112
81
94
  ck/pgm_compiler/factor_elimination.py,sha256=6iMh_NdOQh4D5cuo8q1y7yUuj3glnM9I0OJ9vlJAGqU,13807
82
95
  ck/pgm_compiler/named_pgm_compilers.py,sha256=sI-dwF7mht6aEuVfsN3sIO_4oH7RrjIt5x9ZlBwVQys,3376
@@ -91,31 +104,33 @@ ck/pgm_compiler/support/factor_tables.py,sha256=tV9qE2zC8iwEQxTuXE6qiE6lmMpz4-Vc
91
104
  ck/pgm_compiler/support/join_tree.py,sha256=Chkyyo--ChgWEsDqTh8RCxPN7Z1NyvL--GjTC4ONvkY,12897
92
105
  ck/pgm_compiler/support/named_compiler_maker.py,sha256=g2MLnlkWXkISHL6dh23EY53SptTo7-itfuZogSpMdB8,1420
93
106
  ck/pgm_compiler/support/circuit_table/__init__.py,sha256=yJ05NvuNE9j0E_QnjDzHYfLqcHn5TdOleEpG3wSRgXQ,579
94
- ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c,sha256=MklGnlFKB1kN5kZFFJAy4owEjxAk0TI2BLYJwKYP90I,730350
95
- ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd,sha256=_IDzUOqqtqNcWiB1Ks_EWuztERyTiBUf1nwNRSYtC94,87040
107
+ ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c,sha256=LEbCjrW207EoGSg0QXN_ZEaD6de7gyQrZuByME4XjhA,730350
108
+ ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd,sha256=_Lf_8iQxknj0ONh3adzpQ2mx0dLmAYkel3ioy_lUA2U,87040
96
109
  ck/pgm_compiler/support/circuit_table/_circuit_table_cy.pyx,sha256=rVO1yxjZmZ6yv5s0zKq4Ji9WYrDuYTZsRG_zeF1_1xE,12015
97
110
  ck/pgm_compiler/support/circuit_table/_circuit_table_py.py,sha256=h6xPYGBSy6XHQBFLPD2D1-V7Kiw9utY68nWrcGRMEg4,11287
98
111
  ck/probability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- ck/probability/empirical_probability_space.py,sha256=aLUdmN98KpmgZjuO4QXqcMkK9GmF-Btvoj1SwK_gSQI,2029
112
+ ck/probability/cross_table_probability_space.py,sha256=U7LlmWUc_Ow6CVEk_6CLK0p2g8GlRpHEGPZFXrV8tmI,1997
113
+ ck/probability/divergence.py,sha256=v6aRxYGXN1pcUXh6HaAS6_h1eb01pD8D2fXbm4RXMEE,8484
114
+ ck/probability/empirical_probability_space.py,sha256=sO31UIhePRFtkUDN84HT9qhtWsYa0vYaRdXMsttNgTk,2140
100
115
  ck/probability/pgm_probability_space.py,sha256=Slmp0mwDMoVh_86Y8L1QjAQsneazcK2VGQcRW8O2C3M,1267
101
- ck/probability/probability_space.py,sha256=36_lCk3gVBU0i5SyCt2BBYoDhWnFxroaScObzmN9EYw,26172
116
+ ck/probability/probability_space.py,sha256=C2ECA2_j4asaIstHL5pdSiDYfwdP30ShDn6pfAJi0Lk,26776
102
117
  ck/program/__init__.py,sha256=Ss9-0eqsGxCGloD6liH-0iqBG5Q3vPRF4XCw2hkDJ0M,110
103
118
  ck/program/program.py,sha256=gDJ5Q2kXZuaoHboa9yNTg0tQH9S-Gmw0BRx6PPV28pU,4184
104
119
  ck/program/program_buffer.py,sha256=1fiUcT7sqyr4vu8jXzK3ZsrgURFhWMdm6hr2BeS9ONA,5665
105
- ck/program/raw_program.py,sha256=J8jbyhc1X9PxX5DFMFeIIRHbh65JTkAxFRbjVjzxz7s,4257
120
+ ck/program/raw_program.py,sha256=3_XXudmdg_z9bwoul7pdrvaWgxRONjveXgPR1CK4hos,4212
106
121
  ck/sampling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
122
  ck/sampling/forward_sampler.py,sha256=pTtpaH_ONH67G4P-aJ1p8YZSaXr4TTD6pj3ZEI2y7KM,8348
108
123
  ck/sampling/marginals_direct_sampler.py,sha256=p1jDr1stG2Hjay3D8hILezW-5YZTX1p3odUcJDAI-OQ,4466
109
124
  ck/sampling/sampler.py,sha256=qhfguy8rnVQBVVXhJylvh-8Kq7rfHW62a3DEtv9v7Xc,2306
110
- ck/sampling/sampler_support.py,sha256=z--w6ZaJwy0lBWTzYC0SR80-i8vjZ5XFlZqo2F4QPqQ,9808
125
+ ck/sampling/sampler_support.py,sha256=q2osk-o6iWfsMXUhzfv1spPtyB9WQlQAlnuclLyOSQQ,9768
111
126
  ck/sampling/uniform_sampler.py,sha256=NCN1T77v4g4hsdNgIsZDxHBndfj4AghLSk8WKQt_2a0,2586
112
127
  ck/sampling/wmc_direct_sampler.py,sha256=7qiz-bRlQ59ZBJmg0bEG0y63pXTVXNVx4d410BGhnJg,7265
113
128
  ck/sampling/wmc_gibbs_sampler.py,sha256=GMKVW2AVtsWtP6vxE3Y2dy-dKr7GoO_vLEA9eC304fo,6567
114
129
  ck/sampling/wmc_metropolis_sampler.py,sha256=PRv7wtPZz7BcwN8iArsykVwqgY77v5km7rXcawFAUPQ,6470
115
130
  ck/sampling/wmc_rejection_sampler.py,sha256=cd0VONZf-oa491RRKfwT2LakQs0o_slgPCes8AOvSNc,4897
116
131
  ck/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- ck/utils/iter_extras.py,sha256=QNd3mJxPsKN0Wg12K_Iuefto5A2Vv9leuMvymAdt4uo,4479
118
- ck/utils/local_config.py,sha256=-oTKvKCpm29JeHEhV1_qLC5fMS523unDzXr0VYE3M0U,9535
132
+ ck/utils/iter_extras.py,sha256=4OwHqOsChnJzTwejqU6Dl4NQX0OOd37ThOltx1NlBUc,4492
133
+ ck/utils/local_config.py,sha256=U-Yt4XW5kjXQmF0X6IPJqq0RgSPWeitA7ggomjpG6HM,9600
119
134
  ck/utils/map_list.py,sha256=T2OpjI7eDgC4geCtW_FsEr6ryiePOnKZwfDahB63zfA,3847
120
135
  ck/utils/map_set.py,sha256=BLu9BO3FCtzZlZ9MfP9STtIdQ4Me8-QKdwB7o15y7f8,3809
121
136
  ck/utils/np_extras.py,sha256=Dt9Y-afUYIf_z5PBQOzh22pg8jRt-DKm2n5jJ6APIdA,1752
@@ -133,8 +148,14 @@ ck_demos/circuit/demo_derivatives.py,sha256=3JoWVAEKLEoLjq6QzWkq4Z-qVq1l0tHvGDn5
133
148
  ck_demos/circuit_compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
149
  ck_demos/circuit_compiler/compare_circuit_compilers.py,sha256=IEzwvKt6c8wrmAyd6F0sUaNaWYEx1BBFQhRyDt7cibI,756
135
150
  ck_demos/circuit_compiler/show_llvm_program.py,sha256=HKUuyLfBjH6ZgD8l4gQWVSBPUh55ZCXjPa7ZEdm5OyU,712
151
+ ck_demos/dataset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
152
+ ck_demos/dataset/demo_dataset_builder.py,sha256=1OycYIr0C_3NCn0SLNoHftjStnRrGk_f0yNlckD6nh4,1024
153
+ ck_demos/dataset/demo_dataset_from_sampler.py,sha256=7hd1vmnIv_q6qC9K6FSGiYm3vA6DSFapz6vItl1MHqQ,503
136
154
  ck_demos/getting_started/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
155
  ck_demos/getting_started/simple_demo.py,sha256=AR40OtUVd-CJOxFlsu8_RtGLL2LLnZg506SzrIx7OQA,668
156
+ ck_demos/learning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
157
+ ck_demos/learning/demo_bayesian_network_from_cross_tables.py,sha256=oAwd3QPGgJQm90wW9HagMqDEPAWP2IxF9XJ74g51yM0,2661
158
+ ck_demos/learning/demo_simple_learning.py,sha256=CtFdMKS8HmUWfr5CwXRkPtTI2HlL3Xw1jQdZcE7_j1s,1538
138
159
  ck_demos/pgm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
160
  ck_demos/pgm/demo_pgm_dump.py,sha256=egcjSjMDJdyzxWGvHrgdF_g3CFYozLKv4XSXzvSfWbg,248
140
161
  ck_demos/pgm/demo_pgm_dump_stress.py,sha256=L9S3yp0EQM56kWztV4A6XzEqITOGbThImZIU0JofCDg,285
@@ -169,14 +190,14 @@ ck_demos/sampling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
169
190
  ck_demos/sampling/check_sampler.py,sha256=ZiXYS9CqGCX-Hd7zMKR_2TWZYTbbgF7TIqvYtq1Ofj0,2106
170
191
  ck_demos/sampling/demo_marginal_direct_sampler.py,sha256=RhNunuIUnYI_GXp9m8wzadMrgH9LYrr_Ohh1NApcFDk,1149
171
192
  ck_demos/sampling/demo_uniform_sampler.py,sha256=Z6tX_OYKGLc_w3-kEPK4KEZlJo7F5HOq_tUVppB_VQE,962
172
- ck_demos/sampling/demo_wmc_direct_sampler.py,sha256=c7maxTmZyIijaVdFs2h_KQbK30LvI-oCm2BXSUXVoD8,1113
193
+ ck_demos/sampling/demo_wmc_direct_sampler.py,sha256=MC6I7kPhVxkdLU5ve31u59c-MjwDuSgHUXsjtRqQIqU,1105
173
194
  ck_demos/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
195
  ck_demos/utils/compare.py,sha256=Bwjpflevl4nusfA0zp96rInaVKFGuhC5Xv7HzA1Fobk,5088
175
196
  ck_demos/utils/convert_network.py,sha256=TSKj8q7L7J5rhrvwjaDkdYZ0Sg8vV5FRL_vCanX1CQw,1363
176
197
  ck_demos/utils/sample_model.py,sha256=in-Nlv-iuNIu6y9fDuMyo7nzgimBuTAnCWcpnVqvqDQ,8839
177
198
  ck_demos/utils/stop_watch.py,sha256=VzXHRWx0V8vPSD-bLgLlEYkCkR2FA0-KmM_pfKx-Pxo,13205
178
- compiled_knowledge-4.0.0a24.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
179
- compiled_knowledge-4.0.0a24.dist-info/METADATA,sha256=AVKPNHhibL3GdHqdsIO0Stn2FfxPTSiYsQ03YjNAoTk,1838
180
- compiled_knowledge-4.0.0a24.dist-info/WHEEL,sha256=LwxTQZ0gyDP_uaeNCLm-ZIktY9hv6x0e22Q-hgFd-po,97
181
- compiled_knowledge-4.0.0a24.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
182
- compiled_knowledge-4.0.0a24.dist-info/RECORD,,
199
+ compiled_knowledge-4.1.0.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
200
+ compiled_knowledge-4.1.0.dist-info/METADATA,sha256=Z8I_BoamcdQDXiJaUVaUr4tVgwyY2kDmzpLGc5VNjc4,1857
201
+ compiled_knowledge-4.1.0.dist-info/WHEEL,sha256=LwxTQZ0gyDP_uaeNCLm-ZIktY9hv6x0e22Q-hgFd-po,97
202
+ compiled_knowledge-4.1.0.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
203
+ compiled_knowledge-4.1.0.dist-info/RECORD,,