Vous êtes sur la page 1sur 23

Introducción a la Ingenierı́a del Conocimiento Curso 2003–2004

Tema 2: Introducción a los


sistemas basados en el
conocimiento

José A. Alonso Jiménez


Miguel A. Gutiérrez Naranjo

Dpto. de Ciencias de la Computación e Inteligencia Artificial

Universidad de Sevilla

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.1


Inteligencia Artificial

B Visión
B Robótica
B Habla
B Sistemas artificiales neuronales
B Lenguaje natural
B Comprensión
B Sistemas expertos
B ...

B El primer paso para resolver cualquier proble-


ma es definir el área o dominio del problema
B Generalemte las prestaciones para la solución
de un problema vienen condicionadas con fre-
cuencia por la existencia de amplias cantidades
de conocimiento sobre la tarea en cuestión y
no por grandes colecciones de métodos inde-
pendientes del dominio.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.2


Tipos de problemas: Estructura

B Estructurados:
u Son aquellos en los que se conocen todas y cada
una de las componentes de una solución, es decir,
los datos que representan los estados del proble-
ma, los operadores y los procedimientos. Son total-
mente resolubles por computador y sin necesidad
de ayuda humana.

B Semiestructurados:
u Aquellos que en alguno(s) de sus subproblema(s)
no se conoce alguna de las componentes de la solu-
ción. Por ejemplo, los sistemas tradicionales de
ayuda a la toma de decisiones.

B No estructurados:
u Son aquellos en los que todas o alguna de las com-
ponentes de la solución son vagas o desconocidas: es
decir, cuando la meta no está totalmente estableci-
da, por lo que determinar la meta forma parte del
problema.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.3


Tipos de problemas: Contexto

B Independientes del contexto:


u Ajedrez
u Espectrografı́a
u ...
B Sensibles al contexto:
u Lenguaje natural
u Explicaciones cualificadas
u ...

B Los problemas que aborda la Ingenierı́a del


Conocimiento son los problemas semiestruc-
turados o no estructurados y, o, dependientes
del contexto.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.4


Sistemas basados en el conocimiento

B Sistemas basados en el conocimiento:


Programas que resuelven problemas usando un
determinado dominio de conocimiento
B Terminologı́a:
Sistema basado en el conocimiento
Sistema experto
Sistema experto basado en el conocimiento

B Sistemas basados en el conocimiento vs sis-


temas expertos:
SBC: conocimiento no necesariamente ex-
perto.
SE: conocimiento experto + interacción.
SE ⊆ SBC.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.5


Ingenierı́a del Conocimiento

B La Ingenierı́a del Conocimiento es el proceso de


diseñar y hacer operativos los Sistemas Basados
en el Conocimiento.
B La Ingenierı́a del Conocimiento se define co-
mo el subcampo de la Inteligencia Artificial
concerniente a la adquisición, representación y
aplicación de conocimientos, o . . .
B . . . como la disciplina de la Ingenierı́a por la
cual es conocimiento se integra dentro de un
sistema de computador para resolver proble-
mas complejos que normalmente requieren un
alto nivel de experiencia humana.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.6


Sistemas Expertos

B En el caso de los Sistemas Expertos es el pro-


ceso de mejorar, hasta un nivel de experto
humano, las prestaciones de sistemas de pro-
gramación que poseen un amplio cuerpo de
conocimiento sobre un área de aplicación es-
pecı́fica.
B Un sistema experto es un programa que usa
conocimiento y procedimientos de razonamien-
to para resolver problemas lo suficientemente
difı́ciles como para necesitar de un experto para
.
su solución (Feigenbaum, 1982)

B Se usan cuando el problema:


u No se requiere “sentido común”
u Se requiere razonamiento simbólico
u No se resuelve con métodos “tradicionales”
u Necesita de conocimiento experto
u El coste compensa su uso

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.7


Estructura de los SBC

B Sistema basados en el conocimiento =


Conocimiento + Razonamiento

B Estructura básica de los SBC

conocimiento

Usuario

razonamiento

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.8


Ventajas I

B Mayor disponibilidad:
u La experiencia está disponible para cualquier hard-
ware de cómputo adecuado

B Coste reducido
B Permanencia:
u La experiencia es permanente, a diferencia de lo
que ocurre con los expertos humanos

