tema 2: introducci´on a los sistemas basados en el

23
Introducci ´ on a la Ingenier ´ ıa del Conocimiento Curso 2003–2004 Tema 2: Introducci´on a los sistemas basados en el conocimiento Jos´ e A. Alonso Jim´ enez Miguel A. Guti´ errez Naranjo Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla IIC 2003–04 C c I a Introducci´on a los sistemas basados en el conocimiento 2.1

Upload: others

Post on 13-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 2: Introducci´on a los sistemas basados en el

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

Page 2: Tema 2: Introducci´on a los sistemas basados en el

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

Page 3: Tema 2: Introducci´on a los sistemas basados en el

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

Page 4: Tema 2: Introducci´on a los sistemas basados en el

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

Page 5: Tema 2: Introducci´on a los sistemas basados en el

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

Page 6: Tema 2: Introducci´on a los sistemas basados en el

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

Page 7: Tema 2: Introducci´on a los sistemas basados en el

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

Page 8: Tema 2: Introducci´on a los sistemas basados en el

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

Page 9: Tema 2: Introducci´on a los sistemas basados en el

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

Page 10: Tema 2: Introducci´on a los sistemas basados en el

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

Page 11: Tema 2: Introducci´on a los sistemas basados en el

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

Page 12: Tema 2: Introducci´on a los sistemas basados en el

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

Page 13: Tema 2: Introducci´on a los sistemas basados en el

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

Page 14: Tema 2: Introducci´on a los sistemas basados en el

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

Page 15: Tema 2: Introducci´on a los sistemas basados en el

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

Page 16: Tema 2: Introducci´on a los sistemas basados en el

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

Page 17: Tema 2: Introducci´on a los sistemas basados en el

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

Page 18: Tema 2: Introducci´on a los sistemas basados en el

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

Page 19: Tema 2: Introducci´on a los sistemas basados en el

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

Page 20: Tema 2: Introducci´on a los sistemas basados en el

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

Page 21: Tema 2: Introducci´on a los sistemas basados en el

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

Page 22: Tema 2: Introducci´on a los sistemas basados en el

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

Page 23: Tema 2: Introducci´on a los sistemas basados en el

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