<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>OVERLAY</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Modern Rule-Based Learning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giovanni Pagliarini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Edoardo Ponsanesi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guido Sciavicco</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ionel Eduard Stan</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Ferrara</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Milano - Bicocca</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>6</volume>
      <fpage>28</fpage>
      <lpage>29</lpage>
      <abstract>
        <p>Symbolic classification is a subfield of symbolic learning focused on extracting a collection of mutually exclusive logical rules for classification. This is typically achieved by learning intermediate models, such as decision trees or decision lists. In this paper, we present Modal Sequential Covering (MSC), a decision list learning algorithm that generalizes several existing proposals in the literature. We also provide an early open-source implementation of this algorithm in Julia, integrated within Sole, a comprehensive end-to-end framework for modern symbolic AI. An experimental comparison with available tools reveals that MSC allows us to learn simpler but equally performant models. The integration of MSC into Sole enables manipulating and visualizing the extracted knowledge in logical form. As Sole is designed for symbolic learning with modal and propositional logics, this work lays the foundation for further generalization to non-tabular data.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Symbolic Learning</kwd>
        <kwd>Decision List Learning</kwd>
        <kwd>Rule Extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>SoleXperimenter.jl</title>
        <p>ModalDecisionLists.jl</p>
      </sec>
      <sec id="sec-1-2">
        <title>ModalIsolationForests.jl</title>
      </sec>
      <sec id="sec-1-3">
        <title>ModalDecisionTrees.jl</title>
      </sec>
      <sec id="sec-1-4">
        <title>ModalAssociationRules.jl</title>
      </sec>
      <sec id="sec-1-5">
        <title>SoleFeatures.jl</title>
      </sec>
      <sec id="sec-1-6">
        <title>SoleViz.jl</title>
      </sec>
      <sec id="sec-1-7">
        <title>SoleData.jl</title>
      </sec>
      <sec id="sec-1-8">
        <title>SoleModels.jl</title>
      </sec>
      <sec id="sec-1-9">
        <title>SoleLogics.jl</title>
      </sec>
      <sec id="sec-1-10">
        <title>SolePostHoc.jl</title>
      </sec>
      <sec id="sec-1-11">
        <title>SoleReasoners.jl</title>
        <p>
          which provides a decision list algorithm (IREP [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], RIPPER); Orange, in Python, with both decision trees
and lists (C4.5, CN2 [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]); Chefboost, in Python, with decision trees (ID3 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]), supervisedPRIM and oneR, in
R, with implementations for decision lists (PRIM [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], ONER), and MLJ, in Julia, which ofers a decision
list learning algorithm (CART). While decision trees and similar techniques have received attention
even in recent years (see, e.g. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], among many others), it does not seem to be the case with rule
covering, with the possible exception of explanation methods (see, e.g. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]) or Tsetlin machines (see,
e.g. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]). A common characteristics of all mentioned programming frameworks, symbolic algorithms,
and implementations, is that they do not leverage nor highlight the logical representations of the
extracted knowledge. As such, the learned rules cannot be manipulated within a logical framework,
and the algorithms themselves are not easily generalizable to more expressive logical languages.
        </p>
        <p>
          Sole.jl (or, simply, Sole) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] is a open-source framework, written in the Julia programming language,
that allows one to design and deploy end-to-end learning tasks, from data preprocessing and cleaning,
iflter-based feature extraction and selection, symbolic learning models training, testing, inspection, and
post-hoc modification, and result visualization (a schema of Sole is shown in Fig 1). Sole is completely
logic-based, and integrates several reasoning tools that can be paired up and used on the learned rules. As
much as decision tree learning is concerned Sole already includes an implementation (MCART [
          <xref ref-type="bibr" rid="ref14">14, 15</xref>
          ])
that allows one to learn a decision tree from tabular and non-tabular data (using a suitable modal
logic), and to manipulate the resulting rules in a comprehensive logical framework; modal logic extends
propositional logic, and, as it emerges from several experiments on real-world data, can be applied to
extract useful, non-trivial knowledge (see, e.g., [16, 17, 18]).
        </p>
        <p>In this paper, we describe the implementation of the algorithm Modal Sequental Covering (MSC),
