AccueilđŸ‡«đŸ‡·Chercher

Anti-unification

En informatique thĂ©orique et en logique mathĂ©matique, l'anti-unification est la construction d'une gĂ©nĂ©ralisation commune Ă  deux termes symboliques donnĂ©es. Comme son nom l’indique, c'est l'opĂ©ration duale de l'unification qui est le calcul de l'instance la plus gĂ©nĂ©rale des termes.

Des problĂšmes d'anti-unification se posent dans de nombreuses branches de l'intelligence artificielle : apprentissage machine, raisonnement analogique et basĂ© sur des cas, modĂ©lisation cognitive, dĂ©couverte de connaissances, etc. L'anti-unification est une technique souvent utilisĂ©e pour rĂ©soudre les problĂšmes de gĂ©nĂ©ralisation. Comme pour l’unification, on distingue plusieurs niveaux selon la nature des termes considĂ©rĂ©s du premier ordre ou d'ordre supĂ©rieur, termes nominaux, arbres, et autres.

Présentation

Un terme est une généralisation de deux termes et si et , pour des substitutions et . Une généralisation de et est minimale, ou la plus spécifique, si pour toute généralisation de et , il existe une substitution telle qui . Le problÚme de l'anti-unification est le calcul de la généralisation minimale de deux termes donnés. Ce problÚme et dual du problÚme d'unification, qui est le calcul de l'instance la plus générale de termes. En absence de variables représentant des fonctions dans les termes, le processus est une anti-unification du premier ordre, sinon est une anti-unification d'ordre supérieur.

Un algorithme d'anti-unification calcule, pour des termes donnĂ©es, un ensemble complet et minimal de gĂ©nĂ©ralisations, c'est-Ă -dire un ensemble couvrant toutes les gĂ©nĂ©ralisations et ne contenant aucun Ă©lĂ©ment redondant. Selon le cadre, un ensemble de gĂ©nĂ©ralisation complet et minimal peut avoir un, plusieurs ou mĂȘme un nombre infini d'Ă©lĂ©ments, ou peut ne pas exister du tout[note 1] ; il ne peut pas ĂȘtre vide, puisqu'une gĂ©nĂ©ralisation triviale existe dans tous les cas. Pour l'anti-unification syntaxique du premier ordre, Gordon Plotkin[1] - [2] a donnĂ© un algorithme qui calcule un ensemble singleton qui est complet et minimal, la « plus petite gĂ©nĂ©ralisation ».

L'anti-unification est diffĂ©rente de la disunification (en). Cette derniĂšre consiste Ă  rĂ©soudre des systĂšmes de « disĂ©quations Â» (c'est-Ă -dire de la forme ), donc de trouver des valeurs des variables pour lesquelles toutes les dis-Ă©galitĂ©s donnĂ©es sont satisfaites.

Cadre

Termes

L'anti-unification se rĂ©alise dans une cadre logique oĂč sont donnĂ©s :

  • Un ensemble infini V de variables.
  • Un ensemble T de termes contenant V. Pour l'anti-unification du premier ordre ou d'ordre supĂ©rieur, T est en gĂ©nĂ©ral formĂ© des termes du premier ordre (variables et symboles de fonction) et de termes du lambda-calcul respectivement.
  • Une relation d'Ă©quivalence sur , indiquant quels termes sont considĂ©rĂ©s comme Ă©gaux. Pour l'unification d'ordre supĂ©rieur, on a si et sont alpha equivalents. Pour le premier ordre, reprĂ©sente une certaine connaissance sur les symboles de fonction ; si par exemple est commutative, on a si et sont les mĂȘmes par Ă©change d'arguments de dans certaines ou toutes les occurrences[note 2]. Si aucune information n'est disponible, l'Ă©quivalence se rĂ©duit Ă  l'Ă©galitĂ©.

Substitution

Une substitution est une application des variables dans des termes ; le résultat de l'application d'une substitution à un terme est appelé une instance de .

Par exemple, l'application de la substitution au terme produit .

Généralisation et spécialisation

Si un terme a une instance qui est équivalente à un terme , c'est-à-dire si pour une substitution , alors est dit plus général que , et est appelé plus particulier que . Par exemple, est plus général que si est commutative, puisque.

Si est l'identitĂ© littĂ©rale (syntaxique) de termes, un terme peut ĂȘtre Ă  la fois plus gĂ©nĂ©ral et plus particulier qu'un autre seulement si les deux termes ne diffĂšrent que par les noms de leurs variables, et non par leur structure syntaxique ; ces termes sont appelĂ©s variantes, ou renommages l'un de l'autre. Par exemple, est une variante de , puisque et . Cependant, n'est pas une variante de , car aucune substitution ne peut transformer ce dernier terme en le premier. rĂ©alise la direction inverse. Ce dernier terme est donc strictement plus spĂ©cial que le premier.

