stringtranslate.com

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 una inducción filosófica (es decir, sugerir una teoría para explicar los hechos observados) más que matemática (es decir, demostrar 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 incluye 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

Sobre la base de 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. [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 para buscar una axiomatización completa de ejemplos dados. [1] [3] Su primera implementación fue el Sistema de Inferencia Modelo 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]

A principios de la década de 1990 aparecieron varios sistemas de programación de lógica inductiva que resultaron influyentes. 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 mínima generalización de Plotkin. [8] [9] El sistema Progol , introducido por Muggleton en 1995, implementó por primera vez la vinculació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 en 2022 . [10]

Aproximadamente al mismo tiempo, surgieron las primeras aplicaciones prácticas, particularmente en bioinformática , donde en 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 utilizaron 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 amplios dieron forma al enfoque del campo. [13]

Recientemente, las tareas clásicas de la programación automatizada han vuelto a ser foco de atención, a medida 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 pionera 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 generó éxito en el aprendizaje de programas de transformación de cadenas y 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 son el aprendizaje a partir de la vinculación y el aprendizaje a partir de las 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. El resultado se da como una hipótesis H , en sí misma 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.

Aprendiendo de la vinculación

A partir de 2022 , el aprendizaje por vinculación es, con diferencia, el entorno más popular para la programación lógica inductiva. [16] En este contexto, los ejemplos positivos y negativos se dan como conjuntos finitos y de literales terreno 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 vinculación lógica : [16] [17] [18]

La integridad requiere que cualquier hipótesis hhB.

En el marco del aprendizaje de conceptos de Muggleton, [19] la "integridad" se denomina "suficiencia" y la "consistencia" como "fuerte coherencia". Se añaden dos condiciones más: " Necesidad ", que postula que B no implica , 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. . La "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 previo B . La consistencia débil implica consistencia fuerte; si no se dan ejemplos negativos, ambos requisitos coinciden. La coherencia débil es particularmente importante en el caso de datos ruidosos, donde no se puede garantizar la integridad y la coherencia sólida. [19]

Aprendiendo 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 fundamentales. Se dice que tal estructura e es un modelo del conjunto de cláusulas si para cualquier sustitución y cualquier cláusula tal que , también se cumpla. El objetivo entonces es 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 . [dieciséis]

Enfoques para la ILP

Un sistema de programación de lógica inductiva es un programa que toma como entrada teorías lógicas y genera una hipótesis correcta H con respecto a las teorías . Un sistema es completo si y sólo 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 de lógica inductiva se pueden dividir a grandes rasgos en dos clases, sistemas basados ​​en búsqueda y sistemas metainterpretativos.

Los sistemas basados ​​en búsqueda aprovechan que el espacio de posibles cláusulas 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 atravesar de abajo hacia arriba o de arriba hacia abajo.

Búsqueda ascendente

Los métodos ascendentes 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 lógica clausal en 1970. [1] [20] Las técnicas utilizadas incluyen la generalización mínima, basada en la antiunificación , y la resolución inversa, basada en invirtiendo la regla de inferencia de resolución .

Generalización menos general

Un algoritmo de generalización mínima general toma como entrada dos cláusulas y y genera la generalización mínima general de y , es decir, una cláusula que incluye y , y que está incluida en cualquier otra cláusula que incluye 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. Entonces, la generalización mínima general se obtiene como la disyunción de las generalizaciones mínimas generales de las selecciones individuales, que puede obtenerse mediante antiunificación sintáctica de primer orden . [21]

Para dar cuenta del conocimiento previo, los sistemas de programación lógica inductiva emplean generalizaciones relativamente mínimas , que se definen en términos de subsunción en relación con una teoría básica. En general, no se garantiza que existan tales generalizaciones relativamente mínimas; 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 general mínima relativa separando la negación de B con ambos y luego calculando su generalización mínima general como antes. [22]

Las generalizaciones relativamente menos generales son la base del sistema ascendente 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 resolutivo 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 que resuelve y . Un operador W toma dos cláusulas y devuelve tres cláusulas , y las que resuelven y y son las que resuelven 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 de 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 Impparo [25] encuentran una hipótesis H utilizando el principio de vinculación inversa [11] para las teorías B , E , H :. Primero construyen una teoría intermedia F llamada teoría del puente que satisface las condiciones y . Luego, como , generalizan la negación de la teoría del puente F con anti-vinculación. [26] Sin embargo, la operación de anti-vinculació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 (antisubsunción), que es menos no determinista que la antivinculación.

Surgen dudas sobre la integridad de un procedimiento de búsqueda de hipótesis de un sistema de programación de lógica inductiva específico. Por ejemplo, el procedimiento de búsqueda de hipótesis de Progol basado en la regla de inferencia de vinculación inversa no se completa con el ejemplo de Yamamoto . [27] Por otro lado, el Impparo se completa tanto por el procedimiento anti-vinculació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 de 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 programación de conjuntos de respuestas , con sistemas Prolog existentes y solucionadores de conjuntos de respuestas utilizados para resolver las restricciones. [30]

Y 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 la programación de conjuntos de respuestas. [30]

Lista de implementaciones

Programación lógica inductiva probabilística.

La programación de lógica inductiva probabilística adapta el entorno de la programación de lógica inductiva al aprendizaje de programas de lógica probabilística . 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. conocimiento previo 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 se maximice la probabilidad de ejemplos positivos y se minimice la probabilidad de ejemplos negativos. [34]

Este problema tiene dos variantes: aprendizaje de parámetros y aprendizaje de estructuras. En el primero, se da la estructura (las cláusulas) de H y el objetivo es inferir las anotaciones de probabilidades de las cláusulas dadas, mientras que en el segundo 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 mediante el uso de un algoritmo de maximización de expectativas o mediante descenso de gradiente . Un algoritmo de maximización de expectativas 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 que se mueven en la dirección del gradiente. [34]

Aprendizaje estructurado

El aprendizaje de estructuras fue iniciado por Daphne Koller y Avi Pfeffer en 1997, [35] donde los autores aprenden la estructura de reglas de primer orden con parámetros de incertidumbre probabilísticos 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. presentó un algoritmo para realizar la compresión teórica en programas ProbLog , donde la compresión teórica se refiere a un proceso de eliminar tantas cláusulas como sea posible de la teoría para maximizar la probabilidad [ aclarar ] . No se puede añadir ninguna cláusula nueva a la teoría. [34]

Ese mismo año, Meert, W. et al. introdujo un método para aprender parámetros y estructura de programas de lógica probabilística terrestre considerando las redes bayesianas equivalentes a ellos y aplicando técnicas para aprender redes bayesianas. [36] [34]

ProbFOIL, presentado por De Raedt e Ingo Thon en 2010, combinó el sistema de programación de 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ísticos. El conjunto de reglas debe permitir predecir la probabilidad de los ejemplos a partir de su descripción. En este entorno, los parámetros (los valores de probabilidad) son fijos y es necesario aprender la estructura. [37] [34]

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

Ver 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: Spinger. págs. 174-177. ISBN 978-3-540-62927-6.
  2. ^ Plotkin, GD (1970). Métodos automáticos de inferencia inductiva (PDF) (Doctor). Universidad de Edimburgo. hdl : 1842/6656.
  3. ^ Shapiro, Ehud Y. (1981). Inferencia inductiva de teorías a partir de hechos (PDF) (Reporte 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 . Prensa del MIT. 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 séptima conferencia internacional conjunta sobre inteligencia artificial . vol. 2. Morgan Kaufmann. pag. 1064.
  5. ^ Shapiro, Ehud Y. (1983). Depuración algorítmica de programas . Prensa del MIT. ISBN 0-262-19218-7.
  6. ^ ab Muggleton, SH; Buntine, W. (1988). "Máquina de invención de predicado de primer orden invirtiendo resolución". Actas de la Quinta 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). "Aprender 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; 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: Spinger. págs. 354–358. ISBN 978-3-540-62927-6.
  9. ^ ab Muggleton, Stephen H.; Feng, Cao (1990). Arikawa, Setsuo; Ir a, Shigeki; Ohsuga, Setsuo; Yokomori, Takashi (eds.). "Inducción eficiente de programas logicos". Teoría del aprendizaje algorítmico, primer taller internacional, ALT '90, Tokio, Japón, 8 al 10 de octubre de 1990, Actas . Springer/Ohmsha: 368–381.
  10. ^ ab Cropper, Andrew; Dumančić, Sebastijan (15 de junio de 2022). "Programación de lógica inductiva a los 30: 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). "Vinculación invertida 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, recuperado 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..libro.....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. ^ Recortador, Andrew; Dumancic, Sebastijan; Evans, Ricardo; Muggleton, Stephen (2022). "Programación de 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, Andrés; Dumančić, Sebastijan (15 de junio de 2022). "Programación de lógica inductiva a los 30: 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 de 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 descubrimiento de conocimiento y minería de datos . Prensa del MIT. Págs. 117–152 Véase §5.2.4. Archivado desde el original (PDF) el 27 de septiembre de 2021 . Consultado el 27 de septiembre de 2021 .
  18. ^ De Raedt, Luc (1997). "Ajustes lógicos 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 un lenguaje en lógica". Inteligencia artificial . 114 (1–2): 283–296. doi :10.1016/s0004-3702(99)00067-3.; aquí: Apartado 2.1
  20. ^ Plotkin, GD (1970). Métodos automáticos de inferencia inductiva (PDF) (Doctor). Universidad de Edimburgo. hdl : 1842/6656.
  21. ^ 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: Spinger. pag. 255.ISBN _ 978-3-540-62927-6.
  22. ^ 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: Spinger. pag. 286.ISBN _ 978-3-540-62927-6.
  23. ^ ab 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: Spinger. pag. 197.ISBN _ 978-3-540-62927-6.
  24. ^ Rayo, O.; Broda, K.; Ruso, AM (2003). "Aprendizaje inductivo abductivo híbrido". Actas de la 13ª conferencia internacional sobre programación lógica inductiva . LNCS. vol. 2835. Saltador. 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.; Ruso, A. (2009). "Inducción al fracaso: aprendizaje conectado a las teorías de Horn". Actas de la décima conferencia internacional sobre programación lógica y razonamiento no monótono . LNCS. vol. 575. Saltador. 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 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 la vinculación inversa?". Congreso Internacional sobre Programación Lógica Inductiva . Apuntes de conferencias sobre informática. vol. 1297. Saltador. págs. 296–308. CiteSeerX 10.1.1.54.2975 . doi :10.1007/3540635149_58. ISBN  978-3-540-69587-5.
  28. ^ ab Kimber, Timoteo (2012). Aprendizaje de programas de lógica definida y normal mediante inducción al fallo (Doctor). Colegio Imperial de Londres. ethos 560694. Archivado desde el original el 21 de octubre de 2022 . Consultado el 21 de octubre de 2022 .
  29. ^ Toth, David (2014). "El impparo 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 de lógica inductiva a los 30: 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, José; Tamaddoni-Nezhad, Alireza (2009). "ProGolem: un sistema basado en una generalización relativamente mínima". Congreso Internacional sobre Programación Lógica Inductiva . Saltador. págs. 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, José; Nassif, Houssam; Página, David; Muggleton, Stephen; Sternberg, Mike (2012). "Identificación automatizada de características de las interacciones proteína-ligando mediante programación lógica inductiva: un estudio de caso de unión de hexosa". Bioinformática BMC . 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, recuperado 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 inteligencia artificial . 1 . doi : 10.3389/frobt.2014.00006 . ISSN  2296-9144.
  35. ^ Koller, Dafne; Pfeffer, Avi (agosto de 1997). Probabilidades de aprendizaje de reglas ruidosas de primer orden (PDF) . IJCAI .
  36. ^ Blockeel, Hendrik; Meert, Wannes (2007), "Hacia el aprendizaje de LPAD no recursivos transformándolos en redes bayesianas", Programación lógica inductiva , Apuntes de conferencias sobre informática, Berlín, Heidelberg: Springer Berlin Heidelberg, vol. 4455, págs. 94-108, doi :10.1007/978-3-540-73847-3_16, ISBN 978-3-540-73846-6, recuperado el 9 de diciembre de 2023
  37. ^ De Raedt, Luc; Thon, Ingo (2011), Frasconi, Paolo; Lisi, Francesca A. (eds.), "Aprendizaje de reglas probabilísticas", Programación lógica inductiva , Berlín, Heidelberg: Springer Berlin Heidelberg, vol. 6489, 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
  38. ^ Bellodi, Elena; Riguzzi, Fabrizio (2012), "Aprendizaje de la estructura de programas lógicos probabilísticos", Programación lógica inductiva , 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, recuperado el 9 de diciembre de 2023
  39. ^ Bellodi, Elena; Riguzzi, Fabrizio (15 de enero de 2014). "Aprendizaje estructural de programas de lógica probabilística mediante la 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 un trabajo de contenido gratuito . Licenciado bajo CC-BY 4.0 (declaración de licencia/permiso). Texto tomado de Una historia de la programación lógica inductiva probabilística, Fabrizio Riguzzi, Elena Bellodi y Riccardo Zese, Frontiers Media .

Otras lecturas