B Experiencia múltiple:
u El conocimiento de varios especialistas puede es-
tar disponible para trabajar simultánea y continua-
mente en un problema.
u El nivel de experiencia combinada de muchos sis-
temas expertos puede exceder el de un solo espe-
cialista humano.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.9


Ventajas II

B Respuestas no subjetivas
u El sistema experto ofrece respuestas sólidas, com-
pletas y sin emociones en todo momento.

B Explicación del razonamiento


u El sistema experto puede explicar clara y detalla-
damente el razonamiento que conduce a una con-
clusión

B Respuesta rápida:
u Algunas situaciones de emergencia pueden exigir
respuestas más rápidas que las de un humano.

B Tutorı́a inteligente
B Base de datos inteligente

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.10


Problemas

B Problemas fundamentales en la construcción de


los SS.BC.:
La adquisición del conocimiento y cómo re-
presentar el conocimiento humano a una re-
presentación abstracta efectiva.
La representación del conocimiento en
términos de una estructura de datos que una
máquina pueda procesar.
La generación de inferencias o cómo ha-
cer uso de esas estructuras abstractas para
generar información útil an el contexto de
un caso especı́fico.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.11


Tareas

B Evaluar u reconocer aplicaciones potenciales,


diagnosticando las que son triviales o imposi-
bles antes de invertir esfuerzos.
B Extraer el conocimientos privado de los exper-
tos y el público de donde exista.
B Dedicar suficiente análisis antes de empezar a
implementar.
B Diseñar, construir y verificar una(s) base(s) de
conocimiento, seleccionando representaciones
idóneas.
B Diseñar modelos de resolución de problemas.
B Usar heurı́sticas para reducir el espacio de
búsqueda.
B Elegir la herramienta adecuada para llevar a
buen puerto las tareas anteriores.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.12


Aplicaciones de SE

B Tipos de aplicaciones con sistemas de produc-


ción:
u Configuración
u Diagnóstico
u Enseñanza
u Interpretación
u Planificación
u Predicción
u Control
B Campos de aplicación
u Medicina: MYCIN, INTERNIST, CADUCEUS,
CASNET
u Geologı́a: PROSPECTOR, Dipmeter Advisor
u Informática: XCON
u Matemáticas: MACSYMA
u Educación: GUIDON, DEBUGGY

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.13


Lenguajes de SBC

B Lenguajes de SBC
u LISP, PROLOG
u EMYCIN
u OPS5, ART, CLIPS
u KEE
B PROLOG:
u Programación Lógica
u Razonamiento hacia atrás
B CLIPS
u CLIPS = C Language Integrated Production Sys-
tems
u Es un lenguaje basado en reglas de producción
u Desarrollado en la NASA desde 1984
u Escrito en C
u La sintaxis es parecida a la de Lisp
u Relacionado con OPS5 y ART
u Objetivos: portabilidad, bajo coste y facilidad de
integración

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.14


Representación del conocimiento

B Requisitos de los formalismos de representación


del conocimiento:
u potencia expresiva
u facilidad de interpretación
u eficiencia deductiva
u posibilidad de explicación y justificación

B Principales formalismos de representación


u lógica
u reglas de producción
u redes semánticas
u marcos
B Cada formalismo de representación usa un
método de inferencia especı́fico:
u Resolución, SLD-resolución
u Razonamiento hacia a delante y hacia atrás
u Herencia

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.15


Sistemas basados en reglas.

B Introducción de los sistemas de producción


u A. Newell y H.A. Simon Human problem solving
(Prentice–Hall, 1972)

B Correspondencia entre sistemas de producción


y memoria humana
u Memoria de trabajo y memoria temporal
u Base de conocimiento y memoria permanente

B S.E. basados en sistemas de producción


u DENDRAL: S.E. para determinar estructuras
moleculares (Buchanan, U. Stanford, 1964)
u MYCIN: S.E. para diagnosticar meningitis e infec-
ciones sanguı́eas (Shortliffe, U. Stanford, 1972)
u PROSPECTOR: S.E. para estudio de explo-
raciones geológicas (Duda, Stanford Research In-
stitute, 1978)
u R1 (XCON): SE para configurar equipos VAX (Mc-
Dermott, CMU y DEC, 1978)

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.16


Sistemas basados en reglas (II).

B Ejemplos:
SI
el problema no me sale Y
es la hora de consulta
ENTONCES
consultar al profesor

SI
la luz del semáforo es verde Y
no hay peatones cruzando
ENTONCES
continúa la marcha

