Articulo de referencia

Antiunificación

La antiunificación es el proceso de construir una generalización común a dos expresiones simbólicas dadas. Al igual que en la unificación , se distinguen varios marcos según las...

La antiunificación es el proceso de construir una generalización común a dos expresiones simbólicas dadas. Al igual que en la unificación , se distinguen varios marcos según las expresiones (también llamadas términos) permitidas y las que se consideran iguales. Si se permiten variables que representan funciones en una expresión, el proceso se denomina "antiunificación de orden superior"; de lo contrario, "antiunificación de primer orden". Si se requiere que la generalización tenga una instancia literalmente igual a cada expresión de entrada, el proceso se denomina "antiunificación sintáctica"; de lo contrario, "antiunificación E" o "antiunificación módulo teoría".

Un algoritmo de anti-unificación debe calcular, para expresiones dadas, un conjunto de generalizaciones completo y mínimo, es decir, un conjunto que cubra todas las generalizaciones y que no contenga miembros redundantes, respectivamente. Dependiendo del marco, un conjunto de generalizaciones completo y mínimo puede tener uno, un número finito o posiblemente infinitos miembros, o puede no existir en absoluto; [ nota 1 ] no puede estar vacío, ya que existe una generalización trivial en cualquier caso. Para la anti-unificación sintáctica de primer orden, Gordon Plotkin [ 1 ] [ 2 ] proporcionó un algoritmo que calcula un conjunto de generalizaciones singleton completo y mínimo que contiene la llamada "generalización menos general" (lgg).

La antiunificación no debe confundirse con la desunificación . Esta última se refiere al proceso de resolver sistemas de inecuaciones , es decir, de encontrar valores para las variables que satisfagan todas las inecuaciones dadas. [ nota 2 ] Esta tarea es bastante diferente de encontrar generalizaciones.

Requisitos previos

Formalmente, un enfoque anti-unificación presupone

  • Un conjunto infinito V de variables . Para la anti-unificación de orden superior, es conveniente elegir V disjunto del conjunto de variables de límite de término lambda .
  • Un conjunto T de términos tales que VT . Para la anti-unificación de primer orden y de orden superior, T suele ser el conjunto de términos de primer orden (términos construidos a partir de símbolos de variables y funciones) y términos lambda (términos que contienen algunas variables de orden superior), respectivamente.
  • Una relación de equivalencia{\displaystyle \equiv }enT{\displaystyle T}, indicando qué términos se consideran iguales. Para la antiunificación de orden superior, generalmentet{\displaystyle t\equiv u}sit{\displaystyle t}y{\displaystyle u}son alfa equivalentes . Para la anti-unificación E de primer orden,{\displaystyle \equiv }refleja el conocimiento previo sobre ciertos símbolos de función; por ejemplo, si{\displaystyle \oplus }se considera conmutativo,t{\displaystyle t\equiv u}si{\displaystyle u}resultados det{\displaystyle t}intercambiando los argumentos de{\displaystyle \oplus }en algunas (posiblemente todas) las ocurrencias. [ nota 3 ] Si no hay ningún conocimiento previo, entonces solo se consideran iguales los términos idénticos literal o sintácticamente.

término de primer orden

Dado un conjuntoV{\displaystyle V}de símbolos variables, un conjuntodo{\displaystyle C}de símbolos y conjuntos constantesFnorte{\displaystyle F_{n}}denorte{\displaystyle n}símbolos de función -aria, también llamados símbolos de operador, para cada número naturalnorte1{\displaystyle n\geq 1}, el conjunto de términos (de primer orden no ordenados)T{\displaystyle T}se define recursivamente como el conjunto más pequeño con las siguientes propiedades: [ 3 ]

  • cada símbolo de variable es un término: VT ,
  • cada símbolo constante es un término: CT ,
  • de cada n términos t 1 ,..., t n , y cada símbolo de función n -aria fF n , un término mayorF(t1,,tnorte){\displaystyle f(t_{1},\ldots ,t_{n})}se puede construir.