which, in a nutshell, is the Julia implementation of a sequential covering algorithm that is based on,
and generalizes several well-known algorithms, including RIPPER, CN2, ONER, and IREP. Decision lists
learned with MSC may have rules whose literals are not just atomic statements but may be complex
formulas; the covering can be heuristically driven by fully parameterizable beam search and be based
on one of several available information measures; and, candidate literals can be explored via
determinis(</p>
        <p>⇒ BestGuess(ℐuncov))
if a Π-stopping condition applies then break</p>
        <p>FindBestConjunction(ℐuncov, ℬ, )
(⊤ ⇒ BestGuess(ℐuncov))
Algorithm 1: Modal sequential covering algorithm. The input encompasses a dataset ℐ, a
parametrization ℬ (resp., Π, ) for the beam search (resp., stopping conditions, search space and strategy).
FindBestConjunction deploys a (CN2-like) beam search heuristic to learn conjunctions of formulas
from a grammar; BestGuess computes the majority class of a dataset.</p>
        <p>function MSC(ℐ, Π, ℬ, ):</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Modal Sequential Covering</title>
      <p>The most widely used algorithms for decision list learning follow the so-called sequential covering
approach, that is, a separate-and-conquer method that learns rules sequentially. First, a set of uncovered
instances is initialized as the set of all instances in the dataset; then, at each iteration of a loop, a single
rule is learned on the uncovered instances by optimizing a loss function, and the instances covered
by the rule is removed from the set of uncovered instances. Typically, a rule 
iteration is an object whose antecedent  is given by a conjunction of conditions over the attributes.</p>
      <p>
        A conjunction is progressively built via heuristic approaches that explore new conjuncts to be
added, starting with an empty formula. For example, CN2 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] adopts a beam search approach over
the space of conjunctions, while RIPPER [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] specializes a single conjunction by selectively choosing
the best condition to add (which is equivalent to single-beam search approach). The methods mainly
difer from each other in terms of the loss function to be optimized (e.g., minimum description length,
information gain, Laplace accuracy), as well as the regularization strategies deployed (e.g., pruning and
stopping criteria). RIPPER, for example, performs a training/validation split prior to the learning, and
after iteratively growing each conjunction on the training set, it uses the validation set to post-prune
it; moreover, it prioritizes the least numerous classes, so that classes are covered, in order, by their
⇒  built at a given
numerosity.
      </p>
      <p>With a view of lifting the sequential covering approach to more-than-propositional logics (e.g., modal
logics), these premises inspire the design of a more general sequential covering algorithm, namely Modal
Sequential Covering (MSC), that iteratively learns conjunctions of type  1 ∧ . . . ∧  , with   belonging
to a (parametrizable) grammar; this extension is designed to trivially include the above algorithms where,
for comparison, the conjuncts are limited to be atoms. MSC retains the list-level separate-and-conquer
and rule-level beam search heuristic approaches, but extends the search space of conjuncts to a grammar,
and deploys a parametrizable search heuristic, both of which are hyperparameters of the algorithm.</p>
      <p>The pseudo-code of MSC is shown in Alg. 1.</p>
      <p>y
