stringtranslate.com

Programación lógica inductiva

Una foto de una muestra familiar para el artículo de Programación Lógica Inductiva

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

La programación lógica inductiva es particularmente útil en bioinformática y procesamiento del lenguaje natural .

Historia

Basándose en trabajos anteriores sobre inferencia inductiva , Gordon Plotkin fue el primero en formalizar la inducción en un entorno clausular alrededor de 1970, adoptando un enfoque de generalización a partir de ejemplos. [1] [2] 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 rastreo hacia atrás para buscar una axiomatización completa de ejemplos dados. [1] [3] Su primera implementación fue el Sistema de Inferencia de Modelos en 1981: [4] [5] un programa Prolog que infería inductivamente programas lógicos de cláusulas de Horn a partir de ejemplos positivos y negativos. [1] 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. [1] Muggleton y Wray Buntine introdujeron la invención de predicados y la resolución inversa en 1988. [1] [6]

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 [7] se basó en la actualización de los algoritmos de aprendizaje proposicional AQ e ID3 . [8] Golem , introducido por Muggleton y Feng en 1990, volvió a una forma restringida del algoritmo de menor generalización de Plotkin. [8] [9] El sistema Progol , introducido por Muggleton en 1995, implementó por primera vez la implicación inversa e inspiró muchos sistemas posteriores. [8] [10] [11] Aleph , un descendiente de Progol introducido por Ashwin Srinivasan en 2001, sigue siendo uno de los sistemas más utilizados a partir de 2022. [ 10]

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. [12] A diferencia del enfoque en la programación automática inherente a los primeros trabajos, estos campos utilizaban técnicas de programación lógica inductiva desde un punto de vista de 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 más grandes dieron forma al enfoque del campo. [13]

Recientemente, las tareas clásicas de la programación automatizada han vuelto a cobrar protagonismo, ya que la introducción del aprendizaje metainterpretativo hace que la invención de predicados y el aprendizaje de programas recursivos sean más factibles. Esta técnica fue iniciada con el sistema Metagol introducido por Muggleton, Dianhuan Lin, Niels Pahlavi y Alireza Tamaddoni-Nezhad en 2014. [14] Esto permite que los sistemas ILP funcionen con menos ejemplos y ha traído éxitos en el aprendizaje de programas de transformación de cadenas, gramáticas de conjuntos de respuestas y algoritmos generales. [15]

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. [16] 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 programación lógica ), así como ejemplos positivos y negativos, denotados y respectivamente. La salida se da como una hipótesis H , en sí misma una teoría lógica que generalmente consta de una o más cláusulas.

Las dos configuraciones difieren en el formato de los ejemplos presentados.

Aprendiendo de la implicación

A partir de 2022 , el aprendizaje a partir de la implicación es, con mucho, la configuración más popular para la programación lógica inductiva. [ 16] En esta configuración, los ejemplos positivos y negativos se dan como conjuntos finitos y de literales fundamentales positivos y negados , respectivamente. Una hipótesis correcta H es un conjunto de cláusulas que satisfacen los siguientes requisitos, donde el símbolo del torniquete representa la implicación lógica : [16] [17] [18] La completitud requiere que cualquier hipótesis generada h explique todos los ejemplos positivos , y la consistencia prohíbe la generación de cualquier hipótesis h que sea inconsistente con los ejemplos negativos , ambos dados el conocimiento de fondo B.

En el contexto de aprendizaje de conceptos de Muggleton, [19] la "completitud" se denomina "suficiencia", y la "consistencia" "fuerte consistencia". Se añaden dos condiciones más: " Necesidad ", que postula que B no implica , no impone una restricción a 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 de , prohíbe la generación de cualquier hipótesis h que contradiga el conocimiento de fondo 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 y la consistencia fuerte. [19]

Aprendiendo de las interpretaciones

En el aprendizaje a partir de 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 fundamentales. Se dice que dicha estructura e es un modelo del conjunto de cláusulas si para cualquier sustitución y cualquier cláusula en tal que , también se cumple. El objetivo es entonces generar una hipótesis que sea completa, lo que significa que cada ejemplo positivo es un modelo de , y consistente, lo que significa que ningún ejemplo negativo es un modelo de . [16]

