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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Posgrado <strong>en</strong> Ci<strong>en</strong>cias y Tecnologías de la InformaciónPropuesta de investigación doctoralManejo de tipos de atributos <strong>en</strong> ILPpres<strong>en</strong>ta:M. <strong>en</strong> C. Orlando Muñoz TexzocotetlaAsesor: Dr. R<strong>en</strong>é Mac Kinney Romero


Cont<strong>en</strong>ido1 Introducción 12 Problemática 42.1 Operadores de g<strong>en</strong>eralización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Operadores de especialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Revisión de métodos 73.1 Discretización <strong>en</strong> ILP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Programación lógica con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3 Algoritmos g<strong>en</strong>éticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4 Transformaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.5 Comparación de métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Propuesta 144.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.1.1 Objetivo principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.1.2 Objetivos particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.3 Resultados esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.4 Avances hasta el mom<strong>en</strong>to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Refer<strong>en</strong>cias 17A Lógica de Primer Ord<strong>en</strong> 19i


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


1. Introducción 2más g<strong>en</strong>eral posible C g . Las cláusulas <strong>en</strong> un nivel más inferior (más abajo) a C g son más específicas. Deesta manera la búsqueda se realiza recorri<strong>en</strong>do la retícula de arriba hacia abajo (top-down) o de abajo haciaarriba (bottom-up).C g : Cláusula más g<strong>en</strong>eralMás G<strong>en</strong>eralesMás EspecializadasFigura 1.1: El espacio de búsqueda se puede repres<strong>en</strong>tar con un diagrama de Hasse o retícula.Para recorrer el espacio de búsqueda un nivel hacia arriba o hacia abajo, a partir de una cláusula, sedefin<strong>en</strong> los operadores de refinami<strong>en</strong>to que permit<strong>en</strong> g<strong>en</strong>erar un conjunto de cláusulas más g<strong>en</strong>erales, o unconjunto de cláusulas más específicas, <strong>en</strong> la definición 1.3 formalizamos este concepto.DEFINICIÓN 1.3 Operador de refinami<strong>en</strong>toUn operador de refinami<strong>en</strong>to es una función que mapea desde una cláusula C a un conjunto de cláusulas,ya sean más g<strong>en</strong>erales o más específicas.Un operador de refinami<strong>en</strong>to que g<strong>en</strong>era un conjunto de cláusulas más g<strong>en</strong>erales (upward o de g<strong>en</strong>eralización)a partir de una cláusula C, se basa <strong>en</strong> dos operaciones básicas: aplicar una substitución inversa a C,o eliminar una literal <strong>del</strong> cuerpo de C. En la figura 1.2 se muestra un ejemplo de este tipo de operaciones.p (X, Y ) ← r (Y, W, 7.5)p (X, Y ) ←θ −1 = {102/W }p (X, Y ) ← r (Y, 102, Z)θ −1 = {7.5/Z}p (X, Y ) ← r (Y, 102, 7.5)Figura 1.2: G<strong>en</strong>eralización de cláusulas.Un operador de refinami<strong>en</strong>to que g<strong>en</strong>era un conjunto de cláusulas más específicas (downward o de especialización)a partir de una cláusula C, se basa <strong>en</strong> dos operaciones básicas: aplicar una substitución a C, oañadir una literal al cuerpo de C. En la figura 1.3 se muestra un ejemplo de este tipo de operaciones.Una vez que se ha creado un conjunto de cláusulas más específicas o más g<strong>en</strong>erales, se debe elegir lacláusula más apropiada para seguirla refinando o para agregarla a la teoría que se está creando. Esta elección


1. Introducción 3p (X, Z) ← r (X, Y )p (X, Z) ← r (X, Y ) ∧ q (Z, Y )p (X, Z) ← r (X, 1)θ = {1/Y }θ = {0/Y }p (X, Z) ← r (X, 0)Figura 1.3: Especialización de cláusulas.dep<strong>en</strong>de de la función de evaluación utilizada por el algoritmo ILP correspondi<strong>en</strong>te. Tomando <strong>en</strong> cu<strong>en</strong>ta qu<strong>en</strong>uestro trabajo está <strong>en</strong>focado <strong>en</strong> los operadores de refinami<strong>en</strong>to, no detallamos el proceso de elección decláusulas.En el capítulo 2 de este docum<strong>en</strong>to detallamos la problemática respecto a la inefici<strong>en</strong>cia que ti<strong>en</strong><strong>en</strong> losoperadores de refinami<strong>en</strong>to para el manejo de valores categóricos y numéricos. Después <strong>en</strong> el capítulo 3pres<strong>en</strong>tamos los métodos ILP que implem<strong>en</strong>tan estrategias para el manejo de estos atributos. Por último <strong>en</strong>el capítulo 4 pres<strong>en</strong>tamos los objetivos y la metodología a seguir durante el desarrollo <strong>del</strong> proyecto, así comolos resultados que esperamos obt<strong>en</strong>er al finalizar nuestro trabajo.


Capítulo 2ProblemáticaLa problemática que abordamos <strong>en</strong> este proyecto está relacionada con el manejo de atributos categóricos ynuméricos durante la construcción <strong>del</strong> espacio de búsqueda. Es decir, se c<strong>en</strong>tra <strong>en</strong> las defici<strong>en</strong>cias de losoperadores de refinami<strong>en</strong>to de los sistemas actuales para manejar estos tipos de atributos.2.1 Operadores de g<strong>en</strong>eralizaciónCuando se aplica una sustitución inversa θ −1 a una cláusula C para g<strong>en</strong>eralizarla, puede suceder que seg<strong>en</strong>eralice demasiado, es decir, que las cláusula más g<strong>en</strong>eral que C elegida cubra ejemplos negativos (loideal es que no cubra ninguno). Para explicar este problema pres<strong>en</strong>tamos el sigui<strong>en</strong>te ejemplo.Se ti<strong>en</strong>e la sigui<strong>en</strong>te cláusula que define el nivel de glucosa que debe t<strong>en</strong>er una persona para poderadministrarle un fármaco.administrar farmaco (P, si) ← glucosa (P, 75)Para g<strong>en</strong>eralizar la cláusula anterior con una sustitución inversa θ −1 , se debe sustituir el valor numéricoconstante 75 1 por una variable nueva X. Al hacer esta substitución se t<strong>en</strong>drá la sigui<strong>en</strong>te cláusula másg<strong>en</strong>eral que C:administrar farmaco (P, si) ← glucosa (P, X)Debemos observar que al realizar la g<strong>en</strong>eralización anterior pasamos de cubrir un sólo ejemplo (las personascon glucosa = 75) a cubrir de manera indiscriminada todos los ejemplos. Pasamos de cubrir unsólo ejemplo a cubrir tanto ejemplos positivos cómo negativos. En la práctica esto equivale a administrar elfármaco a todas las personas, indep<strong>en</strong>di<strong>en</strong>tem<strong>en</strong>te de su nivel de glucosa. Cabe añadir que aunque las funcionesde evaluación ti<strong>en</strong><strong>en</strong> por objetivo elegir la cláusula que cubra el m<strong>en</strong>or número de ejemplos negativos,no se garantiza que nunca vaya a elegir una cláusula como la anterior.El operador <strong>en</strong> este caso está g<strong>en</strong>eralizando de más y terminamos <strong>en</strong>tonces por preguntarnos ¿Cómopodemos g<strong>en</strong>eralizar una cláusula eligi<strong>en</strong>do únicam<strong>en</strong>te un rango de valores numéricos que cubran el m<strong>en</strong>ornúmero de ejemplos negativos (idealm<strong>en</strong>te ninguno)?Si la constante a sustituir es de tipo categórico, el problema es el mismo, por lo que se debe determinaruna manera de elegir un conjunto de valores categóricos que cubran el m<strong>en</strong>or número de ejemplos negativosposible.1 Si exist<strong>en</strong> más constantes <strong>en</strong> la cláusula a g<strong>en</strong>eralizar, se sigue el mismo proceso con cada una de ellas.4


