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 V ⊆ T . 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 equivalenciaen, indicando qué términos se consideran iguales. Para la antiunificación de orden superior, generalmentesiyson alfa equivalentes . Para la anti-unificación E de primer orden,refleja el conocimiento previo sobre ciertos símbolos de función; por ejemplo, sise considera conmutativo,siresultados deintercambiando los argumentos deen 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 conjuntode símbolos variables, un conjuntode símbolos y conjuntos constantesdesímbolos de función -aria, también llamados símbolos de operador, para cada número natural, el conjunto de términos (de primer orden no ordenados)se define recursivamente como el conjunto más pequeño con las siguientes propiedades: [ 3 ]
- cada símbolo de variable es un término: V ⊆ T ,
- cada símbolo constante es un término: C ⊆ T ,
- de cada n términos t 1 ,..., t n , y cada símbolo de función n -aria f ∈ F n , un término mayorse 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 de variables a términos; la notaciónse refiere a una asignación de sustitución para cada variableal término, paray cada otra variable consigo misma. Aplicando esa sustitución a un término t se escribe en notación posfija como; significa reemplazar (simultáneamente) cada aparición de cada variableen el término t porEl 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ónal término
Generalización, especialización
Si un términotiene una instancia equivalente a un término, es decir, sipor alguna sustitución, entoncesse llama más general que, yse denomina más especial que, o subsumido por,. Por ejemplo,es más general quesies conmutativa , puesto que entonces.
Sies 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,es una variante de, desdey. Sin embargo,no es una variante de, puesto que ninguna sustitución puede transformar el último término en el primero, aunquelogra la dirección inversa. Por lo tanto, este último término es propiamente más especial que el primero.
Una sustituciónes más especial que, o está subsumido por, una sustituciónsies más especial quepara cada variable. Por ejemplo,es más especial que, desdeyes más especial quey, respectivamente.
Problema de anti-unificación, conjunto de generalización
Un problema de anti-unificación es un parde términos. Un términoes una generalización común , o antiunificador , deysiypara algunas sustituciones. Para un problema de anti-unificación dado, un conjuntode antiunificadores se llama completo si cada generalización engloba algún término; el conjuntoSe 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 ensiendo el conjunto de términos de primer orden (sobre algún conjunto dado)de variables,de constantes yde-símbolos de función aria) y ensiendo igualdad sintáctica . En este marco, cada problema anti-unificacióntiene un conjunto de soluciones singleton completo y obviamente mínimo.. Su miembrose denomina generalización menos general (lgg) del problema, tiene una instancia sintácticamente igual ay otro sintácticamente igual a. Cualquier generalización común de yengloba. El lgg es único hasta variantes: siyson conjuntos de soluciones completas y mínimas del mismo problema de antiunificación sintáctica, entoncesypara algunos términosy, 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., es decir, una asignación que asigna cada parde términos una variable propia, de modo que no haya dos pares que compartan la misma variable. [ nota 4 ] El algoritmo consta de dos reglas:
Por ejemplo,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 .
- Zohar Manna ; Richard Waldinger (dic. 1978). Un enfoque deductivo para la síntesis de programas (PDF) (Nota técnica). SRI International . Archivado del original (PDF) el 27 de febrero de 2017. Consultado el 29 de septiembre de 2017 .— preimpresión del artículo de 1980
- Zohar Manna y Richard Waldinger (enero de 1980). "Un enfoque deductivo para la síntesis de programas". ACM Transactions on Programming Languages and Systems . 2 : 90–121 . doi : 10.1145/357084.357090 . S2CID 14770735 .
- Procesamiento del lenguaje natural:
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
- ↑ Siempre existen conjuntos de generalización completos, pero puede darse el caso de que cada conjunto de generalización completo no sea mínimo.
- ↑ 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 .
- ↑ Ej
- ↑ Desde un punto de vista teórico, tal mapeo existe, ya que ambosy son conjuntos infinitos numerables ; para fines prácticos,Se puede ir ampliando según sea necesario, recordando las asignaciones preestablecidas.en una tabla hash .
Referencias
- 1 2 Plotkin, Gordon D. (1970). Meltzer, B.; Michie, D. (eds.). "Una nota sobre la generalización inductiva". Machine Intelligence . 5 : 153–163 .
- 1 2 Plotkin, Gordon D. (1971). Meltzer, B.; Michie, D. (eds.). "Una nota adicional sobre la generalización inductiva". Machine Intelligence . 6 : 101–124 .
- ↑ 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
- Programación lógica inductiva
- Demostración automatizada de teoremas
- Lógica en informática
- Unificación (informática)