Enfoques de la ILP

Un sistema de programación lógica inductiva es un programa que toma como entrada teorías lógicas y genera como salida una hipótesis correcta H con respecto a las teorías . Un sistema está completo si y solo si para cualquier teoría lógica de entrada se puede encontrar cualquier hipótesis correcta H con respecto a estas teorías de entrada con su procedimiento de búsqueda de hipótesis. Los sistemas de programación lógica inductiva se pueden dividir aproximadamente en dos clases, sistemas basados ​​en búsqueda y sistemas metainterpretativos.

Los sistemas basados ​​en búsquedas aprovechan que el espacio de cláusulas posibles forma una red completa bajo la relación de subsunción , donde una cláusula subsume a otra cláusula si hay una sustitución tal que , el resultado de aplicar a , es un subconjunto de . Esta red se puede recorrer de abajo hacia arriba o de arriba hacia abajo.

Búsqueda de abajo hacia arriba

Los métodos de abajo hacia arriba para buscar en la red 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. [1] [20] 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áusulas y y genera como salida la generalización menos general de y , es decir, una cláusula que subsume a y , y que es subsumida por cualquier otra cláusula que subsume a y . La generalización menos general se puede calcular calculando primero todas las selecciones de y , que son pares de literales que comparten el mismo símbolo de predicado y estado negado/no negado. Luego, la generalización menos general se obtiene como la disyunción de las generalizaciones menos generales de las selecciones individuales, que se puede obtener por antiunificación sintáctica de primer orden . [21]

Para tener en cuenta el conocimiento de fondo, los sistemas de programación lógica inductiva emplean generalizaciones mínimas generales relativas , que se definen en términos de subsunción relativa a una teoría de fondo. En general, no se garantiza que existan tales generalizaciones mínimas generales relativas; sin embargo, si la teoría de fondo B es un conjunto finito de literales fundamentales , entonces la negación de B es en sí misma una cláusula. En este caso, se puede calcular una generalización mínima general relativa disjuntando la negación de B con y y luego calculando su generalización mínima general como antes. [22]

Las generalizaciones menos generales relativas son la base del sistema de abajo hacia arriba Golem . [8] [9]

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 el resolvente de un paso de resolución para calcular posibles cláusulas de resolución. 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áusulas y como entrada y devuelve una cláusula tal que es el resolvente de y . Un operador W toma dos cláusulas y y devuelve tres cláusulas , y tal que es el resolvente de y y es el resolvente de y . [23]

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. [6] En 1993, esto generó una oleada de investigaciones sobre los operadores de resolución inversa y sus propiedades. [23]

Búsqueda de arriba hacia abajo

Los sistemas ILP Progol, [11] Hail [24] e Imparo [25] encuentran una hipótesis H usando el principio de implicación inversa [11] para las teorías B , E , H : . Primero construyen una teoría intermedia F llamada teoría puente que satisface las condiciones y . Luego , como , generalizan la negación de la teoría puente F con anti-implicación. [26] 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 usando en su lugar la operación de subsunción inversa (anti-subsunción), que es menos no determinista que la anti-implicación.

Surgen cuestiones de completitud de un procedimiento de búsqueda de hipótesis de un sistema de programación lógica inductiva específico. Por ejemplo, el procedimiento de búsqueda de hipótesis Progol basado en la regla de inferencia de implicación inversa no está completo según el ejemplo de Yamamoto . [27] Por otra parte, Imparo está completo tanto por el procedimiento de anti-implicación [28] como por su procedimiento de subsunción inversa extendida [29] .

Aprendizaje metainterpretativo

En lugar de buscar explícitamente el gráfico de hipótesis, los sistemas metainterpretativos o de metanivel codifican el programa de programación lógica inductiva como un programa lógico 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 la programación de conjuntos de respuestas , con los sistemas Prolog existentes y los solucionadores de conjuntos de respuestas utilizados para resolver las restricciones. [30]

Un ejemplo de un sistema basado en Prolog es Metagol, que se basa en un metainté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. [30]