Une substitution est plus spéciale que, ou subsumée par, une substitution si est plus spéciale que pour chaque variable . Par exemple, est plus spécial que , puisque et est plus spécial que et , respectivement.

Anti-unification, généralisation

Un problÚme d'anti-unification est la donnée un couple de termes. Un term est une généralisation, ou anti-unificateur de et si et pour des substitutions . Un ensemble d'anti-unificateurs est complet si toute généralisation subsume un terme ; l'ensemble est minimal si aucun de ses membres ne subsume un autre.

Anti-unification syntaxique du premier ordre

L'anti-unification syntaxique du premier ordre est basĂ©e sur un ensemble de de termes du premier ordre (sur un ensemble donnĂ© de variables, de constantes et de symboles de fonctions -aires), avec Ă©tant l'Ă©galitĂ© syntaxique. Dans ce cadre, chaque problĂšme d'anti-unification possĂšde un ensemble complet de solutions formĂ© d'un singleton . Son Ă©lĂ©ment est appelĂ© la plus petite gĂ©nĂ©ralisation du problĂšme. Toute gĂ©nĂ©ralisation commune de et de subsume . Cette plus petite gĂ©nĂ©ralisation est unique aux variantes prĂšs : si et sont tous deux des ensembles de solutions complets et minimaux du mĂȘme problĂšme syntaxique d'anti-unification, alors ils sont des singletons et pour certains termes et , qui sont des renommages.

Gordon D. Plotkin[3] - [4] et John C. Reynolds[5] ont donné un algorithme pour calculer la plus petite généralisation de deux termes donnés. Il présuppose une injection , c'est-à-dire une application attribuant à chaque paire de termes une variable distincte . L'algorithme se compose de deux rÚgles :

et

si la rÚgle précédente n'est pas applicable.

Par exemple,

.

Cette derniÚre généralisation représente le fait que les deux généralisations sont des nombres carrés.

Plotkin utilise son algorithme pour calculer la plus petite généralisation de deux ensembles de clauses en logique du premier ordre, ce qui est à la base de l'approche dite Golem (en) de la programmation logique inductive.

Anti-unification modulo une théorie

L'anti-unification modulo une thĂ©orie, aussi appelĂ©e anti-unification Ă©quationnelle, E-anti-unification, anti-unification dans une thĂ©orie est l'extension de l'anti-unification syntaxique dans les cas oĂč les opĂ©rateurs sont assujettis Ă  des axiomes, formant une thĂ©orie E. GĂ©nĂ©ralement cette thĂ©orie est dĂ©crite par un ensemble d'Ă©galitĂ©s universelles. Par exemple, une thĂ©orie E peut contenir l'identitĂ© oĂč les variables et sont implicitement quantifiĂ©es universellement et qui dit que l'opĂ©rateur est commutatif.

Des méthodes d'anti-unification ont été élaborées dans le cadre de termes sans rang avec des symboles de fonction d'arité non fixée et d'arbres[6].

Les termes sans rang diffÚrent de ceux avec rang par le fait qu'ils n'ont pas d'arité fixe pour les symboles de fonction. Les haies (hedges) sont des séquences finies de tels termes. Ce sont des structures flexibles, utiles pour représenter des données semi-structurées. Pour tirer parti de la variabilité, les termes sans rang et leurs couvertures utilisent deux types de variables : les variables de terme, qui représentent un terme unique, et les variables de couverture, qui représentent des couvertures. Les techniques de résolution des termes sans rang et des couvertures ont été étudiés pour l'unification et de correspondance, puis pour l'anti-unification de ces structures par Kutsia Levy et Villaret[6].

Théories équationnelles

Il s'agit de théories avec des opérations ayant des propriétés particuliÚres, typiquement des opérations associatives et commutatives, ou de théories commutatives[7] ou l'emploi de grammaires[8], ou de théories plus complexes[9], ou des théories purement idempotentes[10].

Anti-unification nominale

