Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Introduccion a la Ingenierıa del Conocimiento Curso 2003–2004
Tema 2: Introduccion a lossistemas basados en el
conocimiento
Jose A. Alonso Jimenez
Miguel A. Gutierrez Naranjo
Dpto. de Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.1
Inteligencia Artificial
B Vision
B Robotica
B Habla
B Sistemas artificiales neuronales
B Lenguaje natural
B Comprension
B Sistemas expertos
B . . .
B El primer paso para resolver cualquier proble-ma es definir el area o dominio del problema
B Generalemte las prestaciones para la solucionde un problema vienen condicionadas con fre-cuencia por la existencia de amplias cantidadesde conocimiento sobre la tarea en cuestion yno por grandes colecciones de metodos inde-pendientes del dominio.
IIC 2003–04 CcIa Introduccion 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 solucion, 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-
cion. 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 solucion son vagas o desconocidas: es
decir, cuando la meta no esta totalmente estableci-
da, por lo que determinar la meta forma parte del
problema.
IIC 2003–04 CcIa Introduccion 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 delConocimiento son los problemas semiestruc-turados o no estructurados y, o, dependientesdel contexto.
IIC 2003–04 CcIa Introduccion 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 undeterminado 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 + interaccion.
SE ⊆ SBC.
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.5
Ingenierıa del Conocimiento
B La Ingenierıa del Conocimiento es el proceso dedisenar y hacer operativos los Sistemas Basadosen el Conocimiento.
B La Ingenierıa del Conocimiento se define co-mo el subcampo de la Inteligencia Artificialconcerniente a la adquisicion, representacion yaplicacion de conocimientos, o . . .
B . . . como la disciplina de la Ingenierıa por lacual es conocimiento se integra dentro de unsistema de computador para resolver proble-mas complejos que normalmente requieren unalto nivel de experiencia humana.
IIC 2003–04 CcIa Introduccion 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 expertohumano, las prestaciones de sistemas de pro-gramacion que poseen un amplio cuerpo deconocimiento sobre un area de aplicacion es-pecıfica.
B Un sistema experto es un programa que usaconocimiento y procedimientos de razonamien-to para resolver problemas lo suficientementedifıciles como para necesitar de un experto parasu solucion (Feigenbaum, 1982)
.
B Se usan cuando el problema:
u No se requiere “sentido comun”
u Se requiere razonamiento simbolico
u No se resuelve con metodos “tradicionales”
u Necesita de conocimiento experto
u El coste compensa su uso
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.7
Estructura de los SBC
B Sistema basados en el conocimiento =Conocimiento + Razonamiento
B Estructura basica de los SBC
conocimiento
razonamiento
Usuario
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.8
Ventajas I
B Mayor disponibilidad:
u La experiencia esta disponible para cualquier hard-
ware de computo adecuado
B Coste reducido
B Permanencia:u La experiencia es permanente, a diferencia de lo
que ocurre con los expertos humanos
B Experiencia multiple:
u El conocimiento de varios especialistas puede es-
tar disponible para trabajar simultanea 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 CcIa Introduccion a los sistemas basados en el conocimiento 2.9
Ventajas II
B Respuestas no subjetivas
u El sistema experto ofrece respuestas solidas, com-
pletas y sin emociones en todo momento.
B Explicacion del razonamiento
u El sistema experto puede explicar clara y detalla-
damente el razonamiento que conduce a una con-
clusion
B Respuesta rapida:
u Algunas situaciones de emergencia pueden exigir
respuestas mas rapidas que las de un humano.
B Tutorıa inteligente
B Base de datos inteligente
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.10
Problemas
B Problemas fundamentales en la construccion delos SS.BC.:
La adquisicion del conocimiento y como re-presentar el conocimiento humano a una re-presentacion abstracta efectiva.
La representacion del conocimiento enterminos de una estructura de datos que unamaquina pueda procesar.
La generacion de inferencias o como ha-cer uso de esas estructuras abstractas paragenerar informacion util an el contexto deun caso especıfico.
IIC 2003–04 CcIa Introduccion 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 publico de donde exista.
B Dedicar suficiente analisis antes de empezar aimplementar.
B Disenar, construir y verificar una(s) base(s) deconocimiento, seleccionando representacionesidoneas.
B Disenar modelos de resolucion de problemas.
B Usar heurısticas para reducir el espacio debusqueda.
B Elegir la herramienta adecuada para llevar abuen puerto las tareas anteriores.
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.12
Aplicaciones de SE
B Tipos de aplicaciones con sistemas de produc-cion:u Configuracion
u Diagnostico
u Ensenanza
u Interpretacion
u Planificacion
u Prediccion
u Control
B Campos de aplicacion
u Medicina: MYCIN, INTERNIST, CADUCEUS,
CASNET
u Geologıa: PROSPECTOR, Dipmeter Advisor
u Informatica: XCON
u Matematicas: MACSYMA
u Educacion: GUIDON, DEBUGGY
IIC 2003–04 CcIa Introduccion 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 Programacion Logica
u Razonamiento hacia atras
B CLIPSu CLIPS = C Language Integrated Production Sys-
tems
u Es un lenguaje basado en reglas de produccion
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
integracion
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.14
Representacion del conocimiento
B Requisitos de los formalismos de representaciondel conocimiento:u potencia expresiva
u facilidad de interpretacion
u eficiencia deductiva
u posibilidad de explicacion y justificacion
B Principales formalismos de representacion
u logica
u reglas de produccion
u redes semanticas
u marcos
B Cada formalismo de representacion usa unmetodo de inferencia especıfico:
u Resolucion, SLD-resolucion
u Razonamiento hacia a delante y hacia atras
u Herencia
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.15
Sistemas basados en reglas.
B Introduccion de los sistemas de produccion
u A. Newell y H.A. Simon Human problem solving
(Prentice–Hall, 1972)
B Correspondencia entre sistemas de producciony memoria humana
u Memoria de trabajo y memoria temporal
u Base de conocimiento y memoria permanente
B S.E. basados en sistemas de produccion
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 geologicas (Duda, Stanford Research In-
stitute, 1978)
u R1 (XCON): SE para configurar equipos VAX (Mc-
Dermott, CMU y DEC, 1978)
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.16
Sistemas basados en reglas (II).
B Ejemplos:SIel problema no me sale Yes la hora de consultaENTONCESconsultar al profesor
SIla luz del semaforo es verde Yno hay peatones cruzandoENTONCEScontinua la marcha
SIel programa Lisp no cargaENTONCEScomprobar parentesis
B Inferencias:u Razonamiento hacia adelante (de abajo a arriba)
u Razonamiento hacia atras (de arriba a abajo)
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.17
Redes semanticas.
B Ejemplo:
es-parte-de es-parte-de
Estadística Informática
Prof. F.I.E.
Prof. Prof.
Prof.Tercero
es-parte-de
JLRR
es-un
es-un
CCIAdepto.
B Inferencia:u Herencia
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.18
Logica:
B Ejemplos:
u ∀x(Perro(x) → Animal(x))
u ∃x(Animal(x) ∧ ¬Perro(x))
u ∀x∃y(padre(y, x))
u ¬∀x∃y(padre(x, y))
u ∀ε∃n0∀n ≥ n0(|xn − xn0| < ε)
B Inferencia:u Deduccion natural.
u Calculo de secuentes.
u Regla de resolucion.
u Reescritura.
B Razonamiento automatico.
IIC 2003–04 CcIa Introduccion 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 CcIa Introduccion 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): no.
¿Es cierto opel_astra tiene 1600 c_cubicos?
Posibles respuestas: [si, no, porque] (seguidas de un punto): porque.
=== 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): si.
****** 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 CcIa Introduccion 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 cilindrada media,
luego, segun r2 se concluye que opel_astra tiene velocidad media,
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 media,
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.
No
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.22
Bibliografıa
B Bratko, I. Prolog Programming for ArtificialIntelligence (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 edicion) (McGraw-Hill, 1994)
u Capıtulos 4, 5, 6 y 20
B Mate Hernandez, J.L. y Pazos Sierra, J. Inge-nierıa del Conocimiento. Diseno y construc-cion de sistemas expertos (Ed. SEPA)
u Cap.1: Ingenierıa del Conocimiento”
IIC 2003–04 CcIa Introduccion a los sistemas basados en el conocimiento 2.23