2. Problemática 52.2 Operadores de especializaciónAl aplicar una sustitución θ a una cláusula C para especializarla, pued<strong>en</strong> surgir al m<strong>en</strong>os dos problemáticas:• Es posible que la cláusula se vuelva especializada. Para una mejor compr<strong>en</strong>sión de esta problemáticatomemos como ejemplo la cláusula sigui<strong>en</strong>te.C = administrar farmaco (P, si) ← glucosa (P, X)Para especializar la cláusula anterior con una sustitución θ, se debe substituir la variable X (o cualquierotra que ocurra <strong>en</strong> la cláusula) por valores constantes, por ejemplo 75, 100 o 120 <strong>en</strong> el caso de laglucosa. Como resultado t<strong>en</strong>dríamos tantas cláusulas más específicas que C como valores constantessean usados para substituir X. Entonces t<strong>en</strong>dríamos cláusulas como las sigui<strong>en</strong>tes:C 1 = administrar farmaco (P, si) ← glucosa (P, 75)C 2 = administrar farmaco (P, si) ← glucosa (P, 100)C 3 = administrar farmaco (P, si) ← glucosa (P, 120)En este caso la cláusula que sea elegida, para seguir refinándola o añadirla a la teoría final, cubrirásolam<strong>en</strong>te los ejemplos que correspondan con el valor de la constante. Por lo tanto es posible quequed<strong>en</strong> muchos ejemplos positivos sin cubrir, sobre todo si el conjunto de <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to es muygrande. La cláusula es demasiado específica. Como consecu<strong>en</strong>cia, para cubrir más ejemplos positivosserá necesario añadir más cláusulas a la teoría final. Entre más cláusulas t<strong>en</strong>ga una teoría, es másdifícil de interpretar.De esta manera se vuelve necesario determinar una manera de substituir cada variable por un rango devalores numéricos a la vez, que permita crear una cláusula que cubra más ejemplos positivos. Al finalse necesitarán m<strong>en</strong>os cláusulas para crear la teoría final.Si bi<strong>en</strong> un atributo categórico no ti<strong>en</strong>e tantos valores como uno numérico, es posible al final t<strong>en</strong>eruna teoría con muchas cláusulas. Así que se vuelve necesario determinar una manera de substituirvariables o atributos por conjuntos de valores categóricos.• El conjunto de cláusulas creado por el operador de refinami<strong>en</strong>to puede ser demasiado grande.Al substituir variables por valores constantes <strong>en</strong> el proceso de especialización, el número de posiblescláusulas dep<strong>en</strong>derá <strong>del</strong> número de constantes utilizadas. Si las constantes ti<strong>en</strong><strong>en</strong> muchos posiblesvalores, ya sea porque estén d<strong>en</strong>tro de un rango continuo o porque sea un atributo categórico, <strong>en</strong>toncesel número de cláusulas creadas por el operador de refinami<strong>en</strong>to puede ser demasiado grande, haci<strong>en</strong>doinefici<strong>en</strong>te el proceso de búsqueda.Por lo tanto al igual que <strong>en</strong> el punto anterior, se vuelve necesario determinar una manera de substituiruna variable X por un rango (si el atributo es numérico) o por un conjunto (si el atributo es categórico)de valores de X a la vez, para que el espacio de búsqueda sea más pequeño.


2. Problemática 6Resumi<strong>en</strong>do lo anterior, la problemática es que <strong>en</strong> es<strong>en</strong>cia los operadores de refinami<strong>en</strong>to utilizan unsolo valor, categórico o numérico a la vez. Lo cual puede resultar <strong>en</strong> cláusulas demasiado g<strong>en</strong>erales quecubran innecesariam<strong>en</strong>te ejemplos negativos.También es posible la creación de cláusulas demasiado específicas, que cubran pocos ejemplos positivos.Esto hace necesario el uso de más cláusulas, obt<strong>en</strong>i<strong>en</strong>do al final una teoría más grande y más difícil deinterpretar. Además el espacio de búsqueda <strong>en</strong> este caso puede ser demasiado grande, haci<strong>en</strong>do inefici<strong>en</strong>teel proceso de búsqueda.Entonces surge la necesidad de crear intervalos numéricos que puedan ser usados <strong>en</strong> el refinami<strong>en</strong>to decláusulas. En el caso de los atributos categóricos, se necesita crear un conjunto de categorías que mejor<strong>en</strong> elrefinami<strong>en</strong>to de cláusulas. En el sigui<strong>en</strong>te capítulo pres<strong>en</strong>tamos la revisión que realizamos sobre los sistemasILP que implem<strong>en</strong>tan soluciones a esta problemática.