s
p
o
i
B
e
r
e
h
p
s
o
n
o
I
e
c
i
r
P
e
li
b
o
M
t
s
a
e
Y
e
n
o
l
a
b
A</p>
      <sec id="sec-2-1">
        <title>Sole-CN2</title>
      </sec>
      <sec id="sec-2-2">
        <title>Sole-RANDCOV</title>
      </sec>
      <sec id="sec-2-3">
        <title>Orange-CN2</title>
      </sec>
      <sec id="sec-2-4">
        <title>Wittgenstein-RIPPER</title>
      </sec>
      <sec id="sec-2-5">
        <title>Scikit-CART</title>
      </sec>
      <sec id="sec-2-6">
        <title>MLJ-CART</title>
      </sec>
      <sec id="sec-2-7">
        <title>Sole-CN2</title>
      </sec>
      <sec id="sec-2-8">
        <title>Sole-RANDCOV</title>
      </sec>
      <sec id="sec-2-9">
        <title>Orange-CN2</title>
      </sec>
      <sec id="sec-2-10">
        <title>Wittgenstein-RIPPER</title>
      </sec>
      <sec id="sec-2-11">
        <title>Scikit-CART</title>
      </sec>
      <sec id="sec-2-12">
        <title>MLJ-CART</title>
      </sec>
      <sec id="sec-2-13">
        <title>Sole-CN2</title>
      </sec>
      <sec id="sec-2-14">
        <title>Sole-RANDCOV</title>
      </sec>
      <sec id="sec-2-15">
        <title>Orange-CN2</title>
      </sec>
      <sec id="sec-2-16">
        <title>Wittgenstein-RIPPER</title>
      </sec>
      <sec id="sec-2-17">
        <title>Scikit-CART</title>
      </sec>
      <sec id="sec-2-18">
        <title>MLJ-CART</title>
      </sec>
      <sec id="sec-2-19">
        <title>Sole-CN2</title>
      </sec>
      <sec id="sec-2-20">
        <title>Sole-RANDCOV</title>
      </sec>
      <sec id="sec-2-21">
        <title>Orange-CN2</title>
      </sec>
      <sec id="sec-2-22">
        <title>Wittgenstein-RIPPER</title>
      </sec>
      <sec id="sec-2-23">
        <title>Scikit-CART</title>
      </sec>
      <sec id="sec-2-24">
        <title>MLJ-CART</title>
      </sec>
      <sec id="sec-2-25">
        <title>Sole-CN2</title>
      </sec>
      <sec id="sec-2-26">
        <title>Sole-RANDCOV</title>
      </sec>
      <sec id="sec-2-27">
        <title>Orange-CN2</title>
      </sec>
      <sec id="sec-2-28">
        <title>Wittgenstein-RIPPER</title>
      </sec>
      <sec id="sec-2-29">
        <title>Scikit-CART MLJ-CART</title>
        <p />
        <p>Cross-validation results showing  coeficient, training time, number of atoms in the model, and average atoms</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Experiments and Results</title>
      <p>We evaluated our implementation on five tabular datasets: Biopsy [ 19], Ionosphere [20], MobilePrice [21],
Yeast [22], and Abalone [23]. All datasets, except MobilePrice, are publicly available on the UCI Machine
Learning Repository [24], while MobilePrice is available via Kaggle.</p>
      <p>We compared the following methods: MSC (Sole) with the RANDCOV profile ( Sole-RANDCOV);
MSC (Sole) with the CN2 profile ( Sole-CN2); CN2 from the Orange Python package (Orange-CN2);
RIPPER from the Wittgenstein Python package (Wittgenstein-RIPPER); CART from scikit-learn
(ScikitCART); CART from the DecisionTree.jl Julia package (MLJ-CART). While the first two methods are
based on MSC, Sole-CN2 behaves similarly to Orange-CN2, and Sole-RANDCOV introduces novelty by
generating random propositional conjuncts. For each method, hyperparameter tuning was performed
using grid search, optimizing for Cohen’s  coeficient.</p>
      <p>The results are summarized in Tab. 1. First, MSC achieves competitive accuracy (in terms of the 
coeficient) with state-of-the-art methods. Focusing on comparing, in particular, Sole-CN2 against
SoleRANDCOV, the latter produces classifiers with less atoms in 3 out of 5 cases; in one case, Ionosphere the
number of atoms is similar (14 vs 15). In the cases in which the random search produces better results in
terms of number of atoms, the diference is very relevant (172 vs 213, 157 vs 464, and 108 vs 984); in all of
them, Sole-RIPPER outperforms Orange-CN2 as well. Moreover, observe that Wittgenstein-RIPPER fails
in 3 out of 5 cases, as it cannot handle more-than-binary problems. Finally, decision trees such as those
produced by MLJ-CART or Scikit-CART are presented for reference, as there is no direct comparison
between the two approaches.</p>
      <p>Overall, our results show that MSC is a robust addition to the existing symbolic learning approaches,
