python-sat 0.1.8.dev10__cp310-cp310-win_amd64.whl → 1.8.dev26__cp310-cp310-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 python-sat might be problematic. Click here for more details.

Files changed (45) hide show
  1. pycard.cp310-win_amd64.pyd +0 -0
  2. pysat/__init__.py +4 -4
  3. pysat/_fileio.py +30 -14
  4. pysat/allies/approxmc.py +22 -22
  5. pysat/allies/unigen.py +435 -0
  6. pysat/card.py +13 -12
  7. pysat/engines.py +1302 -0
  8. pysat/examples/bbscan.py +663 -0
  9. pysat/examples/bica.py +691 -0
  10. pysat/examples/fm.py +12 -8
  11. pysat/examples/genhard.py +24 -23
  12. pysat/examples/hitman.py +53 -37
  13. pysat/examples/lbx.py +56 -15
  14. pysat/examples/lsu.py +28 -14
  15. pysat/examples/mcsls.py +53 -15
  16. pysat/examples/models.py +6 -4
  17. pysat/examples/musx.py +15 -7
  18. pysat/examples/optux.py +71 -32
  19. pysat/examples/primer.py +620 -0
  20. pysat/examples/rc2.py +268 -69
  21. pysat/formula.py +3241 -229
  22. pysat/pb.py +85 -37
  23. pysat/process.py +16 -2
  24. pysat/solvers.py +2119 -724
  25. pysolvers.cp310-win_amd64.pyd +0 -0
  26. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/approxmc.py +22 -22
  27. python_sat-1.8.dev26.data/scripts/bbscan.py +663 -0
  28. python_sat-1.8.dev26.data/scripts/bica.py +691 -0
  29. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/fm.py +12 -8
  30. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/genhard.py +24 -23
  31. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/lbx.py +56 -15
  32. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/lsu.py +28 -14
  33. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/mcsls.py +53 -15
  34. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/models.py +6 -4
  35. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/musx.py +15 -7
  36. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/optux.py +71 -32
  37. python_sat-1.8.dev26.data/scripts/primer.py +620 -0
  38. {python_sat-0.1.8.dev10.data → python_sat-1.8.dev26.data}/scripts/rc2.py +268 -69
  39. python_sat-1.8.dev26.data/scripts/unigen.py +435 -0
  40. {python_sat-0.1.8.dev10.dist-info → python_sat-1.8.dev26.dist-info}/METADATA +19 -5
  41. python_sat-1.8.dev26.dist-info/RECORD +48 -0
  42. {python_sat-0.1.8.dev10.dist-info → python_sat-1.8.dev26.dist-info}/WHEEL +1 -1
  43. python_sat-0.1.8.dev10.dist-info/RECORD +0 -39
  44. {python_sat-0.1.8.dev10.dist-info → python_sat-1.8.dev26.dist-info/licenses}/LICENSE.txt +0 -0
  45. {python_sat-0.1.8.dev10.dist-info → python_sat-1.8.dev26.dist-info}/top_level.txt +0 -0
Binary file
@@ -22,12 +22,12 @@
22
22
  Module description
23
23
  ==================
24
24
 
25
- This module provides interface `ApproxMCv4
25
+ This module provides interface to `ApproxMCv4
26
26
  <https://github.com/meelgroup/approxmc/>`_, a state-of-the-art
27
27
  *approximate* model counter utilising an improved version of CryptoMiniSat
28
- give approximate model counts to problems of size and complexity that are
29
- out of reach for earlier approximate model counters. The original work on
30
- ApproxMCv4 has been published in [1]_ and [2]_.
28
+ to give approximate model counts to problems of size and complexity that
29
+ are out of reach for earlier approximate model counters. The original work
30
+ on ApproxMCv4 has been published in [1]_ and [2]_.
31
31
 
32
32
  .. [1] Mate Soos, Kuldeep S. Meel. *BIRD: Engineering an Efficient CNF-XOR
33
33
  SAT Solver and Its Applications to Approximate Model Counting*. AAAI
@@ -47,17 +47,17 @@
47
47
  The interface gives access to :class:`Counter`, which expects a formula in
48
48
  :class:`.CNF` as input. Given a few additional (optional) arguments,
49
49
  including a random seed, *tolerance factor* :math:`\\varepsilon`, and
50
- *confidence* :math:`\delta`, the class can be used to get an approximate
50
+ *confidence* :math:`\\delta`, the class can be used to get an approximate
51
51
  number of models of the formula, subject to the given tolerance factor and
52
52
  confidence parameter.
53
53
 