Capítulo 3Revisión de métodosA continuación pres<strong>en</strong>tamos la revisión realizada de métodos ILP que implem<strong>en</strong>tan estrategias para elmanejo de atributos numéricos y/o categóricos. Estos los clasificamos <strong>en</strong> aquellos métodos que utilizanla discretización, la programación lógica de restricciones, los algoritmos g<strong>en</strong>éticos, y la transformación deun problema relacional <strong>en</strong> otro tipo.3.1 Discretización <strong>en</strong> ILPPara el manejo de valores numéricos, algunos sistemas ILP discretizan el rango numérico de un atributo A,con el algoritmo Minimum Description L<strong>en</strong>gth Principle -MDLP [12]. Este algoritmo ord<strong>en</strong>a de maneraasc<strong>en</strong>d<strong>en</strong>te el conjunto numérico S, donde cada s ∈ S ti<strong>en</strong>e asignada una de k clases. Después se crea unconjunto T de puntos provisionales, donde cada T i ∈ T es el punto intermedio <strong>en</strong>tre dos valores consecutivosde S, dividiéndolo <strong>en</strong> los subconjuntos S 1 y S 2 .Después se calcula la información de <strong>en</strong>tropía de clase para cada E (A, T i ; S) = |S1||S| Ent (S 1)+ |S2||S| Ent (S 2),donde Ent (S i ) = − ∑ kj=1 P (C j, S i ) log 2 (P (C j , S i )), k es el número de clases, P (C j , S i ) es el número deejemplos de S i con clase C j . Se selecciona el intervalo con el valor más pequeño: E (A, T min ; S).Si Gain (A, T min ; S) ≤ log2(N−1)N+ ∆(A,Tmin;S)N, <strong>en</strong>tonces T min divide a S, y el proceso se repite recursivam<strong>en</strong>te<strong>en</strong> S 1 y S 2 . En otro caso el proceso se deti<strong>en</strong>e.(Además ∆ (A, T min ; S) = log 2 3 k − 2 ) − [kEnt (S) − k 1 Ent (S 1 ) − k 2 Ent (S 2 )]; N =| S |; Gain (A, T min ; S) =Ent (S) − E (A, T min ; S) es la ganancia de información de T min ; k, k 1 , k 2 son las clases repres<strong>en</strong>tadas <strong>en</strong>S, S 1 yS 2 respectivam<strong>en</strong>te.INDUBI/CSLEste sistema utiliza dos tipos de literales: f (t 1 , . . . , t n ) = V y f (t 1 , . . . , t n ) ∈ R, donde f es una funciónde aridad n; t i es una variable o una constante; V es el valor que toma f; R es un conjunto de posiblesvalores que puede tomar f [23].Si una literal numérica f (ya sea V un valor numérico o R un conjunto de valores numéricos) es elegidapara especializar una cláusula G, <strong>en</strong>tonces el sistema INDUBI/CSL define un conjunto de puntos de divisióne intervalos a lo largo <strong>del</strong> rango numérico de la sigui<strong>en</strong>te manera: un punto de división d define dos intervalosdisjuntos [l 1 , l 2 ],[r 1 , r 2 ], donde l 1 es el valor más pequeño <strong>del</strong> intervalo izquierdo con clase +, l 2 es el valormás grande tal que l 2 < d, r 1 es el valor más pequeño tal que r 1 > d, r 2 es el valor más grande con clase +.Después se calcula la ganancia de información para cada intervalo (de acuerdo al algoritmo MDLP).El intervalo con mayor ganancia de información, d<strong>en</strong>otado BestR, es usado para crear una nueva literal:7


3. Revisión de métodos 8f ′ (t 1 , . . . , t n ) ∈ BestR. Por último para especializar la cláusula G se añade f ′ , <strong>en</strong> lugar de f, al cuerpo deG.TILDE/ICLTop-Down Induction of Logical DEcision Trees o TILDE [3], es un sistema ILP cuyo esquema de apr<strong>en</strong>dizajees el de interpretaciones, y las teorías construidas con árboles de decisión lógicos [4].Los argum<strong>en</strong>tos numéricos que serán discretizados se declaran a priori con el metapredicado to be discretized.Así, to be discretized (atom (A, B, C) , [A, C]) indica que los argum<strong>en</strong>tos A y C deb<strong>en</strong> ser discretizados.La discretizaciòn de cada argum<strong>en</strong>to declarado, se lleva a cabo antes <strong>del</strong> proceso de apr<strong>en</strong>dizaje conel algoritmo MDLP, al cual se le han hecho dos adaptaciones. Primero, <strong>en</strong> lugar <strong>del</strong> número de ejemplospara el cálculo de la ganancia de información, se utiliza una suma de pesos. Esto se debe a que <strong>en</strong> losdatos relacionales un ejemplo puede t<strong>en</strong>er más de un valor por cada argum<strong>en</strong>to. De esta manera un ejemplosin valores ti<strong>en</strong>e un peso igual a 0. Si ti<strong>en</strong>e el máximo de valores posible, <strong>en</strong>tonces ti<strong>en</strong>e un peso igual a1. La segunda adaptación es respecto al criterio de paro, ya que <strong>en</strong> el algoritmo de discretización original,el criterio de paro dep<strong>en</strong>de <strong>del</strong> Mminimum Description L<strong>en</strong>gth Principle. En TILDE el usuario define unnúmero máximo de intervalos M, con lo cual la ejecución <strong>del</strong> algoritmo se deti<strong>en</strong>e cuando el rango numéricose divida <strong>en</strong> M intervalos.Los intervalos creados pued<strong>en</strong> ser usados de las sigui<strong>en</strong>tes formas: usando desigualdades (, ≥)para id<strong>en</strong>tificar si un valor numérico es m<strong>en</strong>or o mayor que algún punto de división; con igualdad (=) paraverificar si algún valor cae d<strong>en</strong>tro de algún intervalo limitado por dos puntos de división consecutivos, p.e.V alor ∈ Intervalo = [d 1 ..d 2 ]; y por último verificando si un valor se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> un intervalo creado pordos puntos de división no consecutivos.En [19, 20], los autores adaptan el algoritmo de discretización MDLP exactam<strong>en</strong>te igual que <strong>en</strong> TILDE,pero el esquema de apr<strong>en</strong>dizaje es el de Inductive Constraint Logic - ICL.Ent MDL o ECL-GSDEl sistema Entropy Minimization plus Minimum Description L<strong>en</strong>gth Principle - Ent MDL [9] (llamado ECLwith Global Univariate Supervised Discretization - ECL-GSD <strong>en</strong> [11]), utiliza el algoritmo MDLP paradiscretizar el rango de de cada atributo numérico. Al igual que TILDE e ICL la discretización es a priori,aunque no se m<strong>en</strong>ciona ninguna modificación al algoritmo original. En este caso cada intervalo creado esutilizado como un valor categórico durante el apr<strong>en</strong>dizaje.Apr<strong>en</strong>dizaje Multivalores <strong>en</strong> ILP (AMILP)En nuestro trabajo de maestría llevamos a cabo una discretización global (antes <strong>del</strong> proceso de apr<strong>en</strong>dizaje)de los atributos categóricos y numéricos. Esta discretización es binaria y para cada atributo numérico obt<strong>en</strong>emosun punto de división d, y para cada atributo categórico se obti<strong>en</strong><strong>en</strong> dos subconjuntos de categorías.Esta discretización se lleva a cabo con el algoritmo de división de nodo de dos inductores de árbolesde decisión: QUEST (Quick Unbiased Effici<strong>en</strong>t Statistical Tree) [22] y CRUISE (Classification Rule withUnbiased Interaction Selection and Estimation) [18].Después de discretizar los atributos, se crean nuevas variables (multivalores) que son agregadas al<strong>conocimi<strong>en</strong>to</strong> <strong>previo</strong> <strong>del</strong> conjunto de <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to.Por último se ejecuta el proceso de apr<strong>en</strong>dizaje utilizando dos de los sistemas más populares <strong>en</strong> ILP:Aleph [26] y FOIL [25].