providing a balance between performance and rule complexity. The implementation in Sole makes it
highly flexible, allowing the exploration of advanced symbolic learning techniques in future work.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions</title>
      <p>In this paper, we have introduced the Modal Sequential Covering (MSC) algorithm, a generalization of
existing decision list learning approaches, and its implementation within the Sole framework. While
MSC currently operates in propositional logic, it is designed to seamlessly extend to modal logic
formulas, which is particularly relevant given the success of using modal logics in symbolic learning
for extracting useful, non-trivial knowledge from real-world data, as demonstrated in [16, 17, 18].</p>
      <p>The integration of MSC into Sole provides a highly flexible platform, not only for working with
traditional decision lists but also for exploring complex symbolic learning tasks using modal logics.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This research was supported by the FIRD project Methodological Developments in Modal Symbolic
Geometric Learning, funded by the University of Ferrara, and the INDAM-GNCS project Symbolic and
Numerical Analysis of Cyberphysical Systems (CUP_E53C23001670001), funded by INDAM. G. Pagliarini,
G. Sciavicco, and I.E. Stan are GNCS-INdAM members. This research was also funded by the Italian
Ministry of University and Research through PNRR - M4C2 - Investimento 1.3 (Decreto Direttoriale
MUR n. 341 del 15/03/2022), Partenariato Esteso PE00000013 - "FAIR - Future Artificial Intelligence
Research" - Spoke 8 "Pervasive AI", funded by the European Union under the NextGeneration EU
programme.
of the 21st International Conference of the Italian Association for Artificial Intelligence (AIxIA),
volume 13796 of LNCS, Springer, 2022, pp. 47–59.
[15] F. Manzella, G. Pagliarini, G. Sciavicco, I. E. Stan, Eficient modal decision trees, in: Proc. of the
22th Conference of the Italian Association for Artificial Intelligence (AIxIA), volume 14318 of
Lecture Notes in Computer Science, Springer, 2023, pp. 381–395.
[16] F. Manzella, G. Pagliarini, G. Sciavicco, I. E. Stan, The voice of COVID-19: breath and cough
recording classification with temporal decision trees and random forests, Artifcial Intelligence in
Medicine 137 (2023) 102486.
[17] G. Pagliarini, G. Sciavicco, Interpretable land cover classification with modal decision trees,</p>
      <p>European Journal of Remote Sensing 56 (2023) 2262738.
[18] G. Pagliarini, S. Scaboro, G. Serra, G. Sciavicco, I. E. Stan, Neural-Symbolic Temporal Decision Trees
for Multivariate Time Series Classification, in: Proceedings of the 29th International Symposium
on Temporal Representation and Reasoning (TIME), volume 247 of LIPIcs, Schloss Dagstuhl
Leibniz-Zentrum für Informatik, 2022, pp. 13:1–13:15.
[19] O. L. Mangasarian, W. H. Wolberg, Cancer diagnosis via linear programming, Technical Report,</p>
      <p>University of Wisconsin-Madison Department of Computer Sciences, 1990.