Por ejemplo, si x V es un símbolo de variable, 1  C es un símbolo de constante y add  F 2 es un símbolo de función binaria , entonces x T , 1  T , y (por lo tanto) add( x ,1)  T según la primera, segunda y tercera regla de construcción de términos, respectivamente. El último término se suele escribir como x +1, utilizando la notación infija y el símbolo de operador más común + para mayor comodidad.

término de orden superior

Sustitución

Una sustitución es una asignación σ:VT{\displaystyle \sigma :V\longrightarrow T}de variables a términos; la notación{incógnita1t1,,incógnitaktk}{\displaystyle \{x_{1}\mapsto t_{1},\ldots ,x_{k}\mapsto t_{k}\}}se refiere a una asignación de sustitución para cada variableincógnitai{\displaystyle x_{i}}al términoti{\displaystyle t_{i}}, parai=1,,k{\displaystyle i=1,\ldots ,k}y cada otra variable consigo misma. Aplicando esa sustitución a un término t se escribe en notación posfija comot{incógnita1t1,,incógnitaktk}{\displaystyle t\{x_{1}\mapsto t_{1},\ldots ,x_{k}\mapsto t_{k}\}}; significa reemplazar (simultáneamente) cada aparición de cada variableincógnitai{\displaystyle x_{i}}en el término t porti{\displaystyle t_{i}}El resultado t σ de aplicar una sustitución σ a un término t se llama instancia de ese término t . Como ejemplo de primer orden, aplicando la sustitución{incógnitah(a,y),zb}{\displaystyle \{x\mapsto h(a,y),z\mapsto b\}}al término

Generalización, especialización

Si un términot{\displaystyle t}tiene una instancia equivalente a un término{\displaystyle u}, es decir, sitσ{\displaystyle t\sigma \equiv u}por alguna sustituciónσ{\displaystyle \sigma }, entoncest{\displaystyle t}se llama más general que{\displaystyle u}, y{\displaystyle u}se denomina más especial que, o subsumido por,t{\displaystyle t}. Por ejemplo,incógnitaa{\displaystyle x\oplus a}es más general queab{\displaystyle a\oplus b}si{\displaystyle \oplus }es conmutativa , puesto que entonces(incógnitaa){incógnitab}=baab{\displaystyle (x\oplus a)\{x\mapsto b\}=b\oplus a\equiv a\oplus b}.

Si{\displaystyle \equiv }es la identidad literal (sintáctica) de los términos, un término puede ser a la vez más general y más especial que otro solo si ambos términos difieren únicamente en sus nombres de variables, no en su estructura sintáctica; tales términos se denominan variantes o renombramientos entre sí. Por ejemplo,F(incógnita1,a,gramo(z1),y1){\displaystyle f(x_{1},a,g(z_{1}),y_{1})}es una variante deF(incógnita2,a,gramo(z2),y2){\displaystyle f(x_{2},a,g(z_{2}),y_{2})}, desdeF(incógnita1,a,gramo(z1),y1){incógnita1incógnita2,y1y2,z1z2}=F(incógnita2,a,gramo(z2),y2){\displaystyle f(x_{1},a,g(z_{1}),y_{1})\{x_{1}\mapsto x_{2},y_{1}\mapsto y_{2},z_{1}\mapsto z_{2}\}=f(x_{2},a,g(z_{2}),y_{2})}yF(incógnita2,a,gramo(z2),y2){incógnita2incógnita1,y2y1,z2z1}=F(incógnita1,a,gramo(z1),y1){\displaystyle f(x_{2},a,g(z_{2}),y_{2})\{x_{2}\mapsto x_{1},y_{2}\mapsto y_{1},z_{2}\mapsto z_{1}\}=f(x_{1},a,g(z_{1}),y_{1})}. Sin embargo,F(incógnita1,a,gramo(z1),y1){\displaystyle f(x_{1},a,g(z_{1}),y_{1})}no es una variante deF(incógnita2,a,gramo(incógnita2),incógnita2){\displaystyle f(x_{2},a,g(x_{2}),x_{2})}, puesto que ninguna sustitución puede transformar el último término en el primero, aunque{incógnita1incógnita2,z1incógnita2,y1incógnita2}{\displaystyle \{x_{1}\mapsto x_{2},z_{1}\mapsto x_{2},y_{1}\mapsto x_{2}\}}logra la dirección inversa. Por lo tanto, este último término es propiamente más especial que el primero.