3. Revisión de métodos 93.2 Programación lógica con restriccionesLa Constraint Logic Programming (CLP) es un paradigma de programación <strong>en</strong> el cual un problema desatisfacción de restricciones - CSP es planteado con un l<strong>en</strong>guaje lógico. Combina a su vez dos paradigmasdeclarativos: la programación lógica y la programación de restricciones [17]. Una de las v<strong>en</strong>tajas de la CLPsobre la programación lógica es su capacidad de manejar valores numéricos <strong>en</strong> distintos dominios: N, Z, R;y precisam<strong>en</strong>te esta v<strong>en</strong>taja es la que ha sido aprovechada <strong>en</strong> algunos sistemas ILP.Algoritmo NUMEn [1], se define a priori la forma de las literales numéricas con el metapredicado usage/1, cuyo únicoargum<strong>en</strong>to es una literal numérica. Cada literal numérica puede t<strong>en</strong>er tres tipos de términos: +, indica que<strong>en</strong> dicha posición debe haber un símbolo de variable ya pres<strong>en</strong>te <strong>en</strong> la cláusula a especializar; ⊥, indica que<strong>en</strong> esa posición puede haber cualquier símbolo de variable; #, indica que <strong>en</strong> esa posición debe haber unsímbolo de constante.Si queremos que se cre<strong>en</strong> literales de la forma: Y = C 1 • X + C 2 , donde C i es una constante, y X, Yson variables, <strong>en</strong>tonces el usuario debe declarar: usage ((+real) = (#real) • (+real) + (#real)). Así,cuando el operador de refinami<strong>en</strong>to elija esta literal, el algoritmo llamado NUM realiza lo sigui<strong>en</strong>te:Se plantean sistemas de n ecuaciones con n incógnitas, donde n es el número de términos declaradoscon el símbolo #. Por ejemplo si el usuario declara la restricción lineal Y = C 1 X + C 2 , donde C 1 y C 2son términos declarados con #; X, Y son términos declarados con el símbolo +. Entonces NUM planteasistemas de 2 ecuaciones con 2 incógnitas, donde C 1 y C 2 se vuelv<strong>en</strong> variables y las variables X, Y sonreemplazadas por valores cont<strong>en</strong>idos <strong>en</strong> el conjunto de ejemplos y <strong>en</strong> el <strong>conocimi<strong>en</strong>to</strong> <strong>previo</strong>. Así t<strong>en</strong>dríamossistemas con dos ecuaciones, p.e. 1)5 = 7C 1 + C 2 , 2)3 = 2C 2 + C 2Después un sistema CLP es usado para resolver cada sistema de ecuaciones planteado. Por cada sistemaresuelto se <strong>en</strong>cu<strong>en</strong>tra un conjunto de valores numéricos. En el caso de nuestro ejemplo cada sistema devuelvedos valores: para C 1 y C 2 . Por ejemplo si C 1 = 0.5, C 2 = −1, <strong>en</strong>tonces se crea la literal numéricaY = 0.5X − 1. Esta literal será usada para especializar la cláusula correspondi<strong>en</strong>te.3.3 Algoritmos g<strong>en</strong>éticosLos Algoritmos G<strong>en</strong>éticos - GA (John Holland [14]) están basados <strong>en</strong> la evolución natural, y son usados parabuscar y optimizar soluciones a problemas específicos.Hay varios aspectos a tomar <strong>en</strong> cu<strong>en</strong>ta d<strong>en</strong>tro <strong>del</strong> proceso g<strong>en</strong>eral de un GA. El primero es la repres<strong>en</strong>taciónde cada individuo (cromosoma), g<strong>en</strong>eralm<strong>en</strong>te se repres<strong>en</strong>tan como cad<strong>en</strong>as binarias, aunque <strong>en</strong> ell<strong>en</strong>guaje lógico este aspecto no es trivial. También se debe tomar <strong>en</strong> cu<strong>en</strong>ta la función de aptitud para evaluarsi un cromosoma es mejor que otro. La definición de los operadores g<strong>en</strong>éticos es es<strong>en</strong>cial. Por un lado elcruzami<strong>en</strong>to <strong>en</strong>tre dos cromosomas (padres), permite crear dos individuos (hijos) que idealm<strong>en</strong>te heredanlas mejores características de los padres. Por otro lado el operador de mutación permite la introducción d<strong>en</strong>ueva información a la población. En ILP se han creado varios sistemas que toman <strong>en</strong> cu<strong>en</strong>ta estos aspectoscon el objetivo de buscar al mejor individuo: la teoría lo más precisa y expresiva posible.SIA01En el algoritmo SIA01 [2], los cromosomas se repres<strong>en</strong>tan usando directam<strong>en</strong>te un formato lógico. Cadacláusula es un cromosoma, y los predicados y sus argum<strong>en</strong>tos son g<strong>en</strong>es. Así, la cláusula p (X, Y ) ←