L'anti-unification nominale consiste Ă  calculer les gĂ©nĂ©ralisations minimales pour des termes dans un contexte donnĂ©. En gĂ©nĂ©ral, le problĂšme n'a pas de solution minimales, mais si l'ensemble des atomes autorisĂ©s dans les gĂ©nĂ©ralisations est fini, alors il existe une gĂ©nĂ©ralisation minimale qui est unique modulo modulo renommage et Ă©quivalence α. Baumgartner, Alexander; Kutsia, Temur; Levy, Jordi; Villaret, Mateu ont donnĂ© un algorithme qui calcule la gĂ©nĂ©ralisation. L'algorithme s'appuie sur un sous-algorithme qui dĂ©cide de maniĂšre constructive de l'Ă©quivalence de deux termes dans le contexte. L'anti-unification nominale peut ĂȘtre appliquĂ©e aux problĂšmes oĂč la gĂ©nĂ©ralisation des termes du premier ordre est nĂ©cessaire (apprentissage inductif, dĂ©tection de clones, etc.), mais oĂč des liaisons sont impliquĂ©es[11]

Applications

Des applications de l'anti-unification ont été faites en analyse des programmes[12], en factorisation de code source [13], en preuve inductive[14], en extraction d'information[15], en raisonnement par cas[16].

L'idĂ©e de gĂ©nĂ©ralisation de termes par rapport Ă  une thĂ©orie Ă©quationnelle peut ĂȘtre retrouvĂ©e dans Manna et Waldinger qui en 1980 ont dĂ©sirĂ© l'appliquer Ă  la synthĂšse de programmes[17]

Anti-unification d'arbres et applications linguistiques

Les arbres syntaxiques pour des phrases peuvent ĂȘtre soumis Ă  une gĂ©nĂ©ralisation minimale afin de dĂ©river un arbres d'analyse maximal de sous-parties communes, dans le cadre de l'apprentissage des langues. Il y a des applications en fouille et classification de textes[18], ou des analyses de fourrĂ©s[19] et d'autres opĂ©rations d'interaction entre les niveaux syntaxique et sĂ©mantique [20] - [21].

Notes

  1. Il existe toujours des ensembles de généralisations qui sont complets, mais il se peut qu'aucun ensemble de généralisations complet ne soit minimal.
  2. Par exemple

Références

  1. Gordon D. Plotkin, « A Note on Inductive Generalization », Machine Intelligence, vol. 5,‎ , p. 153–163
  2. Gordon D. Plotkin, « A Further Note on Inductive Generalization », Machine Intelligence, vol. 6,‎ , p. 101–124
  3. Plotkin 1970.
  4. Plotkin 1971.
  5. Reynolds 1970.
  6. Kutsia, Levy et Villaret 2014.
  7. Franz Baader, « Unification, weak unification, upper bound, lower bound, and generalization problems », Lecture Notes in Computer Science, vol. 488 « Proc. 4th Conf. on Rewriting Techniques and Applications (RTA) »,‎ , p. 86-97 (ISSN 0302-9743, DOI 10.1007/3-540-53904-2_88).
  8. Jochen Burghardt, « E-Generalization Using Grammars », Artificial Intelligence, vol. 165, no 1,‎ , p. 1–35 (DOI 10.1016/j.artint.2005.01.008, arXiv 1403.8118).
  9. Maria Alpuente, Santiago Escobar, Javier Espert et Jose Meseguer, « A modular order-sorted equational generalization algorithm », Information and Computation, vol. 235,‎ , p. 98–136 (DOI 10.1016/j.ic.2014.01.006, hdl 2142/25871, lire en ligne).
  10. David Cerna et Temur Kutsia, « Idempotent Anti-Unification », ACM Transactions in Computational Logic, vol. 21, no 2,‎ (hdl 10.1145/3359060, lire en ligne).
  11. Baumgartner et al. 2015.
  12. Bulychev, Kostylev et Zakharov 2009.
  13. Rylan Cottrell, Robert J. Walker et Jörg Denzinger, « Semi-automating small-scale source code reuse via structural correspondence », SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering,‎ , p. 214-225 (DOI 10.1145/1453101.1453130)
  14. Birgit Heinz, « Anti-Unifikation modulo Gleichungstheorie und deren Anwendung zur Lemmagenerierung », GMD-Bericht, vol. 261,‎ (ISBN 978-3-486-23873-0)
  15. Bernd Thomas, « Anti-Unification Based Learning of T-Wrappers for Information Extraction », AAAI Technical Report, vol. WS-99-11,‎ , p. 15–20
  16. Eva Armengol et Enric Plaza, « Using Symbolic Descriptions to Explain Similarity on CBR », nternational Conference of the Catalan Association for Artificial Intelligence,‎ , p. 239-246
  17. Zohar Manna and Richard Waldinger, « A Deductive Approach to Program Synthesis », ACM Transactions on Programming Languages and Systems, vol. 2,‎ , p. 90–121 (DOI 10.1145/357084.357090).
  18. Boris Galitsky, Josep LluĂ­s de la Rose et Gabor Dobrocsi, « Mapping Syntactic to Semantic Generalizations of Linguistic Parse Trees », FLAIRS Conference,‎ .
  19. Boris Galitsky, Kuznetsov SO et Usikov DA, « Parse Thicket Representation for Multi-sentence Search », Lecture Notes in Computer Science, vol. 7735,‎ , p. 1072–1091 (ISBN 978-3-642-35785-5, DOI 10.1007/978-3-642-35786-2_12).
  20. Boris Galitsky, Gabor Dobrocsi, Josep LluĂ­s de la Rosa et Sergei O. Kuznetsov, « From Generalization of Syntactic Parse Trees to Conceptual Graphs », Lecture Notes in Computer Science, vol. 6208,‎ , p. 185–190 (ISBN 978-3-642-14196-6, DOI 10.1007/978-3-642-14197-3_19)
  21. Boris Galitsky, de la Rosa JL et Dobrocsi G., « Inferring the semantic properties of sentences by mining syntactic parse trees », Data & Knowledge Engineering, vol. 81-82,‎ , p. 21–45 (DOI 10.1016/j.datak.2012.07.003)

