Sesión 10

Anuncio
Dibujo de Vlad Guzner publicado en The New York Times Review, EEUU
Introducción (1)
La representación del conocimiento comprende las
técnicas para expresar y manipular los datos -el
conocimiento- en los programas de IA.
Por la naturaleza de los problemas abordados, la
representación de información en los problemas del
área de IA tiene un carácter distinto al de programas de
computación tradicionales.
representación del
conocimiento (1)
introducción
! 
! 
Programas operacionales que
describen procedimientos para
calcular la solución a un
problema. Una secuencia de
operaciones sobre los datos de
entrada que eventualmente
llevan, paso a paso, a un
resultado.
procedimientos sobre los
datos.
programa de IA: conocimiento, descripciones
relaciones.
2
Introducción (2)
Solución “tradicional” de
problemas
programa “tradicional”: datos, operaciones,
secuencias de pasos.
Introducción (3)
Solución de problemas en IA
Solución “tradicional” de problemas
Programas declarativos que
describen la forma de la solución
a un problema. Un conjunto de
relaciones entre los datos de
entrada y un resultado.
Programas operacionales que describen
procedimientos para calcular la
solución a un problema. Una
secuencia de operaciones sobre los
datos de entrada que eventualmente
llevan, paso a paso, a un resultado.
procedimientos sobre los datos
forma de los datos
Ejemplo de programas para
reconocer en palíndrome.
no
3
Identifique un palíndrome, e.g. “ana”, “anita
lava la tina”. Entrada: cadena de caracteres a
examinar. Posibles resultados: yes / no.
1. Comparar primero y último caracter de
los datos de entrada.
2. Si son diferentes, el resultado es no.
En otro caso, comparar segundo y
penúltimo caracter.
3. Si son diferentes, el resultado es no.
En otro caso, continuar la comparación
hasta completar todos los caracteres sin
hallar diferencias, en cuyo caso el
resultado es yes; o bien continuar hasta
determinar que el resultado es no.
4
Introducción (4)
Introducción (5)
Solución “tradicional” de problemas
Solución de problemas en IA
Programas declarativos que
describen la forma de la solución
a un problema. Un conjunto de
relaciones entre los datos de
entrada y un resultado.
forma de los datos
Identifique un palíndrome, e.g. “ana”,
“anita lava la tina”. Entrada: cadena
de caracteres a examinar. Posibles
resultados: yes / no.
int longitud(string: E)
int L = 1
while EL ≠ ‘\n’ do
L=L+1
return L - 1
1. Si datos de entrada corresponden
exactamente con los mismos datos en
orden inverso, el resultado es yes. En
otro caso, el resultado es no.
boolean palindrome(string: E)
boolean S = true
int I = 1
int N = longitud(E)
while S = true and I < N
if EI ≠ EN then S = false
else
I=I+1
N=N-1
return S
no
Solución de problemas en IA (en
Prolog)
concatenar([],Xs,Xs).
concatenar([X|Xs],Y,[X|Z]):concatenar(Xs,Y,Z).
reverso([],[]).
reverso([X|Xs], R):reverso(Xs,Ys),
concatenar(Ys,[X], R).
palindrome(X) :reverso(X,Y),
palindro(X,Y).
palindro([X],[X]).
palindro([X|Xs],[X|Ys]) :palindro(Xs,Ys).
5
Introducción (6)
Introducción (7)
Para nuestro ejemplo del palíndrome
Según Rich & Knight, la información representada en un
problema de IA puede ser de dos tipos:
! 
! 
6
Símbolos, que representan por ejemplo los datos de
entrada:
Información a nivel de símbolos: concierne la
representación de objetos en términos de símbolos
que puedan ser manipulados por un programa de IA.
Conocimiento sobre la manera de relacionar u obtener
propiedades de datos proporcionados como símbolos:
Información a nivel de conocimiento: concierne la
representación de piezas de información que
establecen relaciones o propiedades confirmadas de
los objetos del problema (e.g. hechos), o formas de
explotar esos objetos.
invertir
sustraer
7
8
Introducción (8)
Introducción (9)
Rich & Knight afirman que un buen sistema de
representación de conocimiento en IA debe cumplir las
siguientes propiedades:
! 
! 
! 
Capacidad adecuada de representación
(representational adequacy).
! 
Capacidad adecuada de inferencia (inferential
adequacy).
! 
Eficiencia de inferencia (inferential efficiency).
! 
Eficiencia de adquisición (aquisitional efficiency).
! 
Capacidad adecuada de representación: la
capacidad de representar todos los tipos de
conocimiento requeridos en el dominio.
Capacidad adecuada de inferencia: la capacidad de
manipular estructuras de representación de forma
que se puedan derivar nuevas estructuras
correspondientes a nuevo conocimiento inferido del
conocimiento disponible.
Eficiencia de inferencia: la capacidad de incorporar
nuevas estructuras útiles para focalizar la atención
de los mencanismos de inferencia hacia las
direcciones más promisorias.
9
Introducción (10)
! 
10
Introducción (11)
Los programas de IA utilizan diversos formalismos para
representar y manipular conocimiento.
Eficiencia de adquisición: la capacidad de adquirir
nueva información fácilmente, por ejemplo por
inserción directa.
El conocimiento requerido por los programas de IA no es sólo
factual, i.e. colecciones de símbolos que expresan pares
atributo-valor como en las BD relacionales, sino que debe
permitir la generación o inferencia de nuevo conocimiento.
Las propiedades anteriores son ideales, y no siempre
están presentes en las técnicas de representación de
conocimiento desarrolladas en el área de IA.
Origen
Destino
Distancia (Km)
Vía
Cd. de México
Puebla
136
San Martín
Cd. de México
Puebla
150
Huejotzingo
Diversos
$
¿cuál es el “mejor” camino para ir de ciudad de México a Puebla?
11
12
Introducción (12)
Introducción (13)
Existen diversos enfoques para la representación de conocimiento
en IA (no siempre bien delimitados):
En el enfoque lógico, los mecanismos matemáticos
para demostrar la validez de una fórmula se han
extendido para deducir y responder preguntas, y
para encontrar soluciones a problemas.
Lógico: basado en el cálculo de proposicional y de primer orden, y
otras extensiones. Se aprovechan los mecanismos de inferencia
lógica para derivar nuevo conocimiento y para la resolución de
problemas.
Esquema:
Simbólico: basado en mecanismos que permiten relacionar
estructuras de símbolos, la derivación de conocimiento se basa
por ejemplo en principios de sustitución.
lógica o cálculo proposicional
lógica o cálculo de primer orden
“Otros enfoques”: basado en lenguajes descriptivos o en
mecanismos estadísticos, incluso en lenguajes de programación
“tradicionales”, como los orientados a objetos.
otras lógicas
programación lógica
Los últimos dos enfoques se apoyan de mecanismos de herencia
cuando se requiere derivar nuevo conocimiento.
progrmación lógica con restricciones
13
Introducción (14)
14
Introducción (15)
En el enfoque simbólico y enfoques que combinan
representaciones sui generis, suelen utilizarse
estructuras compuestas, como frames y redes
semánticas.
Vía de comunicación
Frame: carretera
Nombre: Puebla –
México
isa
Autopista
Longitud:
Costo-peaje:
Los frames son estructuras de atributos y valores que
describen a un objeto, mientras que las redes
semánticas son colecciones de frames relacionados.
Camino federal
isa
Carretera
isa
136 Km
isa
longitud
Puebla-México
isa
Puebla-Orizaba
Ejemplo de frame y red semántica
15
16
Referencias
Introducción (16)
En los enfoques no simbólicos y no lógicos se pueden
clasificar formas de representación diversas, que no se
basan en las técnicas tradicionales de IA, pero que se
usan en aplicaciones de IA.
Mueller R.A., Page R.L (1988) Symbolic computing with Lisp
and Prolog. John Wiley & Sons.
Rich E. & Knight K. (1991) Artificial Intelligence, McGraw Hill.
Por ejemplo, representación de conocimiento con
incertidumbre o con diferentes grados de certeza.
17
18
Descargar