3. Revisión de métodos 10r (X, 12, a) es un cromosoma compuesto por 7 g<strong>en</strong>es: | p | X | Y | r | X | 12 | a |.La función de aptitud está basada <strong>en</strong> la consist<strong>en</strong>cia y completud de la regla evaluada. P<strong>en</strong>aliza aquellasreglas que cubran más ejemplos negativos, y califica positivam<strong>en</strong>te aquellos que cubr<strong>en</strong> más ejemplospositivos.Mutación. Si el argum<strong>en</strong>to es un valor numérico, p.e. 12.3, <strong>en</strong>tonces el operador de mutación crearáaleatoriam<strong>en</strong>te un intervalo que cont<strong>en</strong>drá a dicho valor. Si el g<strong>en</strong> a mutar es un intervalo numérico, <strong>en</strong>toncesel operador de mutación lo crecerá. Esto se muestra <strong>en</strong> el sigui<strong>en</strong>te esquema.Cromosoma original p X Y r X 12.3 q Y a↓Cromosoma mutado p X Y r X [12.3..16.5] q Y aCuando el argum<strong>en</strong>to es un valor categórico, <strong>en</strong>tonces se agrega un valor más, creando un conjunto devalores categóricos. Si al mom<strong>en</strong>to de mutar el g<strong>en</strong> es ya un conjunto de valores categóricos, solo se agregaotro valor categórico más.Cruzami<strong>en</strong>to. Con este operador dos cromosomas intercambian g<strong>en</strong>es con el mismo formato:| 12.3 | ↔ | 7.1..12.3 | ó| a, b | ↔ | a, c |.Ya que todos los cromosomas evolucionan a partir <strong>del</strong> mismo ejemplo semilla, no existe el problema deintercambiar g<strong>en</strong>es con distinto formato.SMART+En este método se define previam<strong>en</strong>te un rango [min..max] para cada argum<strong>en</strong>to numérico de una literal l[5]. SMART+ hace la búsqueda de la mejor combinación posible de argum<strong>en</strong>tos numéricos de dos formas:Local. Sean k 1 , . . . , k n los n argum<strong>en</strong>tos numéricos de l, inicializados así: C m1 = {k 1 = min 1 , . . . , k n = min n }.Se calcula la ganancia de información para gain (C m1 = g 1 ). Si g 1 > 0 <strong>en</strong>tonces se inializa una lista BESTcon las mejores combinaciones numéricas de l y sus respectivas ganancias de información. Cada nuevacombinación numérica C mi se obti<strong>en</strong>e variando algún valor k i . C mi es añadida a BEST solo si g i > 0 yg i > g i−1 . Las m combinaciones cont<strong>en</strong>idas <strong>en</strong> BEST serán usadas para crear m literales distintas con lascuales se especializará una cláusula ϕ.global. Se realiza una búsqueda global, de la mejor combinación numérica de argum<strong>en</strong>tos de una literall, con un GA. Para una literal l, sus argum<strong>en</strong>tos numéricos se pued<strong>en</strong> ver como una cad<strong>en</strong>a de valores realesk 1 , . . . , k n , la cual es convertida a una cad<strong>en</strong>a binaria para repres<strong>en</strong>tar un cromosoma. La función de aptitudse basa <strong>en</strong> la ganancia de información. Los operadores de cruzami<strong>en</strong>to y de mutación son los estándarespara un GA, pero adaptados para que ningún valor numérico quede fuera <strong>del</strong> rango definido <strong>en</strong> la función demembresía correspondi<strong>en</strong>te. El GA devuelve la mejor combinación numérica posible con la cual se forma laliteral que especializará a alguna cláusula.ECL-LUD o Clu-ClonEl sistema Evolutionary Concept Learning with Local Unsupervised Discretization (ECL-LUD) [11] ó Clusteringand Constraint (Clu-Clon) [9] exti<strong>en</strong>de a ECL, el cual está basado <strong>en</strong> los algoritmos g<strong>en</strong>éticos [10].En ECL cada cláusula C repres<strong>en</strong>ta a un cromosoma, y cada literal de C es un g<strong>en</strong>. Por ejemplo lacláusula p (X, Y ) ← r (X, Z) , q (Y, a) repres<strong>en</strong>ta un cromosoma con 3 g<strong>en</strong>es: | p, X, Y | r, X, Z | q, Y, a |.Si la literal q, que será añadida para especializar una cláusula, conti<strong>en</strong>e algún argum<strong>en</strong>to numérico X,<strong>en</strong>tonces se agrega además una desigualdad a ≤ X ≤ a, donde a es el valor numérico correspondi<strong>en</strong>te.


3. Revisión de métodos 11Para modificar los valores de cada desigualdad, y <strong>en</strong>contrar los mejores intervalos, se han definido cincooperadores de mutación, los cuales utilizan información de la distribución de los valores de cada conjuntonumérico. Esta información es obt<strong>en</strong>ida al ejecutar a priori el algoritmo de agrupami<strong>en</strong>to Expectation-Maximization - EM [8]. Este algoritmo devuelve n clusters descritos por una media µ i y una desviaciónestándar σ i , donde 1 ≤ i ≤ n.Si especializar una cláusula cambiando una variable X por una constante, y X ocurre <strong>en</strong> una desigualdada ≤ X ≤ b, <strong>en</strong>tonces se pued<strong>en</strong> aplicar los operadores: shrink, este operador reduce el intervalo definido[a..b]; ground, este operador devuelve un solo punto a ≤ X ≤ a. Para g<strong>en</strong>eralizar una cláusula se define eloperador <strong>en</strong>large, el cual crece el intervalo de la desigualdad elegida.Los otros dos operadores, se aplican con una probabilidad pc = 0.2: shift, al aplicar este operador a unintervalo I = a ≤ X ≤ b, devuelve I ′ = a ′ ≤ X ≤ b ′ , donde a ′ , b ′ se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> el mismo cluster quea, b, pero además P (a ′ ≤ X ≤ b ′ ) = P (a ≤ X ≤ b). El último operador es change cluster, cuando estese aplica a un intervalo I = a ≤ X ≤ b, devuelve I ′ = ′ a ≤ X ≤ b ′ , donde a ′ , b ′ pert<strong>en</strong>ec<strong>en</strong> a un clusterdifer<strong>en</strong>te a a, b.ECL-LSDf and ECL-LSDcEn el algoritmo de la sección anterior, la desigualdad inicial que se añade junto con la literal correspondi<strong>en</strong>tees de la forma a ≤ X ≤ b, donde a, b ∈ X y a = b con X como atributo numérico. En [11] pres<strong>en</strong>tan dosvariantes para inicializar los valores iniciales de las desigualdades añadidas.Por un lado <strong>en</strong> el método ECL with Local Supervised Discretization with Fine grain initialization o ECL-LSDf, los valores a, b son llamados boundary points y cada uno se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong>tre dos valores consecutivos<strong>del</strong> atributo numérico X. Se ti<strong>en</strong><strong>en</strong> tres tipos: negativo si el valor está <strong>en</strong>tre dos ejemplos negativos, positivosi se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong>tre dos ejemplos positivos, y mixed si está <strong>en</strong>tre uno negativo y uno positivo. Al conjuntode boundary points se le d<strong>en</strong>ota BP(X).Por otro lado el método ECL with Local Discretization with Coarse grain initialization o ECL-LSDc, losvalores a, b son llamados puntos de discretización y son obt<strong>en</strong>idos al discretizar el rango numérico de X conel algoritmo MDLP. Este conjunto ord<strong>en</strong>ado de puntos es d<strong>en</strong>otado DP(X).Estos dos métodos, a difer<strong>en</strong>cia de ECL-LUD, toman <strong>en</strong> cu<strong>en</strong>ta la información de clase <strong>del</strong> conjunto deejemplos.3.4 TransformacionesYa que la mayoría de los sistemas proposicionales pued<strong>en</strong> manejar datos numéricos, otra estrategia paramanejar este tipo de datos es transformar un problema relacional a su equival<strong>en</strong>te proposicional. Despuésresolver este con algún sistema proposicional, y la hipótesis obt<strong>en</strong>ida convertirla a su equival<strong>en</strong>te relacional.Algunas de estas estrategias se describ<strong>en</strong> <strong>en</strong> esta sección.ProposicionalizaciónLINUS [21], es un sistema que permite transformar un problema relacional a un formato proposicional.De esta manera un apr<strong>en</strong>diz proposicional podrá manejar problemas difíciles o imposibles de superar conun sistema relacional. LINUS es usado con problemas relacionales planteados con cláusulas DeductiveHierarchical DataBases - DHDB.


