You are on page 1of 81

Sesiones de Representaci on

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Resumen de las Sesiones de Representaci on

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Contenidos:

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Representaci on basada en Relaciones

L ogica Proposicional (booleana o de orden cero)

L ogica de Predicados (o de primer orden)

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Representaci on basada en Relaciones

L ogica Proposicional (booleana o de orden cero)

L ogica de Predicados (o de primer orden)

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Representaci on basada en objetos

Marcos

Inteligencia Articial

Representaci on

Sesiones de Representaci on

Representaci on basada en Relaciones Representaci on basada en Objetos Representaci on basada en Acciones

Representaci on basada en Acciones

Sistemas de Producci on

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Parte I Representaci on basada en Relaciones

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Representaci on y Modelizaci on de Problemas utilizando L ogica Proposicional

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Contenidos:

L ogica Proposicional (booleana o de orden cero)

L ogica de Predicados (o de primer orden)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

L ogica proposicional (booleana o de orden cero)

Elementos de representaci on: proposiciones y conectivas (, , , ) Inferencia: deducciones con reglas, hechos y Modus-Ponens Ejemplos: llueve, (nievallueve)hay-hielo Ventaja: representaci on de tipo general, y decidible (en tiempo nito es capaz de decidir si una proposicion es deducible de la informaci on disponible o no) Problema: si se quiere razonar sobre conjuntos de cosas. Por ejemplo, grafos, o jerarqu as de conceptos.

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Reglas de inferencia

Reglas de equivalencia:
(p q ) = ( p) ( q) (p q ) = ( p) ( q) p=p

Inferencia (o deducci on):


p,q; por tanto p q Modus-Ponens (p q y p; por tanto q)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Proposiciones
Una f abrica tiene cuatro sensores que detectan fuego y dos sensores que detectan fugas en el circuito del agua. Existen tres alarmas que se producen en diferentes ocasiones s1 , s2 , s3 , s4 , f1 , f2 , a1 , a2 , a3 Si el detector 3 de fuego o el detector 2 de fugas saltan, se debe producir la alarma 1 R1: s3 f2 a1 Si saltan los detectores de fuego 1 y 4, se debe producir la alarma 2 R2: s1 s4 a2 Si salta la alarma 1, y el detector de fuego 2 o el de fugas 1, se debe producir la alarma 3 R3: a1 (s2 f1 ) a3
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Proposiciones
Una f abrica tiene cuatro sensores que detectan fuego y dos sensores que detectan fugas en el circuito del agua. Existen tres alarmas que se producen en diferentes ocasiones s1 , s2 , s3 , s4 , f1 , f2 , a1 , a2 , a3 Si el detector 3 de fuego o el detector 2 de fugas saltan, se debe producir la alarma 1 R1: s3 f2 a1 Si saltan los detectores de fuego 1 y 4, se debe producir la alarma 2 R2: s1 s4 a2 Si salta la alarma 1, y el detector de fuego 2 o el de fugas 1, se debe producir la alarma 3 R3: a1 (s2 f1 ) a3
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Proposiciones
Una f abrica tiene cuatro sensores que detectan fuego y dos sensores que detectan fugas en el circuito del agua. Existen tres alarmas que se producen en diferentes ocasiones s1 , s2 , s3 , s4 , f1 , f2 , a1 , a2 , a3 Si el detector 3 de fuego o el detector 2 de fugas saltan, se debe producir la alarma 1 R1: s3 f2 a1 Si saltan los detectores de fuego 1 y 4, se debe producir la alarma 2 R2: s1 s4 a2 Si salta la alarma 1, y el detector de fuego 2 o el de fugas 1, se debe producir la alarma 3 R3: a1 (s2 f1 ) a3
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Proposiciones
Una f abrica tiene cuatro sensores que detectan fuego y dos sensores que detectan fugas en el circuito del agua. Existen tres alarmas que se producen en diferentes ocasiones s1 , s2 , s3 , s4 , f1 , f2 , a1 , a2 , a3 Si el detector 3 de fuego o el detector 2 de fugas saltan, se debe producir la alarma 1 R1: s3 f2 a1 Si saltan los detectores de fuego 1 y 4, se debe producir la alarma 2 R2: s1 s4 a2 Si salta la alarma 1, y el detector de fuego 2 o el de fugas 1, se debe producir la alarma 3 R3: a1 (s2 f1 ) a3
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Inferencia: deducci on

Han saltado el detector de fuego 2 y el de fugas 2. Qu e alarmas saltar an?


1 2 3 4

s2 f2 (R1 y 1) a1 (R3, 1 y 3) a3

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Inferencia: deducci on

