Razonamiento Automático Curso 999 2000 Tema 3: Sistema inicial de representación y razonamiento José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Dpto. de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.
Simplificaciones del SRR inicial Individuos y relaciones: El conocimiento del agente puede expresarse en términos de individuos y relaciones entre ellos Conocimiento definido: La base de conocimiento del agente está formada por cláusulas definidas y hechos positivos Entorno estático: El entorno del agente es estático Dominio finito: Existe sólo un número finito de individuos interesantes en el dominio Unicidad de los nombres: Cada individuo posee un nombre único Datalog RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.2
Uso de un SRR Elegir el dominio de la tarea o el mundo que se desea representar (interpretación deseada) Asociar una constante del lenguaje a cada individuo del mundo que se representa Asociar un símbolo de predicado del lenguaje a cada relación que se desee representar Decirle al SRR las cláusulas que son verdadera en la interpretación deseada (axiomatización del dominio) Preguntar al SRR e interpretar las respuestas RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.3
Uso de un SRR Papel de la semántica en SRR (Poole-98 p. 26) RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.4
Dominio del robot repartidor El mundo del robot repartidor (Poole-98 p. 4) RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.5
Dominio del robot repartidor Constantes: h0, h03, h05, h07, h09, h, h27, h29, h3 Relación: vecina izquierda(h,h2) que es verdad si la habitación H es la vecina izquierda de la habitación H2 Base de conocimiento vecina_izquierda(h0,h03). vecina_izquierda(h03,h05). vecina_izquierda(h05,h07). vecina_izquierda(h07,h09). vecina_izquierda(h09,h). vecina_izquierda(h3,h29). vecina_izquierda(h29,h27). vecina_izquierda(h27,h25). RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.6
Dominio del robot repartidor Consultas?- vecina_izquierda(h05,h07). => Yes?- vecina_izquierda(h06,h07). => No?- vecina_izquierda(x,h07). => X = h05?- vecina_izquierda(h05,x). => X = h07?- vecina_izquierda(h06,x). => No Relación definida vecina derecha(h,h2) que es verdad si la habitación H2 es la vecina derecha de la habitación H Definición vecina_derecha(h,h2) :- vecina_izquierda(h2,h). Consulta?- vecina_derecha(h05,x). => X = h03 RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.7
Dominio del robot repartidor Relación definida vecina(h,h2) que es verdad si la habitación H es vecina de la habitación H2 Definición vecina(h,h2) :- vecina_derecha(h,h2). vecina(h,h2) :- vecina_izquierda(h,h2). Consulta?- vecina(x,h05). => X = h07 ; X = h03 Relación definida dos a la derecha(h,h2) que es verdad si la habitación H está dos a la derecha de la habitación H2 Definición dos_a_la_derecha(h,h2) :- vecina_derecha(h,h), vecina_derecha(h,h2). Consulta?- dos_a_la_derecha(x,h05). => X = h09 RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.8
Dominio del robot repartidor Relación definida a la izquierda(h,h2) que es verdad si la habitación H está a la izquierda de la habitación H2 Definición recursiva a_la_izquierda(h,h2) :- vecina_izquierda(h,h2). a_la_izquierda(h,h2) :- vecina_izquierda(h,h), a_la_izquierda(h,h2). Consulta?- a_la_izquierda(x,h05). X = h03 ; X = h0 ; No RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.9
Dominio del sistema eléctrico El sistema eléctrico (Poole-98 p. 6) RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.0
Dominio del sistema eléctrico Constantes: Luces: l, l2 Interruptores: i, i2, i3 Cortacircuitos: cc, cc2 Cables: c, c2, c3, c4, c5, c6 Enchufes: e, e2 Toma de corriente: entrada RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.
Dominio del sistema eléctrico Predicados: luz(l) es verdad si L es una luz abajo(i) es verdad si el interruptor I está hacia abajo arriba(i) es verdad si el interruptor I está hacia arriba esta bien(x) es verdad si la luz o el cortocircuito X está bien conectado(d,d2) es verdad si los dispositivos D y D2 está conectados (de forma que puede fluir la corriente eléctrica de D2 a D) tiene corriente(d) es verdad si el dispositivo D tiene corriente esta encendida(l) es verdad si la luz L está encendida RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.2
Dominio del sistema eléctrico Base de conocimiento del sistema eléctrico luz(l). luz(l2). abajo(i). arriba(i2). arriba(i3). esta_bien(l). esta_bien(l2). esta_bien(cc). esta_bien(cc2). conectado(l,c0). conectado(c0,c) :- arriba(i2). conectado(c0,c2) :- abajo(i2). conectado(c,c3) :- arriba(i). conectado(c2,c3) :- abajo(i). conectado(l2,c4). conectado(c4,c3) :- arriba(i3). conectado(e,c3). conectado(c3,c5) :- esta_bien(cc). conectado(e2,c6). conectado(c6,c5) :- esta_bien(cc2). conectado(c5,entrada). RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.3
Dominio del sistema eléctrico tiene_corriente(d) :- conectado(d,d), tiene_corriente(d). tiene_corriente(entrada). esta_encendida(l) :- luz(l), esta_bien(l), tiene_corriente(l). Consultas?- tiene_corriente(d). => D = c2 ; D = l2 ; D = c4 ; D = e ; D = c3 ; D = e2 ; D = c6 ; D = c5 ; D = entrada?- esta_encendida(x). => X = l2 RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.4
Bibliografía Flach, P. Simply Logical (Intelligent Reasoning by Example) (John Wiley, 994) Cap. : A brief introduction to clausal logic. Cap. 2: Clausal logic and resolution: theoretical backgrounds Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (A Logical Approach) (Oxford University Press, 998) Cap. 2: A representation and reasoning system Russell, S. y Norvig, P. Inteligencia artificial (Un enfoque moderno) (Prentice Hall Hispanoamericana, 996) Cap. 6: Agentes que razonan de manera lógica Cap. 0: Sistemas de razonamiento lógico RA 99 00 CcIa Sistema inicial de representación y razonamiento 3.5