11.07.2015 Views

enriquecimiento del conocimiento previo en programación lógica ...

enriquecimiento del conocimiento previo en programación lógica ...

enriquecimiento del conocimiento previo en programación lógica ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 1IntroducciónD<strong>en</strong>tro de las diversas disciplinas que compon<strong>en</strong> el campo <strong>del</strong> apr<strong>en</strong>dizaje inductivo 1 t<strong>en</strong>emos la ProgramaciónLógica Inductiva (Inductive Logic Programming - ILP). Este término fue acuñado por Steph<strong>en</strong> Muggleton[24], y permite inducir teorías durante el proceso de apr<strong>en</strong>dizaje t<strong>en</strong>i<strong>en</strong>do como base el l<strong>en</strong>guaje <strong>del</strong>a lógica de primer ord<strong>en</strong>. En la definición 1.1 se describe de manera más sucinta. En ILP se cu<strong>en</strong>ta ademáscon información <strong>del</strong> dominio <strong>del</strong> problema, la cual es es<strong>en</strong>cial para la construcción de mejores teorías. Estainformación es llamada <strong>conocimi<strong>en</strong>to</strong> <strong>previo</strong> y se d<strong>en</strong>ota B.DEFINICIÓN 1.1 Programación Lógica InductivaILP = Inductive Learning ∩ Logic P rogramming .El objetivo de la ILP es <strong>en</strong>contrar una teoría Σ que explique, junto con el concimi<strong>en</strong>to <strong>previo</strong> B, elconcepto objetivo repres<strong>en</strong>tado por un conjunto de ejemplos positivos E + , y no así por un conjunto deejemplos negativos E − . Más formalm<strong>en</strong>te definimos el marco normal de la ILP , de la sigui<strong>en</strong>te manera:Dados: Un conjunto finito de cláusulas (<strong>conocimi<strong>en</strong>to</strong> <strong>previo</strong>) B, un conjunto finito de cláusulas E +(ejemplos positivos), y un conjunto finito de cláusulas E − (ejemplos negativos).Encontrar: una teoría Σ, tal que Σ ∧ B |= E + (correcta), y Σ ∧ B ̸|= E − (consist<strong>en</strong>te).Donde Σ, E + , E − y B son programas lógicos 2 .El proceso de apr<strong>en</strong>dizaje se puede ver como el proceso de búsqueda de cada una de las cláusulas quecompon<strong>en</strong> la teoría Σ. El conjunto de todas las posibles cláusulas, llamado espacio de búsqueda, se ord<strong>en</strong>apara una búsqueda efici<strong>en</strong>te.Para ord<strong>en</strong>ar el espacio de búsqueda, una opción es usar alguna relación <strong>en</strong>tre las cláusulas, como lasubsunción de la definición 1.2, la cual permite determinar si una cláusula es más específica o más g<strong>en</strong>eralque otra.DEFINICIÓN 1.2 SubsunciónSean las cláusulas C y D, decimos que C subsume a D (C ≼ D) si existe una substitución θ tal queCθ ⊆ D. De esta manera decimos que C es una cláusula más g<strong>en</strong>eral que D, o que D es una cláusula másespecífica que C.La subsunción crea un ord<strong>en</strong> parcial, el cual se puede ver gráficam<strong>en</strong>te <strong>en</strong> un diagrama de Hasse oretícula, como la que se muestra <strong>en</strong> la figura 1.1. En esa retícula t<strong>en</strong>emos <strong>en</strong> la parte superior la cláusula1 En este tipo de apr<strong>en</strong>dizaje se construy<strong>en</strong> hipótesis o teorías a partir de un conjunto de ejemplos.2 En a<strong>del</strong>ante haremos uso de difer<strong>en</strong>tes conceptos de la lógica de primer ord<strong>en</strong> tales como literal, cláusula de programa, oprograma lógico, <strong>en</strong> el apéndice A definimos de manera detallada todos estos conceptos.1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!