Han saltado el detector de fuego 2 y el de fugas 2. Qu e alarmas saltar an?


1 2 3 4

s2 f2 (R1 y 1) a1 (R3, 1 y 3) a3

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Ejemplo: Inferencia: deducci on

Han saltado el detector de fuego 2 y el de fugas 2. Qu e alarmas saltar an?


1 2 3 4

s2 f2 (R1 y 1) a1 (R3, 1 y 3) a3

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Dicultades de representaci on

Una empresa tiene 10 empleados. Los empleados pueden trabajar en tres tipos de puestos: director, jefe o administrativo.
Empleado1TrabajaDeDirector, Empleado2TrabajaDeJefe, . . .

Si es director gana 60000 euros brutos al a no, si es jefe 30000 y, si no, 20000. Adem as, si tiene m as de dos hijos, gana 10000 euros m as al a no.
Empleado1Tiene1Hijo, Empleado2Tiene3Hijos, . . . Empleado1Tiene1Hijo Empleado1TrabajaDeDirector Empleado1Gana60000 Empleado2Tiene3Hijos Empleado2TrabajaDeJefe Empleado2Gana40000

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Dicultades de representaci on

Una empresa tiene 10 empleados. Los empleados pueden trabajar en tres tipos de puestos: director, jefe o administrativo.
Empleado1TrabajaDeDirector, Empleado2TrabajaDeJefe, . . .

Si es director gana 60000 euros brutos al a no, si es jefe 30000 y, si no, 20000. Adem as, si tiene m as de dos hijos, gana 10000 euros m as al a no.
Empleado1Tiene1Hijo, Empleado2Tiene3Hijos, . . . Empleado1Tiene1Hijo Empleado1TrabajaDeDirector Empleado1Gana60000 Empleado2Tiene3Hijos Empleado2TrabajaDeJefe Empleado2Gana40000

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Otro ejemplo

Una universidad imparte un conjunto de titulaciones en un conjunto de centros. Cada titulaci on tiene un plan de estudios formado por un conjunto de asignaturas troncales, obligatorias, optativas y de libre elecci on. Cada asignatura se imparte en un curso y cuatrimestre determinados y tiene un determinado n umero de cr editos. Cuando un alumno se matricula por primera vez en primero, debe matricularse de todas las asignaturas del primer curso. En primero de Ingenier a T ecnica en Inform atica de Gesti on de la Universidad Carlos III de Madrid se imparte en primero las asignaturas de Matem aticas I, . . . . Ana Morales P erez acaba de matricularse en primero de la titulaci on.

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Representaci on y Modelizaci on de Problemas utilizando L ogica de Predicados

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Contenidos:

L ogica Proposicional (booleana o de orden cero)

L ogica de Predicados (o de primer orden)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

L ogica de predicados (de primer orden)


Elementos de representaci on:
T erminos: Constantes (uc3m), Variables (X ), Funciones (siguiente(X )) F ormulas at omicas: Predicados denidos sobre t erminos
1. trabaja-como(empleado1,director) 2. tiene-hijos(empleado1,1)

F ormulas bien formadas (w): F ormulas at omicas unidas por conectivas (, , , ) y cuanticadas (, )
3. X , Y trabaja-como(X ,director), tiene-hijos(X , Y ), Y<=2 gana(X ,60000) 4. X , Y trabaja-como(X ,director), tiene-hijos(X , Y ), Y>2 gana(X ,70000)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Reglas de inferencia

Inferencia: Todas las de l ogica proposicional + instanciaci on universal Instanciaci on universal: si tenemos X p(X) entonces se puede deducir p(a), p(Y) . . . Unicaci on Ejemplo: Todos los hombres son mortales, S ocrates es un hombre, por tanto S ocrates es mortal:
1 2 3 4

R1: X hombre(X) mortal(X) hombre(s ocrates) R1 y X=s ocrates: hombre(s ocrates) mortal(s ocrates) (2 y 3) mortal(s ocrates)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Representaci on
Una universidad imparte un conjunto de titulaciones en un conjunto de centros y campus.
imparte(Universidad,Titulaci on,Centro,Campus) imparte(uc3m,itig,eps,legan es) imparte(uc3m,itig,eps,colmenarejo) imparte(uc3m,ii,eps,legan es)