Lista de implementaciones

Programación lógica inductiva probabilística

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

Dado

  1. conocimientos previos como un programa de lógica probabilística B , y
  2. un conjunto de ejemplos positivos y negativos y

El objetivo de la programación lógica inductiva probabilística es encontrar un programa lógico probabilístico tal que la probabilidad de ejemplos positivos según se maximice y la probabilidad de ejemplos negativos se minimice. [34]

Este problema tiene dos variantes: aprendizaje de parámetros y aprendizaje de estructura. En la primera, se da la estructura (las cláusulas) de H y el objetivo es inferir las anotaciones de probabilidad de las cláusulas dadas, 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 se pueden dar como ejemplos o como interpretaciones (parciales). [34]

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 por descenso de gradiente . Un algoritmo de expectativa-maximización consiste en un ciclo en el que los pasos de expectativa y maximización se realizan repetidamente. En el paso de expectativa, la distribución de las variables ocultas se calcula de acuerdo con 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. [34]

Aprendizaje estructurado

El aprendizaje de estructuras fue desarrollado por Daphne Koller y Avi Pfeffer en 1997 [35] , donde los autores aprendieron 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 expectativas. [34]

En 2008, De Raedt et al. presentaron un algoritmo para realizar la compresión de teorías en programas ProbLog , donde la compresión de teorías se refiere a un proceso de eliminación de la mayor cantidad posible de cláusulas 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. [34] [36]

En el 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. [37] [34]

ProbFOIL, introducido por De Raedt e Ingo Thon en 2010, combina 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 mismos como sus clasificaciones pueden ser probabilísticas. 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. [38] [34]

En 2011, Elena Bellodi y Fabrizio Riguzzi introdujeron SLIPCASE, que realiza una búsqueda de haz entre programas de lógica probabilística refinando iterativamente las teorías probabilísticas y optimizando los parámetros de cada teoría utilizando la maximización de expectativas. [39] 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 de haz , mientras que el espacio de teorías se busca con avidez . [40] [34]

Véase también