[20] V. Sigillito, S. Wing, L. Hutton, , K. Baker, Ionosphere, UCI Machine Learning Repository, 1989.
[21] A. Sharma, Mobile price classification dataset, https://www.kaggle.com/datasets, 2021.
[22] K. Nakai, Yeast, UCI Machine Learning Repository, 1996.
[23] W. Nash, T. Sellers, S. Talbot, A. Cawthorn, W. Ford, Abalone, UCI Machine Learning Repository,
1995.
[24] A. Asuncion, D. Newman, UCI machine learning repository, 2007.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Rudin</surname>
          </string-name>
          ,
          <article-title>Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead</article-title>
          ,
          <source>Nature Machine Intelligence</source>
          <volume>1</volume>
          (
          <year>2019</year>
          )
          <fpage>206</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Quinlan</surname>
          </string-name>
          ,
          <article-title>Generating production rules from decision trees</article-title>
          ,
          <source>in: Proceedings of the 10th International Joint Conference on Artificial Intelligence</source>
          ., Morgan Kaufmann,
          <year>1987</year>
          , pp.
          <fpage>304</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>W. W.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <article-title>Fast efective rule induction</article-title>
          ,
          <source>in: Proc. of the 12th International Conference on Machine Learning</source>
          , Morgan Kaufmann,
          <year>1995</year>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Holte</surname>
          </string-name>
          ,
          <article-title>Very simple classification rules perform well on most commonly used datasets</article-title>
          ,
          <source>Machine Learning</source>
          <volume>11</volume>
          (
          <year>1993</year>
          )
          <fpage>63</fpage>
          -
          <lpage>91</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Breiman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Friedman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Olshen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stone</surname>
          </string-name>
          ,
          <article-title>Classification and regression trees</article-title>
          ,
          <source>Wadsworth Publishing Company</source>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Fürnkranz</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Widmer, Incremental reduced error pruning</article-title>
          ,
          <source>in: Proc. of the 11th International Conference on Machine Learning„ Morgan Kaufmann</source>
          ,
          <year>1994</year>
          , pp.
          <fpage>70</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Clark</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Niblett</surname>
          </string-name>
          ,
          <article-title>The CN2 Induction Algorithm, Machine Learning 3 (</article-title>
          <year>1989</year>
          )
          <fpage>261</fpage>
          -
          <lpage>283</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Quinlan</surname>
          </string-name>
          ,
          <article-title>Induction of Decision Trees, Machine Learning 1 (</article-title>
          <year>1986</year>
          )
          <fpage>81</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Friedman</surname>
          </string-name>
          ,
          <string-name>
            <surname>N. I. Fisher</surname>
          </string-name>
          ,
          <article-title>Bump hunting in high-dimensional data</article-title>
          ,
          <source>Statistics and computing 9</source>
          (
          <year>1999</year>
          )
          <fpage>123</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schidler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Szeider</surname>
          </string-name>
          ,
          <article-title>Sat-based decision tree learning for large data sets</article-title>
          ,
          <source>Journal of Artificial Intelligence Research</source>
          <volume>80</volume>
          (
          <year>2024</year>
          )
          <fpage>875</fpage>
          -
          <lpage>918</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Lundberg</surname>
          </string-name>
          , G. Erion,
          <string-name>
            <given-names>H.</given-names>
            <surname>Chen</surname>
          </string-name>
          , A. DeGrave, J.
          <string-name>
            <surname>Prutkin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Nair</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Himmelfarb</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Bansal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>From local explanations to global understanding with explainable ai for trees</article-title>
          ,
          <source>Nature machine intelligence</source>
          <volume>2</volume>
          (
          <year>2020</year>
          )
          <fpage>56</fpage>
          -
          <lpage>67</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>K.</given-names>
            <surname>Abeyrathna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.-C.</given-names>
            <surname>Granmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shafik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Jiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Wheeldon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Yakovlev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Goodwin</surname>
          </string-name>
          ,
          <article-title>A multi-step finite-state automaton for arbitrarily deterministic tsetlin machine learning</article-title>
          ,
          <source>Expert Systems - the Journal of Knowledge Engineering</source>
          <volume>40</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>F.</given-names>
            <surname>Manzella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Pagliarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Paparella</surname>
          </string-name>
          , G. Sciavicco,
          <string-name>
            <given-names>I. E.</given-names>
            <surname>Stan</surname>
          </string-name>
          , Sole.jl - Symbolic Learning in Julia, https://github.com/aclai-lab/Sole.jl,
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Della Monica</surname>
          </string-name>
          , G. Pagliarini, G. Sciavicco,
          <string-name>
            <given-names>I. E.</given-names>
            <surname>Stan</surname>
          </string-name>
          ,
          <article-title>Decision trees with a modal flavor</article-title>
          ,
          <source>in: Proc.</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>