La representaci on no es u nica
imparte-titulaci on(Universidad,Titulaci on) imparte-titulaci on(uc3m,itig) imparte-titulaci on(uc3m,ii) imparte-centro(Titulaci on,Centro) imparte-centro(itig,eps) centro-en-campus(Centro,Campus) centro-en-campus(eps,legan es)
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Representaci on
Una universidad imparte un conjunto de titulaciones en un conjunto de centros y campus.
imparte(Universidad,Titulaci on,Centro,Campus) imparte(uc3m,itig,eps,legan es) imparte(uc3m,itig,eps,colmenarejo) imparte(uc3m,ii,eps,legan es)

La representaci on no es u nica
imparte-titulaci on(Universidad,Titulaci on) imparte-titulaci on(uc3m,itig) imparte-titulaci on(uc3m,ii) imparte-centro(Titulaci on,Centro) imparte-centro(itig,eps) centro-en-campus(Centro,Campus) centro-en-campus(eps,legan es)
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Representaci on
Una universidad imparte un conjunto de titulaciones en un conjunto de centros y campus.
imparte(Universidad,Titulaci on,Centro,Campus) imparte(uc3m,itig,eps,legan es) imparte(uc3m,itig,eps,colmenarejo) imparte(uc3m,ii,eps,legan es)

La representaci on no es u nica
imparte-titulaci on(Universidad,Titulaci on) imparte-titulaci on(uc3m,itig) imparte-titulaci on(uc3m,ii) imparte-centro(Titulaci on,Centro) imparte-centro(itig,eps) centro-en-campus(Centro,Campus) centro-en-campus(eps,legan es)
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Sigue el ejemplo
Cada titulaci on tiene un plan de estudios formado por un conjunto de asignaturas troncales, obligatorias, optativas y de libre elecci on.
asignatura-en-plan(Asignatura,Titulaci on) asignatura-en-plan(ia-itig,itig) tipo-asignatura(Asignatura,Tipo) tipo-asignatura(ia-itig,obligatoria) tipo-asignatura(ia-ii,troncal)

Cada asignatura se imparte en un curso y cuatrimestre determinados y tiene un determinado n umero de cr editos.
curso-asignatura(Asignatura,Curso) cuatrimestre-asignatura(Asignatura,Cuatrimestre) cr editos-asignatura(Asignatura,Cr editos) o asignatura(Asignatura,Curso,Cuatrimestre,Cr editos)
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Inferencia

Inferencia: Modus-Ponens (resoluci on/unicaci on) De 1 y 3, se deduce gana(empleado1,60000) Cuando un alumno se matricula por primera vez en primero, debe matricularse de todas las asignaturas del primer curso.
R1: X,U,Y primera-matr cula(X,U), curso-asignatura(Y,1) matriculado-en(X,Y)

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Inferencia. Deducci on con Modus-Ponens


En primero de Ingenier a T ecnica en Inform atica de Gesti on de la Universidad Carlos III de Madrid se imparte en primero las asignaturas de Matem aticas I, . . .
1. curso-asignatura(matem aticasI,1) 2. curso-asignatura(f sica,1)

Ana Morales P erez acaba de matricularse en primero de la titulaci on.


3. primera-matr cula(anaMorales,uc3m)

Si X =anaMorales, U =uc3m, y Y =matem aticasI, (unicaci on) por Modus-Ponens, a partir de la regla 1, de 1 y de 3, se puede deducir que matriculado-en(anaMorales,matem aticasI) Si X =anaMorales, U =uc3m, y Y =f sica, por Modus-Ponens, a partir de la regla 1, de 2 y de 3, se puede deducir que matriculado-en(anaMorales,f sica)
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Unicaci on

Una variable puede unicar con una constante (X ,anaMorales) Una variable puede unicar con otra variable (que no est e previamente unicada) (X , Y ) Un literal puede unicar con otro si tienen el mismo predicado y los argumentos unican uno a uno primera-matr cula(anaMorales,uc3m), primera-matr cula(X , U ) En el resto de la f ormula se sustituye la variable por su valor Resultado: sustituci on ( ) ={(X ,anaMorales),(U ,uc3m)}

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Deducci on hacia atr as


Y si se desea conocer en qu e asignaturas se debe matricular anaMorales? Pregunta: matriculado-en(anaMorales,Y ) Se busca una implicaci on l ogica en la que aparezca matriculado-en(V , V 1) en la parte derecha (puede haber m as de una) Si se pueden unicar, se intenta deducir los literales que aparezcan en la parte izquierda de la implicaci on Si existe alguna asignaci on de valor a las variables de la parte izquierda que permita deducir como ciertas las condiciones, se podr a deducir la pregunta de diferentes formas (diferentes valores de Y : matem aticasI, f sica, . . . )
Inteligencia Articial Representaci on

L ogica Proposicional L ogica de Predicados

Caracter sticas de l ogica de predicados

