Progol es una implementación de programación lógica inductiva que combina la implicación inversa con la búsqueda de lo general a lo específico a través de un grafo de refinamiento . [ 1 ] [ 2 ]
Características
La implicación inversa se utiliza con las declaraciones de modo para derivar la cláusula inferior, la cláusula más específica dentro del lenguaje de modo que engloba un ejemplo dado. Esta cláusula se utiliza para guiar una búsqueda en el grafo de refinamiento.
A diferencia de las búsquedas del sistema de inferencia de modelos (MIS) de Ehud Shapiro y del algoritmo FOIL de J. Ross Quinlan , la búsqueda de Progol ofrece una garantía demostrable de devolver una solución con la máxima compresión en el espacio de búsqueda. Para ello, realiza una búsqueda admisible similar a A* , guiada por la compresión, sobre cláusulas que engloban la cláusula más específica.
Progol gestiona los datos ruidosos mediante una medida de compresión que equilibra la descripción de los errores con la longitud de la descripción de la hipótesis. Progol permite utilizar programas Prolog arbitrarios como conocimiento previo y cláusulas definidas arbitrarias como ejemplos.
Historia
Progol fue introducido por Stephen Muggleton en 1995. En 1996, Ashwin Srinivasan, Muggleton, Michael Sternberg y Ross King [ 3 ] lo utilizaron para predecir la actividad mutagénica en compuestos nitroaromáticos . Esto se consideró una aplicación trascendental para la programación lógica inductiva , ya que un algoritmo de aprendizaje inductivo de propósito general había descubierto resultados novedosos y significativos para los expertos en el dominio. [ 4 ]
Progol demostró ser muy influyente en el campo, y el sistema de programación lógica inductiva Aleph, ampliamente utilizado, se basa directamente en Progol. [ 5 ]
Referencias
- ↑ Muggleton, S. (1995). "Inverse entailment and progol". New Generation Computing . 13 ( 3–4 ): 245–286 . CiteSeerX 10.1.1.31.1630 . doi : 10.1007/BF03037227 . S2CID 12643399 .
- ↑ Muggleton, S. (1997). «Aprendizaje a partir de datos positivos». Programación lógica inductiva . Lecture Notes in Computer Science. Vol. 1314. pp. 358–376 . doi : 10.1007/3-540-63494-0_65 . ISBN 978-3-540-63494-2.
- ↑ Srinivasan, A.; Muggieton, SH; Sternberg, MJE; King, RD (1996). "Teorías de la mutagenicidad: un estudio de inducción de primer orden y basada en características" . Inteligencia Artificial . 84 ( 1–2 ): 357. doi : 10.1016/0004-3702(96)81369-5 . ISSN 0004-3702 .
- ↑ De Raedt, Luc (2008), Aprendizaje lógico y relacional , Berlín, Heidelberg: Springer, pág. 5, ISBN 978-3-540-20040-6
- ↑ 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. arXiv : 2008.07912 . doi : 10.1613/jair.1.13507 . ISSN 1076-9757 .
- Programación lógica inductiva