Una sustituciónσ{\displaystyle \sigma }es más especial que, o está subsumido por, una sustituciónτ{\displaystyle \tau }siincógnitaσ{\displaystyle x\sigma }es más especial queincógnitaτ{\displaystyle x\tau }para cada variableincógnita{\displaystyle x}. Por ejemplo,{incógnitaF(),yF(F())}{\displaystyle \{x\mapsto f(u),y\mapsto f(f(u))\}}es más especial que{incógnitaz,yF(z)}{\displaystyle \{x\mapsto z,y\mapsto f(z)\}}, desdeF(){\displaystyle f(u)}yF(F()){\displaystyle f(f(u))}es más especial quez{\displaystyle z}yF(z){\displaystyle f(z)}, respectivamente.

Problema de anti-unificación, conjunto de generalización

Un problema de anti-unificación es un part1,t2{\displaystyle \langle t_{1},t_{2}\rangle }de términos. Un términot{\displaystyle t}es una generalización común , o antiunificador , det1{\displaystyle t_{1}}yt2{\displaystyle t_{2}}sitσ1t1{\displaystyle t\sigma _{1}\equiv t_{1}}ytσ2t2{\displaystyle t\sigma _{2}\equiv t_{2}}para algunas sustitucionesσ1,σ2{\displaystyle \sigma _{1},\sigma _{2}}. Para un problema de anti-unificación dado, un conjuntoS{\displaystyle S}de antiunificadores se llama completo si cada generalización engloba algún términotS{\displaystyle t\in S}; el conjuntoS{\displaystyle S}Se denomina mínimo si ninguno de sus miembros engloba a otro.

Antiunificación sintáctica de primer orden

El marco de la anti-unificación sintáctica de primer orden se basa enT{\displaystyle T}siendo el conjunto de términos de primer orden (sobre algún conjunto dado)V{\displaystyle V}de variables,do{\displaystyle C}de constantes yFnorte{\displaystyle F_{n}}denorte{\displaystyle n}-símbolos de función aria) y en{\displaystyle \equiv }siendo igualdad sintáctica . En este marco, cada problema anti-unificaciónt1,t2{\displaystyle \langle t_{1},t_{2}\rangle }tiene un conjunto de soluciones singleton completo y obviamente mínimo.{t}{\displaystyle \{t\}}. Su miembrot{\displaystyle t}se denomina generalización menos general (lgg) del problema, tiene una instancia sintácticamente igual at1{\displaystyle t_{1}}y otro sintácticamente igual at2{\displaystyle t_{2}}. Cualquier generalización común de t1{\displaystyle t_{1}}yt2{\displaystyle t_{2}}englobat{\displaystyle t}. El lgg es único hasta variantes: siS1{\displaystyle S_{1}}yS2{\displaystyle S_{2}}son conjuntos de soluciones completas y mínimas del mismo problema de antiunificación sintáctica, entoncesS1={s1}{\displaystyle S_{1}=\{s_{1}\}}yS2={s2}{\displaystyle S_{2}=\{s_{2}\}}para algunos términoss1{\displaystyle s_{1}}ys2{\displaystyle s_{2}}, que son nombres diferentes entre sí.

Plotkin [ 1 ] [ 2 ] ha proporcionado un algoritmo para calcular el logaritmo natural de dos términos dados. Este algoritmo presupone una aplicación inyectiva.ϕ:T×TV{\displaystyle \phi :T\times T\longrightarrow V}, es decir, una asignación que asigna cada pars,t{\displaystyle s,t}de términos una variable propiaϕ(s,t){\displaystyle \phi (s,t)}, de modo que no haya dos pares que compartan la misma variable. [ nota 4 ] El algoritmo consta de dos reglas:

Por ejemplo,(00)(44)(04)(04)ϕ(0,4)ϕ(0,4)incógnitaincógnita{\displaystyle (0*0)\sqcup (4*4)\rightsquigarrow (0\sqcup 4)*(0\sqcup 4)\rightsquigarrow \phi (0,4)*\phi (0,4)\rightsquigarrow x*x}Esta generalización menos general refleja la propiedad común de ambas entradas de ser números cuadrados.

Plotkin utilizó su algoritmo para calcular la " generalización relativa mínima general (rlgg) " de dos conjuntos de cláusulas en lógica de primer orden , que fue la base del enfoque Golem para la programación lógica inductiva .

Teoría de anti-unificación de primer orden módulo

  • Jacobsen, Erik (junio de 1991), Unificación y antiunificación (PDF) , Informe técnico
  • Østvold, Bjarte M. (abril de 2004), "Una reconstrucción funcional de la antiunificación" (PDF) , Norsk Regnesentral Projects , NR Note, vol.  DART/04/04, Centro de Computación de Noruega
  • Boytcheva, Svetla; Markov, Zdravko (2002). "Un algoritmo para inducir la menor generalización bajo implicación relativa" . Actas de FLAIRS-02 . AAAI. págs. 322–326 . 
  • Kutsia, Temur; Levy, Jordi; Villaret, Mateu (2014). "Anti-Unificación para términos no clasificados y coberturas" (PDF) . Journal of Automated Reasoning . 52 (2): 155– 190. doi : 10.1007/s10817-013-9285-6 .Software.

Teorías de ecuaciones

  • Una operación asociativa y conmutativa: Pottier, Loïc (febrero de 1989), Algorithmes de complétion et généralisation en logique du premier ordre (Thèse de doctorat); Pottier, Loïc (1989), Généralisation de termes en théorie équationelle – Cas associatif-commutatif , Informe INRIA, vol. 1056, INRIA 
  • Teorías conmutativas: Baader, Franz (1991). "Unificación, unificación débil, límite superior, límite inferior y problemas de generalización" . Actas de la 4.ª Conferencia sobre Técnicas y Aplicaciones de Reescritura (RTA) . LNCS. Vol. 488. Springer. págs. 86–91 . doi : 10.1007/3-540-53904-2_88 .  
  • Monoides libres: Biere, A. (1993), Normalisierung, Unifikation und Antiunifikation in Freien Monoiden (PDF) , Univ. Karlsruhe, Alemania
  • Clases regulares de congruencia: Heinz, Birgit (diciembre de 1995), Anti-Unifikation módulo Gleichungstheorie und deren Anwendung zur Lemmagenerierung , GMD Berichte, vol. 261, TU Berlín, ISBN  978-3-486-23873-0; Burghardt, Jochen (2005). "E-Generalización mediante gramáticas". Inteligencia Artificial . 165 (1): 1– 35. arXiv : 1403.8118 . doi : 10.1016/j.artint.2005.01.008 . S2CID 5328240 . 
  • Teorías A, C, AC y ACU con ordenamientos: Alpuente, Maria; Escobar, Santiago; Espert, Javier; Meseguer, Jose (2014). "Un algoritmo de generalización ecuacional modular ordenado" . Information and Computation . 235 : 98–136 . doi : 10.1016/j.ic.2014.01.006 . hdl : 2142/25871 .
  • Teorías puramente idempotentes: Cerna, David; Kutsia, Temur (2020). "Anti-Unificación idempotente" . ACM Transactions on Computational Logic . 21 (2): 1– 32. doi : 10.1145/3359060 . hdl : 10.1145/3359060 . S2CID 207861304 . 