Ventaja: representaci on de tipo general m as rica que la proposicional Problema: es semidecidible (si algo no se puede deducir, los mecanismos de inferencia no aseguran que se parar an) Soluci on: subconjuntos decidibles de l ogica de predicados (cl ausulas de Horn) Existe un lenguaje de programaci on que permite crear y ejecutar programas en l ogica de predicados: prolog

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Modelo computacional. prolog

conectados(X,Y) :- conectados(Y,X). alcanzable(X,Y) :- conectados(X,Y). alcanzable(X,Y) :- conectados(X,Z), alcanzable(Z,Y).

Inteligencia Articial

Representaci on

L ogica Proposicional L ogica de Predicados

Otras l ogicas

L ogicas de segundo orden (o de orden superior)


tienen dos (o tres) tipos denidos: los objetos y los conjuntos o funciones sobre los mismos (o ambos) es equivalente a decir que los predicados pueden tomar otros predicados como argumentos

L ogicas modales y temporales


necesario ( ) y posible ( )

L ogica difusa
grados de pertenencia

Otras: multi-valuadas, no-mon otonas, cu anticas, . . .

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Parte II Representaci on basada en Objetos

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Introducci on a la representaci on basada en objetos

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Contenidos:

Marcos

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Objeto-Atributo-Valor
Lista de ternas (trabajador1,est a-en,casilla-1-0) (casilla-1-0,x,1) (casilla-1-0,y,0) ... Equivalente a registros (lenguajes de programaci on) o a predicados binarios (l ogica de predicados) No hay herencia Es dif cil realizar razonamiento (utilizada junto a reglas o para realizar aprendizaje inductivo)

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Otra forma de mostrarlo

Objeto trabajador1 trabajador2 casilla-1-0 casilla-1-1

est a-en casilla-1-0 casilla-1-1

1 1

0 1

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Marcos
Conceptos: clases, marcos (frames), . . . Subconceptos: subclases Instancias: objetos Atributos: slots, campos, caracter sticas, . . . Herencia: simple o m ultiple Facetas: atributos de atributos (valor, tipo de valores, comentario, cardinalidad, . . . ) Relaciones: es-un, parte-de, empleado-de, . . . M etodos: funciones asociadas a los marcos Demonios: funciones que vigilan las operaciones sobre los atributos Ontolog as (incluyen axiomas): representaciones formales del conocimiento sobre un dominio compartidas por un conjunto de aplicaciones
Inteligencia Articial Representaci on

Representaci on basada en objetos

Universidad en marcos

Una universidad imparte un conjunto de titulaciones en un conjunto de centros. Cada titulaci on tiene un plan de estudios formado por un conjunto de asignaturas troncales, obligatorias, optativas y de libre elecci on. Cada asignatura se imparte en un curso y cuatrimestre determinados y tiene un determinado n umero de cr editos. Cuando un alumno se matricula por primera vez en primero, debe matricularse de todas las asignaturas del primer curso. En primero de Ingenier a T ecnica en Inform atica de Gesti on de la Universidad Carlos III de Madrid se imparten las asignaturas de Matem aticas I, . . . . Ana Morales P erez acaba de matricularse en primero de la titulaci on.

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Identicaci on de clases

Una universidad imparte un conjunto de titulaciones en un conjunto de centros. Cada titulaci on tiene un plan de estudios formado por un conjunto de asignaturas troncales, obligatorias, optativas y de libre elecci on. Cada asignatura se imparte en un curso y cuatrimestre determinados y tiene un determinado n umero de cr editos. Cuando un alumno se matricula por primera vez en primero, debe matricularse de todas las asignaturas del primer curso. En primero de Ingenier a T ecnica en Inform atica de Gesti on de la Universidad Carlos III de Madrid se imparten las asignaturas de Matem aticas I, . . . . Ana Morales P erez acaba de matricularse en primero de la titulaci on.

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Clases, subclases, instancias y atributos


Clases: universidad, titulaci on, centro, plan-de-estudios, asignatura, curso, alumno Subclases: troncales, obligatorias, optativas, libre-elecci on Instancias: primer-curso-ITIG-UC3M, ITIG, Matem aticasI, AnaMoralesPerez Atributos: titulaciones (universidad), universidad (titulaci on, centro), centros (universidad), plan-de-estudios (titulaci on), titulaci on (plan-de-estudios), tipo (asignatura), curso (asignatura), cuatrimestre (asignatura), n umero-cr editos (asignatura), asignaturas (curso, alumno), alumnos-matriculados (asignatura), n umero-matr culas (alumno), . . .

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Representaci on compacta
Universidad es-un: Posibles valores/Valor cadena de caracteres lista de instancias de Titulaci on lista de instancias de Departamento n umero {p ublica, privada, iglesia}