SI
el programa Lisp no carga
ENTONCES
comprobar paréntesis

B Inferencias:
u Razonamiento hacia adelante (de abajo a arriba)
u Razonamiento hacia atrás (de arriba a abajo)

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.17


Redes semánticas.

B Ejemplo:

Prof. F.I.E.
es-parte-de es-parte-de

Prof. Prof.
Estadística Informática

es-parte-de es-un

Prof. es-un
Tercero
JLRR CCIA
depto.

B Inferencia:
u Herencia

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.18


Lógica:

B Ejemplos:
u ∀x(P erro(x) → Animal(x))
u ∃x(Animal(x) ∧ ¬P erro(x))
u ∀x∃y(padre(y, x))
u ¬∀x∃y(padre(x, y))
u ∀²∃n0∀n ≥ n0(|xn − xn0 | < ²)

B Inferencia:
u Deducción natural.
u Cálculo de secuentes.
u Regla de resolución.
u Reescritura.
B Razonamiento automático.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.19


Ejemplo en Prolog

r1 # si Coche tiene cilindrada X


entonces
Coche tiene velocidad X.

r1 # si Coche tiene motor inyeccion y


Coche es mono-volumen
entonces
Coche tiene velocidad media.

...

r9 # si Coche tiene frenos abs y


Coche tiene airbag
entonces
Coche tiene seguridad alta.

f1 hecho opel_astra tiene 1600 c_cubicos.


f2 hecho opel_astra tiene airbag.
f3 hecho opel_astra no_tiene frenos abs.
f4 hecho fiat_punto tiene 1400 c_cubicos.
f5 hecho fiat_punto no_tiene airbag.
f6 hecho fiat_punto no_tiene frenos abs.
f7 hecho renault_space es mono_volumen.
f8 hecho renault_space tiene motor diesel.
f9 hecho renault_space tiene frenos abs.
f10 hecho renault_space tiene airbag.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.20


Ejemplo en Prolog

?- se_deduce(opel_astra es gama X).

¿Es cierto opel_astra tiene 2000 c_cubicos?


Posibles respuestas: [si, no, porque] (seguidas de un punto):

¿Es cierto opel_astra tiene 1600 c_cubicos?


Posibles respuestas: [si, no, porque] (seguidas de un punto):
=== Porque:
La regla r7 dice que probando:
opel_astra tiene 1600 c_cubicos
se tiene:
opel_astra tiene cilindrada media

Repito:
¿Es cierto opel_astra tiene 1600 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto):

****** Se ha encontrado respuesta afirmativa:


------ Opciones:
------ 1) Ver la prueba completa y continuar.
------ 2) Navegar dentro de la prueba.
------ 3) Continuar.
Posibles respuestas: [1, 2, 3] (seguidas de un punto): 1.

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.21


Ejemplo en Prolog

****** Prueba encontrada:


por usted, sabemos que opel_astra tiene 1600 c_cubicos,
luego, segun r7 se concluye que opel_astra tiene cilindrad
luego, segun r2 se concluye que opel_astra tiene velocidad m
y
por f3, sabemos que opel_astra no_tiene frenos abs,
y
por f2, sabemos que opel_astra tiene airbag,
luego, segun r10 se concluye que opel_astra tiene seguridad
luego, segun r1 se concluye que opel_astra es gama media,

X = media ;

¿Es cierto opel_astra tiene 1400 c_cubicos?


Posibles respuestas: [si, no, porque] (seguidas de un punto):
No

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.22


Bibliografı́a

B Bratko, I. Prolog Programming for Artificial


Intelligence (2nd ed.) (Addison–Wesley, 1990)
u Cap. 14: “Expert system and Knowledge Repre-
sentation”

B Giarrantano,J. y Riley, G. Expert Systems:


Principles and Programming (2nd ed.) (PWS,
1994)
u Cap. 1: “Introduction to expert systems”

B Rich, E. and Knight, K. Inteligencia Artificial


(segunda edición) (McGraw-Hill, 1994)
u Capı́tulos 4, 5, 6 y 20

B Maté Hernández, J.L. y Pazos Sierra, J. Inge-


nierı́a del Conocimiento. Diseño y construc-
ción de sistemas expertos (Ed. SEPA)
u Cap.1: Ïngenierı́a del Conocimiento”

IIC 2003–04 Cc Ia Introducción a los sistemas basados en el conocimiento 2.23

Vous aimerez peut-être aussi