3. Revisión de métodos 12En el proceso seguido por LINUS, primero se transforma un problema relacional a un formato proposicional.Después un apr<strong>en</strong>diz proposicional obti<strong>en</strong>e, a partir de los datos transformados, una hipótesis IF-THEN. Algunos apr<strong>en</strong>dices utilizados son:ASSISTANT [15], NEWGEM [16], y CN2 [7]. En nuestro casoeste paso es fundam<strong>en</strong>tal, ya que la elección de un apr<strong>en</strong>diz adecuado, determinará el bu<strong>en</strong> manejo de valorescategóricos y/o numéricos. Por último la hipótesis proposicional es transformada a su equival<strong>en</strong>te relacional.3.5 Comparación de métodosEn la tabla 3.1 pres<strong>en</strong>tamos una comparación abreviada de los métodos revisados.Sistema ILP Global/Local Uni/Multi var. Supervisado/no CategóricoINDUBI/CSL Local Univariable Supervisado XTILDE Global Univariable Supervisado XICL Global Univariable Supervisado XECL-GSD Global Univariable Supervisado XNUM Local Multivariable∗ No XSIA01 Local Univariable Supervisado ̌SMART+ Local Multivariable∗ Supervisado XECL-LUD Local Multivariable∗ No XECL-LSDf Local Multivariable∗ Supervisado XECL-LSDc Local Multivariable∗ Supervisado XLINUS Dep<strong>en</strong>de método Dep<strong>en</strong>de método Dep<strong>en</strong>de método Dep<strong>en</strong>de métodoAMILP Global Univariable Supervisado ̌De esta comparación observamos lo sigui<strong>en</strong>te:Tabla 3.1: Comparación de métodos• El único algoritmo de discretización utilizado <strong>en</strong> algunos sistemas ILP es el llamado Minimum DescriptionL<strong>en</strong>gth Principle - MDLP. Dicho algoritmo es <strong>del</strong> año 1993, por lo que creemos necesario laaplicación de algoritmos mucho más reci<strong>en</strong>tes.• Sólo uno de los métodos revisados (además <strong>del</strong> trabajo realizado <strong>en</strong> la maestría) maneja atributoscategóricos, aunque ese proceso es aleatorio y sin un análisis que justifique los valores elegidos paracrear nuevas cláusulas.• Casi todos los métodos de discretización multivariable implem<strong>en</strong>tados <strong>en</strong> algunos sistemas ILP, norealizan un análisis que determine la interdep<strong>en</strong>d<strong>en</strong>cia que puede existir <strong>en</strong>tre dos o más atributos.El único algoritmo que <strong>en</strong>contramos que puede id<strong>en</strong>tificar dichas interdep<strong>en</strong>d<strong>en</strong>cias es el algoritmoNUM. Sin embargo <strong>en</strong> este último sistema el usuario debe t<strong>en</strong>er <strong>conocimi<strong>en</strong>to</strong> sobre la forma de cadainterdep<strong>en</strong>d<strong>en</strong>cia y predefinirla como una ecuación o inecuación. Esto repres<strong>en</strong>ta una limitación parausuarios no expertos.• Por otro lado la implem<strong>en</strong>tación de los métodos revisados no está basada <strong>en</strong> la arquitectura de unsistema modificable y modular. Es decir que no es fácil añadir nuevos métodos de discretización para


3. Revisión de métodos 13analizar su efecto sobre el proceso de apr<strong>en</strong>dizaje. En g<strong>en</strong>eral no es fácil añadir nuevos métodos depreprocesami<strong>en</strong>to de datos, ya sean para manejar datos incompletos, inconsist<strong>en</strong>tes o con ruido.Tomando <strong>en</strong> cu<strong>en</strong>ta lo anterior <strong>en</strong> el sigui<strong>en</strong>te capítulo pres<strong>en</strong>tamos los objetivos planteados para esteproyecto de investigación y la metodología a seguir.


Capítulo 4PropuestaA continuación pres<strong>en</strong>tamos los objetivos que se despr<strong>en</strong>d<strong>en</strong> de las observaciones realizadas anteriorm<strong>en</strong>te,y la metodología que proponemos para alcanzar estos objetivos.4.1 Objetivos4.1.1 Objetivo principalId<strong>en</strong>tificar los métodos de discretización/agrupami<strong>en</strong>to (para atributos numéricos, categóricos y multivariables)que mejor<strong>en</strong> <strong>en</strong> mayor medida el r<strong>en</strong>dimi<strong>en</strong>to de los sistemas ILP (m<strong>en</strong>or tiempo de apr<strong>en</strong>dizaje), y lacalidad de las teorías inducidas (m<strong>en</strong>or número de reglas, igual o mayor precisión 1 ).4.1.2 Objetivos particulares• Implem<strong>en</strong>tar un sistema ILP, escalable y modificable, que permita la adaptación de métodos de discretización/agrupami<strong>en</strong>tode manera local, <strong>en</strong> el operador de refinami<strong>en</strong>to, y de manera global.• Investigar y recopilar los métodos de discretización/agrupami<strong>en</strong>to más actuales y adaptarlos al sistemaILP implem<strong>en</strong>tado.• Analizar un conjunto de bases de datos (principalm<strong>en</strong>te <strong>del</strong> repositorio UCI machine learning repository[13]) con el sistema ILP sin los métodos de discretización/agrupami<strong>en</strong>to, y posteriorm<strong>en</strong>te conellos.• Comparar el r<strong>en</strong>dimi<strong>en</strong>to <strong>del</strong> sistema ILP, y la calidad de las teorías inducidas antes y después deañadir los métodos adaptados.• Determinar los métodos de discretización/agrupami<strong>en</strong>to, y las condiciones <strong>en</strong> que son aplicados, quepermitan un mayor r<strong>en</strong>dimi<strong>en</strong>to <strong>del</strong> sistema, y que induzcan las mejores teorías.4.2 MetodologíaPara alcanzar los objetivos planteados detallamos la metodología a seguir <strong>en</strong> la sigui<strong>en</strong>te estructura.• Proyecto1 Resultados experim<strong>en</strong>tales demuestran que el cambio de repres<strong>en</strong>tación datos continuos a discretos (discretización), casi nuncaresulta <strong>en</strong> pérdida de precisión (algunas veces la mejora) pero si disminuye considerablem<strong>en</strong>te el tiempo de apr<strong>en</strong>dizaje [6].14