Atributo nombre titulaciones departamentos n umero-alumnos tipo

Cardinalidad 1..1 0..100 0..100 1..1 1..1

Atributo tipo comunidad-aut onoma nanciaci on

Universidad-p ublica es-un: Universidad Posibles valores/Valor p ublica instancia de Comunidad-aut onoma n umero
Representaci on

Cardinalidad 1..1 1..1 1..1

Inteligencia Articial

Representaci on basada en objetos

Otra clase

Atributo nombre universidad departamentos n umero-alumnos centro

Titulaci on es-un: Posibles valores/Valor cadena de caracteres instancia de Universidad lista de instancias de Departamento n umero instancia de Centro

Cardinalidad 11 1..1 0..100 1..1 1..1

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Ejemplo de instancia

Atributo nombre universidad departamentos n umero-alumnos centro

ITIG-UC3M instancia-de: Titulaci on Posibles valores/Valor Ing. Tec. en Inform atica de Gesti on #UC3M (#D-Infor-UC3M #D-Mates-UC3M . . . ) 800 #EPS-UC3M

Cardinalidad 1..1 1..1 0..1 1..1 1..1

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Facetas

Atributo Universidad de clase Titulaci on en instancia ITIG-UC3M


valor: puntero a instancia UC3M (de Universidad) tipo de valores: instancia de clase Universidad comentario: Se reere a la titulaci on de Ingenier a T ecnica en Inform atica de Gesti on de la Universidad Carlos III de Madrid cardinalidad (m axima-m nima): 1 factor de certeza: 1

Inteligencia Articial

Representaci on

Representaci on basada en objetos

M etodos

matricular.asignatura (self,alumno) add(self,Alumnos,alumno) set(self,N umero-alumnos,get(self,N umero-alumnos)+1) send(alumno,Matricular,self) send(get(self,Titulaci on),Matricular,alumno) matricular.titulaci on (self,alumno) if not(member(alumno,get(self,Alumnos))) then add(self,Alumnos,alumno) set(self,N umero-alumnos,get(self,N umero-alumnos)+1)

matricular.alumno(self,asignatura) . . .

Inteligencia Articial

Representaci on

Representaci on basada en objetos

Demonios

if-needed.N umero-alumnos.Universidad (self) n umero=0 For titulaci on in get(self,Titulaciones) n umero=n umero+get(titulaci on,N umero-alumnos) if-set.N umero-alumnos.Titulaci on (self) universidad=get(self,Universidad) set(universidad,N umero-alumnos,get(universidad,N umero-alumnos))

Inteligencia Articial

Representaci on

Sistemas de Producci on

Parte III Representaci on basada en Acciones

Inteligencia Articial

Representaci on

Sistemas de Producci on

Introducci on a los sistemas de Producci on

Representaci on
Inteligencia Articial
Grupo de Planicaci on y Aprendizaje (PLG) Departamento de Inform atica Escuela Polit ecnica Superior Universidad Carlos III de Madrid

8 de octubre de 2008

Inteligencia Articial

Representaci on

Sistemas de Producci on

Contenidos:

Sistemas de Producci on

Inteligencia Articial

Representaci on

Sistemas de Producci on

Sistemas de Producci on

En los primeros pasos de la IA, se cuestion o el tratamiento que daban los algoritmos tradicionales a los problemas.
Flujo de control jo Secuencialidad No adecuado en entornos cambiantes

Soluci on: los datos dirigen las operaciones

Inteligencia Articial

Representaci on

Sistemas de Producci on

Componentes de un SP
Base de hechos o memoria de trabajo (BH o WM): conocimiento sobre el dominio en un determinado momento Base de reglas (BR): conjunto de reglas (producciones) SI A ENTONCES B A: condiciones de aplicaci on B: acciones sobre la BH o mundo externo Estrategia de control, int erprete de reglas, o motor de inferencias (EC o MI): responsable de encadenar los ciclos de funcionamiento.
Fase de decisi on: selecci on de reglas Fase de acci on: ejecuci on de reglas

Una regla se activa cuando sus precondiciones son ciertas en el estado actual de la BH o cuando la regla concluye algo que se busca establecer
Inteligencia Articial Representaci on

Sistemas de Producci on

Funcionamiento de un SP

Tipos de sistemas
Sistemas dirigidos por el antecedente. Modus Ponens Sistemas dirigidos por el consecuente. Modus Tollens

Fases Fase de decisi on


