Abstract
Learning from interpretation transition (LFIT) automatically constructs a model of the dynamics of a system from the observation of its state transitions. So far, the systems that LFIT handles are restricted to synchronous deterministic dynamics, i.e., all variables update their values at the same time and, for each state of the system, there is only one possible next state. However, other dynamics exist in the field of logical modeling, in particular the asynchronous semantics which is widely used to model biological systems. In this paper, we focus on a method that learns the dynamics of the system independently of its semantics. For this purpose, we propose a modeling of multi-valued systems as logic programs in which a rule represents what can occur rather than what will occur. This modeling allows us to represent non-determinism and to propose an extension of LFIT in the form of a semantics free algorithm to learn from discrete multi-valued transitions, regardless of their update schemes. We show through theoretical results that synchronous, asynchronous and general semantics are all captured by this method. Practical evaluation is performed on randomly generated systems and benchmarks from biological literature to study the scalability of this new algorithm regarding the three aforementioned semantics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Available at: http://tonyribeiro.fr/data/experiments/ILP_2018.zip.
References
Blair, H.A., Subrahmanian, V.: Paraconsistent foundations for logic programming. J. Non-classical Logic 5(2), 45–73 (1988)
Blair, H.A., Subrahmanian, V.: Paraconsistent logic programming. Theor. Comput. Sci. 68(2), 135–154 (1989)
Chatain, T., Haar, S., Paulevé, L.: Boolean networks: beyond generalized asynchronicity. In: Baetens, J.M., Kutrib, M. (eds.) AUTOMATA 2018. LNCS, vol. 10875, pp. 29–42. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92675-9_3
Dubrova, E., Teslenko, M.: A SAT-based algorithm for finding attractors in synchronous boolean networks. IEEE/ACM Trans. Comput. Biol. Bioinform. (TCBB) 8(5), 1393–1399 (2011)
Fitting, M.: Bilattices and the semantics of logic programming. J. Logic Program. 11(2), 91–116 (1991)
Garg, A., Di Cara, A., Xenarios, I., Mendoza, L., De Micheli, G.: Synchronous versus asynchronous modeling of gene regulatory networks. Bioinformatics 24(17), 1917–1925 (2008)
Ginsberg, M.L.: Multivalued logics: a uniform approach to reasoning in artificial intelligence. Comput. Intell. 4(3), 265–316 (1988)
Inoue, K.: Logic programming for Boolean networks. In: IJCAI Proceedings-International Joint Conference on Artificial Intelligence, vol. 22, p. 924 (2011)
Inoue, K., Ribeiro, T., Sakama, C.: Learning from interpretation transition. Mach. Learn. 94(1), 51–79 (2014)
Kifer, M., Subrahmanian, V.: Theory of generalized annotated logic programming and its applications. J. Logic Programm. 12(4), 335–367 (1992)
Martınez, D., Alenya, G., Torras, C., Ribeiro, T., Inoue, K.: Learning relational dynamics of stochastic domains for planning. In: Proceedings of the 26th International Conference on Automated Planning and Scheduling (2016)
Martínez, D.M., Ribeiro, T., Inoue, K., Ribas, G.A., Torras, C.: Learning probabilistic action models from interpretation transitions. In: Proceedings of the Technical Communications of the 31st International Conference on Logic Programming (ICLP 2015), pp. 1–14 (2015)
Ribeiro, T., Inoue, K.: Learning prime implicant conditions from interpretation transition. In: Davis, J., Ramon, J. (eds.) ILP 2014. LNCS (LNAI), vol. 9046, pp. 108–125. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23708-4_8
Ribeiro, T., Magnin, M., Inoue, K., Sakama, C.: Learning delayed influences of biological systems. Front. Bioeng. Biotechnol. 2, 81 (2015)
Ribeiro, T., Magnin, M., Inoue, K., Sakama, C.: Learning multi-valued biological models with delayed influence from time-series observations. In: 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA), pp. 25–31, December 2015
Ribeiro, T., et al.: Inductive learning from state transitions over continuous domains. In: Lachiche, N., Vrain, C. (eds.) ILP 2017. LNCS (LNAI), vol. 10759, pp. 124–139. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78090-0_9
Van Emden, M.H.: Quantitative deduction and its fixpoint theory. J. Logic Program. 3(1), 37–53 (1986)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix: Proofs of Sect. 2.1
Proof 1
(Proposition 1). Let \(R_1, R_2\) be two \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules. If \(R_1\le R_2\) and \(R_2\le R_1\) then \(R_1=R_2\).
Proof
Let \(R_1, R_2\) be two \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules such that \(R_1\le R_2\) and \(R_2\le R_1\). Then \(h(R_1) = h(R_2)\) and \(b(R_1) \subseteq b(R_2)\) and \(b(R_2) \subseteq b(R_1)\), hence \(b(R_1) \subseteq b(R_2) \subseteq b(R_1)\) thus \(b(R_1)=b(R_2)\) and \(R_1=R_2\). \(\square \)
Proof 2
(Proposition 2). Let R and \(R'\) be two \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules.
Proof
For the direct implication, assume given two \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules R and \(R'\) such that \(R \sqcap R'\). By definition, there exists \(s \in \mathcal {S}\) such that \(R \sqcap s\) and \(R' \sqcap s\). Also by definition, for all \((\mathrm {v}^{{val}},\mathrm {v}^{{val}'})\in b(R) \times b(R')\), there exists \(\mathrm {v}^{{val}},\mathrm {v}^{{val}'}\in s\). Moreover, by the definition of a state, \(\mathrm {v}^{{val}}=\mathrm {v}^{{val}'}\), thus \({val}= {val}'\).
For the reverse implication, consider a state s so that \(b(R) \cup b(R') \subseteq s\). This is compatible with the definition of a state because if a variable \(\mathrm {v}\in \mathcal {V}\) is featured in both b(R) and \(b(R')\), that is, if there exists \(val, val' \in \mathbb {N}\) so that \((\mathrm {v}^{{val}}, \mathrm {v}^{{val}'}) \in b(R) \times b(R')\), then \(val = val'\) and \(\mathrm {v}^{{val}}= \mathrm {v}^{{val}'}\). For variables not featured in both b(R) and \(b(R')\), we can chose any value in the domain of the variable. As a consequence, we have: \(b(R) \subseteq s\) and \(b(R') \subseteq s\), which gives: \(R \sqcap s\) and \(R' \sqcap s\), meaning: \(R \sqcap R'\). \(\square \)
Appendix: Proofs of Sect. 2.2
Proof 3
(Theorem 1). Let R be a \(\mathcal {M}\mathrm {V}\mathrm {L}\) rule and \(s \in \mathcal {S}\) such that \(R \sqcap s\). Let \(S_R:=\{s' \in \mathcal {S}\mid R \sqcap s'\}\) and \(S_{\mathrm {spe}}:=\{s' \in \mathcal {S}\mid \exists R' \in L_{\mathrm {spe}}(R,s), R' \sqcap s'\}\).
Let P be a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) and \(T, T'\subseteq \mathcal {S}^2\) such that \(|\mathrm {fst}(T)| = 1 \wedge \mathrm {fst}(T) \cap \mathrm {fst}(T') = \emptyset \). The following results hold:
-
1.
\(S_{\mathrm {spe}}=S_R \setminus \{s\}\),
-
2.
\(L_{\mathrm {rev}}(P,T)\) is consistent with T,
-
3.
,
-
4.
,
-
5.
P is complete \(\implies L_{\mathrm {rev}}(P,T)\) is complete.
Proof
-
1.
First, let us suppose that \(\exists s'' \not \in S_R \setminus \{s\}\) such that \(\exists R' \in L_{\mathrm {spe}}(R,s), R' \sqcap s''\). By definition of matching \(R' \sqcap s'' \implies b(R') \subseteq s''\). By definition of least specialization, \(b(R') = b(R) \cup \{\mathrm {v}^{{val}}\}, \mathrm {v}^{{val}'}\in s, \mathrm {v}^{{val}''} \not \in b(R), {val}\ne {val}'\). Let us suppose that \(s'' = s\), then \(b(R') \not \subseteq s''\) since \(\mathrm {v}^{{val}}\in b(R')\) and \(\mathrm {v}^{{val}}\not \in s\), this is a contradiction. Let us suppose that \(s'' \ne s\) then \(\lnot (R \sqcap s'')\), thus \(b(R) \not \subseteq s''\) and \(b(R') \not \subseteq s''\), this is a contradiction.
Second, let us assume that \(\exists s''\in S_R\setminus \{s\}\) such that \(\forall R' \in L_{\mathrm {spe}}(R,s), \lnot (R' \sqcap s'')\). By definition of \(S_R\), \(R \sqcap s''\). By definition of matching \(\lnot (R' \sqcap s'') \implies b(R') \not \subseteq s''\). By definition of least specialization, \(b(R') = b(R) \cup \{\mathrm {v}^{{val}}\}, \mathrm {v}^{{val}'}\in s, {val}\ne {val}'\). By definition of matching \(R \sqcap s'' \implies b(R) \subseteq s'' \implies s'' = b(R) \cup I, b(R) \cap I = \emptyset \) and thus \(b(R') \not \subseteq s'' \implies \mathrm {v}^{{val}}\not \in I\). The assumption implies that \(\forall \mathrm {v}^{{val}'}\in I, \forall R' \in L_{\mathrm {spe}}(R,s), \mathrm {v}^{{val}}\in b(R'), {val}\ne {val}'\). By definition of least specialization, it implies that \(\mathrm {v}^{{val}'}\in s\) and thus \(I = s \setminus b(R)\) making \(s'' = s\), which is a contradiction.
Conclusion: \(S_{\mathrm {spe}}=S_R \setminus \{s\}\)
-
2.
By definition of a consistent program, if two sets of \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules \(SR_1, SR_2\) are consistent with T then \(SR_1 \cup SR_2\) is consistent with T. Let \(R_P=\{R\in P \mid R \sqcap s, \forall (s,s') \in T, h(R) \not \in s'\}\) be the set of rules of P that conflict with T. By definition of least revision
. The first part of the expression \(P \setminus R_P\) is consistent with T since \(\not \exists R' \in P \setminus R_P\) such that \(R'\) conflicts with T. The second part of the expression
is also consistent with T: \(\not \exists R' \in L_{\mathrm {spe}}(R,s), R' \sqcap s\) thus \(\not \exists R' \in L_{\mathrm {spe}}(R,s)\) that conflict with T and
is consistent with T. Conclusion: \(L_{\mathrm {rev}}(P,T)\) is consistent with T.
-
3.
Let \((s_1,s_2) \in T'\) thus \(s_1 \ne s\). From definition of realization, \(\mathrm {v}^{{val}}\in s_2 \implies \exists R \in P, h(R) = \mathrm {v}^{{val}}, R \sqcap s_1\). If \(\lnot R \sqcap s\) then \(R \in L_{\mathrm {rev}}(P,T)\) and
. If \(R \sqcap s\), from the first point \(\exists R' \in L_{\mathrm {spe}}(R,s), R' \sqcap s_1\) and since
. Applying this reasoning on all elements of \(T'\) implies that
.
-
4.
Let \((s_1,s_2) \in T\), since
by definition of realization \(\forall \mathrm {v}^{{val}}\in s_2, \exists R \in P, R \sqcap s_1, h(R) = \mathrm {v}^{{val}}\). By definition of conflict, R is not in conflict with T thus \(R \in L_{\mathrm {rev}}(P,T)\) and
.
-
5.
Let \((s_1,s_2) \in \mathcal {S}^2\), if P is complete, then by definition of a complete program \(\forall \mathrm {v}\in \mathcal {V}, \exists R \in P, R \sqcap s_1, \mathrm {var}({h({R})}) = v\). If \(\lnot (R \sqcap s)\) then \(R \in L_{\mathrm {rev}}(P,T)\). If \(R \sqcap s\), from the first point \(\exists R' \in L_{\mathrm {spe}}(R,s), R' \sqcap s_1\) and thus \(R' \in L_{\mathrm {rev}}(P,T)\) and since \(\mathrm {var}({h({R'})}) = \mathrm {var}({h({R})}) = \mathrm {v}\), \(L_{\mathrm {rev}}(P,T)\) is complete. \(\square \)
Proof 4
(Proposition 3). Let \(T\subseteq \mathcal {S}^2\). The \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) optimal for T is unique and denoted \(P_{\mathcal {O}}({T})\).
Proof
Let \(T\subseteq \mathcal {S}^2\). Assume the existence of two distinct \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\)s optimal for T, denoted by \(P_{\mathcal {O}_1}(T)\) and \(P_{\mathcal {O}_2}(T)\) respectively. Then w.l.o.g. we consider that there exists a \(\mathcal {M}\mathrm {V}\mathrm {L}\) rule R such that \(R\in P_{\mathcal {O}_1}(T)\) and \(R\not \in P_{\mathcal {O}_2}(T)\). By the definition of a suitable program, R is not conflicting with T and there exists a \(\mathcal {M}\mathrm {V}\mathrm {L}\) rule \(R_2\in P_{\mathcal {O}_2}(T)\), such that \(R\le R_2\). Using the same definition, there exists \(R_1\in P_{\mathcal {O}_1}(T)\) such that \(R_2\le R_1\) since \(R_2\) is not conflicting with T. Thus \(R\le R_1\) and by the definition of an optimal program \(R_1\le R\). By Proposition 1, \(R_1=R\) and thus \(R\le R_2\le R\) hence \(R_2=R\), a contradiction. \(\square \)
Proof 5
(Proposition 4). \(P_{\mathcal {O}}({\emptyset })=\{\mathrm {v}^{{val}}\leftarrow \emptyset \mid \mathrm {v}^{{val}}\in \mathcal {A}\}\).
Proof
Let \(P=\{\mathrm {v}^{{val}}\leftarrow \emptyset \mid \mathrm {v}^{{val}}\in \mathcal {A}\}\). The \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) P is consistent and complete by construction. Like all \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\)s, and there is no transition in \(\emptyset \) to match with the rules in P. In addition, by construction, the rules of P dominate all \(\mathcal {M}\mathrm {V}\mathrm {L}\) rules. \(\square \)
Proof 6
(Theorem 2). Let \(s \in \mathcal {S}\) and \(T, T'\subseteq \mathcal {S}^2\) such that \(|\mathrm {fst}(T')| = 1 \wedge \mathrm {fst}(T) \cap \mathrm {fst}(T') = \emptyset \). \(L_{\mathrm {rev}}(P_{\mathcal {O}}({T}),T')\) is a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) suitable for \(T \cup T'\).
Proof
Let \(P=L_{\mathrm {rev}}(P_{\mathcal {O}}({T}),T')\). Since \(P_{\mathcal {O}}({T})\) is consistent with T, by Theorem 1, P is also consistent with T and thus consistent with \(T' \cup T\). Since \(P_{\mathcal {O}}({T})\) realize T by Theorem 1, . Since \(s \not \in \mathrm {fst}(T)\), a \(\mathcal {M}\mathrm {V}\mathrm {L}\) rule R such that \(b(R) = s\) does not conflict with T. By definition of suitable program \(\exists R' \in P_{\mathcal {O}}({T}), R \le R'\), thus
. Since
by Theorem 1
and thus
. Since \(P_{\mathcal {O}}({T})\) is complete, by Theorem 1, P is also complete. To prove that P verifies the last point of the definition of a suitable \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\), let R be a \(\mathcal {M}\mathrm {V}\mathrm {L}\) rule not conflicting with \(T \cup T'\). Since R is also not conflicting with T, there exists \(R'\in P_{\mathcal {O}}({T})\) such that \(R\le R'\). If \(R'\) is not conflicting with \(T'\), then \(R'\) will not be revised and \(R'\in P\), thus R is dominated by a rule of P. Otherwise, \(R'\) is in conflict with \(T'\), thus \(R' \sqcap s\) and \(\forall (s,s') \in T', h(R') \not \in s'\). Since R is not in conflict with \(T'\) and \(h(R) = h(R')\), since \(R \le R'\) then \(b(R) = b(R') \cup I, \exists \mathrm {v}^{{val}}\in I, \mathrm {v}^{{val}}\not \in s\). By definition of least revision and least specialization, there is a rule \(R''\in L_{\mathrm {spe}}(R',s)\) such that \(\mathrm {v}^{{val}}\in b(R'')\) and since \(R'' = h(R') \leftarrow b(R') \cup \mathrm {v}^{{val}}\) thus \(R\le R''\). Thus R is dominated by a rule of P. \(\square \)
Appendix: Proofs of Sect. 2.3
Proof 7
(Proposition 6: Synchronous transitions). Let \(T \subseteq \mathcal {S}^2\) so that \(\mathrm {fst}(T) = \mathcal {S}\). The transitions of T are synchronous, i.e., \(\exists P\) a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) such that \(\mathcal {T}_{syn}(P) = T\), if and only if \(\forall (s, s_1), (s, s_2) \in T, \forall s_3 \in \mathcal {S}, s_3 \subseteq s_1 \cup s_2 \implies (s, s_3) \in T\).
Proof
(\(\Rightarrow \)) Let \((s, s_1)\) and \((s, s_2)\) in T and \(s_3 \in \mathcal {S}\) so that \(s_3 \subseteq s_1 \cup s_2\). Let \(A := \{ h(R) \mid R \in P, R \sqcap s_{\alpha } \}\). Then it comes: \(s_1, s_2 \subseteq A\), thus: \(s_3 \subseteq (s_1 \cup s_2) \subseteq A\). By construction of \(\mathcal {T}_{syn}\), it comes: \((s, s_3) \in T\).
(\(\Leftarrow \)) Consider \(P := \{ \mathrm {v}^{{val}}\leftarrow s \mid (s, s') \in T \wedge \mathrm {v}^{{val}}\in s' \}\) the program made of the most specific rules that realize T.
(\(\subseteq \)) Let \((s, s') \in \mathcal {T}_{syn}(P)\) and let \(x \in s'\). By construction of P, there is a rule R such that \(h(R) = x\). Therefore, there exists a state \(s^x \in \mathcal {S}\) such that \(x \in s^x\) and \((s, s^x) \in T\). This reasoning can be carried for all atoms x in \(s'\), and in the end: \(s' \subseteq \bigcup _{x \in s'} s^x\). By applying the proposition for each x, it comes: \((s, s') \in T\).
(\(\supseteq \)) Let \((s, s') \in T\). By construction of P, we have \(s' \subseteq \{ h(R) \mid R \in P, R \sqcap s \}\). Thus, \((s, s') \in \mathcal {T}_{syn}(P)\). \(\square \)
Proof 8
(Proposition 7: Asynchronous transitions). Let \(T \subseteq \mathcal {S}^2\) so that \(\mathrm {fst}(T) = \mathcal {S}\). The transitions of T are asynchronous, i.e., \(\exists P\) a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) such that \(\mathcal {T}_{asyn}(P) = T\), if and only if \(\forall s, s' \in \mathcal {S}, s \ne s', \big ( (s, s) \in T \implies (s, s') \notin T \big ) \wedge \big ( (s, s') \in T \implies |s \setminus s'| = 1 \big )\).
Proof
(\(\Rightarrow \)) Let \(s, s' \in \mathcal {S}\) so that \(s \ne s'\). \(\bullet \) First suppose that \((s, s) \in T\). Then, by construction of \(\mathcal {T}_{asyn}(P)\), \(\forall R \in P, R \sqcap s \implies h(R) \in s\). If \((s, s') \in T\), then \(\exists R \in P, R \sqcap s \wedge h(R) \notin s\), which is a contradiction. \(\bullet \) Now suppose that \((s, s') \in T\). Then, still by construction of \(\mathcal {T}_{asyn}(P)\), there exists \(R \in P\) so that \(s' = s \backslash \!\!\backslash \{h(R)\}\) and \(h(R) \notin s\). Thus, \(|s \setminus s'| = 1\).
(\(\Leftarrow \)) Consider \(P := \{ \mathrm {v}^{{val}}\leftarrow s \mid (s, s') \in T \wedge \mathrm {v}^{{val}}\in s' \}\) the program made of the most specific rules that realize T.
(\(\subseteq \)) Let \((s, s') \in \mathcal {T}_{asyn}(P)\). \(\bullet \) First suppose that \(s = s'\). By construction of \(\mathcal {T}_{asyn}\), it means that \(\forall R \in P, R \sqcap s \implies h(R) \in s\) which, by construction of P, means that \((s, s) \in T\). \(\bullet \) Now suppose that \(s \ne s'\). By construction of \(\mathcal {T}_{asyn}\), it means that there exists \(R \in P\) so that \(h(R) \notin s\) and \(s' = s \backslash \!\!\backslash \{h(R)\}\). By construction of P, this means that there exists \((s, s'') \in T\) so that \(h(R) \in s''\) (and thus \(s'' \ne s\)). Moreover, from the right-hand part of the property, it comes that \(|s \setminus s''| = 1\), that is, there exists a unique \(x \in \mathcal {A}\) such that \(x \notin s\) and \(s'' = s \backslash \!\!\backslash \{x\}\). Necessarily, \(x = h(R)\), thus \(s'' = s'\) and \((s, s') \in T\).
(\(\supseteq \)) Let \((s, s') \in T\). \(\bullet \) First suppose that \(s = s'\). From the left-hand side of the property, there exists no transition \((s, s'') \in T\) such that \(s'' \ne s\). By construction, it comes: \((s, s) \in \mathcal {T}_{asyn}(P)\). \(\bullet \) Now suppose that \(s \ne s'\). From the right-hand side of the property, \(|s \setminus s''| = 1\), meaning that there exists \(x \in \mathcal {A}\) such that \(s' = s \backslash \!\!\backslash x\) and \(x \notin s\). Thus there exists a rule \(R \in P\) such that \(b(R) = s\) and \(h(R) \in (s' \setminus s)\). As \((s' \setminus s) = \{ x \}\), and by construction, we have: \((s, s') \in \mathcal {T}_{asyn}(P)\). \(\square \)
Proof 9
(Proposition 8: General transitions). Let \(T \subseteq \mathcal {S}^2\) so that \(\mathrm {fst}(T) = \mathcal {S}\). The transitions of T are general, i.e., \(\exists P\) a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) such that \(\mathcal {T}_{gen}(P) = T\), if and only if: \(\forall (s, s_1), (s, s_2) \in T, \forall s_3 \in \mathcal {S}, s_3 \subseteq s \cup s_1 \cup s_2 \implies (s, s_3) \in T\).
Proof
(\(\Rightarrow \)) Let \((s, s_1)\) and \((s, s_2)\) in T and \(s_3 \in \mathcal {S}\) so that \(s_3 \subseteq s \cup s_1 \cup s_2\). Let \(A := \{ h(R) \mid R \in P, R \sqcap s_{\alpha } \}\). Then it comes: \(s_1, s_2 \subseteq A\), thus: \((s_3 \setminus s) \subseteq (s_1 \cup s_2) \subseteq A\). By construction of \(\mathcal {T}_{gen}\), it comes: \((s, s \backslash \!\!\backslash (s_3 \setminus s)) = (s, s_3) \in T\).
(\(\Leftarrow \)) Consider \(P := \{ \mathrm {v}^{{val}}\leftarrow s \mid (s, s') \in T \wedge \mathrm {v}^{{val}}\in s' \}\) the program made of the most specific rules that realize T.
(\(\subseteq \)) Let \((s, s') \in \mathcal {T}_{gen}(P)\) and let \(x \in s'\). By definition of \(\mathcal {T}_{gen}\), either \(x \in s\) or there exists \(R \in P\) so that \(x = h(R)\). In the first case, let \(s^x = s\); in the second case, by construction of P, there exists a state \(s^x \in T\) so that \((s, s^x) \in T\) and \(x \in s^x\). By carrying this reasoning for all atoms x in \(s'\), we have: \(s' \subseteq \bigcup _{x \in s'} s^x\) where for some x, we have \(s^x = s\). By applying the proposition for each x, it comes: \((s, s') \in T\).
(\(\subseteq \)) Let \((s, s') \in T\). By construction of P, \(s' \subseteq \{ h(R) \mid R \in P \wedge R \sqcap s \}\). Thus, \((s, s \backslash \!\!\backslash s') = (s, s') \in \mathcal {T}_{gen}(P)\). \(\square \)
Proof 10
(Theorem 3: Semantics-Free Correctness). Let P be a \(\mathcal {M}\mathrm {V}\mathrm {L}\mathrm {P}\) such that P is complete.s
-
\(\mathcal {T}_{syn}(P) = \mathcal {T}_{syn}(P_{\mathcal {O}}({\mathcal {T}_{syn}(P)}))\),
-
\(\mathcal {T}_{asyn}(P) = \mathcal {T}_{asyn}(P_{\mathcal {O}}({\mathcal {T}_{asyn}(P)}))\),
-
\(\mathcal {T}_{gen}(P) = \mathcal {T}_{gen}(P_{\mathcal {O}}({\mathcal {T}_{gen}(P)}))\).
Proof
Let us first consider the case of \(\mathcal {T}_{syn}\). Let \(T \subseteq \mathcal {S}^2\) so that \(\mathrm {fst}(T) = \mathcal {S}\) and let M(P, s) be the set of heads of rules of P that match the state s: \(M(P,s) := \{h(R) \mid R \in P \wedge R \sqcap s\}\).
We first expose two properties about \(M(P_{\mathcal {O}}({T}),s)\).
According to Definiton 12, \(P_{\mathcal {O}}({T})\) realizes T, thus: (a) \(\forall (s,s') \in T, s' \subseteq M(P_{\mathcal {O}}({T}),s)\).
According to the same definition, \(P_{\mathcal {O}}({T})\) is consistent with T, thus: (b) \(\forall s \in \mathcal {S}, \forall \mathrm {v}^{{val}}\in M(P_{\mathcal {O}}({T}),s), \exists (s,s') \in T, \mathrm {v}^{{val}}\in s'\).
Now we prove by contradiction that \(\mathcal {T}_{syn}(P) = \mathcal {T}_{syn}(P_{\mathcal {O}}({\mathcal {T}_{syn}(P)}))\). Thus, suppose \(\mathcal {T}_{syn}(P) \ne \mathcal {T}_{syn}(P_{\mathcal {O}}({\mathcal {T}_{syn}(P)}))\) and let
\(T := \mathcal {T}_{syn}(P)\). Therefore, there exists \(s \in \mathcal {S}\) so that \(M(P,s) \ne M(P_{\mathcal {O}}({T}),s)\). Thus:
-
Either \(\exists \mathrm {v}^{{val}}\in M(P,s), \mathrm {v}^{{val}}\not \in M(P_{\mathcal {O}}({T}),s)\) and thus \(\exists (s,s') \in T, s' \not \subseteq M(P_{\mathcal {O}}({T}),s)\) which is a contradiction with (a).
-
Or \(\exists \mathrm {v}^{{val}}\in M(P_{\mathcal {O}}({T}),s), \mathrm {v}^{{val}}\not \in M(P,s)\) and thus \(\not \exists (s,s') \in T, \mathrm {v}^{{val}}\in s'\) which is a contradiction with (b).
Then \(\forall s \in \mathcal {S}, M(P,s) = M(P_{\mathcal {O}}({T}),s)\) and according to Definiton 14, \(\mathcal {T}_{syn}(P) = \mathcal {T}_{syn}(P_{\mathcal {O}}({\mathcal {T}_{syn}(P)}))\).
The case of \(\mathcal {T}_{gen}\) is similar with \(M(P,s) := s \cup \{ h(R) \mid R \in P \wedge R \sqcap s \}\) and noting that \(\mathcal {T}_{gen}(P) = \{ (s, s') \in \mathcal {S}^2 \mid s' \subseteq M(P, s) \}\). The case of \(\mathcal {T}_{asyn}\) is also similar with \(M(P,s) := \{h(R) \mid R \in P \wedge R \sqcap s\} \setminus s\) and noting that \(\mathcal {T}_{asyn}(P) = \{ (s, s \backslash \!\!\backslash x) \in \mathcal {S}^2 \mid x \in M(P, s) \} \cup \{ (s, s) \in \mathcal {S}^2 \mid M(P, s) = \emptyset \}\). \(\square \)
Appendix: Proofs of Sect. 3
Proof 11
(Theorem 4: GULA Termination, Soundness, Completeness, Optimality). Let \(T\subseteq \mathcal {S}^2\). The call GULA \((\mathcal {A},T)\) terminates and GULA \((\mathcal {A},T)=P_{\mathcal {O}}({T})\).
Proof
Let \(T\subseteq \mathcal {S}^2\). The call GULA(T) terminates because all loops iterate on finite sets.
The algorithm iterates over each atom \(\mathrm {v}^{{val}}\in \mathcal {A}\) iteratively to extract all state s such that \((s,s') \in T \implies \mathrm {v}^{{val}}\not \in s'\). This is equivalent to generate the set \(TT = \{ T' \subseteq T \mid \forall t,t' \in T \implies t=(s,s'), t'=(s,s'') \}\).
To prove that GULA(T)=\(P_{\mathcal {O}}({T})\), and is thus sound, complete and optimal, it suffices to prove that the main loop (Algorithm 1, Lines 16–32) preserves the invariant \(P=P_{\mathcal {O}}({T_i})\) after the ith iteration where \(T_i\) is the union of all set of transitions already selected line 16 after the ith iteration for all i from 0 to \(|TT|\).
Line 15 initializes P to \(\{\mathrm {v}^{{val}}\leftarrow \emptyset \}\). Thus by Proposition 4, after line 15, \(P= \{R \in P_{\mathcal {O}}({\emptyset }) \mid h(R)=\mathrm {v}^{{val}}\}\).
Let us assume that before the \((i+1)\)th iteration of the main loop, \(P=\{R \in P_{\mathcal {O}}({T_i})\mid h(R)=\mathrm {v}^{{val}}\}\). Through the loop of Lines 18–20, \(P'=\{R\in P_{\mathcal {O}}({T_i})\mid R\text { does not conflict with } T_{i+1}, h(R)=\mathrm {v}^{{val}}\}\) is computed. Then the set \(P''=\bigcup _{R\in P_{\mathcal {O}}({T_i})\backslash P', h(R)=\mathrm {v}^{{val}}}L_{\mathrm {spe}}(R,s)\) is iteratively build through the calls to least_specialization at line 22 and the dominated rules are pruned as they are detected by the loop of Lines 23–32. Thus by Theorem 2 and Proposition 5, \(P=\{R \in P_{\mathcal {O}}({T_{i+1}}) \mid h(R)=\mathrm {v}^{{val}}\}\) after the \((i+1)\)th iteration of the main loop. Since the same operation is hold for each \(\mathrm {v}^{{val}}\in \mathcal {A}\), \(P=\bigcup _{R \in P_{\mathcal {O}}({\bigcup _{T' \in TT}T' = T}), h(R)=\mathrm {v}^{{val}}}R = P_{\mathcal {O}}({T})\) after all iterations of the loop of line line 3. \(\square \)
Proof 12
(Theorem 6: GULA’s Complexity). Let \(T\subseteq \mathcal {S}^2\) be a set of transitions, \(n:=|\mathcal {V}|\) be the number of variables of the system and \(d:=\max (\mathsf {dom}(\mathcal {V}))\) be the maximal number of values of its variables. The worst-case time complexity of GULA when learning from T belongs to \(\mathcal {O}(|T|^2 + 2n^3d^{2n+1} + 2n^2 d^{n})\) and its worst-case memory use belongs to \(\mathcal {O}(d^{2n} + 2d^n + nd^{n+2})\).
Proof
The algorithm takes as input a set of transition \(T \subseteq \mathcal {S}^2\) bounding the memory use to \(O(|\mathcal {S}^2|)=O(d^n \times d^n)=O(d^{2n})\) at start. The learning is performed iteratively for each possible rule head \(\mathrm {v}^{{val}}\in \mathcal {A}\). The extraction of negative example requires to compare each transition of T one to one and thus has a complexity of \(op_1=O(|T|^2)\). Those transitions are stored in \(N\!eg_{\mathrm {v}^{{val}}}\) which size is at most \(|\mathcal {S}|\) extending the memory use to \(O(d^{2n} + d^n)\).
The learning phase revises a set of rule \(P_{\mathrm {v}^{{val}}}\) where each rule has the same head \(\mathrm {v}^{{val}}\). There are at most \(d^{n}\) possible rule bodies and thus \(|P_{\mathrm {v}^{{val}}}| \le d^{n}\), the memory use of \(|P_{\mathrm {v}^{{val}}}|\) is then \(O(d^n)\) extending the memory bound to \(O(d^{2n} + d^n + d^n)=O(d^{2n} + 2d^n)\).
For each state s of \(N\!eg_{\mathrm {v}^{{val}}}\), each rule of \(P_{\mathrm {v}^{{val}}}\) that matches s are extracted into a set of rules \(R_m\). This operation has a complexity of \(op_2=O(d^{n} \times n^2)\). Each rule of \(R_m\) are then revised using least specialization, this operation has a complexity of \(O(n^2)\). \(|R_m| \le d^{n}\) thus the revision of all matching rules is \(op_3=O(d^{n} \times n^2)\). All revisions are stored in LS and there are at most dn revisions for each rule, thus \(|LS| \le d^n \times dn\) extending the memory bound to \(O(d^{2n} + 2d^n + nd^{n+1})=O(d^{2n} + 2d^n + n \times d^{n+2})\).
The memory usage of GULA is therefore \(O(d^{2n} + 2d^n + n \times d^{n+2})\).
All rules of LS are compared to the rule of \(P_{\mathrm {v}^{{val}}}\) for domination check, this operation has a complexity of \(op_4=O(2 \times |LS| \times |P_{\mathrm {v}^{{val}}}| \times n^2)=O(2 \times d^{n} \times d \times n \times d^n \times n^2)=O(2 \times n^3 \times d^{2n+1})\). The complexity is bound by \(O(op_1 + op_2 + op_3 + op_4)= O(|T|^2 + d^{n} \times n^2 + d^{n} \times n^2 + 2 \times n^3 \times d^{2n+1})= O(|T|^2 + 2 \times n^3 \times d^{2n+1} + 2 \times n^2 d^{n})\)
The computational complexity of GULA is thus \(O(|T|^2 + 2n^3d^{2n+1} +\) \(2n^2 d^{n})\). \(\square \)
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Ribeiro, T., Folschette, M., Magnin, M., Roux, O., Inoue, K. (2018). Learning Dynamics with Synchronous, Asynchronous and General Semantics. In: Riguzzi, F., Bellodi, E., Zese, R. (eds) Inductive Logic Programming. ILP 2018. Lecture Notes in Computer Science(), vol 11105. Springer, Cham. https://doi.org/10.1007/978-3-319-99960-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-99960-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-99959-3
Online ISBN: 978-3-319-99960-9
eBook Packages: Computer ScienceComputer Science (R0)