4. Propuesta 15– A. Sistema ILP∗ A.1 Diseño (Atributte Driv<strong>en</strong> Desing - ADD).∗ A.2 Implem<strong>en</strong>tación.∗ A.3 Pruebas.– B. Métodos de discretización/agrupami<strong>en</strong>to.∗ B.1 Investigación y recopilación.∗ B.2 Propuesta de adaptación al sistema ILP.∗ B.3 Implem<strong>en</strong>tación y adición al sistema ILP.∗ B.4 Pruebas y análisis.∗ B.5 Resultados.– C. Disertación de tesis∗ C.1 Preparación de docum<strong>en</strong>to de tesis∗ C.2 Revisión (asesor).∗ C.3 Revisión (sinodales).∗ C.4 Preparación de disertación.∗ C.5 Pres<strong>en</strong>tación de disertación pública.– D. Artículos∗ D.1 Artículo 1.∗ D.2 Artículo 2.En la figura 4.1 se muestra el cal<strong>en</strong>dario propuesto.Figura 4.1: Cal<strong>en</strong>dario de actividades4.3 Resultados esperadosTomando <strong>en</strong> cu<strong>en</strong>ta los objetivos planteados, al finalizar el proyecto las teorías creadas para cada base dedatos analizada debe t<strong>en</strong>er <strong>en</strong> promedio un m<strong>en</strong>or número de cláusulas <strong>en</strong> comparación con las teoríasconstruidas sin utilizar los métodos de discretización o agrupami<strong>en</strong>to. También debe haber una reducción<strong>del</strong> tiempo de apr<strong>en</strong>dizaje, mant<strong>en</strong>i<strong>en</strong>do al m<strong>en</strong>os la precisión de las teorías construidas. Idealm<strong>en</strong>te <strong>en</strong> esteúltimo caso la precisión podría mejorar.


4. Propuesta 164.4 Avances hasta el mom<strong>en</strong>toLos avances que se ti<strong>en</strong><strong>en</strong> actualm<strong>en</strong>te son:• Revisión de la literatura de los métodos ILP que implem<strong>en</strong>tan estrategias de manejo de atributosnuméricos y categóricos.• Escritura de dos artículos sobre la revisión de los métodos m<strong>en</strong>cionados <strong>en</strong> el punto anterior.• Revisión de la literatura sobre métodos de discretización.


Refer<strong>en</strong>cias[1] S. ANTHONY AND A. M. FRISCH, G<strong>en</strong>erating numerical literals during refinem<strong>en</strong>t, in Inductive LogicProgramming: 7th International Workshop, ILP-97, Springer Verlag, 1997, pp. 61–76.[2] S. AUGIER, G. VENTURINI, AND Y. KODRATOFF, Learning first order logic rules with a g<strong>en</strong>eticalgorithm, in in Proc. 1st Int. Conf. on Knowledge Discovery and Data Mining, AAAI Press, 1995,pp. 21–26.[3] H. BLOCKEEL AND L. D. RAEDT, Lookahead and discretization in ilp, in In Proceedings of the 7thInternational Workshop on Inductive Logic Programming, Springer-Verlag, 1997, pp. 77–85.[4] , Top-down induction of logical decision trees, in Artificial Intellig<strong>en</strong>ce, 1998.[5] M. BOTTA AND A. GIORDANA, Smart+: A multi-strategy learning tool, in IJCAI, 1993, pp. 937–945.[6] J. CATLETT, On changing continuous attributes into ordered discrete attributes, in Proceedings of theEuropean working session on learning on Machine learning, New York, NY, USA, 1991, Springer-Verlag New York, Inc., pp. 164–178.[7] P. CLARK AND T. NIBLETT, The cn2 induction algorithm, in MACHINE LEARNING, 1989, pp. 261–283.[8] A. P. DEMPSTER, N. M. LAIRD, AND D. B. RUBIN, Maximum likelihood from incomplete datavia the em algorithm, JOURNAL OF THE ROYAL STATISTICAL SOCIETY, SERIES B, 39 (1977),pp. 1–38.[9] F. DIVINA, M. KEIJZER, AND E. MARCHIORI, A method for handling numerical attributes in gabasedinductive concept learners, in Proceedings of the 2003 international confer<strong>en</strong>ce on G<strong>en</strong>etic andevolutionary computation: PartI, GECCO’03, Berlin, Hei<strong>del</strong>berg, 2003, Springer-Verlag, pp. 898–908.[10] F. DIVINA AND E. MARCHIORI, Evolutionary concept learning, in GECCO 2002: Proceedings of theG<strong>en</strong>etic and Evolutionary Computation Confer<strong>en</strong>ce, W. B. Langdon, E. Cantú-Paz, K. Mathias, R. Roy,D. Davis, R. Poli, K. Balakrishnan, V. Honavar, G. Rudolph, J. Weg<strong>en</strong>er, L. Bull, M. A. Potter, A. C.Schultz, J. F. Miller, E. Burke, and N. Jonoska, eds., New York, 9-13 July 2002, Morgan KaufmannPublishers, pp. 343–350.[11] , Handling continuous attributes in an evolutionary inductive learner, IEEE Transactions on EvolutionaryComputation, 9 (2005), pp. 31–43.17