Etapa de restricci on (opcional) Etapa de equiparaci on o ltrado. rete Etapa de resoluci on del conjunto conicto

Fase de acci on

Inteligencia Articial

Representaci on

Sistemas de Producci on

Ejemplo: 8 puzzle. Base de hechos


1 4 2 7 3 8 5 6 ? 2 1 4 7 3 5 6 8

listas: (V11,V12,V13,. . . ,V33) l ogica de predicados: casilla(X,Y,Valor) marcos: Casilla es-un: Posibles valores/Valor n umero [1..3] n umero [1..3] n umero [0..8]
Representaci on

Atributo x y valor

Inteligencia Articial

Sistemas de Producci on

8-puzzle. Base de hechos inicial


1 4 2 7 3 8 5 6 ? 2 1 4 7 3 5 6 8

listas: (1,2,3,0,5,6,4,7,8) l ogica de predicados: casilla(1,1,1),casilla(2,1,2),. . . ,casilla(3,3,8) marcos:


casilla11 instancia-de: Casilla Atributo Posibles valores/Valor x 1 y 1 valor 1
Inteligencia Articial

casilla21 instancia-de: Casilla Atributo Posibles valores/Valor x 2 y 1 valor 2


Representaci on

Sistemas de Producci on

8-puzzle. Base de hechos nal o metas


1 4 2 7 3 8 5 6 ? 2 1 4 7 3 5 6 8

listas: (2,0,3,1,5,6,4,7,8) o (2,X,Y,1,5,Z,4,7,8) l ogica de predicados: casilla(1,1,2),casilla(2,1,0),. . . ,casilla(3,3,8) marcos:


casilla11 instancia-de: Casilla Atributo Posibles valores/Valor x 1 y 1 valor 2
Inteligencia Articial

casilla21 instancia-de: Casilla Atributo Posibles valores/Valor x 2 y 1 valor 0


Representaci on

Sistemas de Producci on

8-puzzle. Base de reglas

listas Si (0,X1,X2,X3,X4,X5,X6,X7,X8) Entonces (X1,0,X2,X3,X4,X5,X6,X7,X8) Si (0,X1,X2,X3,X4,X5,X6,X7,X8) Entonces (X3,X1,X2,0,X4,X5,X6,X7,X8) ... Problema: implica denir todas las posibles combinaciones de posici on del vac o (0) y sus posibles movimientos

Inteligencia Articial

Representaci on

Sistemas de Producci on

8-puzzle. L ogica de predicados

Si casilla(X,Y,0),casilla(X1,Y,Z),X=X1+1 Entonces casilla(X1,Y,0),casilla(X,Y,Z),casilla(X,Y,0),casilla(X1,Y,Z) Si casilla(X,Y,0),casilla(X1,Y,Z),X=X1-1 Entonces casilla(X1,Y,0),casilla(X,Y,Z),casilla(X,Y,0),casilla(X1,Y,Z) Si casilla(X,Y,0),casilla(X,Y1,Z),Y=Y1+1 Entonces casilla(X,Y1,0),casilla(X,Y,Z),casilla(X,Y,0),casilla(X,Y1,Z) Si casilla(X,Y,0),casilla(X,Y1,Z),Y=Y1-1 Entonces casilla(X,Y1,0),casilla(X,Y,Z),casilla(X,Y,0),casilla(X,Y1,Z)

Realmente en prolog dif cil de realizar dado que requiere razonamiento no mon otono
Inteligencia Articial Representaci on

Sistemas de Producci on

8-puzzle. Marcos
Arriba Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1+1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0) Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1-1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0) Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) ?casilla1 (casilla (x ?x1) (y ?y) (valor ?v)) (test ?x=?x1-1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)
Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) ?casilla1 (casilla (x ?x1) (y ?y) (valor ?v)) (test ?x=?x1+1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)
Inteligencia Articial Representaci on

Abajo

Derecha

Izquierda

Sistemas de Producci on

Equiparaci on
Primera aproximaci on: en cada ciclo se calcula el CC y se resuelve Problema: lentitud Soluci on: algoritmo rete (algoritmo de redundancia temporal)
a partir de las reglas se crea inicialmente un grafo (red rete) se propaga el contenido de la base de hechos inicial a trav es de la red cada vez que se produce un cambio en la base de hechos (normalmente, a trav es del consecuente de una regla), se propagan los cambios en cada ciclo, en los nodos terminales de la red se dispondr a del CC

Idea clave: similitud estructural


Inteligencia Articial Representaci on

Sistemas de Producci on

