In [1]: from libsemigroups_pybind11 import *
In [2]: p = Presentation("ab")
In [3]: p.contains_empty_word(True)
Out[3]: <monoid presentation with 2 letters, 0 rules, and length 0>
In [4]: p.rules =["aaaa", "", "ababb", "ba"]
In [5]: s = Sims1(to(p, rtype=(Presentation, list[int])))
In [6]: foo = lambda wg: word_graph.number_of_nodes_reachable_from(wg, 0) > 32
In [7]: s.find_if(64, foo)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#0: Sims1: STARTING with 0 additional threads . . .
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#0: Sims1: ≤ 64 classes for ⟨A|R⟩ with:
#0: Sims1: |A| = 2, |R| = 2, |u| + |v| ∈ [4, 7], ∑(|u| + |v|) = 11
#1: Sims1: total 6 (cong.) | 31,855,221 (nodes)
#1: Sims1: diff +6 (cong.) | +31,855,221 (nodes)
#1: Sims1: mean 5 (cong./s) | 31,819,654 (node/s)
#1: Sims1: time last s. 166ms (/cong.) | 31ns (/node)
#1: Sims1: mean time 166ms (/cong.) | 31ns (/node)
#1: Sims1: time 1.001s (total) |
#1: Sims1: total 10 (cong.) | 65,476,509 (nodes)
#1: Sims1: diff +4 (cong.) | +33,620,309 (nodes)
#1: Sims1: mean 4 (cong./s) | 32,637,337 (node/s)
#1: Sims1: time last s. 251ms (/cong.) | 29ns (/node)
#1: Sims1: mean time 200ms (/cong.) | 30ns (/node)
#1: Sims1: time 2.006s (total) |
#0: Sims1: total 16 (cong.) | 90,847,201 (nodes)
#0: Sims1: diff +6 (cong.) | +25,369,991 (nodes)
#0: Sims1: mean 5 (cong./s) | 32,966,461 (node/s)
#0: Sims1: time last s. 124ms (/cong.) | 29ns (/node)
#0: Sims1: mean time 172ms (/cong.) | 30ns (/node)
#0: Sims1: time 2.756s (total) |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#0: Sims1: FINISHED!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Out[7]: <WordGraph with 64 nodes, 70 edges, & out-degree 2>
In [10]: s.number_of_threads(2)
Out[10]: <Sims1 object over <monoid presentation with 2 letters, 2 rules, and length 11> with 2 thread(s)>
In [11]: s.find_if(64, foo)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#0: Sims1: STARTING with 2 / 14 additional threads . . .
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#0: Sims1: ≤ 64 classes for ⟨A|R⟩ with:
#0: Sims1: |A| = 2, |R| = 2, |u| + |v| ∈ [4, 7], ∑(|u| + |v|) = 11
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 1.004s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 2.008s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 3.012s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 4.017s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 5.021s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 6.026s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 7.030s (total) |
#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
#1: Sims1: time 8.035s (total) |
^C#1: Sims1: total 0 (cong.) | 0 (nodes)
#1: Sims1: diff +0 (cong.) | +0 (nodes)
#1: Sims1: mean 0 (cong./s) | 0 (node/s)
#1: Sims1: time last s. - (/cong.) | - (/node)
#1: Sims1: mean time - (/cong.) | - (/node)
In v1.4.3, I am seeing: