Articulo de referencia

Programación lógica inductiva

Una foto de una muestra familiar para un artículo sobre programación lógica inductiva. La programación lógica inductiva ( PLI ) es un subcampo de la inteligencia artificial simb...

Una foto de una muestra familiar para un artículo sobre programación lógica inductiva.

La programación lógica inductiva ( PLI ) es un subcampo de la inteligencia artificial simbólica que utiliza la programación lógica como representación uniforme de ejemplos, conocimientos previos e hipótesis. El término " inductivo " se refiere aquí a la inducción filosófica (es decir, proponer una teoría para explicar los hechos observados) en lugar de la matemática (es decir, demostrar una propiedad para todos los elementos de un conjunto bien ordenado). A partir de una codificación del conocimiento previo y un conjunto de ejemplos representados como una base de datos lógica de hechos, un sistema de PLI derivará un programa lógico hipotético que incluye todos los ejemplos positivos y ninguno de los negativos.

  • Esquema: ejemplos positivos + ejemplos negativos + conocimiento previohipótesis .

La bioinformática y el diseño de fármacos se han destacado como un área de aplicación principal de las técnicas de programación lógica inductiva. [ 1 ]

Historia

Basándose en trabajos anteriores sobre inferencia inductiva , Gordon Plotkin fue el primero en formalizar la inducción en un entorno clausal alrededor de 1970, adoptando un enfoque de generalización a partir de ejemplos. [ 2 ] [ 3 ] En 1981, Ehud Shapiro introdujo varias ideas que darían forma al campo en su nuevo enfoque de inferencia de modelos, un algoritmo que emplea refinamiento y retroceso para buscar una axiomatización completa de ejemplos dados. [ 2 ] [ 4 ] Su primera implementación fue el Sistema de Inferencia de Modelos en 1981: [ 5 ] [ 6 ] un programa Prolog que infería inductivamente programas de lógica de cláusulas de Horn a partir de ejemplos positivos y negativos. [ 2 ] El término Programación Lógica Inductiva fue introducido por primera vez en un artículo de Stephen Muggleton en 1990, definido como la intersección del aprendizaje automático y la programación lógica. [ 2 ] Muggleton y Wray Buntine introdujeron la invención de predicados y la resolución inversa en 1988. [ 2 ] [ 7 ]

Varios sistemas de programación lógica inductiva que resultaron influyentes aparecieron a principios de la década de 1990. FOIL , introducido por Ross Quinlan en 1990 [ 8 ] , se basó en la mejora de los algoritmos de aprendizaje proposicional AQ e ID3 . [ 9 ] Golem , introducido por Muggleton y Feng en 1990, retomó una forma restringida del algoritmo de mínima generalización de Plotkin. [ 9 ] [ 10 ] El sistema Progol , introducido por Muggleton en 1995, implementó por primera vez la implicación inversa e inspiró muchos sistemas posteriores. [ 9 ] [ 11 ] [ 12 ] Aleph , un descendiente de Progol introducido por Ashwin Srinivasan en 2001, sigue siendo uno de los sistemas más utilizados a fecha de 2022.. [ 13 ]

Casi al mismo tiempo, surgieron las primeras aplicaciones prácticas, particularmente en bioinformática , donde hacia el año 2000 la programación lógica inductiva se había aplicado con éxito al diseño de fármacos, la predicción de carcinogenicidad y mutagenicidad, y la elucidación de la estructura y función de las proteínas. [ 14 ] A diferencia del enfoque en la programación automática inherente a los primeros trabajos, estos campos utilizaron técnicas de programación lógica inductiva desde la perspectiva de la minería de datos relacionales . El éxito de esas aplicaciones iniciales y la falta de progreso en la recuperación de programas lógicos tradicionales de mayor tamaño moldearon el enfoque del campo. [ 15 ]

Recientemente, las tareas clásicas de la programación automatizada han vuelto a cobrar protagonismo, ya que la introducción del aprendizaje meta-interpretativo hace más factible la invención de predicados y el aprendizaje de programas recursivos. Esta técnica fue pionera con el sistema Metagol , presentado por Muggleton, Dianhuan Lin, Niels Pahlavi y Alireza Tamaddoni-Nezhad en 2014. [ 16 ] Esto permite que los sistemas ILP trabajen con menos ejemplos y ha dado lugar a éxitos en el aprendizaje de programas de transformación de cadenas, gramáticas de conjuntos de respuestas y algoritmos generales. [ 17 ]

Configuración

La programación lógica inductiva ha adoptado varios entornos de aprendizaje diferentes, los más comunes de los cuales son el aprendizaje por implicación y el aprendizaje por interpretaciones. [ 18 ] En ambos casos, la entrada se proporciona en forma de conocimiento previo B , una teoría lógica (comúnmente en forma de cláusulas utilizadas en la programación lógica ), así como ejemplos positivos y negativos, denotadosmi+{\textstyle E^{+}}ymi{\textstyle E^{-}}respectivamente. El resultado se da como una hipótesis H , que a su vez es una teoría lógica que normalmente consta de una o más cláusulas.

Los dos entornos difieren en el formato de los ejemplos presentados.

Aprender a partir de la implicación

A partir de 2022El aprendizaje por implicación es, con mucho, el entorno más popular para la programación lógica inductiva. [ 19 ] En este entorno, los ejemplos positivos y negativos se dan como conjuntos finitos.mi+{\textstyle E^{+}}ymi{\textstyle E^{-}}de literales de base positivos y negados , respectivamente. Una hipótesis correcta H es un conjunto de cláusulas que satisfacen los siguientes requisitos, donde el símbolo de torniquete{\displaystyle \models }representa la implicación lógica : [ 20 ] [ 21 ] [ 22 ]Lo completo:BHmi+Consistencia: BHmiFALSO{\displaystyle {\begin{array}{llll}{\text{Completitud:}}&B\cup H&\models &E^{+}\\{\text{Consistencia:}}&B\cup H\cup E^{-}&\not \models &{\textit {false}}\end{array}}}La completitud requiere que cualquier hipótesis H generada explique todos los ejemplos positivos.mi+{\textstyle E^{+}}y la consistencia prohíbe la generación de cualquier hipótesis H que sea inconsistente con los ejemplos negativos.mi{\textstyle E^{-}}, ambos dado el conocimiento previo B.

En el contexto del aprendizaje de conceptos de Muggleton, [ 23 ] "completitud" se denomina "suficiencia" y "consistencia" "consistencia fuerte". Se añaden dos condiciones más: " Necesidad ", que postula que B no implicami+{\textstyle E^{+}}, no impone una restricción sobre H , pero prohíbe cualquier generación de una hipótesis siempre que los hechos positivos sean explicables sin ella. "Consistencia débil", que establece que no se puede derivar ninguna contradicción deBH{\textstyle B\land H}, prohíbe la generación de cualquier hipótesis H que contradiga el conocimiento previo B. La consistencia débil está implícita en la consistencia fuerte; si no se dan ejemplos negativos, ambos requisitos coinciden. La consistencia débil es particularmente importante en el caso de datos ruidosos, donde no se puede garantizar la completitud ni la consistencia fuerte. [ 23 ]

Aprender de las interpretaciones

Al aprender de las interpretaciones, los ejemplos positivos y negativos se dan como un conjunto de estructuras de Herbrand completas o parciales , cada una de las cuales es en sí misma un conjunto finito de literales básicos. Se dice que tal estructura e es un modelo del conjunto de cláusulas.BH{\textstyle B\cup H}si por alguna sustituciónθ{\textstyle \theta }y cualquier cláusulahmiadbody{\textstyle \mathrm {head} \leftarrow \mathrm {body} }enBH{\textstyle B\cup H}de tal manera quebodyθmi{\textstyle \mathrm {cuerpo} \theta \subseteq e},hmiadθmi{\displaystyle \mathrm {head} \theta \subseteq e}También se cumple. El objetivo es entonces generar una hipótesis completa, lo que significa que cada ejemplo positivo es un modelo deBH{\textstyle B\cup H}y consistente, lo que significa que ningún ejemplo negativo es un modelo deBH{\textstyle B\cup H}. [ 24 ]

Enfoques para la PLI

Un sistema de programación lógica inductiva es un programa que toma como entrada teorías lógicas.B,mi+,mi{\displaystyle B,E^{+},E^{-}}y genera una hipótesis correcta H con respecto a las teorías.B,mi+,mi{\displaystyle B,E^{+},E^{-}}Un sistema está completo si y solo si para cualquier teoría lógica de entradaB,mi+,mi{\displaystyle B,E^{+},E^{-}}Cualquier hipótesis correcta H con respecto a estas teorías de entrada puede hallarse mediante su procedimiento de búsqueda de hipótesis. Los sistemas de programación lógica inductiva pueden dividirse, a grandes rasgos, en dos clases: sistemas basados ​​en búsqueda y sistemas meta-interpretativos.

Los sistemas basados ​​en búsqueda explotan el hecho de que el espacio de cláusulas posibles forma un retículo completo bajo la relación de subsunción , donde una cláusulado1{\textstyle C_{1}}subsume otra cláusulado2{\textstyle C_{2}}Si hay una sustituciónθ{\textstyle \theta }de tal manera quedo1θ{\textstyle C_{1}\theta }, el resultado de aplicarθ{\textstyle \theta }ado1{\textstyle C_{1}}, es un subconjunto dedo2{\textstyle C_{2}}Esta red se puede recorrer tanto de abajo hacia arriba como de arriba hacia abajo.

Los métodos ascendentes para buscar en el retículo de subsunción se han investigado desde el primer trabajo de Plotkin sobre la formalización de la inducción en la lógica clausal en 1970. [ 2 ] [ 3 ] Las técnicas utilizadas incluyen la generalización menos general, basada en la antiunificación , y la resolución inversa, basada en la inversión de la regla de inferencia de resolución .

Generalización menos general

Un algoritmo de generalización menos general toma como entrada dos cláusulasdo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}y produce la generalización menos general dedo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}, es decir, una cláusulado{\textstyle C}que englobado1{\textstyle C_{1}}ydo2{\textstyle C_{2}}y que está subsumido por cualquier otra cláusula que subsumado1{\textstyle C_{1}}ydo2{\textstyle C_{2}}. La generalización menos general se puede calcular calculando primero todas las selecciones dedo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}, que son pares de literales(L,METRO)(do1×do2){\displaystyle (L,M)\in (C_{1}\times C_{2})}compartiendo el mismo símbolo de predicado y el mismo estado de negación/no negación. Entonces, la generalización menos general se obtiene como la disyunción de las generalizaciones menos generales de las selecciones individuales, que se puede obtener mediante la anti-unificación sintáctica de primer orden . [ 25 ]

Para tener en cuenta el conocimiento previo, los sistemas de programación lógica inductiva emplean generalizaciones relativas mínimas generales , que se definen en términos de subsunción relativa a una teoría de fondo. En general, no se garantiza la existencia de tales generalizaciones relativas mínimas generales; sin embargo, si la teoría de fondo B es un conjunto finito de literales básicos , entonces la negación de B es en sí misma una cláusula. En este caso, una generalización relativa mínima general se puede calcular disyuntando la negación de B con ambasdo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}y luego calculando su generalización menos general como antes. [ 26 ]

Las generalizaciones relativamente menos generales son la base del sistema ascendente Golem . [ 9 ] [ 10 ]

Resolución inversa

La resolución inversa es una técnica de razonamiento inductivo que implica invertir el operador de resolución .

La resolución inversa toma información sobre la resolvente de un paso de resolución para calcular posibles cláusulas resolventes. En la programación lógica inductiva se utilizan dos tipos de operadores de resolución inversa: operadores V y operadores W. Un operador V toma cláusulasR{\textstyle R}ydo1{\textstyle C_{1}}como entrada y devuelve una cláusulado2{\textstyle C_{2}}de tal manera queR{\textstyle R}es el resolvente dedo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}Un operador W toma dos cláusulasR1{\textstyle R_{1}}yR2{\textstyle R_{2}}y devuelve tres cláusulasdo1{\textstyle C_{1}},do2{\textstyle C_{2}}ydo3{\textstyle C_{3}}de tal manera queR1{\textstyle R_{1}}es el resolvente dedo1{\textstyle C_{1}}ydo2{\textstyle C_{2}}yR2{\textstyle R_{2}}es el resolvente dedo2{\textstyle C_{2}}ydo3{\textstyle C_{3}}. [ 27 ]

La resolución inversa fue introducida por primera vez por Stephen Muggleton y Wray Buntine en 1988 para su uso en el sistema de programación lógica inductiva Cigol. [ 7 ] Para 1993, esto generó un auge de investigación sobre los operadores de resolución inversa y sus propiedades. [ 27 ]

Los sistemas ILP Progol, [ 12 ] Hail [ 28 ] e Imparo [ 29 ] encuentran una hipótesis H utilizando el principio de implicación inversa [ 12 ] para las teorías B , E , H :BHmiB¬mi¬H{\displaystyle B\land H\models E\iff B\land \neg E\models \neg H}Primero construyen una teoría intermedia F llamada teoría puente que satisface las condicionesB¬miF{\displaystyle B\land \neg E\models F}yF¬H{\displaystyle F\models \neg H}Entonces comoH¬F{\displaystyle H\models \neg F}Generalizan la negación de la teoría puente F con anti-implicación. [ 30 ] Sin embargo, la operación de anti-implicación es computacionalmente más costosa, ya que es altamente no determinista. Por lo tanto, se puede realizar una búsqueda de hipótesis alternativa utilizando la operación de subsunción inversa (anti-subsunción), que es menos no determinista que la anti-implicación.

Surgen dudas sobre la completitud de un procedimiento de búsqueda de hipótesis de un sistema específico de programación lógica inductiva. Por ejemplo, el procedimiento de búsqueda de hipótesis de Progol, basado en la regla de inferencia de implicación inversa, no es completo según el ejemplo de Yamamoto . [ 31 ] Por otro lado, Imparo es completo tanto por el procedimiento de anti-implicación [ 32 ] como por su procedimiento de subsunción inversa extendida [ 33 ] .

Aprendizaje metainterpretativo

En lugar de buscar explícitamente en el grafo de hipótesis, los sistemas metainterpretativos o de metanivel codifican el programa de programación lógica inductiva como un programa de lógica de metanivel que luego se resuelve para obtener una hipótesis óptima. Los formalismos utilizados para expresar la especificación del problema incluyen Prolog y programación de conjuntos de respuestas , y se utilizan sistemas Prolog y solucionadores de conjuntos de respuestas existentes para resolver las restricciones. [ 34 ]

Un ejemplo de un sistema basado en Prolog es Metagol , que se basa en un meta-intérprete en Prolog , mientras que ASPAL e ILASP se basan en una codificación del problema de programación lógica inductiva en programación de conjuntos de respuestas. [ 35 ]

Aprendizaje evolutivo

Los algoritmos evolutivos en ILP utilizan un enfoque basado en poblaciones para desarrollar hipótesis, refinándolas mediante selección, cruce y mutación. Se ha demostrado que métodos como EvoLearner superan a los enfoques tradicionales en conjuntos de datos de referencia de aprendizaje automático estructurado. [ 36 ]

Lista de implementaciones

  • 1BC y 1BC2: clasificadores bayesianos ingenuos de primer orden:
  • ACE (Motor Combinado)
  • Aleph
  • Atom archivado el 26 de marzo de 2014 en la Wayback Machine.
  • Claudien [ enlace eliminado ]
  • DL-Learner archivado el 15/08/2019 en Wayback Machine.
  • DMax
  • FastLAS (Aprendizaje rápido a partir de conjuntos de respuestas)
  • FOIL (Aprendizaje Inductivo de Primer Orden)
  • Golem
  • ILASP (Aprendizaje Inductivo de Programas de Conjuntos de Respuestas)
  • Imparo [ 32 ]
  • Inthelex (Aprendizaje incremental de teoría a partir de ejemplos) Archivado el 28/11/2011 en Wayback Machine.
  • Cal
  • Metagol
  • Mio [ enlace eliminado ]
  • MIS (Sistema de Inferencia de Modelos) por Ehud Shapiro
  • Ontolearn
  • Corchete
  • PROGOL
  • RSD
  • Warmr (ahora incluido en ACE)
  • ProGolem [ 37 ] [ 38 ]

Programación lógica inductiva probabilística

La programación lógica inductiva probabilística adapta el marco de la programación lógica inductiva al aprendizaje de programas lógicos probabilísticos . Puede considerarse una forma de aprendizaje relacional estadístico dentro del formalismo de la programación lógica probabilística. [ 39 ] [ 40 ]

Dado

  1. conocimientos previos como un programa lógico probabilístico B y
  2. un conjunto de ejemplos positivos y negativosmi+{\textstyle E^{+}}ymi{\textstyle E^{-}}

El objetivo de la programación lógica inductiva probabilística es encontrar un programa lógico probabilístico.H{\textstyle H}de tal manera que la probabilidad de ejemplos positivos segúnHB{\textstyle {H\cup B}}se maximiza y se minimiza la probabilidad de ejemplos negativos. [ 40 ]

Este problema tiene dos variantes: aprendizaje de parámetros y aprendizaje de estructura. En la primera, se proporciona la estructura (las cláusulas) de H y el objetivo es inferir las anotaciones de probabilidad de dichas cláusulas, mientras que en la segunda el objetivo es inferir tanto la estructura como los parámetros de probabilidad de H. Al igual que en la programación lógica inductiva clásica, los ejemplos pueden proporcionarse como ejemplos o como interpretaciones (parciales). [ 40 ]

Aprendizaje de parámetros

El aprendizaje de parámetros para lenguajes que siguen la semántica de distribución se ha realizado utilizando un algoritmo de expectativa-maximización o mediante descenso de gradiente . Un algoritmo de expectativa-maximización consiste en un ciclo en el que se repiten los pasos de expectativa y maximización. En el paso de expectativa, se calcula la distribución de las variables ocultas según los valores actuales de los parámetros de probabilidad, mientras que en el paso de maximización, se calculan los nuevos valores de los parámetros. Los métodos de descenso de gradiente calculan el gradiente de la función objetivo y modifican iterativamente los parámetros moviéndose en la dirección del gradiente. [ 40 ]

Estructura del aprendizaje

El aprendizaje de estructuras fue desarrollado por Daphne Koller y Avi Pfeffer en 1997, [ 41 ] donde los autores aprenden la estructura de reglas de primer orden con parámetros de incertidumbre probabilística asociados. Su enfoque implica generar el modelo gráfico subyacente en un paso preliminar y luego aplicar la maximización de la expectativa. [ 40 ]

En 2008, De Raedt et al. presentaron un algoritmo para realizar compresión de teoría en programas ProbLog , donde la compresión de teoría se refiere a un proceso de eliminar tantas cláusulas como sea posible de la teoría para maximizar la probabilidad de un conjunto dado de ejemplos positivos y negativos. No se puede agregar ninguna cláusula nueva a la teoría. [ 40 ] [ 42 ]

En ese mismo año, Meert, W. et al. introdujeron un método para aprender parámetros y estructura de programas lógicos probabilísticos básicos considerando las redes bayesianas equivalentes a ellos y aplicando técnicas para aprender redes bayesianas. [ 43 ] [ 40 ]

ProbFOIL, presentado por De Raedt e Ingo Thon en 2010, combinó el sistema de programación lógica inductiva FOIL con ProbLog . Las reglas lógicas se aprenden a partir de datos probabilísticos, en el sentido de que tanto los ejemplos como sus clasificaciones pueden ser probabilísticos. El conjunto de reglas debe permitir predecir la probabilidad de los ejemplos a partir de su descripción. En este contexto, los parámetros (los valores de probabilidad) son fijos y la estructura debe aprenderse. [ 44 ] [ 40 ]

En 2011, Elena Bellodi y Fabrizio Riguzzi introdujeron SLIPCASE, que realiza una búsqueda en haz entre programas de lógica probabilística refinando iterativamente teorías probabilísticas y optimizando los parámetros de cada teoría mediante maximización de la expectativa. [ 45 ] Su extensión SLIPCOVER, propuesta en 2014, utiliza cláusulas inferiores generadas como en Progol para guiar el proceso de refinamiento, reduciendo así el número de revisiones y explorando el espacio de búsqueda de manera más efectiva. Además, SLIPCOVER separa la búsqueda de cláusulas prometedoras de la de la teoría: el espacio de cláusulas se explora con una búsqueda en haz , mientras que el espacio de teorías se busca de forma voraz . [ 46 ] [ 40 ]

Véase también

Referencias

  1. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 822. doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  2. 1 2 3 4 5 6 Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Notas de clase en ciencias de la computación. Notas de clase en inteligencia artificial. Berlín Heidelberg: Springer. págs. 174–177 . ISBN  978-3-540-62927-6.
  3. 1 2 Plotkin, GD (1970). Métodos automáticos de inferencia inductiva (PDF) (PhD). Universidad de Edimburgo. hdl : 1842/6656 .
  4. Shapiro, Ehud Y. (1981). Inferencia inductiva de teorías a partir de hechos (PDF) (Informe técnico). Departamento de Ciencias de la Computación, Universidad de Yale. 192.Reimpreso en Lassez, J.-L.; Plotkin, G., eds. (1991). Lógica computacional: ensayos en honor a Alan Robinson . MIT Press. pp. 199–254 . ISBN  978-0-262-12156-9.
  5. Shapiro, Ehud Y. (1981). "El sistema de inferencia de modelos" (PDF) . Actas de la 7.ª conferencia internacional conjunta sobre inteligencia artificial . Vol. 2. Morgan Kaufmann. pág. 1064.  
  6. Shapiro, Ehud Y. (1983). Depuración algorítmica de programas . MIT Press. ISBN 0-262-19218-7.
  7. 1 2 Muggleton, SH; Buntine, W. (1988). "Invención automática de predicados de primer orden mediante la inversión de la resolución". Actas de la 5.ª Conferencia Internacional sobre Aprendizaje Automático . págs. 339–352 . doi : 10.1016/B978-0-934613-64-4.50040-2 . ISBN  978-0-934613-64-4.
  8. Quinlan, JR (agosto de 1990). "Aprendizaje de definiciones lógicas a partir de relaciones" . Machine Learning . 5 (3): 239– 266. doi : 10.1007/bf00117105 . ISSN 0885-6125 . 
  9. 1 2 3 4 Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Notas de clase en ciencias de la computación. Notas de clase en inteligencia artificial. Berlín Heidelberg: Springer. pp. 354–358 . ISBN  978-3-540-62927-6.
  10. 1 2 Muggleton, Stephen H.; Feng, Cao (1990). "Inducción eficiente de programas lógicos". En Arikawa, Setsuo; Goto, Shigeki; Ohsuga, Setsuo; Yokomori, Takashi (eds.). Teoría del aprendizaje algorítmico, Primer Taller Internacional, ALT '90, Tokio, Japón, 8-10 de octubre de 1990, Actas . Springer/Ohmsha. págs. 368–381 . 
    • Véase también Muggleton, Stephen H.; Feng, Cao (1992). «Inducción eficiente de programas lógicos» . En Muggleton, Stephen H. (ed.). Programación lógica inductiva . Serie APIS. Vol. 38. Academic Press. pág. 281. ISBN   978-0-12-509715-4.
  11. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 808. doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  12. 1 2 3 Muggleton, SH (1995). "Invertir la implicación y Progol". New Generation Computing . 13 ( 3– 4): 245– 286. CiteSeerX 10.1.1.31.1630 . doi : 10.1007/bf03037227 . S2CID 12643399 .  
  13. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 808. doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  14. ^ Džeroski, Sašo (2001). "Aplicaciones de minería de datos relacionales: descripción general". En Džeroski, Sašo; Lavrač, Nada (eds.). Minería de datos relacionales . Springer Berlín Heidelberg. págs. 339– 364. doi : 10.1007/978-3-662-04599-2_14 . ISBN  978-3-642-07604-6.
  15. De Raedt, Luc (2008), Aprendizaje lógico y relacional , Tecnologías cognitivas, Berlín, Heidelberg: Springer, pág. 14, Bibcode : 2008lrl..book.....D , doi : 10.1007/978-3-540-68856-3 , ISBN  978-3-540-20040-6
  16. Muggleton, Stephen H.; Lin, Dianhuan; Pahlavi, Niels; Tamaddoni-Nezhad, Alireza (2013-05-01). "Aprendizaje meta-interpretativo: aplicación a la inferencia gramatical". Machine Learning . 94 (1): 25– 49. doi : 10.1007/s10994-013-5358-3 . ISSN 0885-6125 . S2CID 254738603 .  
  17. Cropper, Andrew; Dumančić, Sebastijan; Evans, Richard; Muggleton, Stephen (2022). "Programación lógica inductiva a los 30" . Machine Learning . 111 (1): 147– 172. doi : 10.1007/s10994-021-06089-1 . ISSN 0885-6125 . 
  18. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 779–782 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  19. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 779–782 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  20. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 779–782 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  21. Džeroski, Sašo (1996). "Programación lógica inductiva y descubrimiento de conocimiento en bases de datos" (PDF) . En Fayyad, UM; Piatetsky-Shapiro, G.; Smith, P.; Uthurusamy, R. (eds.). Avances en el descubrimiento de conocimiento y la minería de datos . MIT Press. pp. 117–152 Véase §5.2.4. Archivado del original (PDF) el 27-09-2021 . Recuperado el 27-09-2021 . 
  22. De Raedt, Luc (1997). "Configuraciones lógicas para el aprendizaje de conceptos" . Inteligencia Artificial . 95 (1): 187– 201. doi : 10.1016/S0004-3702(97)00041-6 .
  23. 1 2 Muggleton, Stephen (1999). "Programación lógica inductiva: problemas, resultados y el desafío de aprender el lenguaje en lógica". Inteligencia artificial . 114 ( 1– 2): 283– 296. doi : 10.1016/s0004-3702(99)00067-3 .; aquí: Sec.2.1
  24. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 779–782 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  25. Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Notas de clase en informática. Notas de clase en inteligencia artificial. Berlín Heidelberg: Springer. pág. 255. ISBN  978-3-540-62927-6.
  26. Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Notas de clase en informática. Notas de clase en inteligencia artificial. Berlín Heidelberg: Springer. pág. 286. ISBN  978-3-540-62927-6.
  27. 1 2 Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Notas de clase en ciencias de la computación. Notas de clase en inteligencia artificial. Berlín Heidelberg: Springer. pág. 197. ISBN  978-3-540-62927-6.
  28. Ray, O.; Broda, K.; Russo, AM (2003). "Aprendizaje híbrido abductivo-inductivo" . Actas de la 13.ª conferencia internacional sobre programación lógica inductiva . LNCS. Vol. 2835. Springer. pp. 311–328 . CiteSeerX 10.1.1.212.6602 . doi : 10.1007/978-3-540-39917-9_21 . ISBN    978-3-540-39917-9.
  29. Kimber, T.; Broda, K.; Russo, A. (2009). «Inducción por fallo: aprendizaje de teorías de Horn conectadas» . Actas de la 10.ª conferencia internacional sobre programación lógica y razonamiento no monótono . LNCS. Vol. 575. Springer. pp. 169–181 . doi : 10.1007/978-3-642-04238-6_16 . ISBN   978-3-642-04238-6.
  30. Yamamoto, Yoshitaka; Inoue, Katsumi; Iwanuma, Koji (2012). "Subsunción inversa para inducción explicativa completa" (PDF) . Machine Learning . 86 : 115–139 . doi : 10.1007/s10994-011-5250-y . S2CID 11347607 . 
  31. Yamamoto, Akihiro (1997). "¿Qué hipótesis se pueden encontrar con implicación inversa?" . Conferencia Internacional sobre Programación Lógica Inductiva . Lecture Notes in Computer Science. Vol. 1297. Springer. pp. 296–308 . CiteSeerX 10.1.1.54.2975 . doi : 10.1007/3540635149_58 . ISBN    978-3-540-69587-5.
  32. 1 2 Kimber, Timothy (2012). Aprendizaje de programas lógicos definidos y normales por inducción al fallo (PhD). Imperial College London. ethos 560694. Archivado del original el 21-10-2022 . Recuperado el 21-10-2022 .
  33. Toth, David (2014). "Imparo se completa mediante subsunción inversa". arXiv : 1407.3836 [ cs.AI ].
  34. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 795. doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  35. Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 795. doi : 10.1613/jair.1.13507 . ISSN 1076-9757 . 
  36. Heindorf, Stefan; Blübaum, Lukas; Düsterhus, Nick; Werner, Till; Golani, Varun Nandkumar; Demir, Caglar; Ngonga Ngomo, Axel-Cyrille (2022). EvoLearner: Aprendizaje de lógicas de descripción con algoritmos evolutivos . WWW. arXiv : 2111.04879 .
  37. Muggleton, Stephen; Santos, Jose; Tamaddoni-Nezhad, Alireza (2009). "ProGolem: un sistema basado en la generalización mínima relativa" . Conferencia Internacional sobre Programación Lógica Inductiva . Springer. pp. 131–148 . CiteSeerX 10.1.1.297.7992 . doi : 10.1007/978-3-642-13840-9_13 . ISBN   978-3-642-13840-9.
  38. Santos, Jose; Nassif, Houssam; Page, David; Muggleton, Stephen; Sternberg, Mike (2012). "Identificación automatizada de características de interacciones proteína-ligando mediante programación lógica inductiva: un estudio de caso de unión de hexosa" . BMC Bioinformatics . 13 : 162. doi : 10.1186/1471-2105-13-162 . PMC 3458898. PMID 22783946 .  
  39. De Raedt, Luc; Kersting, Kristian (2008), Programación lógica inductiva probabilística , Springer Berlin Heidelberg, pp. 1–27 , doi : 10.1007/978-3-540-78652-8_1 , ISBN  978-3-540-78651-1
  40. 1 2 3 4 5 6 7 8 9 Riguzzi, Fabrizio; Bellodi , Elena; Zese, Riccardo (2014-09-18). "Una historia de la programación lógica inductiva probabilística" . Fronteras en Robótica e IA . 1. doi : 10.3389/frobt.2014.00006 . ISSN 2296-9144 . 
  41. Koller, Daphne; Pfeffer, Avi (agosto de 1997). Probabilidades de aprendizaje para reglas de primer orden ruidosas (PDF) . IJCAI .
  42. De Raedt, L.; Kersting, K.; Kimmig, A.; Revoredo, K.; Toivonen, H. (marzo de 2008). "Compresión de programas probabilísticos de Prolog" . Machine Learning . 70 ( 2–3 ): 151–168 . doi : 10.1007/s10994-007-5030-x . hdl : 10138/143971 . ISSN 0885-6125 . 
  43. Blockeel, Hendrik; Meert, Wannes (2007). "Hacia el aprendizaje de LPAD no recursivos mediante su transformación en redes bayesianas". En Stephen Muggleton; Ramon Otero; Alireza Tamaddoni-Nezhad (eds.). Programación lógica inductiva: 16.ª Conferencia Internacional, ILP 2006, Artículos seleccionados revisados . Springer Berlin Heidelberg. pp. 94–108 . doi : 10.1007/978-3-540-73847-3_16 . ISBN  978-3-540-73846-6.
  44. De Raedt, Luc; Thon, Ingo (2011). "Aprendizaje probabilístico de reglas". En Frasconi, Paolo; Lisi, Francesca A. (eds.). Programación lógica inductiva: 20.ª Conferencia Internacional, ILP 2010, Artículos revisados . Springer Berlin Heidelberg. pp. 47–58 . doi : 10.1007/978-3-642-21295-6_9 . ISBN  978-3-642-21294-9. S2CID 11727522 . 
  45. Bellodi, Elena; Riguzzi, Fabrizio (2012). «Aprendiendo la estructura de los programas de lógica probabilística». En Stephen H. Muggleton; Alireza Tamaddoni-Nezhad; Francesca A. Lisi (eds.). Programación lógica inductiva: 21.ª Conferencia Internacional, ILP 2011, Artículos seleccionados revisados . Springer Berlin Heidelberg. pp. 61–75 . doi : 10.1007/978-3-642-31951-8_10 . ISBN  978-3-642-31950-1.
  46. Bellodi, Elena; Riguzzi, Fabrizio (2014-01-15). "Aprendizaje de la estructura de programas lógicos probabilísticos mediante la búsqueda en el espacio de cláusulas". Theory and Practice of Logic Programming . 15 (2): 169– 212. arXiv : 1309.2080 . doi : 10.1017/s1471068413000689 . hdl : 11392/2269014 . ISSN 1471-0684 . S2CID 17669522 .  

 Este artículo incorpora texto de una obra de contenido libre . Licencia CC-BY 4.0 ( declaración de licencia/permiso ). Texto tomado de A History of Probabilistic Inductive Logic Programming , Fabrizio Riguzzi, Elena Bellodi y Riccardo Zese, Frontiers Media .

Lecturas adicionales

  • Muggleton, S.; De Raedt, L. (1994). "Programación lógica inductiva: teoría y métodos" . The Journal of Logic Programming . 19–20 : 629–679 . doi : 10.1016/0743-1066(94)90035-3 .
  • Lavrac, N.; Dzeroski, S. (1994). Programación lógica inductiva: técnicas y aplicaciones . Nueva York: Ellis Horwood. ISBN 978-0-13-457870-5Archivado del original el 6 de septiembre de 2004. Consultado el 22 de septiembre de 2004 .
  • Ejemplo visual de cómo se infiere la relación de abuelo/a mediante el sistema Atom . http://john-ahlgren.blogspot.com/2014/03/inductive-reasoning-visualized.html Archivado el 26 de marzo de 2014 en Wayback Machine
  • Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30: una nueva introducción" . Journal of Artificial Intelligence Research . 74 : 765-850. arXiv : 2008.07912 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 .