En logique, la logique temporelle linéaire[1],[2] (LTL) est une logique temporellemodale avec des modalités se référant au temps. En LTL, on peut coder des formules sur l'avenir d'un chemin infini dans un système de transitions, par exemple une condition finira par être vraie, une condition sera vraie jusqu'à ce qu'une autre devienne vraie, etc. Cette logique est plus faible que la logique CTL*, qui permet d'exprimer des conditions sur des ramifications de chemins et pas seulement sur un seul chemin. LTL est aussi parfois appelée logique temporelle propositionnelle, abrégé LTP (PTL en anglais)[3]. La logique temporelle linéaire (LTL) est un fragment de S1S (pour second-order with 1 successor), la logique monadique du second ordre avec un successeur.
si ψ et φ sont des formules de LTL alors ¬ψ, φ ∨ ψ, X ψ, et φ U ψ sont des formules de LTL[5].
X est lu comme suivant (next en anglais) et U est lu comme jusqu'à (until en anglais). On peut ajouter d'autres opérateurs, non nécessaires mais qui simplifient l'écriture de certaines formules.
Par exemple, les opérateurs logiques ∧, →, ↔, vrai et faux sont généralement ajoutés. Les opérateurs temporels ci-dessous le sont également :
G pour toujours (globalement (globally en anglais)) ;
F pour finalement (dans le futur (in the future en anglais)) ;
R pour libération (release en anglais) ;
W pour faible jusqu'à (weak until en anglais).
Sémantique
Une formule de LTL peut être satisfaite par une suite infinie d'évaluations de vérité des variables dans AP. Soit w = a0,a1,a2,... tel un mot-ω. Soit w(i) = ai. Soit wi = ai,ai+1,..., qui est un suffixe de w. Formellement, la relation de satisfaction entre un mot et une formule de LTL est définie comme suit :
w p si p ∈ w(0)
w ¬ψ si w ψ
w φ ∨ ψ si w φ ou w ψ
wX ψ si w1 ψ (ψ doit être vrai à l'étape suivante)
w φ U ψ s'il existe i ≥ 0 tel que wi ψ et pour tout 0 ≤ k < i, wk φ (φ doit rester vrai jusqu'à ce que ψ devienne vrai)
On dit qu'un mot-ω w satisfait une formule LTL ψ quand w ψ.
Les opérateurs logiques supplémentaires sont définis comme suit :
φ ∧ ψ ≡ ¬(¬φ ∨ ¬ψ)
φ → ψ ≡ ¬φ ∨ ψ
φ ↔ ψ ≡ (φ → ψ) ∧ ( ψ → φ)
vrai ≡ p ∨ ¬p, où p ∈ AP
faux ≡ ¬vrai
Les opérateurs temporels supplémentaires R, F et G sont définis comme suit :
φ R ψ ≡ ¬(¬φ U ¬ψ)
F ψ ≡ vrai U ψ (ψ devient éventuellement vrai)
G ψ ≡ faux R ψ ≡ ¬F ¬ψ (ψ reste toujours vrai)
La sémantique des opérateurs temporels peut se représenter comme suit :
Toutes les formules de LTL peuvent être transformées en forme normale négative, où
toutes les négations apparaissent seulement en face des propositions atomiques,
seuls les opérateurs logiques vrai, faux, ∧ et ∨ peuvent apparaître, et
seuls les opérateurs logiques X, U, et R peuvent apparaître.
Automates de Büchi
Toute formule LTL est équivalente à un automate de Büchi de taille au plus exponentielle en la taille de la formule[6]. Pour LTL sur les traces finies, appelée LTLf, toute formule est équivalente à un automate fini non déterministe de taille au plus exponentielle en la taille de la formule[7].
Problèmes algorithmiques
Le model checking et le problème de satisfiabilité est PSPACE-complet. La synthèse LTL et le problème de vérification d'un jeu avec un objectif LTL sont 2EXPTIME-complet[8].
Apprentissage par renforcement
Les buts des agents sont parfois écrits en LTL, à la fois pour des approches avec modèles[9],[10] ou sans[11],[12],[13].
Extensions
Quantification du second ordre
Dans le chapitre 3 de sa thèse[14], Sistla étend LTL en rajoutant des quantifications du second ordre. À l'époque LTL se nommait plutôt PTL (pour propositional temporal logic). Cette extension s'appelle QPTL (quantified propositional temporal logic). Par exemple est une formule de QPTL qui se lit "il existe une façon de donner des valeurs à la proposition p sur toute la ligne temporelle, telle que quelle que soit la façon d'attribuer les valeurs à la proposition q sur toute la ligne temporelle, on a toujours que p est équivalent au fait que demain q". Sistla, dans le chapitre 3 de sa thèse, démontre que décider si une formule sous forme prénexe et avec une seule alternation de QPTL est vraie est EXPSPACE-complet.
Comme mentionné par Sistla et al.[15], on peut réduire S1S qui est non-élémentaire[16] à QPTL. La véracité d'une formule de QPTL est donc non-élémentaire. Plus précisément, Sistla et al.[15] démontrent que le problème de véracité de QPTL restreint aux formules avec k alternations est kNEXPSPACE-complet.
↑Giuseppe De Giacomo et Moshe Y. Vardi, « Synthesis for LTL and LDL on finite traces », IJCAI, AAAI Press, , p. 1558–1564 (ISBN9781577357384, lire en ligne, consulté le )
↑(en) A. Pnueli et R. Rosner, « On the synthesis of a reactive module », 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (conférence), (lire en ligne, consulté le )
↑Jie Fu et Ufuk Topcu, « Probably Approximately Correct MDP Learning and Control With Temporal Logic Constraints », arXiv:1404.7073 [cs], (lire en ligne, consulté le )
↑D. Sadigh, E. S. Kim, S. Coogan et S. S. Sastry, « A learning based approach to control synthesis of Markov decision processes for linear temporal logic specifications », 53rd IEEE Conference on Decision and Control, , p. 1091–1096 (DOI10.1109/CDC.2014.7039527, lire en ligne, consulté le )
↑(en) Giuseppe De Giacomo, Luca Iocchi, Marco Favorito et Fabio Patrizi, « Foundations for Restraining Bolts: Reinforcement Learning with LTLf/LDLf Restraining Specifications », Proceedings of the International Conference on Automated Planning and Scheduling, vol. 29, , p. 128–136 (ISSN2334-0843, lire en ligne, consulté le )
↑Mohammadhosein Hasanbeig, Alessandro Abate et Daniel Kroening, « Logically-Constrained Neural Fitted Q-iteration », Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems, International Foundation for Autonomous Agents and Multiagent Systems, aAMAS '19, , p. 2012–2014 (ISBN978-1-4503-6309-9, lire en ligne, consulté le )
↑Rodrigo Toro Icarte, Toryn Q. Klassen, Richard Valenzano et Sheila A. McIlraith, « Teaching Multiple Tasks to an RL Agent Using LTL », Proceedings of the 17th International Conference on Autonomous Agents and MultiAgent Systems, International Foundation for Autonomous Agents and Multiagent Systems, aAMAS '18, , p. 452–461 (lire en ligne, consulté le )
↑ a et b(en) A. Prasad Sistla, Moshe Y. Vardi et Pierre Wolper, « The complementation problem for Büchi automata with applications to temporal logic », Theoretical Computer Science, vol. 49, no 2, , p. 217–237 (ISSN0304-3975, DOI10.1016/0304-3975(87)90008-9, lire en ligne, consulté le )