Referencias

  1. ^ abcdef Nienhuys-Cheng, Shan-hwei; Lobo, Ronald de (1997). Fundamentos de la programación lógica inductiva . Apuntes de conferencias sobre informática Apuntes de conferencias sobre inteligencia artificial. Berlín Heidelberg: Springer. págs. 174-177. ISBN 978-3-540-62927-6.
  2. ^ Plotkin, GD (1970). Métodos automáticos de inferencia inductiva (PDF) (PhD). Universidad de Edimburgo. hdl :1842/6656.
  3. ^ 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. págs. 199–254. ISBN. 978-0-262-12156-9.
  4. ^ Shapiro, Ehud Y. (1981). "El sistema de inferencia de modelos" (PDF) . Actas de la 7.ª conferencia conjunta internacional sobre inteligencia artificial . Vol. 2. Morgan Kaufmann. pág. 1064.
  5. ^ Shapiro, Ehud Y. (1983). Depuración de programas algorítmicos . MIT Press. ISBN 0-262-19218-7.
  6. ^ ab Muggleton, SH; Buntine, W. (1988). "Invención de predicados de primer orden por parte de máquinas mediante resolución invertida". 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.
  7. ^ Quinlan, JR (agosto de 1990). "Aprendizaje de definiciones lógicas a partir de relaciones". Aprendizaje automático . 5 (3): 239–266. doi : 10.1007/bf00117105 . ISSN  0885-6125.
  8. ^ abcd Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Apuntes de clases de informática. Apuntes de clases de inteligencia artificial. Berlín Heidelberg: Springer. pp. 354–358. ISBN 978-3-540-62927-6.
  9. ^ ab Muggleton, Stephen H.; Feng, Cao (1990). Arikawa, Setsuo; Goto, Shigeki; Ohsuga, Setsuo; Yokomori, Takashi (eds.). "Inducción eficiente de programas lógicos". Teoría del aprendizaje algorítmico, Primer taller internacional, ALT '90, Tokio, Japón, 8-10 de octubre de 1990, Actas . Springer/Ohmsha: 368-381.
  10. ^ ab Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30 años: una nueva introducción". Revista de investigación en inteligencia artificial . 74 : 808. arXiv : 2008.07912 . doi : 10.1613/jair.1.13507 . ISSN  1076-9757.
  11. ^ abc Muggleton, SH (1995). "Inversión de implicación y Progol". Computación de nueva generación . 13 (3–4): 245–286. CiteSeerX 10.1.1.31.1630 . doi :10.1007/bf03037227. S2CID  12643399. 
  12. ^ Džeroski, Sašo (2001), Džeroski, Sašo; Lavrač, Nada (eds.), "Aplicaciones de minería de datos relacionales: descripción general", Minería de datos relacionales , Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 339–364, doi :10.1007/978-3-662-04599-2_14, ISBN 978-3-642-07604-6, consultado el 27 de noviembre de 2023
  13. ^ De Raedt, Luc (2008), Aprendizaje lógico y relacional, Tecnologías cognitivas, Berlín, Heidelberg: Springer, p. 14, Bibcode :2008lrl..book.....D, doi :10.1007/978-3-540-68856-3, ISBN 978-3-540-20040-6
  14. ^ Muggleton, Stephen H.; Lin, Dianhuan; Pahlavi, Niels; Tamaddoni-Nezhad, Alireza (1 de mayo de 2013). "Aprendizaje metainterpretativo: aplicación a la inferencia gramatical". Aprendizaje automático . 94 (1): 25–49. doi :10.1007/s10994-013-5358-3. ISSN  0885-6125. S2CID  254738603.
  15. ^ Cropper, Andrew; Dumančić, Sebastijan; Evans, Richard; Muggleton, Stephen (2022). "Programación lógica inductiva a los 30". Aprendizaje automático . 111 (1): 147–172. doi : 10.1007/s10994-021-06089-1 . ISSN  0885-6125.
  16. ^ abcd Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30 años: una nueva introducción". Revista de investigación en inteligencia artificial . 74 : 779–782. arXiv : 2008.07912 . doi : 10.1613/jair.1.13507 . ISSN  1076-9757.
  17. ^ 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. págs. 117–152 Véase §5.2.4. Archivado desde el original (PDF) el 2021-09-27 . Consultado el 2021-09-27 .
  18. ^ 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.
  19. ^ ab Muggleton, Stephen (1999). "Programación lógica inductiva: problemas, resultados y el desafío de aprender lenguaje en lógica". Inteligencia artificial . 114 (1–2): 283–296. doi :10.1016/s0004-3702(99)00067-3.; aquí: Sec.2.1
  20. ^ Plotkin, GD (1970). Métodos automáticos de inferencia inductiva (PDF) (PhD). Universidad de Edimburgo. hdl :1842/6656.
  21. ^ Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Apuntes de clases de informática. Apuntes de clases de inteligencia artificial. Berlín Heidelberg: Springer. p. 255. ISBN 978-3-540-62927-6.
  22. ^ Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Apuntes de clases de informática. Apuntes de clases de inteligencia artificial. Berlín Heidelberg: Springer. p. 286. ISBN 978-3-540-62927-6.
  23. ^ ab Nienhuys-Cheng, Shan-hwei; Wolf, Ronald de (1997). Fundamentos de la programación lógica inductiva . Apuntes de clases de informática. Apuntes de clases de inteligencia artificial. Berlín Heidelberg: Springer. p. 197. ISBN 978-3-540-62927-6.
  24. ^ Ray, O.; Broda, K.; Russo, AM (2003). "Aprendizaje inductivo abductivo híbrido". Actas de la 13.ª conferencia internacional sobre programación lógica inductiva . LNCS. Vol. 2835. Springer. págs. 311–328. CiteSeerX 10.1.1.212.6602 . doi :10.1007/978-3-540-39917-9_21. ISBN .  978-3-540-39917-9.
  25. ^ Kimber, T.; Broda, K.; Russo, A. (2009). "Inducción en caso de 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. págs. 169–181. doi :10.1007/978-3-642-04238-6_16. ISBN . 978-3-642-04238-6.
  26. ^ Yamamoto, Yoshitaka; Inoue, Katsumi; Iwanuma, Koji (2012). "Subsunción inversa para una inducción explicativa completa" (PDF) . Aprendizaje automático . 86 : 115–139. doi :10.1007/s10994-011-5250-y. S2CID  11347607.
  27. ^ Yamamoto, Akihiro (1997). "¿Qué hipótesis se pueden encontrar con implicación inversa?". International Conference on Inductive Logic Programming . 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.
  28. ^ ab Kimber, Timothy (2012). Aprendizaje de programas lógicos definidos y normales por inducción en caso de fallo (PhD). Imperial College London. ethos 560694. Archivado desde el original el 2022-10-21 . Consultado el 2022-10-21 .
  29. ^ Toth, David (2014). "El imparo se completa por subsunción inversa". arXiv : 1407.3836 [cs.AI].
  30. ^ ab Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación lógica inductiva a los 30 años: una nueva introducción". Revista de investigación en inteligencia artificial . 74 : 795. arXiv : 2008.07912 . doi : 10.1613/jair.1.13507 . ISSN  1076-9757.
  31. ^ Muggleton, Stephen; Santos, Jose; Tamaddoni-Nezhad, Alireza (2009). "ProGolem: un sistema basado en 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.
  32. ^ Santos, Jose; Nassif, Houssam; Page, David; Muggleton, Stephen; Sternberg, Mike (2012). "Identificación automatizada de características de interacciones proteína-ligando usando programación lógica inductiva: un estudio de caso de unión de hexosas". BMC Bioinformatics . 13 : 162. doi : 10.1186/1471-2105-13-162 . PMC 3458898 . PMID  22783946. 
  33. ^ De Raedt, Luc; Kersting, Kristian (2008), Programación lógica inductiva probabilística, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 1–27, doi :10.1007/978-3-540-78652-8_1, ISBN 978-3-540-78651-1, consultado el 9 de diciembre de 2023
  34. ^ abcdefghi Riguzzi, Fabrizio; Bellodi, Elena; Zese, Riccardo (18 de septiembre de 2014). "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.
  35. ^ Koller, Daphne; Pfeffer, Avi (agosto de 1997). Probabilidades de aprendizaje para reglas ruidosas de primer orden (PDF) . IJCAI .
  36. ^ De Raedt, L.; Kersting, K.; Kimmig, A.; Revoredo, K.; Toivonen, H. (marzo de 2008). "Compresión de programas probabilísticos en Prolog". Aprendizaje automático . 70 (2–3): 151–168. doi :10.1007/s10994-007-5030-x. ISSN  0885-6125.
  37. ^ Blockeel, Hendrik; Meert, Wannes (2007), "Hacia el aprendizaje de LPAD no recursivos transformándolos en redes bayesianas", Inductive Logic Programming , Lecture Notes in Computer Science, vol. 4455, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 94–108, doi :10.1007/978-3-540-73847-3_16, ISBN 978-3-540-73846-6, consultado el 9 de diciembre de 2023
  38. ^ De Raedt, Luc; Thon, Ingo (2011), Frasconi, Paolo; Lisi, Francesca A. (eds.), "Aprendizaje de reglas probabilísticas", Inductive Logic Programming , vol. 6489, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 47–58, doi :10.1007/978-3-642-21295-6_9, ISBN 978-3-642-21294-9, S2CID  11727522 , consultado el 9 de diciembre de 2023
  39. ^ Bellodi, Elena; Riguzzi, Fabrizio (2012), "Aprendizaje de la estructura de programas lógicos probabilísticos", Inductive Logic Programming , Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 61–75, doi :10.1007/978-3-642-31951-8_10, ISBN 978-3-642-31950-1, consultado el 9 de diciembre de 2023
  40. ^ Bellodi, Elena; Riguzzi, Fabrizio (15 de enero de 2014). "Aprendizaje de estructuras de programas lógicos probabilísticos mediante búsqueda en el espacio de cláusulas". Teoría y práctica de la programación lógica . 15 (2): 169–212. arXiv : 1309.2080 . doi :10.1017/s1471068413000689. 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 .

Lectura adicional