54
- Namely, given a CNF formula :math:`\mathcal{F}` with :math:`\#\mathcal{F}`
55
- as the exact number of models, and parameters :math:`\\varepsilon\in(0,1]`
56
- and :math:`\delta\in[0,1)`, the counter computes and reports a value
57
- :math:`C`, which is an approximate number of models of
58
- :math:`\mathcal{F}`, such that
59
- :math:`\\textrm{Pr}\left[\\frac{1}{1+\\varepsilon}\#\mathcal{F}\leq C\leq
60
- (1+\\varepsilon)\#\mathcal{F}\\right]\geq 1-\delta`.
54
+ Namely, given a CNF formula :math:`\\mathcal{F}` with
55
+ :math:`\\#\\mathcal{F}` as the exact number of models, and parameters
56
+ :math:`\\varepsilon\\in(0,1]` and :math:`\\delta\\in[0,1)`, the counter
57
+ computes and reports a value :math:`C`, which is an approximate number of
58
+ models of :math:`\\mathcal{F}`, such that
59
+ :math:`\\textrm{Pr}\\left[\\frac{1}{1+\\varepsilon}\\#\\mathcal{F}\\leq
60
+ C\\leq (1+\\varepsilon)\\#\\mathcal{F}\\right]\\geq 1-\\delta`.
61
61
 
62
62
  The implementation can be used as an executable (the list of available
63
63
  command-line options can be shown using ``approxmc.py -h``) in the
@@ -131,13 +131,13 @@ class Counter(object):
131
131
  models of the formula, subject to *tolerance factor* ``epsilon`` and
132
132
  *confidence parameter* ``delta``.
133
133
 
134
- Namely, given a CNF formula :math:`\mathcal{F}` and parameters
135
- :math:`\\varepsilon\in(0,1]` and :math:`\delta\in[0,1)`, the counter
136
- computes and reports a value :math:`C` such that
137
- :math:`\\textrm{Pr}\left[\\frac{1}{1+\\varepsilon}\#\mathcal{F}\leq
138
- C\leq (1+\\varepsilon)\#\mathcal{F}\\right]\geq 1-\delta`. Here,
139
- :math:`\#\mathcal{F}` denotes the exact model count for formula
140
- :math:`\mathcal{F}`.
134
+ Namely, given a CNF formula :math:`\\mathcal{F}` and parameters
135
+ :math:`\\varepsilon\\in(0,1]` and :math:`\\delta\\in[0,1)`, the
136
+ counter computes and reports a value :math:`C` such that
137
+ :math:`\\textrm{Pr}\\left[\\frac{1}{1+\\varepsilon}\\#\\mathcal{F}\\leq
138
+ C\\leq (1+\\varepsilon)\\#\\mathcal{F}\\right]\\geq 1-\\delta`. Here,
139
+ :math:`\\#\\mathcal{F}` denotes the exact model count for formula
140
+ :math:`\\mathcal{F}`.
141
141
 
142
142
  The ``formula`` argument can be left unspecified at this stage. In
143
143
  this case, a user is expected to add all the relevant clauses using
@@ -147,7 +147,7 @@ class Counter(object):
147
147
  used by ApproxMC. The value of ``seed`` is set to ``1`` by default.
148
148
 
149
149
  :param formula: CNF formula
150
- :param seed: do core trimming at most this number of times
150
+ :param seed: integer seed value
151
151
  :param epsilon: tolerance factor
152
152
  :param delta: confidence parameter
153
153
  :param verbose: verbosity level
@@ -241,7 +241,7 @@ class Counter(object):
241
241
  of :class:`Counter` or through a series of calls to
242
242
  :meth:`add_clause`, this method runs the ApproxMC counter with the
243
243
  specified values of tolerance :math:`\\varepsilon` and confidence
244
- :math:`\delta` parameters, as well as the random ``seed`` value,
244
+ :math:`\\delta` parameters, as well as the random ``seed`` value,
245
245
  and returns the number of models estimated.
246
246
 
247
247
  A user may specify an argument ``projection``, which is a list of
@@ -371,7 +371,7 @@ if __name__ == '__main__':
371
371
  delta, epsilon, projection, seed, verbose, files = parse_options()
372
372
 
373
373
  # parsing the input formula
374
- if files and re.search('\.cnf(\.(gz|bz2|lzma|xz))?$', files[0]):
374
+ if files and re.search(r'\.cnf(\.(gz|bz2|lzma|xz))?$', files[0]):
375
375
  formula = CNF(from_file=files[0])
376
376
 
377
377
  # creating the counter object