Bibliographie

Articles fondateurs
  • Gordon D. Plotkin, « A Note on Inductive Generalization », Machine Intelligence, vol. 5, no 1,‎ , p. 153–163 (lire en ligne)
  • John C. Reynolds, « Transformational systems and the algebraic structure of atomic formulas », Machine Intelligence, vol. 5, no 1,‎ , p. 135–151 (lire en ligne)
  • Gordon D. Plotkin, « A Further Note on Inductive Generalization », Machine Intelligence, vol. 6,‎ , p. 101–124
SynthĂšses
  • F. Baader et W. Snyder, « Unification theory », dans John Alan Robinson et Andrei Voronkov (Ă©diteurs), Handbook of Automated Reasoning, vol. 1, Elsevier, , 2122 p. (lire en ligne), p. 447-533.
  • Alexander Baumgartner et Temur Kutsia, « A Library of Anti-unification Algorithms », dans E. FermĂ© E. et J. Leite (Ă©diteurs), Logics in Artificial Intelligence. JELIA 2014, Springer Cham, coll. « Lecture Notes in Computer Science » (no 8761), (DOI 10.1007/978-3-319-11558-0_38, prĂ©sentation en ligne), p. 543–557.
  • Peter E. Bulychev, Egor V. Kostylev et Vladimir A. Zakharov, « Anti-unification Algorithms and Their Applications in Program Analysis », dans A. Pnueli, I. Virbitskaite et A. Voronkov (Ă©diteurs), Perspectives of Systems Informatics. PSI 2009, Springer, coll. « Lecture Notes in Computer Science » (no 5947), (DOI 10.1007/978-3-642-11486-1_35, prĂ©sentation en ligne), p. 413–423.
Articles
  • Gonzague Yernaux et Wim Vanhoof, « Anti-unification in Constraint Logic Programming », Theory and Practice of Logic Programming, vol. 19, nos 5-6 (35th International Conference on Logic Programming),‎ , p. 773-789 (DOI 10.1017/S1471068419000188).
  • David M. Cerna, « Anti-unification and the theory of semirings », Theoretical Computer Science, vol. 848,‎ , p. 133–139 (DOI 10.1016/j.tcs.2020.10.020).
  • Adam D. Barwell, Christopher Brown et Kevin Hammond, « Finding parallel functional pearls: Automatic parallel recursion scheme detection in Haskell functions via anti-unification », Future Generation Computer Systems, vol. 79,‎ , p. 669–686 (DOI 10.1016/j.future.2017.07.024).
  • David M. Cerna et Temur Kutsia, « A Generic Framework for Higher-Order Generalizations », dans Herman Geuvers (Ă©diteur), 4th International Conference on Formal Structures for Computation and Deduction (FSCD 2019), Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, coll. « Leibniz International Proceedings in Informatics (LIPIcs) » (no 131), (DOI 10.4230/LIPIcs.FSCD.2019.10, lire en ligne), p. 10:1-10:19
  • Temur Kutsia, Jordi Levy et Mateu Villaret, « Anti-Unification for Unranked Terms and Hedges », Journal of Automated Reasoning, vol. 52, no 2,‎ , p. 155–190 (DOI 10.1007/s10817-013-9285-6, lire en ligne) Software.
  • Alexander Baumgartner, Temur Kutsia, Jordi Levy et Mateu Villaret, « Nominal Anti-Unification », dans Proc. RTA 2015, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, coll. « Leibniz International Proceedings in Informatics (LIPIcs) » (no 36), (DOI 10.4230/LIPIcs.RTA.2015.57, lire en ligne), p. 57-73

Articles liés

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.