REFERENCIAS 18[12] U. M. FAYYAD AND K. B. IRANI, Multi-interval discretization of continuous-valued attributes forclassification learning, in IJCAI, 1993, pp. 1022–1029.[13] A. FRANK AND A. ASUNCION, UCI machine learning repository, 2010. http://archive.ics.uci.edu/ml.[14] J. H. HOLLAND, Adaptation in Natural and Artificial Systems, The University of Michigan Press,1975.[15] E. B. HUNT, Experim<strong>en</strong>ts in induction, Academic Press, New York, 1966.[16] M. I, Newgem: Program for learning from examples technical docum<strong>en</strong>tation and user’s guide., tech.report, Departm<strong>en</strong>t of Computer Sci<strong>en</strong>ce, University of Illinois, Urbana Champaign, IL, 1985.[17] J. JAFFAR AND J.-L. LASSEZ, Constraint logic programming, in POPL, 1987, pp. 111–119.[18] H. KIM AND W.-Y. LOH, Classification trees with unbiased multiway splits, Journal of the AmericanStatistical Association, (2001), pp. 589–604.[19] W. V. LAER, S. DZEROSKI, AND L. D. RAEDT, Multi-class problems and discretization in icl (ext<strong>en</strong>dedabstract), in In Proceedings of the MLnet Familiarization Workshop on Data Mining with InductiveLogic Programming (ILP for KDD, 1996, pp. 53–60.[20] W. V. LAER, L. D. RAEDT, AND S. DZEROSKI, On multi-class problems and discretization in inductivelogic programming, in Proceedings of the 10th International Symposium on Foundations ofIntellig<strong>en</strong>t Systems, ISMIS ’97, London, UK, 1997, Springer-Verlag, pp. 277–286.[21] N. LAVRAC, S. DZEROSKI, AND M. GROBELNIK, Learning nonrecursive definitions of relations withlinus, in Proceedings of the European Working Session on Machine Learning, EWSL ’91, London,UK, UK, 1991, Springer-Verlag, pp. 265–281.[22] W.-Y. LOH AND Y.-S. SHIH, Split selection methods for classification trees, Statistica Sinica, (1997),pp. 815–840.[23] D. MALERBA, F. ESPOSITO, G. SEMERARO, AND S. CAGGESE, Handling continuous data in topdowninduction of first-order rules, in AI*IA, 1997, pp. 24–35.[24] S. MUGGLETON AND L. D. RAEDT, Inductive logic programming: Theory and methods, Journal ofLogic Programming, 19/20 (1994), pp. 629–679.[25] J. R. QUINLAN, Learning logical definitions from relations, Machine Learning, 5 (1990), pp. 239–266.[26] A. SRINIVASAN, The Aleph Manual, 2004. http://www.comlab.ox.ac.uk/activities/machinelearning/Aleph/.


Apéndice ALógica de Primer Ord<strong>en</strong>A continuación pres<strong>en</strong>tamos los conceptos más importantes <strong>del</strong> l<strong>en</strong>guaje utilizado <strong>en</strong> la lógica de primerord<strong>en</strong>. El alfabeto de este l<strong>en</strong>guaje se compone de:• Conjunto de constantes: a, b, c, . . . , rojo, 34.5, 17. También llamado término. Cada constante estarárepres<strong>en</strong>tada por una cad<strong>en</strong>a alfanumérica cuyo primer carácter es una letra minúscula, o por unnúmero real.• Conjunto de variables: A, B, . . .. También llamado término. Cada variable estará repres<strong>en</strong>tada poruna cad<strong>en</strong>a alfanumérica cuyo primer carácter es una letra mayúscula.• Conjunto de símbolos de función: f, g, . . ..• Conjunto no vacío de símbolos de predicado: padre (juan, maria). También llamado término.• Conjunto de conectivos lógicos: ¬, ∧, ∨, →, ↔• Dos cuantificadores: ∃(exist<strong>en</strong>cial), ∀ (universal)• Símbolos de puntuación: (, ) , . . .A partir <strong>del</strong> alfabeto anterior se construy<strong>en</strong> fórmulas bi<strong>en</strong> formadas ó fbf.• Las fbf más pequeñas que se pued<strong>en</strong> formar son los átomo, construidos con un sólo predicado, p.e.p (X, Y ). También son llamados literales.• La negación de un átomo también es una fórmula: ¬p (X, Y ). Llamada literal.• Si φ y ϕ son fórmulas, <strong>en</strong>tonces φ ∧ ϕ, φ ∨ ϕ, φ → ϕ y φ ↔ ϕ son fórmulas.• Si X es una variable y φ es una fórmula, <strong>en</strong>tonces X∃φ y X∀φ son fórmulas.• Una cláusula es una disyunción de literales, por ejemplo:(L 1 ∨ L 2 ∨ .... ∨ ¬L 1 ∨ ¬L 2 ∨ ...) ≡(L 1 , L 2 , ..., ¬L 1 , ¬L 2 ) ≡L 1 ∧ L 2 ∧ ... ∧ L n → L 1 ∨ L 2 ∨ ... ∨ L n19


A. Lógica de Primer Ord<strong>en</strong> 20• El conjunto de literales positivas es llamado la cabeza de la cláusula y el conjunto de literales negativases llamado el cuerpo de la cláusula, por ejemplo:Sea la cláusula T = (¬L 1 ∨ ¬L 2 ∨ L 3 ∨ L 4 ) <strong>en</strong>toncespodemos re-escribirla como: T = (L 1 ∧ L 2 → L 3 ∨ L 4 ), y:{L 1 , L 2 } es la cabeza y {L 3 , L 4 } es el cuerpo de la cláusula.• Una cláusula es de programa cuando sólo ti<strong>en</strong>e una literal positiva.T 1 = ¬p (X) ∨ ¬ (a, Y ) ∨ r (Y, Z) ≡ p (X) ∧ (a, Y ) → r (Y, Z) ≡ r (Y, Z) ← p (X) ∧ (a, Y).T 2 = (¬L 1 ∨ ¬L 2 ∨ ... ∨ ¬L n−1 ∨ L n ) ≡ L 1 ∧L 2 ∧...∧L n−1 → L n ≡ L n ← L 1 ∧ L 2 ∧ ... ∧ L n−1En este docum<strong>en</strong>to utilizamos la notación pres<strong>en</strong>tada <strong>en</strong> letra negrita, donde apreciamos la flecha de implicación hacia la izquierda.Se ti<strong>en</strong><strong>en</strong> dos tipos de cláusulas de programaSi ti<strong>en</strong>e una o más literales negativas se le llama regla.– madre (X, Y ) ← mujer (X) ∧ prog<strong>en</strong>itor (X, Y ) .Si no ti<strong>en</strong>e cuerpo o literales negativas se le llama hecho.– madre (maria, juan) .• Un Programa Lógico es un conjunto de cláusulas de programa.• Sea un θ = {v 1 /t 1 , ..., v n /t n }. Decimos que θ es una substitución cuando cada v i es una variable ycada t i es un término.• Una substitución que hace que dos átomos sean iguales se conoce como unificador, por ejemplo:La substitución θ = {X/f (A) , Y/g (u) , Z/a} es un unificador para las literales: L 1 ≡ R (X, g (u))y L 2 ≡ R (f (z) , Y ) ya que L 1 θ ≡ L 2 θ

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

Saved successfully!

Ooh no, something went wrong!