Antiunificación ordenada de primer orden

  • Clasificación taxonómica: Frisch, Alan M.; Page, David (1990). "Generalización con información taxonómica". AAAI : 755–761 .; Frisch, Alan M.; Page Jr., C. David (1991). "Generalizando átomos en lógica de restricciones" . Actas de la Conferencia sobre Representación del Conocimiento .; Frisch, AM; Page, CD (1995). "Construyendo teorías en instanciación". En Mellish, CS (ed.). Proc. 14th IJCAI . Morgan Kaufmann. pp. 1210– 1216. CiteSeerX 10.1.1.32.1610 .  
  • Términos característicos: Plaza, E. (1995). "Casos como términos: Un enfoque de términos característicos para la representación estructurada de casos". Actas de la 1.ª Conferencia Internacional sobre Razonamiento Basado en Casos (ICCBR) . LNCS. Vol. 1010. Springer. págs. 265–276 . ISSN 0302-9743 .   
  • Idestam-Almquist, Peter (junio de 1993). "Generalización bajo implicación por anti-unificación recursiva" . Actas de la 10.ª Conferencia sobre Aprendizaje Automático . Morgan Kaufmann. págs. 151–158 . 
  • Fischer, Cornelia (mayo de 1994), PAntUDE – Un algoritmo anti-unificación para expresar generalizaciones refinadas (PDF) , Informe de investigación, vol.  TM-94-04, DFKI
  • Teorías A, C, AC y ACU con clasificaciones ordenadas: véase más arriba.

Antiunificación nominal

  • Baumgartner, Alejandro; Kutsia, Temur; Levy, Jordi; Villaret, Mateu (junio de 2013). Antiunificación nominal . Proc. ACR 2015. vol. 36 de LIPIcs. Castillo Dagstuhl, 57-73. Software.

