Programación lógica inductiva

Ajustar Compartir Imprimir Citar

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. 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 negativo.

La programación lógica inductiva es particularmente útil en bioinformática y procesamiento de lenguaje natural. Gordon Plotkin y Ehud Shapiro sentaron las bases teóricas iniciales para el aprendizaje automático inductivo en un entorno lógico. Shapiro construyó su primera implementación (Model Inference System) en 1981: un programa Prolog que infirió inductivamente programas lógicos a partir de ejemplos positivos y negativos. La primera implementación completa de primer orden de la programación lógica inductiva fue Theorist en 1986. El término Programación lógica inductiva se introdujo por primera vez en un artículo de Stephen Muggleton en 1991. Muggleton también fundó la conferencia internacional anual sobre Programación Lógica Inductiva, presentó las ideas teóricas de Invención de Predicados, Resolución Inversa y Implicación Inversa. Muggleton implementó la implicación inversa primero en el sistema PROGOL. El término "inductivo" aquí se refiere a la inducción filosófica (es decir, sugerir una teoría para explicar los hechos observados) en lugar de matemática (es decir, probar una propiedad para todos los miembros de un conjunto bien ordenado).

Definición formal

El conocimientos básicos se da como una teoría lógica B, comúnmente en forma de cláusulas de Cuerno utilizadas en programación lógica. El positivo y negativo ejemplos se dan como conjunción y de literales de tierra no negativo y negado, respectivamente. A hipótesis correcta h es una propuesta lógica que satisface los siguientes requisitos.

"Necesidad"no impone una restricción h, pero prohíbe cualquier generación de una hipótesis mientras los hechos positivos sean explicables sin ella. "Suficiencia" requiere cualquier hipótesis generada h para explicar todos los ejemplos positivos . "Congruencia débil" prohíbe la generación de cualquier hipótesis h que contradice el conocimiento de fondo B. "Gran consistencia" también prohíbe la generación de cualquier hipótesis h que es incompatible con los ejemplos negativos , dada la experiencia B; implica "Congruencia débil"; si no se dan ejemplos negativos, ambos requisitos coinciden. Džeroski sólo requiere "Suficiencia" (llamado "Completeness" allí) y "Gran consistencia".

Ejemplo

Assumed family relations in section "Example"

El siguiente ejemplo bien conocido sobre el aprendizaje de definiciones de relaciones familiares utiliza las abreviaturas

par: padre, Fem: hembra, dau: hija, g: George., h: Helen, m: Mary., t: Tom, n: Nancy, y e: Eve.

Comienza desde el conocimiento previo (cf. imagen)

,

los ejemplos positivos

,

y la proposición trivial verdadero para denotar la ausencia de ejemplos negativos.

La "generalización relativa mínima general de Plotkin (rlgg)" Se utilizará un enfoque de programación lógica inductiva para obtener una sugerencia sobre cómo definir formalmente la relación hija dau.

Este enfoque utiliza los siguientes pasos.

La cláusula resultante del Cuerno es la hipótesis h obtenido por el enfoque rlgg. Ignorando los hechos de conocimiento de fondo, la cláusula dice informalmente " se llama hija de si es el padre de y femenino", que es una definición comúnmente aceptada.

En cuanto a los requisitos anteriores, "Necesidad" estaba satisfecho porque el predicado dau no aparece en el conocimiento de fondo, que por lo tanto no puede implicar ninguna propiedad que contenga este predicado, tales como los ejemplos positivos son. "Suficiencia" está satisfecho por la hipótesis computada h, ya que, junto con del conocimiento de fondo, implica el primer ejemplo positivo , y de forma similar h y del conocimiento de fondo implica el segundo ejemplo positivo . "Congruencia débil"está satisfecho h, desde h sostiene en el (finito) Herbrand estructura descrita por el conocimiento de fondo; similar para "Gran consistencia".

La definición común de la relación de la abuela, viz. , no se puede aprender utilizando el enfoque anterior, ya que la variable Sí. sólo ocurre en el cuerpo de la cláusula; los literales correspondientes habrían sido eliminados en el cuarto paso del enfoque. Para superar este defecto, ese paso tiene que ser modificado de tal manera que pueda parametrizarse con diferentes heurísticas literales post-selección. Históricamente, la implementación de GOLEM se basa en el enfoque rlgg.

Sistema de Programación Lógica Inductiva

Inductive Logic El sistema de programación es un programa que toma como teorías lógicas de entrada y produce una hipótesis correcta H # Las teorías # Un algoritmo de un sistema ILP consiste en dos partes: búsqueda de hipótesis y selección de hipótesis. Primero se busca una hipótesis con un procedimiento de programación lógica inductiva, luego un subconjunto de las hipótesis encontradas (en la mayoría de los sistemas una hipótesis) es elegido por un algoritmo de selección. Un algoritmo de selección marca cada una de las hipótesis encontradas y devuelve las que tienen la puntuación más alta. Un ejemplo de la función de puntuación incluye la longitud mínima de compresión donde una hipótesis con una complejidad Kolmogorov más baja tiene la puntuación más alta y se devuelve. Un sistema ILP es completo sif para cualquier teoría lógica de entrada cualquier hipótesis correcta H wrt a estas teorías de entrada se puede encontrar con su procedimiento de búsqueda de hipótesis.

Búsqueda de hipótesis

Sistemas ILP modernos como Progol, Hail e Imparo encuentran una hipótesis H usando el principio de la implicación inversa para las teorías B, E, H: . Primero construyen una teoría intermedia F llamada teoría del puente que satisface las condiciones y . Entonces , generalizan la negación de la teoría del puente F con el anti-penailamiento. Sin embargo, el funcionamiento del anti-penailment ya que ser altamente no-determinista es computacionalmente más caro. Por lo tanto, se puede realizar una búsqueda alternativa de hipótesis utilizando el funcionamiento de la subsunción inversa (antisubsumption) en lugar de lo cual es menos no determinista que el anti-pentimiento.

Surgen preguntas sobre la integridad de un procedimiento de búsqueda de hipótesis de un sistema ILP 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 está completo con el ejemplo de Yamamoto. Por su parte, el Imparo se completa tanto por el procedimiento de antivinculación como por su procedimiento de subsunción inversa ampliada.

Implementaciones