inteligencia arti cial -...
TRANSCRIPT
Sesiones de Representacion
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Resumen de las Sesiones de Representacion
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Contenidos:
Representacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Representacion basada en Relaciones
1 Logica Proposicional (booleana o de orden cero)
2 Logica de Predicados (o de primer orden)
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Representacion basada en Relaciones
1 Logica Proposicional (booleana o de orden cero)
2 Logica de Predicados (o de primer orden)
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Representacion basada en objetos
3 Marcos
Inteligencia Artificial Representacion
Sesiones de RepresentacionRepresentacion basada en RelacionesRepresentacion basada en ObjetosRepresentacion basada en Acciones
Representacion basada en Acciones
4 Sistemas de Produccion
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Parte I
Representacion basada en Relaciones
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Representacion y Modelizacion de Problemas utilizando LogicaProposicional
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Contenidos:
1 Logica Proposicional (booleana o de orden cero)
2 Logica de Predicados (o de primer orden)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Logica proposicional (booleana o de orden cero)
Elementos de representacion: proposiciones y conectivas(∧,∨,→,¬)
Inferencia: deducciones con reglas, hechos y Modus-Ponens
Ejemplos: llueve, (¬nieva∧llueve)∨hay-hielo
Ventaja: representacion de tipo general, y decidible (entiempo finito es capaz de decidir si una proposicion esdeducible de la informacion disponible o no)
Problema: si se quiere razonar sobre conjuntos de cosas. Porejemplo, grafos, o jerarquıas de conceptos.
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Reglas de inferencia
Reglas de equivalencia:
¬ (p ∧ q ) = (¬ p) ∨ (¬ q)¬ (p ∨ q ) = (¬ p) ∧ (¬ q)¬ ¬ p = p
Inferencia (o deduccion):
p,q; por tanto p ∧ qModus-Ponens (p → q y p; por tanto q)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Proposiciones
Una fabrica tiene cuatro sensores que detectan fuego y dossensores que detectan fugas en el circuito del agua. Existentres 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, sedebe producir la alarma 1
R1: s3 ∨ f2 → a1
Si saltan los detectores de fuego 1 y 4, se debe producir laalarma 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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Proposiciones
Una fabrica tiene cuatro sensores que detectan fuego y dossensores que detectan fugas en el circuito del agua. Existentres 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, sedebe producir la alarma 1
R1: s3 ∨ f2 → a1
Si saltan los detectores de fuego 1 y 4, se debe producir laalarma 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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Proposiciones
Una fabrica tiene cuatro sensores que detectan fuego y dossensores que detectan fugas en el circuito del agua. Existentres 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, sedebe producir la alarma 1
R1: s3 ∨ f2 → a1
Si saltan los detectores de fuego 1 y 4, se debe producir laalarma 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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Proposiciones
Una fabrica tiene cuatro sensores que detectan fuego y dossensores que detectan fugas en el circuito del agua. Existentres 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, sedebe producir la alarma 1
R1: s3 ∨ f2 → a1
Si saltan los detectores de fuego 1 y 4, se debe producir laalarma 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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Inferencia: deduccion
Han saltado el detector de fuego 2 y el de fugas 2.¿Que alarmas saltarıan?
1 s2
2 f2
3 (R1 y 1) a1
4 (R3, 1 y 3) a3
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Inferencia: deduccion
Han saltado el detector de fuego 2 y el de fugas 2.¿Que alarmas saltarıan?
1 s2
2 f2
3 (R1 y 1) a1
4 (R3, 1 y 3) a3
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Ejemplo: Inferencia: deduccion
Han saltado el detector de fuego 2 y el de fugas 2.¿Que alarmas saltarıan?
1 s2
2 f2
3 (R1 y 1) a1
4 (R3, 1 y 3) a3
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Dificultades de representacion
Una empresa tiene 10 empleados. Los empleados puedentrabajar en tres tipos de puestos: director, jefe oadministrativo.
Empleado1TrabajaDeDirector, Empleado2TrabajaDeJefe, . . .
Si es director gana 60000 euros brutos al ano, si es jefe 30000y, si no, 20000. Ademas, si tiene mas de dos hijos, gana 10000euros mas al ano.
Empleado1Tiene1Hijo, Empleado2Tiene3Hijos, . . .Empleado1Tiene1Hijo ∧ Empleado1TrabajaDeDirector → Empleado1Gana60000Empleado2Tiene3Hijos ∧ Empleado2TrabajaDeJefe → Empleado2Gana40000
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Dificultades de representacion
Una empresa tiene 10 empleados. Los empleados puedentrabajar en tres tipos de puestos: director, jefe oadministrativo.
Empleado1TrabajaDeDirector, Empleado2TrabajaDeJefe, . . .
Si es director gana 60000 euros brutos al ano, si es jefe 30000y, si no, 20000. Ademas, si tiene mas de dos hijos, gana 10000euros mas al ano.
Empleado1Tiene1Hijo, Empleado2Tiene3Hijos, . . .Empleado1Tiene1Hijo ∧ Empleado1TrabajaDeDirector → Empleado1Gana60000Empleado2Tiene3Hijos ∧ Empleado2TrabajaDeJefe → Empleado2Gana40000
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Otro ejemplo
Una universidad imparte un conjunto de titulaciones en unconjunto de centros. Cada titulacion tiene un plan de estudiosformado por un conjunto de asignaturas troncales, obligatorias,optativas y de libre eleccion. Cada asignatura se imparte en uncurso y cuatrimestre determinados y tiene un determinado numerode creditos. Cuando un alumno se matricula por primera vez enprimero, debe matricularse de todas las asignaturas del primercurso. En primero de Ingenierıa Tecnica en Informatica de Gestionde la Universidad Carlos III de Madrid se imparte en primero lasasignaturas de Matematicas I, . . . . Ana Morales Perez acaba dematricularse en primero de la titulacion.
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Representacion y Modelizacion de Problemas utilizando Logica dePredicados
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Contenidos:
1 Logica Proposicional (booleana o de orden cero)
2 Logica de Predicados (o de primer orden)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Logica de predicados (de primer orden)
Elementos de representacion:
Terminos: Constantes (uc3m), Variables (X ), Funciones(siguiente(X ))Formulas atomicas: Predicados definidos sobre terminos
1. trabaja-como(empleado1,director)
2. tiene-hijos(empleado1,1)
Formulas bien formadas (wff): Formulas atomicas unidas porconectivas (∧,∨,→,¬) y cuantificadas (∀,∃)
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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Reglas de inferencia
Inferencia: Todas las de logica proposicional + instanciacionuniversal
Instanciacion universal: si tenemos ∀ X p(X) entonces sepuede deducir p(a), p(Y) . . . Unificacion
Ejemplo: Todos los hombres son mortales, Socrates es unhombre, por tanto Socrates es mortal:
1 R1: ∀ X hombre(X) → mortal(X)2 hombre(socrates)3 R1 y X=socrates: hombre(socrates) → mortal(socrates)4 (2 y 3) mortal(socrates)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Representacion
Una universidad imparte un conjunto de titulaciones en unconjunto de centros y campus.
imparte(Universidad,Titulacion,Centro,Campus)imparte(uc3m,itig,eps,leganes)imparte(uc3m,itig,eps,colmenarejo)imparte(uc3m,ii,eps,leganes)
La representacion no es unica
imparte-titulacion(Universidad,Titulacion)imparte-titulacion(uc3m,itig)imparte-titulacion(uc3m,ii)imparte-centro(Titulacion,Centro)imparte-centro(itig,eps)centro-en-campus(Centro,Campus)centro-en-campus(eps,leganes)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Representacion
Una universidad imparte un conjunto de titulaciones en unconjunto de centros y campus.
imparte(Universidad,Titulacion,Centro,Campus)imparte(uc3m,itig,eps,leganes)imparte(uc3m,itig,eps,colmenarejo)imparte(uc3m,ii,eps,leganes)
La representacion no es unica
imparte-titulacion(Universidad,Titulacion)imparte-titulacion(uc3m,itig)imparte-titulacion(uc3m,ii)imparte-centro(Titulacion,Centro)imparte-centro(itig,eps)centro-en-campus(Centro,Campus)centro-en-campus(eps,leganes)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Representacion
Una universidad imparte un conjunto de titulaciones en unconjunto de centros y campus.
imparte(Universidad,Titulacion,Centro,Campus)imparte(uc3m,itig,eps,leganes)imparte(uc3m,itig,eps,colmenarejo)imparte(uc3m,ii,eps,leganes)
La representacion no es unica
imparte-titulacion(Universidad,Titulacion)imparte-titulacion(uc3m,itig)imparte-titulacion(uc3m,ii)imparte-centro(Titulacion,Centro)imparte-centro(itig,eps)centro-en-campus(Centro,Campus)centro-en-campus(eps,leganes)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Sigue el ejemplo
Cada titulacion tiene un plan de estudios formado por unconjunto de asignaturas troncales, obligatorias, optativas y delibre eleccion.
asignatura-en-plan(Asignatura,Titulacion)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 cuatrimestredeterminados y tiene un determinado numero de creditos.
curso-asignatura(Asignatura,Curso)cuatrimestre-asignatura(Asignatura,Cuatrimestre)creditos-asignatura(Asignatura,Creditos)oasignatura(Asignatura,Curso,Cuatrimestre,Creditos)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Inferencia
Inferencia: Modus-Ponens (resolucion/unificacion)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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Inferencia. Deduccion con Modus-Ponens
En primero de Ingenierıa Tecnica en Informatica de Gestion dela Universidad Carlos III de Madrid se imparte en primero lasasignaturas de Matematicas I, . . .
1. curso-asignatura(matematicasI,1)2. curso-asignatura(fısica,1)
Ana Morales Perez acaba de matricularse en primero de latitulacion.
3. primera-matrıcula(anaMorales,uc3m)
Si X =anaMorales, U=uc3m, y Y =matematicasI, (unificacion)por Modus-Ponens, a partir de la regla 1, de 1 y de 3, sepuede deducir que matriculado-en(anaMorales,matematicasI)
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 quematriculado-en(anaMorales,fısica)
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Unificacion
Una variable puede unificar con una constante (X ,anaMorales)
Una variable puede unificar con otra variable (que noeste previamente unificada) (X ,Y )
Un literal puede unificar con otro si tienen el mismo predicadoy los argumentos unifican uno a unoprimera-matrıcula(anaMorales,uc3m),primera-matrıcula(X ,U)
En el resto de la formula se sustituye la variable por su valor
Resultado: sustitucion (σ)σ={(X,anaMorales),(U,uc3m)}
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Deduccion hacia atras
¿Y si se desea conocer en que asignaturas se debe matricularanaMorales?
Pregunta: matriculado-en(anaMorales,Y )
Se busca una implicacion logica en la que aparezcamatriculado-en(V ,V 1) en la parte derecha (puede habermas de una)
Si se pueden unificar, se intenta deducir los literales queaparezcan en la parte izquierda de la implicacion
Si existe alguna asignacion de valor a las variables de la parteizquierda que permita deducir como ciertas las condiciones, sepodra deducir la pregunta de diferentes formas (diferentesvalores de Y : matematicasI, fısica, . . . )
Inteligencia Artificial Representacion
Logica ProposicionalLogica de Predicados
Caracterısticas de logica de predicados
Ventaja: representacion de tipo general mas rica que laproposicional
Problema: es semidecidible (si algo no se puede deducir, losmecanismos de inferencia no aseguran que se pararan)
Solucion: subconjuntos decidibles de logica de predicados(clausulas de Horn)
Existe un lenguaje de programacion que permite crear yejecutar programas en logica de predicados: prolog
Inteligencia Artificial Representacion
Logica ProposicionalLogica 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 Artificial Representacion
Logica ProposicionalLogica de Predicados
Otras logicas
Logicas de segundo orden (o de orden superior)
tienen dos (o tres) tipos definidos: los objetos y los conjuntos ofunciones sobre los mismos (o ambos)es equivalente a decir que los predicados pueden tomar otrospredicados como argumentos
Logicas modales y temporales
necesario ( ) y posible (�)Logica difusa
grados de pertenencia
Otras: multi-valuadas, no-monotonas, cuanticas, . . .
Inteligencia Artificial Representacion
Representacion basada en objetos
Parte II
Representacion basada en Objetos
Inteligencia Artificial Representacion
Representacion basada en objetos
Introduccion a la representacion basada en objetos
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Representacion basada en objetos
Contenidos:
3 Marcos
Inteligencia Artificial Representacion
Representacion basada en objetos
Objeto-Atributo-Valor
Lista de ternas
(trabajador1,esta-en,casilla-1-0)(casilla-1-0,x,1)(casilla-1-0,y,0). . .
Equivalente a registros (lenguajes de programacion) o apredicados binarios (logica de predicados)
No hay herencia
Es difıcil realizar razonamiento (utilizada junto a reglas o pararealizar aprendizaje inductivo)
Inteligencia Artificial Representacion
Representacion basada en objetos
Otra forma de mostrarlo
Objeto esta-en x ytrabajador1 casilla-1-0trabajador2 casilla-1-1casilla-1-0 1 0casilla-1-1 1 1
Inteligencia Artificial Representacion
Representacion basada en objetos
Marcos
Conceptos: clases, marcos (frames), . . .
Subconceptos: subclases
Instancias: objetos
Atributos: slots, campos, caracterısticas, . . .
Herencia: simple o multiple
Facetas: atributos de atributos (valor, tipo de valores,comentario, cardinalidad, . . . )
Relaciones: es-un, parte-de, empleado-de, . . .
Metodos: funciones asociadas a los marcos
Demonios: funciones que vigilan las operaciones sobre losatributos
Ontologıas (incluyen axiomas): representaciones formales delconocimiento sobre un dominio compartidas por un conjuntode aplicaciones
Inteligencia Artificial Representacion
Representacion basada en objetos
Universidad en marcos
Una universidad imparte un conjunto de titulaciones en unconjunto de centros. Cada titulacion tiene un plan de estudiosformado por un conjunto de asignaturas troncales, obligatorias,optativas y de libre eleccion. Cada asignatura se imparte en uncurso y cuatrimestre determinados y tiene un determinado numerode creditos. Cuando un alumno se matricula por primera vez enprimero, debe matricularse de todas las asignaturas del primercurso. En primero de Ingenierıa Tecnica en Informatica de Gestionde la Universidad Carlos III de Madrid se imparten las asignaturasde Matematicas I, . . . . Ana Morales Perez acaba de matricularseen primero de la titulacion.
Inteligencia Artificial Representacion
Representacion basada en objetos
Identificacion de clases
Una universidad imparte un conjunto de titulaciones en unconjunto de centros. Cada titulacion tiene un plan de estudiosformado por un conjunto de asignaturas troncales, obligatorias,optativas y de libre eleccion. Cada asignatura se imparte en uncurso y cuatrimestre determinados y tiene un determinado numerode creditos. Cuando un alumno se matricula por primera vez enprimero, debe matricularse de todas las asignaturas del primercurso. En primero de Ingenierıa Tecnica en Informatica de Gestionde la Universidad Carlos III de Madrid se imparten las asignaturasde Matematicas I, . . . . Ana Morales Perez acaba de matricularseen primero de la titulacion.
Inteligencia Artificial Representacion
Representacion basada en objetos
Clases, subclases, instancias y atributos
Clases: universidad, titulacion, centro, plan-de-estudios,asignatura, curso, alumno
Subclases: troncales, obligatorias, optativas, libre-eleccion
Instancias: primer-curso-ITIG-UC3M, ITIG, MatematicasI,AnaMoralesPerez
Atributos: titulaciones (universidad), universidad (titulacion,centro), centros (universidad), plan-de-estudios (titulacion),titulacion (plan-de-estudios), tipo (asignatura), curso(asignatura), cuatrimestre (asignatura), numero-creditos(asignatura), asignaturas (curso, alumno),alumnos-matriculados (asignatura), numero-matrıculas(alumno), . . .
Inteligencia Artificial Representacion
Representacion basada en objetos
Representacion compacta
Universidades-un:
Atributo Posibles valores/Valor Cardinalidadnombre cadena de caracteres 1..1titulaciones lista de instancias de Titulacion 0..100departamentos lista de instancias de Departamento 0..100numero-alumnos numero 1..1tipo {publica, privada, iglesia} 1..1
Universidad-publicaes-un: Universidad
Atributo Posibles valores/Valor Cardinalidadtipo publica 1..1comunidad-autonoma instancia de Comunidad-autonoma 1..1financiacion numero 1..1
Inteligencia Artificial Representacion
Representacion basada en objetos
Otra clase
Titulaciones-un:
Atributo Posibles valores/Valor Cardinalidadnombre cadena de caracteres 1–1universidad instancia de Universidad 1..1departamentos lista de instancias de Departamento 0..100numero-alumnos numero 1..1centro instancia de Centro 1..1
Inteligencia Artificial Representacion
Representacion basada en objetos
Ejemplo de instancia
ITIG-UC3Minstancia-de: Titulacion
Atributo Posibles valores/Valor Cardinalidadnombre “Ing. Tec. en Informatica de Gestion” 1..1universidad #UC3M 1..1departamentos (#D-Infor-UC3M #D-Mates-UC3M . . . ) 0..1numero-alumnos 800 1..1centro #EPS-UC3M 1..1
Inteligencia Artificial Representacion
Representacion basada en objetos
Facetas
Atributo Universidad de clase Titulacion en instanciaITIG-UC3M
valor: puntero a instancia UC3M (de Universidad)tipo de valores: instancia de clase Universidadcomentario: “Se refiere a la titulacion de Ingenierıa Tecnica enInformatica de Gestion de la Universidad Carlos III de Madrid”cardinalidad (maxima-mınima): 1factor de certeza: 1
Inteligencia Artificial Representacion
Representacion basada en objetos
Metodos
matricular.asignatura (self,alumno)add(self,Alumnos,alumno)set(self,Numero-alumnos,get(self,Numero-alumnos)+1)send(alumno,Matricular,self)send(get(self,Titulacion),Matricular,alumno)
matricular.titulacion (self,alumno)if not(member(alumno,get(self,Alumnos)))then add(self,Alumnos,alumno)
set(self,Numero-alumnos,get(self,Numero-alumnos)+1)
matricular.alumno(self,asignatura) . . .
Inteligencia Artificial Representacion
Representacion basada en objetos
Demonios
if-needed.Numero-alumnos.Universidad (self)
numero=0
For titulacion in get(self,Titulaciones)
numero=numero+get(titulacion,Numero-alumnos)
if-set.Numero-alumnos.Titulacion (self)
universidad=get(self,Universidad)
set(universidad,Numero-alumnos,get(universidad,Numero-alumnos))
Inteligencia Artificial Representacion
Sistemas de Produccion
Parte III
Representacion basada en Acciones
Inteligencia Artificial Representacion
Sistemas de Produccion
Introduccion a los sistemas de Produccion
Representacion
Inteligencia Artificial
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
8 de octubre de 2008
Inteligencia Artificial Representacion
Sistemas de Produccion
Contenidos:
4 Sistemas de Produccion
Inteligencia Artificial Representacion
Sistemas de Produccion
Sistemas de Produccion
En los primeros pasos de la IA, se cuestiono el tratamientoque daban los algoritmos tradicionales a los problemas.
Flujo de control fijoSecuencialidadNo adecuado en entornos cambiantes
Solucion: los datos dirigen las operaciones
Inteligencia Artificial Representacion
Sistemas de Produccion
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 aplicacionB: acciones sobre la BH o mundo externo
Estrategia de control, interprete de reglas, o motor deinferencias (EC o MI): responsable de encadenar los ciclos defuncionamiento.
Fase de decision: seleccion de reglasFase de accion: ejecucion de reglas
Una regla se activa cuando sus precondiciones son ciertas enel estado actual de la BH o cuando la regla concluye algo quese busca establecer
Inteligencia Artificial Representacion
Sistemas de Produccion
Funcionamiento de un SP
Tipos de sistemas
Sistemas dirigidos por el antecedente. Modus PonensSistemas dirigidos por el consecuente. Modus Tollens
FasesFase de decision
Etapa de restriccion (opcional)Etapa de equiparacion o filtrado. reteEtapa de resolucion del conjunto conflicto
Fase de accion
Inteligencia Artificial Representacion
Sistemas de Produccion
Ejemplo: 8 puzzle. Base de hechos
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (V11,V12,V13,. . . ,V33)logica de predicados: casilla(X,Y,Valor)marcos:
Casillaes-un:
Atributo Posibles valores/Valorx numero [1..3]y numero [1..3]valor numero [0..8]
Inteligencia Artificial Representacion
Sistemas de Produccion
8-puzzle. Base de hechos inicial
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (1,2,3,0,5,6,4,7,8)logica de predicados:casilla(1,1,1),casilla(2,1,2),. . . ,casilla(3,3,8)marcos:
casilla11instancia-de: Casilla
Atributo Posibles valores/Valorx 1y 1valor 1
casilla21instancia-de: Casilla
Atributo Posibles valores/Valorx 2y 1valor 2
Inteligencia Artificial Representacion
Sistemas de Produccion
8-puzzle. Base de hechos final o metas
1 2 3
5 64 7 8
3
5 64 7 81
2?
listas: (2,0,3,1,5,6,4,7,8) o (2,X,Y,1,5,Z,4,7,8)logica de predicados:casilla(1,1,2),casilla(2,1,0),. . . ,casilla(3,3,8)marcos:
casilla11instancia-de: Casilla
Atributo Posibles valores/Valorx 1y 1valor 2
casilla21instancia-de: Casilla
Atributo Posibles valores/Valorx 2y 1valor 0
Inteligencia Artificial Representacion
Sistemas de Produccion
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 definir todas las posibles combinaciones deposicion del vacıo (0) y sus posibles movimientos
Inteligencia Artificial Representacion
Sistemas de Produccion
8-puzzle. Logica de predicados
Si casilla(X,Y,0),casilla(X1,Y,Z),X=X1+1Entonces 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-1Entonces 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+1Entonces 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-1Entonces 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 requiererazonamiento no monotono
Inteligencia Artificial Representacion
Sistemas de Produccion
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 modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Abajo
Si ?casilla ← (casilla (x ?x) (y ?y) (valor 0))?casilla1 ← (casilla (x ?x) (y ?y1) (valor ?v))(test ?y=?y1-1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Derecha
Si ?casilla ← (casilla (x ?x) (y ?y) (valor 0))?casilla1 ← (casilla (x ?x1) (y ?y) (valor ?v))(test ?x=?x1-1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
IzquierdaSi ?casilla ← (casilla (x ?x) (y ?y) (valor 0))
?casilla1 ← (casilla (x ?x1) (y ?y) (valor ?v))(test ?x=?x1+1)
Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Inteligencia Artificial Representacion
Sistemas de Produccion
Equiparacion
Primera aproximacion: en cada ciclo se calcula el CC y seresuelve
Problema: lentitud
Solucion: algoritmo rete (algoritmo de redundanciatemporal)
a partir de las reglas se crea inicialmente un grafo (red rete)se propaga el contenido de la base de hechos inicial a traves dela redcada vez que se produce un cambio en la base de hechos(normalmente, a traves del consecuente de una regla), sepropagan los cambiosen cada ciclo, en los nodos terminales de la red sedispondra del CC
Idea clave: similitud estructural
Inteligencia Artificial Representacion
Sistemas de Produccion
Equiparacion
Primera aproximacion: en cada ciclo se calcula el CC y seresuelve
Problema: lentitud
Solucion: algoritmo rete (algoritmo de redundanciatemporal)
a partir de las reglas se crea inicialmente un grafo (red rete)se propaga el contenido de la base de hechos inicial a traves dela redcada vez que se produce un cambio en la base de hechos(normalmente, a traves del consecuente de una regla), sepropagan los cambiosen cada ciclo, en los nodos terminales de la red sedispondra del CC
Idea clave: similitud estructural
Inteligencia Artificial Representacion
Sistemas de Produccion
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))
Equiparacion:(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)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11)
Ejecucion: (- (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)))
Equiparacion . . .
Inteligencia Artificial Representacion
Sistemas de Produccion
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))
Equiparacion:(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)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11)
Ejecucion: (- (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)))
Equiparacion . . .
Inteligencia Artificial Representacion
Sistemas de Produccion
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))
Equiparacion:(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)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11)
Ejecucion: (- (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)))
Equiparacion . . .
Inteligencia Artificial Representacion
Sistemas de Produccion
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))
Equiparacion:(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)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#c12, ?casilla1=#c11)
Ejecucion: (- (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)))
Equiparacion . . .
Inteligencia Artificial Representacion
Sistemas de Produccion
Encadenamiento hacia atras (a la prolog)
Metas: (casilla11 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: seleccion meta (por ejemplo, la primera)(casilla11 (valor 2))
Equiparacion:(Arriba, ?v=2, ?casilla=#c11)(Abajo, ?v=2, ?casilla=#c11)(Derecha, ?v=2, ?casilla=#c11)(Izquierda, ?v=2, ?casilla=#c11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#c11)
Inteligencia Artificial Representacion
Sistemas de Produccion
Encadenamiento hacia atras (a la prolog)
Metas: (casilla11 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: seleccion meta (por ejemplo, la primera)(casilla11 (valor 2))
Equiparacion:(Arriba, ?v=2, ?casilla=#c11)(Abajo, ?v=2, ?casilla=#c11)(Derecha, ?v=2, ?casilla=#c11)(Izquierda, ?v=2, ?casilla=#c11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#c11)
Inteligencia Artificial Representacion
Sistemas de Produccion
Encadenamiento hacia atras (a la prolog)
Metas: (casilla11 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: seleccion meta (por ejemplo, la primera)(casilla11 (valor 2))
Equiparacion:(Arriba, ?v=2, ?casilla=#c11)(Abajo, ?v=2, ?casilla=#c11)(Derecha, ?v=2, ?casilla=#c11)(Izquierda, ?v=2, ?casilla=#c11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#c11)
Inteligencia Artificial Representacion
Sistemas de Produccion
Encadenamiento hacia atras (a la prolog)
Metas: (casilla11 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: seleccion meta (por ejemplo, la primera)(casilla11 (valor 2))
Equiparacion:(Arriba, ?v=2, ?casilla=#c11)(Abajo, ?v=2, ?casilla=#c11)(Derecha, ?v=2, ?casilla=#c11)(Izquierda, ?v=2, ?casilla=#c11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#c11)
Inteligencia Artificial Representacion
Sistemas de Produccion
Encadenamiento hacia atras (a la prolog)
Ejecucion: 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=1y anade 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=0y anade meta (casilla21 (valor 2))
La lista de metas queda como: (casilla11 (valor 0))(casilla21 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: . . .Inteligencia Artificial Representacion
Sistemas de Produccion
Rediseno (encadenamiento hacia atras)
Arriba
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 modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Abajo
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 modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
DerechaSi . . .(test ?x<3)Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
IzquierdaSi . . .(test ?x>1)Entonces modifica(?casilla,valor,?v),modifica(?casilla1,valor,0)
Inteligencia Artificial Representacion
Sistemas de Produccion
Comparativa de tipos de encadenamiento
Inconvenientes de encadenamiento hacia adelante
No focalizacion hacia las metasEs necesario tener inicialmente todos los datos en la BHMayor cantidad de equiparaciones
Inconvenientes de encadenamiento hacia atras
Solo se pregunta al usuario cuando se ha explorado todoNecesitamos generar metasNo se conocen acciones a ejecutar hasta casi el finalDisminuye el arbol de busqueda
Factores de eleccion
Numero de estados iniciales y metasFactor de ramificacionJustificacion del funcionamiento
Inteligencia Artificial Representacion
Sistemas de Produccion
Caracterısticas de la estrategia
Lo mas general posible
Lo mas eficiente posible (heurısticas): implıcitas o explıcitas
Causar movimiento
Ser sistematica
Inteligencia Artificial Representacion
Sistemas de Produccion
Estrategias de resolucion
Primera regla
Mas conocimiento
Mas prioridad
Mas especıfica
Mas general
Referente al elemento mas nuevo
No aplicada antes
Mas veces aplicada
Aleatoriamente
Explorar todas
Metarreglas
Mezcla de estrategias
Inteligencia Artificial Representacion
Sistemas de Produccion
Ventajas e inconvenientes
Ventajas
Modularidad, lo que facilita incrementalidadCaracter declarativoUniformidadNaturalidadFlexibilidadAprendizaje automaticoModelizacion del comportamiento animal y humano
Inconvenientes
IneficienciaOpacidadDificultad de representacion de los algoritmos
Inteligencia Artificial Representacion
Sistemas de Produccion
Dominios Apropiados
Tareas: transicion entre estados
Conocimiento difuso
Conjuntos de acciones independientes
Conocimiento separable de la forma de usarse
Inteligencia Artificial Representacion