Equiparaci on
Primera aproximaci on: en cada ciclo se calcula el CC y se resuelve Problema: lentitud Soluci on: algoritmo rete (algoritmo de redundancia temporal)
a partir de las reglas se crea inicialmente un grafo (red rete) se propaga el contenido de la base de hechos inicial a trav es de la red cada vez que se produce un cambio en la base de hechos (normalmente, a trav es del consecuente de una regla), se propagan los cambios en cada ciclo, en los nodos terminales de la red se dispondr a del CC

Idea clave: similitud estructural


Inteligencia Articial Representaci on

Sistemas de Producci on

Encadenamiento hacia adelante


BH inicial: (casilla11 (x 1) (y 1) (valor 1)) (casilla21 (x 2) (y 1) (valor 2)) ... (casilla33 (x 3) (y 3) (valor 8)) Equiparaci on: (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) (Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#c12, ?casilla1=#c13) (Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#c12, ?casilla1=#c22) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) Ejecuci on: (- (casilla12 (x 1) (y 2) (valor 0))) (+ (casilla12 (x 1) (y 2) (valor 1))) (- (casilla11 (x 1) (y 1) (valor 1))) (+ (casilla11 (x 1) (y 1) (valor 0))) Equiparaci on . . .
Inteligencia Articial Representaci on

Sistemas de Producci on

Encadenamiento hacia adelante


BH inicial: (casilla11 (x 1) (y 1) (valor 1)) (casilla21 (x 2) (y 1) (valor 2)) ... (casilla33 (x 3) (y 3) (valor 8)) Equiparaci on: (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) (Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#c12, ?casilla1=#c13) (Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#c12, ?casilla1=#c22) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) Ejecuci on: (- (casilla12 (x 1) (y 2) (valor 0))) (+ (casilla12 (x 1) (y 2) (valor 1))) (- (casilla11 (x 1) (y 1) (valor 1))) (+ (casilla11 (x 1) (y 1) (valor 0))) Equiparaci on . . .
Inteligencia Articial Representaci on

Sistemas de Producci on

Encadenamiento hacia adelante


BH inicial: (casilla11 (x 1) (y 1) (valor 1)) (casilla21 (x 2) (y 1) (valor 2)) ... (casilla33 (x 3) (y 3) (valor 8)) Equiparaci on: (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) (Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#c12, ?casilla1=#c13) (Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#c12, ?casilla1=#c22) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) Ejecuci on: (- (casilla12 (x 1) (y 2) (valor 0))) (+ (casilla12 (x 1) (y 2) (valor 1))) (- (casilla11 (x 1) (y 1) (valor 1))) (+ (casilla11 (x 1) (y 1) (valor 0))) Equiparaci on . . .
Inteligencia Articial Representaci on

Sistemas de Producci on

Encadenamiento hacia adelante


BH inicial: (casilla11 (x 1) (y 1) (valor 1)) (casilla21 (x 2) (y 1) (valor 2)) ... (casilla33 (x 3) (y 3) (valor 8)) Equiparaci on: (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) (Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#c12, ?casilla1=#c13) (Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#c12, ?casilla1=#c22) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11) Ejecuci on: (- (casilla12 (x 1) (y 2) (valor 0))) (+ (casilla12 (x 1) (y 2) (valor 1))) (- (casilla11 (x 1) (y 1) (valor 1))) (+ (casilla11 (x 1) (y 1) (valor 0))) Equiparaci on . . .
Inteligencia Articial Representaci on

Sistemas de Producci on

Encadenamiento hacia atr as (a la prolog)


Metas: (casilla11 (valor 2)) (casilla21 (valor 0)) ... (casilla33 (valor 8)) Reducci on: selecci on meta (por ejemplo, la primera) (casilla11 (valor 2)) Equiparaci on: (Arriba, ?v=2, ?casilla=#c11) (Abajo, ?v=2, ?casilla=#c11) (Derecha, ?v=2, ?casilla=#c11) (Izquierda, ?v=2, ?casilla=#c11) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?v=2, ?casilla=#c11)

Inteligencia Articial

Representaci on

Sistemas de Producci on

Encadenamiento hacia atr as (a la prolog)


Metas: (casilla11 (valor 2)) (casilla21 (valor 0)) ... (casilla33 (valor 8)) Reducci on: selecci on meta (por ejemplo, la primera) (casilla11 (valor 2)) Equiparaci on: (Arriba, ?v=2, ?casilla=#c11) (Abajo, ?v=2, ?casilla=#c11) (Derecha, ?v=2, ?casilla=#c11) (Izquierda, ?v=2, ?casilla=#c11) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?v=2, ?casilla=#c11)

Inteligencia Articial

Representaci on

Sistemas de Producci on

Encadenamiento hacia atr as (a la prolog)


Metas: (casilla11 (valor 2)) (casilla21 (valor 0)) ... (casilla33 (valor 8)) Reducci on: selecci on meta (por ejemplo, la primera) (casilla11 (valor 2)) Equiparaci on: (Arriba, ?v=2, ?casilla=#c11) (Abajo, ?v=2, ?casilla=#c11) (Derecha, ?v=2, ?casilla=#c11) (Izquierda, ?v=2, ?casilla=#c11) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?v=2, ?casilla=#c11)

Inteligencia Articial

Representaci on

Sistemas de Producci on

Encadenamiento hacia atr as (a la prolog)


Metas: (casilla11 (valor 2)) (casilla21 (valor 0)) ... (casilla33 (valor 8)) Reducci on: selecci on meta (por ejemplo, la primera) (casilla11 (valor 2)) Equiparaci on: (Arriba, ?v=2, ?casilla=#c11) (Abajo, ?v=2, ?casilla=#c11) (Derecha, ?v=2, ?casilla=#c11) (Izquierda, ?v=2, ?casilla=#c11) Resoluci on del CC (por ejemplo, primera regla): (Arriba, ?v=2, ?casilla=#c11)

Inteligencia Articial

Representaci on

Sistemas de Producci on

Encadenamiento hacia atr as (a la prolog)


Ejecuci on: introducir las condiciones de la regla instanciada en conjunto de metas

?casilla=#c11 y (?casilla (casilla (x ?x) (y ?y) (valor 0))) entonces ?x=1, ?y=1 y a nade meta (casilla11 (valor 0)) ?v=2 y (?casilla1 (casilla (x ?x) (y ?y1) (valor ?v))) entonces (?casilla1 (casilla (x 1) (y ?y1) (valor 2))) (test ?y=?y1+1), ?y=1 y (?casilla1 (casilla (x 1) (y ?y1) (valor 2)) entonces ?casilla1=#c21 e ?y1=0 y a nade meta (casilla21 (valor 2)) La lista de metas queda como: (casilla11 (valor 0)) (casilla21 (valor 2)) (casilla21 (valor 0)) ... (casilla33 (valor 8)) Reducci on: . . .
Inteligencia Articial Representaci on

Sistemas de Producci on

Redise no (encadenamiento hacia atr as)


Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) (test ?y>1) ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1+1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0) Si ?casilla (casilla (x ?x) (y ?y) (valor 0)) (test ?y<3) ?casilla1 (casilla (x ?x) (y ?y1) (valor ?v)) (test ?y=?y1-1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)
Si . . . (test ?x<3) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0) Si . . . (test ?x>1) Entonces modica(?casilla,valor,?v),modica(?casilla1,valor,0)
Inteligencia Articial Representaci on

Arriba

Abajo

Derecha

Izquierda

Sistemas de Producci on

Comparativa de tipos de encadenamiento


Inconvenientes de encadenamiento hacia adelante
No focalizaci on hacia las metas Es necesario tener inicialmente todos los datos en la BH Mayor cantidad de equiparaciones

Inconvenientes de encadenamiento hacia atr as


S olo se pregunta al usuario cuando se ha explorado todo Necesitamos generar metas No se conocen acciones a ejecutar hasta casi el nal Disminuye el arbol de b usqueda

Factores de elecci on
N umero de estados iniciales y metas Factor de ramicaci on Justicaci on del funcionamiento

Inteligencia Articial

Representaci on

Sistemas de Producci on

Caracter sticas de la estrategia

Lo m as general posible Lo m as eciente posible (heur sticas): impl citas o expl citas Causar movimiento Ser sistem atica

Inteligencia Articial

Representaci on

Sistemas de Producci on

Estrategias de resoluci on
Primera regla M as conocimiento M as prioridad M as espec ca M as general Referente al elemento m as nuevo No aplicada antes M as veces aplicada Aleatoriamente Explorar todas Metarreglas Mezcla de estrategias
Inteligencia Articial Representaci on

Sistemas de Producci on

Ventajas e inconvenientes

Ventajas
Modularidad, lo que facilita incrementalidad Car acter declarativo Uniformidad Naturalidad Flexibilidad Aprendizaje autom atico Modelizaci on del comportamiento animal y humano

Inconvenientes
Ineciencia Opacidad Dicultad de representaci on de los algoritmos

Inteligencia Articial

Representaci on

Sistemas de Producci on

Dominios Apropiados

Tareas: transici on entre estados Conocimiento difuso Conjuntos de acciones independientes Conocimiento separable de la forma de usarse

Inteligencia Articial

Representaci on

You might also like