Sesiones de Representaci...
Transcript of Sesiones de Representaci...
Sesiones de Representacion
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Resumen de las Sesiones de Representacion
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
En Esta Sesion:
Representaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Representaciones Basadas en Estados
1 LogicaLogica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
2 Redes SemanticasRedes SemanticasDependencia Conceptual
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Representaciones Basadas en Estados
1 LogicaLogica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
2 Redes SemanticasRedes SemanticasDependencia Conceptual
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Representacion Basada en Objetos
3 Representacion Basada en Objetos
Representacion del Conocimiento
Sesiones de RepresentacionRepresentaciones Basadas en EstadosRepresentaciones Basadas en ObjetosRepresentaciones Basadas en Acciones
Representacion Basada en Acciones
4 Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Representacion del Conocimiento
LogicaRedes Semanticas
Parte I
Representaciones Basadas en Estados
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
Logica
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
En Esta Sesion:
1 LogicaLogica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
2 Redes SemanticasRedes SemanticasDependencia Conceptual
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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.
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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.
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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 )
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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)
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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 uno
primera-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)}
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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, . . . )
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
Modelo computacional. prolog
conectados(X,Y) :- conectados(Y,X).
alcanzable(X,Y) :- conectados(X,Y).alcanzable(X,Y) :- conectados(X,Z),
alcanzable(Z,Y).
Representacion del Conocimiento
LogicaRedes Semanticas
Logica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
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, . . .
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Redes Semanticas
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
En Esta Sesion:
1 LogicaLogica ProposicionalLogica de PredicadosModelos Computacionales y Otras Logicas
2 Redes SemanticasRedes SemanticasDependencia Conceptual
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Redes semanticas (Quillian,68)
Grafos dirigidos en los que los nodos representan conceptos ylos arcos relaciones binarias entre ellosUn arco y los dos nodos relacionados pueden representar:
un predicado con dos argumentos (redes logicas)objetos, atributos, y valores (redes conceptuales)relaciones no binarias, como acciones
El problema para utilizarlos como redes logicas es representarla cuantificacion, la negacion, la implicacion (reglas), y ladisyuncion
En las redes conceptuales, el problema es diferenciar los tiposde relaciones
Una solucion es la gramatica de casos (Fillmore, 68): existe unverbo para cada sentencia simple con un conjunto decaracterısticas, casos: agente, contraagente, objeto, resultado,instrumento, origen, proposito, lugar, tiempo, sujeto,...
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo de red semantica
Casilla
Unidad
Trabajador
Tablero
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo de red semantica
Casilla
Unidad
Trabajador
Tablero
Casilla−1−0
Casilla−0−1
Trabajador1 Trabajador2
Tablero1
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo de red semantica
Casilla
Unidad
Trabajador
Tablero
Casilla−1−0
Casilla−0−1
Trabajador1 Trabajador2
Tablero1
es−un
es−un
es−un
es−un es−un
es−un
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo de red semantica
Casilla
Unidad
Trabajador
Tablero
Casilla−1−0
Casilla−0−1
Trabajador1 Trabajador2
Tablero1
es−un
es−un
es−un
es−un es−un
es−un1
0
parte−dexy
está−en
parte−de
parte−de
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo de red semantica
Casilla
Unidad
Trabajador
Tablero
Casilla−1−0
Casilla−0−1
Trabajador1 Trabajador2
Tablero1
es−un
es−un
es−un
es−un es−un
es−un1
0
parte−dexy
está−en
parte−de
parte−de
Cavar1
Cavar
3
es−un
tarda
trabaja−en
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Redes Semanticas. Inferencia
Particionamiento de redes semanticas
Inferencia en redes semanticas logicas
Encadenamiento
Inferencia en redes semanticas conceptuales
Herencia de propiedadesEquiparacion
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Equiparacion de redes semanticas
¿Cuánto tardará en cavar el trabajador que está en la casilla de coordenadas (1,0)?
Casilla
Unidad
Trabajador
Tablero
Casilla
Trabajador
Casilla−1−0
Casilla−0−1
Trabajador1 Trabajador2
Tablero1
Y
Z
es−un
es−un
es−un
es−un es−un
es−un
es−un
es−un
10
parte−dexy
está−en
parte−de
parte−de
10
xy
está−en
Cavar1
Cavar
3
es−un
tarda
trabaja−en
Cavar
es−un
tardaX
trabaja−en
C
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Dependencia conceptual (Shank, 1969)
Representacion de las acciones utilizando un pequenoconjunto de primitivas semanticasLa aplicacion inicial era para representar y razonar sobre ellenguaje naturalRequiere que la representacion sea unicaEjemplo: “Di un libro a Pepe”
Flechas: direccion dedependencia
⇐⇒: enlace agente-accion
p: pasado
ATRANS: accion primitiva
o: relacion objeto de la accion
R: receptor de la accion
YoP
ATRANSo
Libro1
Pepe
de
a
R
Yo
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Dependencia conceptual (Shank, 1969)
Representacion de las acciones utilizando un pequenoconjunto de primitivas semanticasLa aplicacion inicial era para representar y razonar sobre ellenguaje naturalRequiere que la representacion sea unicaEjemplo: “Di un libro a Pepe”
Flechas: direccion dedependencia
⇐⇒: enlace agente-accion
p: pasado
ATRANS: accion primitiva
o: relacion objeto de la accion
R: receptor de la accion
YoP
ATRANSo
Libro1
Pepe
de
a
R
Yo
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Elementos de representacion
Acciones primitivas:
Acciones fısicas: PROPEL, MOVE, INGEST, EXPEL, GRASPAcciones que provocan un cambio de estado: PTRANS,ATRANSAcciones que son generalmente instrumentos de otrasacciones: SPEAK, ATTENDAcciones mentales: MTRANS, MBUILD
Categorıas conceptuales primitivas:
ACTs: accionesPPs: objetosAAs: modificadores de las accionesPAs: modificadores de los objetos
Ademas, se puede representar el tiempo (p,f,t,...), lugar,causalidad
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Ejemplo
Ruiz−MateosBoyer
PMTRANS
oRuiz−Mateos
narizRuiz−Mateos
hacer1 rota
POS−POR
Boyer
I
Boyer MBUILD
o
Boyer hacer2cf
Ruiz−Mateos hacer1
rotanariz
POS−POR
Boyer
Representacion del Conocimiento
LogicaRedes Semanticas
Redes SemanticasDependencia Conceptual
Limitaciones
Todo el conocimiento se debe descomponer en primitivas debajo nivel: puede ser ineficiente y, a veces, imposible
Es una teorıa de representacion de eventos. No es demasiadoadecuada para la comprension de un lenguaje de propositogeneral. Tiene problemas para representar:
cuantificacionmetaforasinformacion subyacente
Representacion del Conocimiento
Representacion Basada en Objetos
Parte II
Representaciones Basadas en Objetos
Representacion del Conocimiento
Representacion Basada en Objetos
Representacion Basada en Objetos
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
Representacion Basada en Objetos
En Esta Sesion:
3 Representacion Basada en Objetos
Representacion del Conocimiento
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)
Representacion del Conocimiento
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
Representacion del Conocimiento
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
Representacion del Conocimiento
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 imparte en primero lasasignaturas de Matematicas I, . . . . Ana Morales Perez acaba dematricularse en primero de la titulacion.
Representacion del Conocimiento
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 imparte en primero lasasignaturas de Matematicas I, . . . . Ana Morales Perez acaba dematricularse en primero de la titulacion.
Representacion del Conocimiento
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), . . .
Representacion del Conocimiento
Representacion Basada en Objetos
Representacion compacta
Universidades-un:
Atributo Posibles valores/Valornombre cadena de caracterestitulaciones lista de instancias de Titulaciondepartamentos lista de instancias de Departamentonumero-alumnos numerotipo {publica, privada, iglesia}
Universidad-publicaes-un: Universidad
Atributo Posibles valores/Valortipo publicacomunidad-autonoma instancia de Comunidad-autonomafinanciacion numero
Representacion del Conocimiento
Representacion Basada en Objetos
Otra clase
Titulaciones-un:
Atributo Posibles valores/Valornombre cadena de caracteresuniversidad instancia de Universidaddepartamentos lista de instancias de Departamentonumero-alumnos numerocentro instancia de Centro
Representacion del Conocimiento
Representacion Basada en Objetos
Ejemplo de instancia
ITIG-UC3Mes-un: Titulacion
Atributo Posibles valores/Valornombre “Ingenierıa Tecnica en Informatica de Gestion”universidad #UC3Mdepartamentos (#Depto-Informatica-UC3M #Depto-Matematicas-UC3M . . . )numero-alumnos 800centro #EPS-UC3M
Representacion del Conocimiento
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
Representacion del Conocimiento
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)
Representacion del Conocimiento
Representacion Basada en Objetos
Demonios
if-needed.Numero-alumnos.Universidad (self)numero=0For 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))
Representacion del Conocimiento
Representacion Basada en Acciones
Parte III
Representaciones Basadas en Acciones
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Representacion Basada en Acciones
Representacion del Conocimiento
Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior
Universidad Carlos III de Madrid
22 de diciembre de 2008
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
En Esta Sesion:
4 Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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 (CC)
Fase de accion
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Ejemplo: 8 puzzle. Base de hechos
1 2 3
5 6
4 7 8
3
5 6
4 7 8
1
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]
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
8-puzzle. Base de hechos inicial
1 2 3
5 6
4 7 8
3
5 6
4 7 8
1
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
8-puzzle. Base de hechos final o metas
1 2 3
5 6
4 7 8
3
5 6
4 7 8
1
2?
listas: (2,0,3,1,5,6,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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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)
Izquierda
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)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Arquitectura
Red RETE
BH inicial
Cambios en la BH
tokens
BH
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Tokens
Token: (etiqueta, elementos de la BH)
Etiqueta: + (anadido a la BH) o - (eliminado de la BH)
Modificar valor atributo: (- valor antiguo) y (+ valor nuevo)
Ejemplos: 5
BH inicial (+ (casilla (x 1) (y 1) (valor 1)))(+ (casilla (x 1) (y 2) (valor 0)))
Se mueve el blanco hacia arriba(- (casilla (x 1) (y 1) (valor 1)))(+ (casilla (x 1) (y 1) (valor 0)))(- (casilla (x 1) (y 2) (valor 0)))(+ (casilla (x 1) (y 2) (valor 1)))
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Tipos de nodos
Nodo raız
Nodos de una entrada: aquellos que se refieren a unacomprobacion relativa a un solo elemento de condicion
Nodos de dos entradas de union
se refieren a comprobaciones relativas a dos elementos decondiciontienen memoria izquierda y derecha
Nodos de dos entradas de patrones negados
se refieren a comprobaciones relativas a elementos decondicion negadostienen dos memorias y un contador en la izquierda
Nodos terminales
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
rete en el 8-puzzle
izquierdaMemoria
derechaMemoria
izquierdaMemoria
izquierdaMemoria
derechaMemoria
derechaMemoria
instancia−de(token)=casilla
valor(token)=0
tokens
Añadir Izquierda a CC Añadir Derecha a CC Añadir Arriba a CC
y(izquierda)=y(derecha)
x(izquierda)=x(derecha)−1 x(izquierda)=x(derecha)+1
y(izquierda)=y(derecha)
x(izquierda)=x(derecha)
y(izquierda)=y(derecha)+1
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
rete en Civilization
izquierdaMemoria
derechaMemoria
izquierdaMemoria
derechaMemoria
instancia−de(token)=casilla instancia−de(token)=trabajador
trabaja−en(token)=nadaocupada(token)=no
token(izquierda)=casilla(derecha)
x(izquierda)+1=x(1.derecha)
y(izquierda)=y(1.derecha)
Añadir Derecha−trabajador a CC
(casilla ?casilla))
(ocupada no))?casilla1 <− (casilla (x ?x1) (y ?y)
?casilla <− (casilla (x ?x) (y ?y))
?trabajador <− (trabajador (trabaja−en nada)
(test ?x=?x1+1)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
rete en Civilization
izquierdaMemoria
derechaMemoria
instancia−de(token)=casilla instancia−de(token)=trabajador
izquierdaMemoria
derechaMemoria
0?casilla <− (casilla (x ?x) (y ?y))
?casilla1 <− (casilla (x ?x1) (y ?y))NOT
Añadir Derecha−trabajador a CC
(test ?x=?x1+1)
NOT (trabajador (casilla ?casilla1))
x(izquierda)+1=x(derecha)
y(izquierda)=y(derecha)
token(2.izquierda)=casilla(derecha)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Funcionamiento de rete
izquierdaMemoria
derechaMemoria
izquierdaMemoria
derechaMemoria
instancia−de(token)=casilla
valor(token)=0
tokens
Añadir Derecha a CC Añadir Arriba a CC
T1=(+ (casilla (x 1) (y 1) (valor 1)))
y(izquierda)=y(derecha)
x(izquierda)=x(derecha)
y(izquierda)=y(derecha)+1x(izquierda)=x(derecha)−1
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla12, ?casilla1=#casilla11)(Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#casilla12, ?casilla1=#casilla13)(Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#casilla12, ?casilla1=#casilla22)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#casilla12, ?casilla1=#casilla11)
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 . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla12, ?casilla1=#casilla11)(Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#casilla12, ?casilla1=#casilla13)(Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#casilla12, ?casilla1=#casilla22)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#casilla12, ?casilla1=#casilla11)
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 . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla12, ?casilla1=#casilla11)(Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#casilla12, ?casilla1=#casilla13)(Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#casilla12, ?casilla1=#casilla22)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#casilla12, ?casilla1=#casilla11)
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 . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla12, ?casilla1=#casilla11)(Abajo, ?x=1, ?y=2, ?y1=3, ?v=4, ?casilla=#casilla12, ?casilla1=#casilla13)(Derecha, ?x=1, ?y=2, ?x1=2, ?v=5, ?casilla=#casilla12, ?casilla1=#casilla22)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?x=1, ?y=2, ?y1=1, ?v=1, ?casilla=#casilla12, ?casilla1=#casilla11)
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 . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla11)(Abajo, ?v=2, ?casilla=#casilla11)(Derecha, ?v=2, ?casilla=#casilla11)(Izquierda, ?v=2, ?casilla=#casilla11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#casilla11)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla11)(Abajo, ?v=2, ?casilla=#casilla11)(Derecha, ?v=2, ?casilla=#casilla11)(Izquierda, ?v=2, ?casilla=#casilla11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#casilla11)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla11)(Abajo, ?v=2, ?casilla=#casilla11)(Derecha, ?v=2, ?casilla=#casilla11)(Izquierda, ?v=2, ?casilla=#casilla11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#casilla11)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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=#casilla11)(Abajo, ?v=2, ?casilla=#casilla11)(Derecha, ?v=2, ?casilla=#casilla11)(Izquierda, ?v=2, ?casilla=#casilla11)
Resolucion del CC (por ejemplo, primera regla):(Arriba, ?v=2, ?casilla=#casilla11)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Encadenamiento hacia atras (a la prolog)
Ejecucion: introducir las condiciones de la regla instanciada enconjunto de metas
?casilla=#casilla11 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=#casilla21 e ?y1=0!!!y anade meta (casilla21 (valor 2))
La lista de metas queda como: (casilla11 (valor 0))(casilla21 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Encadenamiento hacia atras (a la prolog)
Ejecucion: introducir las condiciones de la regla instanciada enconjunto de metas
?casilla=#casilla11 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=#casilla21 e ?y1=0!!!y anade meta (casilla21 (valor 2))
La lista de metas queda como: (casilla11 (valor 0))(casilla21 (valor 2))(casilla21 (valor 0)). . .(casilla33 (valor 8))
Reduccion: . . .
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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)
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Necesitamos generar metasNo se conocen acciones a ejecutar hasta casi el final
Factores de eleccion
Numero de estados iniciales y metasFactor de ramificacionJustificacion del funcionamiento
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Caracterısticas de la estrategia
Lo mas general posible
Lo mas eficiente posible (heurısticas): implıcitas o explıcitas
Causar movimiento
Ser sistematica
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
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
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Ventajas e inconvenientes
Ventajas
Modularidad, lo que facilita incrementalidadCaracter declarativoUniformidadNaturalidadFlexibilidadAprendizaje automaticoModelizacion del comportamiento animal y humano
Inconvenientes
IneficienciaOpacidadDificultad de representacion de los algoritmos
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Dominios Apropiados
Tareas: transicion entre estados
Conocimiento difuso
Conjuntos de acciones independientes
Conocimiento separable de la forma de usarse
Representacion del Conocimiento
Representacion Basada en AccionesSistemas de ProduccionEl Algoritmo rete
Guiones
Secuencias estereotipadas de acciones
Elementos
condiciones de entradaresultadosobjetos que intervienenpersonas que intervieneninstanciacion del guionescenas
Inferencia: equiparacion con el estado actual y seguimiento delo establecido en las escenas
Util para
predecir una secuencia tıpicaproporcionar una interpretacion coherente de una coleccion deobservaciones
Representacion del Conocimiento