Title: Principios de Inteligencia Artificial
1Principios de Inteligencia Artificial
Representación del conocimiento
- Universidad de Nebrija
- Ramiro Lago
- Curso 2004-5
2Conocimiento
- Lo que nos interesa es la representación, es
decir, la modelización del conocimiento - Orientaciones
- Simbólica la descripción del comportamiento
inteligente se basa en sistemas simbólicos, más o
menos formalizados - Conexionista para describir el comportamiento
inteligente se modelizan sistemas neuronales
3Newell
- En 1982 (Knowledge level, Artificial
Intelligence, 1887-127, 1982) Newell se plantea
el problema de modelizar el conocimiento de un
agente racional - En su visión distingue tres modelos del
conocimiento, que sirven también para representar
las fases de construcción de un sistema basado en
conocimiento
- Nivel de conocimiento (conceptualización)
- Los componentes de este modelo son
- Conocimiento del mundo (relaciones, estados,
etc.) - Parte de este conocimiento son las metas
- Conjunto de acciones que le pueden llevar a la
meta - El KL posee un carácter abstracto y genérico,
independiente de los lenguajes de representación
(lógica, reglas, etc.)
- Conocimiento del agente
- Por ejemplo, el precio del autobús de Madrid a
Barcelona
- Representación del conocimiento del agente
- Por ejemplo, PrecioBus(Madrid, Barna)
Nivel simbólico (formalización del
conocimiento) Es el modelo simbólico del
conocimiento. La representación mediante símbolos
(lógica, reglas, marcos, etc.)
- Representación interna
- Por ejemplo, una matriz en C o una cláusula en
Prolog
Nivel de implementación Se modeliza el
conocimiento mediante lenguajes y herramientas
4Conexionismo
- Dónde está el conocimiento en la red? En toda la
red - En la orientación conexionista se trabaja
directamente desde el nivel de conocimiento al de
implementación (no hay representación simbólica) - La red mediante su estructura y los pesos de
axones y neuronas representa el conocimiento
5Trazabilidad de los modelos de conocimiento (I)
- El ingeniero debe mantener una traza del
conocimiento desde el nivel de conocimiento
hasta el de implementación - Nivel de conocimiento. Hechos
- la fiebre es alta.
- la fiebre se inició el dia x.
- Nivel de formalización (conocimiento simbólico)
- Magnitud( Fiebre ) Alta. Rango alta / baja
- Inicio_temporal( Fiebre ) ik . Rango Fecha
- Los factores que hemos recogido para analizar un
hecho son - Entidad o item (pueden ser varios y tenemos una
predicación n-aria). - Característica o predicado de la entidad.
- Rango. Compuesto de posibles valores.
6Trazabilidad de los modelos de conocimiento (II)
- Nivel de implementación
- /
- CLASE HECHO
/ - class _ACCESO_BASEHEC HECHO
- protected
- int Id
- int Evaluado
- int Tipo
-
- public
- HECHO Sig // Siguiente hecho de la lista
- PREDICADO far lpPred
- VALOR ValAct
- VALOR ValDef
-
- HECHO ( int Identif, VALOR far Def, PREDICADO
far lpPr ) Id(Identif), - ValDef(Def), ValAct(Def), lpPred(lpPr)
7Problemas de representación (I)
- Tratamos de encontrar la forma de modelizar que
sea apropiada para el tratamiento computacional
de la inferencia. - Capacidad para modelizar la complejidad. Existen
representaciones que ayudan a tratar la
complejidad y otras que añaden mayor complejidad
al problema, es decir, que nos alejan de la
solución - Imaginemos que alguien quiere calcular con
números romanos - Si optamos por una mala representación de la
complejidad, ocurre como un mal contador de
chistes en vez de mostrar lo hilarante, nos
aleja de ello - Es necesario dar con el nivel de detalle adecuado
al problema. Se trata de que la representación
tenga la granularidad adecuada - Debe tener en cuenta que la inferencia se realiza
sobre conocimiento incompleto o incierto
(aproximado o con incertidumbre) - No sabemos si el paciente tiene polaquiuria
- Muy posiblemente el paciente tiene una infección
del tracto urinario
Por qué no introducir en un ordenador diversas
enciclopedias? Sería una forma eficiente de
almacenar el conocimiento para permitir la
inferencia?
8Problemas de representación (II)
- El conocimiento debe ser modularizable. Por
ejemplo, los módulos de reglas de MYCIN - La notación debe ser comprensible
- Evidentemente, al menos por el ingeniero de IA
- Es conveniente que lo sea por el experto, ya que
ayuda a la validación de la base de conocimiento.
Este requisito se puede cumplir en una red
neuronal? - Es necesario representar el paso del tiempo
- El paciente tiene fiebre alta desde hace cuatro
días - Hoy el embalse esta al borde de la saturación
- La representación debe facilitar la adquisición
del conocimiento - Facilita el desarrollo del sistema, al facilitar
la comunicación entre ingeniero y experto - Mejora el mantenimiento (por ejemplo, aumentar el
número de reglas de un sistema - Facilita la validación en papel
9Lo procedimental frente a lo declarativo (I)
- Lo declarativo enfatiza lo estático
- Fact(n) n Facf(n-1) Fact(0) 1
- Es una representación declarativa que se centra
en la descripción. El procedimiento de cálculo
está implícito en la definición - Se centra en Qué es el objeto?
- La representación procedimental se centra en el
carácter dinámico, en las instrucciones o
acciones para llegar a la solución. Se centra en
Cómo es el objeto? El conocimiento descriptivo
queda implícito - Factorial 1
- Para xn xgt1 x--
- Factorial Factorial x
10Lo procedimental frente a lo declarativo (II)
- Imaginemos el siguiente procedimiento. Podríamos
convertirlo en una representación basada en
reglas SI-ENTONCES o una declarativa basada en
lógica de predicados?
El cheque es del banco
Pagar
Si
Si
La fecha del cheque es anterior a hoy en un rango
de 0 a 90 días
Hay fondos en cuenta?
Si
Si
Cheque firmado por el tomador y por el pagador
Tomador identificado por DNI
Si
11Lo procedimental frente a lo declarativo (III)
- El conocimiento procedimental es muy eficiente.
Pero es - Difícil de entender
- Difícil de modificar
- El conocimiento es difícil que sea compartido por
otros sistemas - El conocimiento declarativo es más entendible,
modificable y transportable, pero tiene un mayor
coste computacional - En una representación exclusívamente
procedimental el control está en los diferentes
procedimientos. Ha sido previsto por el
programador, que ha evaluado todos los posibles
estados y resultados. Es un tipo de control
irrevocable - En un programa inteligente el control lo
determina en tiempo de ejecución el programa, en
función del estado del problema. Ejemplo de
MYCIN - SI Paciente de alto riesgo AND
- existen reglas de PSEUDOMONAS en la premisa AND
- existen reglas de KLEBSIELLA en la premisa
- ENTONCES es preferible (CF 0,4) evaluar reglas de
PSEUDOMONAS a las de KLEBSIELLA
12Formalismos de representación que estudiaremos
- Lógica
- Reglas
- Redes semánticas
- Marcos y guiones
- Casos
- Redes neuronales