<!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 />
    <article-meta>
      <title-group>
        <article-title>Answer set computation of negative two-literal programs based on graph neural networks: Preliminary results</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonio Ielo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Ricca</string-name>
          <email>ricca@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Calabria</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Graph neural networks architectures have been successfully applied to combinatorial optimization problems such as SAT and MAXCSP. In this work in progress we attempt to adapt similar techniques to Answer Set Programming, in particular to negative two-literal programs as they represent a class of programs of practical and theoretical interest whose answer sets have a full graph-theoretical characterization.</p>
      </abstract>
      <kwd-group>
        <kwd>Answer Set Programming</kwd>
        <kwd>Graph Neural Networks</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the recent years deep learning techniques have been successfully applied to the
combinatorial optimization domain [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This has been possible mainly thanks to
the graph neural network architectures [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], whose inductive biases (mainly
permutation invariance) are well suited to exploit the graph encodings of problem
instances that frequently and naturally occour in this eld. Graph neural
networks were recently applied to SAT [
        <xref ref-type="bibr" rid="ref13 ref14">14, 13</xref>
        ] and CSP [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] providing interesting
results to the approximate solution of these problems. As far as we know, such
approaches have not been attempted on Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
ASP is an established logic-based programming paradigm which has been
successfully applied for solving complex problems arising in Arti cial Intelligence.
      </p>
      <p>
        In this paper we approach the application of graph neural networks to ASP.
We focus on negative two-literal ASP programs [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], a relevant subclass of ASP
programs that is able to model all problems in NP. Negative two-literal programs
have a natural correspondence with graphs, and thus t well the graph neural
network architecture. In particular, we build on the approach of RUNCSP [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
and adapt the graph neural network architecture to handle ASP programs.
Preliminary experimental results show strength and weaknesses of the approach
which paves the way for future improvements and applications.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Message Passing Graph Neural Networks</title>
      <p>
        In the recent years there has been a surge of interest in machine learning
techniques able to process graph data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], hence an abundance of graph neural
network architectures and frameworks have been de ned.
      </p>
      <p>
        We brie y recall the message passing framework [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], as it is the most
relevant for our work. We refer the reader to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for an up-to-date reference on
graph neural network architectures and their applications.
      </p>
      <p>Let G be a directed graph. We denote the set of its vertices and the set of
its edges as V (G) and E(G) respectively. Let ffAgg denote the set of multisets
over the elements of a set A. Let N (v) V (G) denote the neighbourhood of the
node v 2 V (G), that is the set of nodes w 2 V (G) such that (v; w) 2 E(G). Let
M : Rk
U : Rk
C : ffRkgg 7 ! R
R : Rk 7 ! Rd</p>
      <p>
        Rk 7 ! Rk
Rk 7 ! Rk
k
be functions, and let hv 2 Rk be a real-valued vector associated to the vertex
v 2 V (G). A message passing round consists in the following computation:
hi+1 = U (hiv; C(ffM (hiv; hiv0 ) : v0 2 N (v)gg))
v
(1)
Here hiv represents a state associated to each node in the i-th iteration of
message passing. Neighbouring nodes exchange messages, generated by the message
function M . Each node aggregates incoming messages through the aggregating
function C and updates its own state through the update function U . Finally,
the readout function R can be used to project each node state from Rk to Rd and
represents the output of the neural network on a given node. This computation
is iterated up to T times. If the above mentioned functions are di erentiable
(as those implemented through feedforward neural networks or recurrent neural
networks) then the whole system - which we will refer to as message passing
neural network - can be trained through standard deep learning optimization
techniques such as backpropagation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Answer Set Programming</title>
      <sec id="sec-3-1">
        <title>We now recall some basic notions regarding ASP.</title>
        <p>Syntax. Let C be a set of constants, a predicate p is a subset of Ck and k is
known as the arity of P . A ground atom is an expression p(c1; :::; ck) where p is
a predicate of arity k and (c1; :::; ck) 2 p. If a is an atom, :a is its opposite atom
and we say :a is the negation of a.</p>
        <p>A rule r is an expression:
a0
a1; :::; ak; :ak+1; :::; :an
(2)
where ai are ground atoms. a0 is the head of the rule and we denote it by H(r),
while a1; :::; ap; :ap+1; :::; :an is the body of the rule which we denote by B(r). We
can partition B(r) into two sets B+(r) = fa1; :::; akg and B (r) = fak+1; :::; ang,
respectively the set of positive atoms and negative atoms in the rule's body.</p>
        <p>A rule is positive if B r is empty, and negative if B+r is empty.</p>
        <p>A (normal) logic program program is a set of rules. A program is positive
(negative) if all its rules are positive (negative).</p>
        <p>Semantics. Let X A be a set of atoms. We say X satis es a rule r if
B+(r) X, B (r) \ X is empty implies that H(r) 2 X. If X satis es all the
rules of a program P then X is a model for P . A model is said to be minimal
if there does not exist a model X0 such that X0 X. Positive logic programs
admit a unique minimal model.</p>
        <p>Let X A. The reduct of a program P with respect to X is a program P X
that contains a rule H(r) B+(r) whenever B (r) \ X is empty. An answer
set is a set X of atoms such that X is a minimal model of P X . A program is
consistent if it admits at least one answer set, incoherent otherwise.
Supportedness. Let P be a logic program over a set of atoms A. Given an
answer set S of P we say that an atom a 2 S is supported in S if there exists a
rule r in P such that H(r) = a. It is in the folklore that all atoms in an answers
set are supported.</p>
        <p>
          It is known that negative two-literal programs [
          <xref ref-type="bibr" rid="ref11 ref16">11, 16</xref>
          ] are expressive enough
to encode combinatorial problems over graphs of practical interest [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Indeed,
deciding whether a negative two-literal is consistent is known to be a NP-complete
problem [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Moreover, as it will be clearer in the following answer sets of
negative two literal programs have a natural counterpart correspondence with graphs.
For this reason we concentrate our attention on this sub-class of ASP programs.
Negative two-literal programs. [
          <xref ref-type="bibr" rid="ref11 ref16">11, 16</xref>
          ] A negative two-literal program (N2LP)
is a negative logic program whose rules are all of the form a :b.
Properties of N2LP. We now recall some relevant properties of N2LP. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
Proposition 1. Each normal logic program is equivalent to a negative
twoliteral program under answer set semantics.
        </p>
        <p>Proposition 2. Let P be a negative two-literal program on (a set of atoms) A.
Then S is an answer set of P if and only if the two conditions are satis ed:
{ If b1; b2 2 A n S then b1 :b2 is not a rule in P .
{ If a 2 S there exists b 2 A n S such that a :b is a rule of P .</p>
        <p>Let P be a negative two-literal program. We can associate to each negative
two-literal program a graph G(P ), where nodes are the atoms of P and there
exists an edge ( ; ) whenever P contains a rule of the form : .</p>
        <p>Recall that W V (G) is an independent set of a directed graph G if E(G)
does not contain an edge (w1; w2) with w1; w2 2 W . If W is an independent set of
G and W [fvg for all v 2 V (G)nW is not an independent set of G then we say W
is a maximal independent set. If for all edges (a; b) 2 E(G) we have that a 2 W
or b 2 W we say that W dominates G. A kernel is a maximal independent set
of G that dominates G. Thus, one can restate the latter proposition as follows:
Proposition 3. Let P be a negative two-literal program, G(P ) its associated
graph. Then S is an answer set of P if and only if V (G(P )) n S is a kernel of
G(P ).</p>
        <p>Thus, one can tackle the computation of answer sets of N2LP by devising
an approach able to compute kernels of a graph. This is the key observation
underlying our approach in which we extend a graph neural network solving the
independent set to identify kernels.</p>
        <p>Since the answer sets of negative two-literal programs can be characterized
in a graph-theoretical way, they represent a natural starting point in exploring
feasibility of graph neural networks based techniques. Indeed, no encoding or
feature extraction are necessary: directed graphs are negative two-literal
programs, and we will talk about graphs/programs and nodes/atoms as it is more
convenient, with no ambiguity.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>A Graph Neural Network for N2LP</title>
      <p>
        The architecture of the network extends RUNCSP [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. RUNCSP is a message
passing neural network architecture that unsupervisedly nds approximate
solutions to MAX-CSP problems, by attempting to minimize a loss function that
penalizes solutions which violate constraints. In the simpli ed context of our
problem we need to describe the functions M; U; C; R (see Section 2).
      </p>
      <p>
        The message function (M ) is a linear function of the nodes' hidden states.
The aggregating function (C) is the average function. The update function (U )
is a LSTM cell [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The readout function (R) is a linear function followed by a
sigmoid activation function to obtain outputs in [0; 1] for node classi cation. An
output close to 1 for a node v means that the corresponding atom is part of the
candidate answer set. The loss function can be de ned as:
      </p>
      <p>L(P; t) =
1</p>
      <p>
        X
jRj (a;b)2R
log(1 (1
t(a)) (1
t(b))
(3)
Where R is the set of rules b :a of a logic program P and t represents the
neural network's readout function on the t message passing round. The readout
function output on an atom embedding is interpreted as the probability that
the atom belongs to the candidate answer set of P . In the original architecture,
the loss ("constraint loss", as referred to in the original article [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) of all the T
message passing iterations is combined with a discount factor in the following
way:
      </p>
      <p>T
Ltot(P ) = X
t</p>
      <p>T tL(P; t)
(4)</p>
      <p>Intuitively, this penalizes the network for violating constraints in the later
message passing rounds, while being less relevant in the earlier rounds. The term
(1 (a)) (1 (b)) amounts to the probability that the rule b :a is violated
in the candidate answer set.</p>
      <p>
        The main di erence between RUNCSP and our neural network lies in the
loss function: we are not looking for an independent set, as in the RUNCSP
Maximal Independent Set experiment [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], but for a kernel of the graph. What
we are missing is enforcing supportedness of atoms (in place of the "size" of
the candidate answer, like in the original approach). In some preliminary
experiments we observed that adding extra terms to the loss function makes the
results of training unstable, hence we proceed as follows. Let (P ) 2 [0; 1]n be
the output of our neural networks on a logic program P , it represents the
probability that the i-th atom belongs to the candidate answer set. We denote such
probability pi. Thus, we are interested in computing a real vector S 2 [0; 1]n
where si represents the probability that the i-th atom is supported by an atom
outside the answer set.
      </p>
      <p>We can express such computation as a message passing operation:
si = 1</p>
      <p>Y
k2N(vi)
pk
(5)</p>
      <p>The product term expresses the probability that all the neighbours of vi
are inside the answer set - that is, unable to support vi. Hence its complement
represents the probability that at least one of its neighbours is outside the answer
set.</p>
      <p>Such computation is based solely on (P ) and does not have any learning
involved. si pi represents the probability that vi belongs to the answer set
and at least one of its neighbours does not belong to the answer set - that is,
it is supported. We train unsupervisedly on constraint loss, while we enforce
supportedness by modulating (P ) via S, using their coordinate-wise product
for our predicitons. Intuitively, we bias probability of choosing atoms by the
likelihood of them being supported.</p>
      <p>In practice the notion of atom supportedness in an answer set does not take
in account by \how many" rules an atom is supported, hence the above
computation is biased towards atoms with an high number of neighbours. For
example, suppose v is an atom with 3 neighbours, and each one of them has a
probability p = 0:5 to be outside the answer set. Then by the above equation,
S(v) = 1:0 0:53 = 0:875. In order to solve this issue, we compute S as follows:</p>
      <p>That is, we compute the likelihood of vi being supported as the maximum
probability of one of its neighbours being ouside of the answer set. In the above
numerical example, the probability of v being supported would be only of 0:5
rather than 0:875.
5
5.1</p>
    </sec>
    <sec id="sec-5">
      <title>Experiment</title>
      <sec id="sec-5-1">
        <title>Hyperparameters and training</title>
        <p>
          The network is trained on a random stream of Erd}os-Renyi [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] graphs with 20 to
50 nodes and average degree between 2.0 and 5.0. Number of nodes and average
degree are independently, uniformly sampled for each graph required during the
network's training.
        </p>
        <p>
          All the neural network's hyperparameters (batch size, inference message
passing rounds, loss discount factor and training message passing rounds) have been
kept the same as described in the original RUNCSP article's reproducibility
section [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], with the exception of the learning rate and node embedding size which
have been set respectively to 2 10 5 and 256.
        </p>
        <p>The neural network is trained with stochastic weight averaging and an early
stop policy based on the loss on a validation set composed of Erd}os-Renyi graphs
of 150 nodes with average degree that spans from 2.0 to 12.0. The reported
experiments' results were performed with the model that best performed on the
xed validation set among all the epochs.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Evaluation</title>
        <p>Our neural network is a binary node classi er that given a negative two-literal
logic program P maps its atoms to their probability of being contained in a
candidate answer set S0. We can obtain S0 by choosing nodes above a treshold t,
that we x to 0:5 in our experiments. If P is a consistent program we can compare
S0 to its answer set S and compute binary classi cation metrics such as accuracy
and F1 score in order to evaluate "how far", in terms of misclassi ed atoms, our
candidate answer set S0 is from the real answer set S. P might have multiple
answer sets, and we compare our solution with the closest answer set (w.r.t.
the minimal cardinality of the symmetric set di erence) we obtained running
the ASP system clingo. Hence, to evaluate our neural network on a consistent
program P :</p>
        <sec id="sec-5-2-1">
          <title>1. Build the graph G(P ). 2. Evaluate the neural network on G(P ) to obtain S0 3. Compute closest answer set S to S0 4. Compute accuracy and F1 score for predictions S0 with respect to S</title>
          <p>
            We evaluate our network on random graphs of 150 nodes and average degree
spanning from 2.0 to 9.0. Note that in this interval one should expect to nd
hard N2LP programs [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. Each measure in Table 1 is obtained by averaging
binary classi cation metrics on a sample of 1000 random programs of the given
degree by performing the steps previously described. We report our results in
terms of F1 score and accuracy.
          </p>
          <p>The Neural columns report the results of the experiment using our neural
network, while the Random column reports the results of the experiment
inserting each atom in the answer set with a 0:5 probability.</p>
          <p>Our approach outperforms balanced random choices and is very accurate on
low-density graphs, however the performance degrades as the underlying graphs
get more dense, that is when the logic programs have more rules.
6</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>
        In this paper we proposed the rst graph neural network approach for ASP
programs. The approach builds on the ideas underlying RUNCSP architecture and
demonstrates a promising behaviour on random programs. Indeed, it is basically
very accurate on low-density graphs, and thus might already be considered an
useful tool in this setting. However, the network needs improvements to be used
in more general setting. In the future we plan to investigate ways for improving
the performance of the network in \dense" graphs and we will study how to
apply it for improving ASP solvers performance (e.g., using our approach as an
heuristics).
Acknowledgments. We'd like to thank the PyTorch Geometric Tutorial
community [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] - all of this would have been less, less pleasant than it was. A special
thank to prof. Davide Bacciu for the discussions on RUNCSP and for the hints
in devising graph neural networks.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bacciu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Errica</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Micheli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Podda</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A gentle introduction to deep learning for graphs</article-title>
          .
          <source>Neural Networks</source>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brewka</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truszczynski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Answer set programming at a glance</article-title>
          .
          <source>Commun. ACM</source>
          <volume>54</volume>
          (
          <issue>12</issue>
          ),
          <volume>92</volume>
          {
          <fpage>103</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cappart</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chetelat</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khalil</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lodi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morris</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Velickovic</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Combinatorial optimization and reasoning with graph neural networks</article-title>
          .
          <source>arXiv preprint arXiv:2102.09544</source>
          (
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chami</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abu-El-Haija</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perozzi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Re</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murphy</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Machine learning on graphs: A model and comprehensive taxonomy</article-title>
          . arXiv preprint arXiv:
          <year>2005</year>
          .
          <volume>03675</volume>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Erdos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Renyi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <article-title>On the evolution of random graphs</article-title>
          .
          <source>Publ. Math. Inst. Hung. Acad. Sci</source>
          <volume>5</volume>
          (
          <issue>1</issue>
          ),
          <volume>17</volume>
          {
          <fpage>60</fpage>
          (
          <year>1960</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gilmer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schoenholz</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Riley</surname>
            ,
            <given-names>P.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vinyals</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dahl</surname>
            ,
            <given-names>G.E.</given-names>
          </string-name>
          :
          <article-title>Neural message passing for quantum chemistry</article-title>
          .
          <source>In: International conference on machine learning</source>
          . pp.
          <volume>1263</volume>
          {
          <fpage>1272</fpage>
          .
          <string-name>
            <surname>PMLR</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hamilton</surname>
            ,
            <given-names>W.L.</given-names>
          </string-name>
          :
          <article-title>Graph representation learning</article-title>
          .
          <source>Synthesis Lectures on Arti cal Intelligence and Machine Learning</source>
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <volume>1</volume>
          {
          <fpage>159</fpage>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>G.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liau</surname>
            ,
            <given-names>C.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>You</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          :
          <article-title>Two-literal logic programs and satis ability representation of stable models: A comparison</article-title>
          .
          <source>In: Conference of the Canadian Society for Computational Studies of Intelligence</source>
          . pp.
          <volume>119</volume>
          {
          <fpage>131</fpage>
          . Springer (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Longa</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santin</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pellegrini</surname>
          </string-name>
          , G.:
          <article-title>Pytorch geometric tutorial (</article-title>
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Marek</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truszczynski</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Autoepistemic logic</article-title>
          .
          <source>Journal of the ACM (JACM) 38(3)</source>
          ,
          <volume>587</volume>
          {
          <fpage>618</fpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Namasivayam</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truszczynski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Simple random logic programs</article-title>
          .
          <source>In: International Conference on Logic Programming and Nonmonotonic Reasoning</source>
          . pp.
          <volume>223</volume>
          {
          <fpage>235</fpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Scarselli</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gori</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsoi</surname>
            ,
            <given-names>A.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hagenbuchner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monfardini</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>The graph neural network model</article-title>
          .
          <source>IEEE Trans. Neural Networks</source>
          <volume>20</volume>
          (
          <issue>1</issue>
          ),
          <volume>61</volume>
          {
          <fpage>80</fpage>
          (
          <year>2009</year>
          ). https://doi.org/10.1109/TNN.
          <year>2008</year>
          .
          <volume>2005605</volume>
          , https://doi.org/10.1109/TNN.
          <year>2008</year>
          .2005605
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Selsam</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Bj rner, N.:
          <article-title>Neurocore: Guiding high-performance sat solvers with unsat-core predictions (</article-title>
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Selsam</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lamm</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Bunz,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Liang</surname>
          </string-name>
          , P.,
          <string-name>
            <surname>de Moura</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dill</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          :
          <article-title>Learning a SAT solver from single-bit supervision</article-title>
          .
          <source>In: 7th International Conference on Learning Representations, ICLR</source>
          <year>2019</year>
          ,
          <article-title>New Orleans</article-title>
          , LA, USA, May 6-
          <issue>9</issue>
          ,
          <year>2019</year>
          . OpenReview.net (
          <year>2019</year>
          ), https://openreview.net/forum?id=HJMC iA5tm
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Toensho</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ritzert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grohe</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Run-csp: unsupervised learning of message passing networks for binary constraint satisfaction problems (</article-title>
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mu</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Random logic programs: linear model</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>15</volume>
          (
          <issue>6</issue>
          ),
          <volume>818</volume>
          {
          <fpage>853</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Si</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , J.:
          <article-title>A Review of Recurrent Neural Networks: LSTM Cells and Network Architectures</article-title>
          .
          <source>Neural Computation</source>
          <volume>31</volume>
          (
          <issue>7</issue>
          ),
          <volume>1235</volume>
          {
          <volume>1270</volume>
          (07
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>