Aplicaciones

  • Análisis del programa:
    • Bulychev, Peter; Minea, Marius (2008). "Detección de código duplicado mediante anti-unificación" . Actas del Coloquio de Jóvenes Investigadores de Primavera/Verano sobre Ingeniería de Software (2).;
    • Bulychev, Peter E.; Kostylev, Egor V.; Zakharov, Vladimir A. (2009). «Algoritmos anti-unificación y sus aplicaciones en el análisis de programas» . En Amir Pnueli, Irina Virbitskaite y Andrei Voronkov (eds.). Perspectivas de la informática de sistemas (PSI) 7.ª Conferencia Internacional en Memoria de Andrei Ershov . LNCS. Vol.  5947. Springer. pp. 413–423 . doi : 10.1007/978-3-642-11486-1_35 . ISBN  978-3-642-11485-4.
  • Factorización de código:
    • Cottrell, Rylan (septiembre de 2008), Semiautomatización de la reutilización de código fuente a pequeña escala mediante correspondencia estructural (PDF) , Univ. Calgary
  • Prueba de inducción:
    • Heinz, Birgit (1994), Descubrimiento de lemas mediante la antiunificación de tipos regulares , Informe técnico, vol. 94–21 , TU Berlín 
  • Extracción de información:
    • Thomas, Bernd (1999). "Aprendizaje basado en anti-unificación de T-Wrappers para la extracción de información" (PDF) . Informe técnico de la AAAI . WS-99-11: 15–20 .
  • Razonamiento basado en casos:
    • Armengol; Plaza, Enric (2005). "Uso de descripciones simbólicas para explicar la similitud en {CBR}" . En Beatriz López y Joaquim Meléndez y Petia Radeva y Jordi Vitrià (ed.). Investigación y Desarrollo de Inteligencia Artificial, Proc. 8vo Int. Conf. de la ACIA, CCIA . Prensa IOS. págs. 239-246 . 
  • Síntesis de programas: La idea de generalizar términos con respecto a una teoría ecuacional se remonta a Manna y Waldinger (1978, 1980), quienes deseaban aplicarla en la síntesis de programas . En la sección "Generalización", sugieren (en la página  119 del artículo de 1980) generalizar reverse ( l ) y reverse ( tail ( l ))<>[ head ( l )] para obtener reverse(l')<>m' . Esta generalización solo es posible si se considera la ecuación de fondo u <>[]= u .
  • Procesamiento del lenguaje natural:
    • Amiridze, Nino; Kutsia, Temur (mayo de 2018). Anti-Unificación y procesamiento del lenguaje natural (EasyChair Preprints). Vol.  203. doi : 10.29007/fkrh . S2CID 49322739 . 

Antiunificación de orden superior

  • Cálculo de construcciones:
    • Pfenning, Frank (julio de 1991). "Unificación y antiunificación en el cálculo de construcciones" (PDF) . Actas del 6.º LICS . Springer. págs. 74–85 . 
  • Cálculo lambda tipado simple (Entrada: Términos en la forma beta-normal eta-larga. Salida: Patrones de orden superior):
    • Baumgartner, Alexander; Kutsia, Temur; Levy, Jordi; Villaret, Mateu (junio de 2013). Una variante de la anti-unificación de orden superior . Actas de RTA 2013. Vol. 21 de LIPIcs. Schloss Dagstuhl, 113-127. Software.
  • Cálculo lambda tipado simple (Entrada: Términos en la forma beta-normal eta-larga. Salida: Varios fragmentos del cálculo lambda tipado simple, incluyendo patrones):
    • Cerna, David; Kutsia, Temur (junio de 2019). "Un marco genérico para generalizaciones de orden superior" (PDF) . 4ta Conferencia Internacional sobre Estructuras Formales para Computación y Deducción, FSCD, 24 al 30 de junio de 2019, Dortmund, Alemania . Schloss Dagstuhl - Leibniz-Zentrum für Informatik. págs. 74 a 85. 
  • Sustituciones de orden superior restringidas:
    • Wagner, Ulrich (abril de 2002), Anti-unificación de orden superior con restricciones combinatorias , TU Berlín; Schmidt, Martin (septiembre de 2010), Antiunificación restringida de orden superior para la proyección de teorías heurísticas (PDF) , Informe PICS, vol. 31–2010 , Univ. Osnabrück, Alemania, ISSN 1610-5389  

Notas

  1. Siempre existen conjuntos de generalización completos, pero puede darse el caso de que cada conjunto de generalización completo no sea mínimo.
  2. En 1986, Comon se refirió a la resolución de inecuaciones como "anti-unificación", lo cual hoy en día se ha vuelto bastante inusual. Comon, Hubert (1986). "Completitud suficiente, sistemas de reescritura de términos y 'anti-unificación'"". Actas de la 8.ª Conferencia Internacional sobre Deducción Automatizada . LNCS. Vol.  230. Springer. págs. 128–140 . 
  3. Eja(bF(incógnita))a(F(incógnita)b)(bF(incógnita))a(F(incógnita)b)a{\displaystyle a\oplus (b\oplus f(x))\equiv a\oplus (f(x)\oplus b)\equiv (b\oplus f(x))\oplus a\equiv (f(x)\oplus b)\oplus a}
  4. Desde un punto de vista teórico, tal mapeo existe, ya que ambosV{\displaystyle V}y T×T{\displaystyle T\times T}son conjuntos infinitos numerables ; para fines prácticos,ϕ{\displaystyle \phi }Se puede ir ampliando según sea necesario, recordando las asignaciones preestablecidas.s,t,ϕ(s,t){\displaystyle \langle s,t,\phi (s,t)\rangle }en una tabla hash .

Referencias

  1. 1 2 Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D. (eds.). "Una nota sobre la generalización inductiva". Machine Intelligence . 5 : 153–163 .
  2. 1 2 Plotkin, Gordon D. (1971). Meltzer, B.; Michie, D. (eds.). "Una nota adicional sobre la generalización inductiva". Machine Intelligence . 6 : 101–124 .
  3. CC Chang; H. Jerome Keisler (1977). A. Heyting; HJ Keisler; A. Mostowski; A. Robinson; P. Suppes (eds.). Teoría de modelos . Estudios en lógica y fundamentos de las matemáticas. Vol. 73. North Holland. ; aquí: Sec.1.3