Está en la página 1de 54

Sistemas expertos

Dr. Miguel Wister

Definiciones

Es un sistema que hace uso del conocimiento de un experto humano, dicho conocimiento es capturado en computadoras con el propsito de resolver problemas de un dominio especifico. Turban, 1995

Programa computacional que imita el proceso humano de resolucin de problemas.

Definiciones

Un SE es un sistema computacional que opera aplicando un mecanismo de inferencia a un conjunto de experiencias de un especialista, representado en forma de conocimiento que manipula este conocimiento para resolver eficiente y efectivamente problemas dentro de una estrecho dominio del problema. Es un sistemas computacional que usa una representacin de la experiencia humana dentro del dominio de un especialista para ejecutar funciones similares a aquellas funciones que normalmente son ejecutadas por expertos humanos dentro de ese dominio.

Lnea del tiempo de los SE


Dendral Internist Casnet Mycin Hearsay Puff Prospector Teiresias Xcon(R1)
1965 1970 1975 1980

Primeros sistemas expertos


S.E. FECHA AUTOR PROPOSITO Dendral 1965 Stanford University Deduce Informacin sobre estructuras qumicas. Macsyma 1965 MIT Realiza anlisis matemtico complejo. Hearsay 1965 Carnegie Mellon Interpreta leng. nat.l de un subconjunto del idioma. Age 1963 Stanford University Herramienta para generar SE. Mycin 1972 Stanford University Diagnstico de enfermedades de la sangre. Teiresias 1972 Stanford University Herramienta para transformacin de conocimientos. Prospector 1972 Stanford University Exploracin mineral y herramientas de identificacin. Rosie 1978 Rand Herramienta para desarrollo de SE. OPS5 1974 Carnegie Mellon Herramienta para desarrollo de SE. R1 1978 Carnegie Mellon Configurar equipos de computacin para la DEC. Caduceus 1975 University of Pittsburgh Herramienta de diagnstico para medicina interna. Eurisko Stanford University Aprende automaticamente a partir de nuevos conocimientos y nuevas heuristicas. Steamer US NAVY Entrena al personal de la Marina en la operacin mantenimiento de una planta y propulsin.

Estructura de un sistema experto

Base de conocimientos

Motor de inferencias

Estructura de un sistema experto


Base de conocimientos.- Contiene todo el conocimiento necesario para el entendimiento, formulacin y resolucin de problemas, el cual abarca dos elementos bsicos: 1) Hechos acerca del problema o situacin, 2) Heursticas especiales o reglas que nos llevan al uso de conocimiento para resolver problemas especficos en un dominio en particular. La base de conocimientos puede consistir generalmente de reglas de produccin, pero puede ser nutrida por otras representaciones: redes semnticas, frames, y sistemas hbridos. Motor de inferencias.- Es la parte pensante del Sistema Experto, es el modulo que lleva a cabo el razonamiento. Tambin se le conoce como el cerebro [Turban, 1995]. Es llamado la estructura de control o el interpretador de las reglas. El motor o mquina de inferencia provee la metodologa para el razonamiento acerca de la informacin en la base de conocimientos. El motor de inferencias es el procedimiento el cual genera las consecuencias, hechos o decisiones de la base de conocimientos.

Objetivo de un sistema experto

El objetivo de un sistema experto consiste en transferir la experiencia (expertise) de un experto humano a una computadora y este a su vez lo retransmite a otros humanos que no son expertos. llevan a cabo el siguiente proceso: 1. 2. 3. 4. Adquisicin del conocimiento. Representacin del conocimiento. Inferencia del conocimiento. Transferencia del conocimiento.

Participantes de un sistema experto

Ingeniero de conocimiento

Experto humano

Usuario

Participantes de un sistema experto

Ingeniero de conocimiento Es quien se encarga de adquirir el conocimiento del experto humano, posteriormente lo modela en un determinado esquema de representacin de conocimiento. Es quien ayuda al experto humano a estructurar el rea del problema por medio de la interpretacin e integracin de preguntas y respuestas, e interpreta analogas. El ingeniero de conocimientos es quien normalmente construye el sistema experto.

Participantes de un sistema experto


Experto Es quien posee el conocimiento sobre un dominio especifico, tiene juicios, conoce los mtodos, tiene la experiencia, tiene las destrezas y sabe aplicar todos estos conocimientos para resolver problemas. Sabe cuales hechos son importantes y entiende la relacin entre los hechos.

Participantes de un sistema experto

Usuario Es quien hace uso del sistema experto, pudiendo ser un estudiante cuando el sistema experto le ensea, puede ser un consultor o consejero, puede ser un usuario colega o asistente cuando consulta un sistema experto para escuchar una segunda opinin.

Participantes de un sistema experto

CONSTRUCTOR DE HERRAMIENTA
construye
CONOCIMIENTO DOCUMENTADO

EXPERTO
pr ue

Adquiere conocimiento

ba

HERRAMIENTAS, LENGUAJES
provee

usa
us a

INGENIERO DE CONOCIMIENTO
construye

SISTEMA EXPERTO
usa

VENDOR

CONSTRUCTOR DE SISTEMAS

USUARIO FINAL

Beneficios
Incrementa resultados y productividad Incrementa la calidad Reduce la perdida de tiempo Captura la escasez de expertise Flexibilidad Facilidad de operacin de equipos Eliminacin de la necesidad de equipos costosos Operacin en ambientes peligrosos Accesibilidad de conocimiento para las oficinas Confiabilidad

Beneficios
Incrementa la capacidad de otros sistemas computarizados Integracin de opiniones de varios expertos Capacidad para trabajar con informacin incompleta o incierta Proporciona entrenamiento Enriquece la resolucin de problemas Capacidad para resolver problemas complejos Transferencia de conocimiento en lugares distantes Incrementan la capacidad de otros sistemas de informacin.

Elementos de un sistema experto


Entrevistas

GRUPO DE EXPERTOS
Construye,Prueba y Reglas Prueba y Extiende

SITUACION RESUELTA

INGENIERO DEL CONOCIMIENTO

Genera unas soluciones Utiliza

Utiliza
GENERADOR O HERRAMIENTA DE DESARROLLO DE SISTEMAS EXPERTOS

SISTEMA EXPERTO

USUARIO FINAL
Genera un problema

Soporte
Construye

SITUACION

INGENIERO DE SOFTWARE

Cundo es posible desarrollar un SE?


La tarea no es demasiada complicada No requiere sentido comn Requiere habilidad cognitiva
Existen expertos y estn disponibles

AND

DESARROLLO POSIBLE DE UN SE

Expertos de acuerdo en soluciones

Cundo se justifica un SE?


Retorno en la inversin

Perdiendo expertise DESARROLLO JUSTIFICADO DE UN SE

Expertos escasos Expertos en ambientes hostiles Explorar y generar cultura

OR

Caractersticas de un SE
Expertise de alto nivel 8. Examina su propio conocimiento 9. Examina su operacin 1.Mostrar rendimiento de Experto 2. Tener habilidad de Alto Nivel 3.- Robusto

Conocimiento propio

Sistema experto

Razonamiento simblico

4. Representacin Simblica 5.Reformulacin del conocimiento 6. Manejo de Problemas difciles 7. Uso de Reglas complejas Profundidad

Parmetros para la seleccin de un SHELL

1.- Capacidad y flexibilidad de representacin del conocimiento. 2.- Interfase del desarrollador 3.- Interfase del usuario 4.- Interfase del sistema 5.- Entrenamiento, soporte, documentacin 6.- Velocidad de ejecucin 7.- Costo

Metodologa para desarrollar sistemas expertos

1.- Iniciacin 2. Conceptualizacin 3.- Definicin/Diseo 4.- Desarrollo 5.- Implantacin 6.- Post-implantacin 7.- Documentacin

Rapid Prototyping Entrevista Implementa


CICLO INCREMENTAL

Revisa

(Metodologa de Hayes & Roth)

Problemas en ingeniera del conocimiento

Ingeniera del conocimiento

Adquisicin del conocimiento

Representacin del conocimiento

Adquisicin del conocimiento

Grupo de expertos

Ingeniera del Conocimiento o Editores Inteligentes

al anu M Semiautomtico Autom tico

Datos

Programas de Induccin

Sistema experto

Libros

Programas de Procesamiento de Textos

Motor de inferencia (Inference Engine)


SISTEMA EXPERTO
BASE DE CONOCIMIENTOS
(Conocimiento del dominio)

Hechos Reglas

Interpretador Scheduler
MQUINA DE INFERENCIAS (conocimiento general para la solucin de problemas)

Teorema de Bayes
P(H|E) la probabilidad de la hiptesis H dado que se observe la evidencia E.

P(Hi|E) =

P(E|Hi) P(Hi)

k n=1

P(E|Hn) P(Hn)

P(E|Hi) la probabilidad de que se observe la evidencia E dada la hipotesis Hi es verdadera. P(Hi|E) la probabilidad que Hi sea verdadera dada la evidencia E. P(Hi) la probabilidad de que Hi sea totalmente verdadera.

Regla de Bayes
H = John tiene malaria and E = John tiene fiebre alta CONOCIMIENTO GENERAL: P(H) : Probabilidad de que una persona tiene malaria. P(E|H) : Probabilidad de que una persona tiene fiebre alta dado que tiene
malaria. malaria.

P(E| H) : Probabilidad de que una persona tiene fiebre alta dado que NO tiene CONOCIMIENTO PARTICULAR: P(H|E) : Probabilidad de que John tiene malaria dado que tiene fiebre alta.
P(H|E) = P(E|H) P(H) P(E)

Donde P(E) = P(E|H) P(H) + P(E| H) P( H)

Si: P(H) = 0.0001

P(E|H) = 0.75

P(E| H) = 0.14

Entonces tenemos que: P(E) = (0.75) (0.0001) + (0.14) (0.9999)


P(E) = 0.140061 P(H | E) = (0.75) (0.0001) / (0.140061) P(H | E) = 0.00053548

La probabilidad de que John tenga malaria dado que tiene fiebre alta, es alrededor de 0.0005 porque 0.00053548 0.0005. Ahora, que si l NO tiene fiebre, su probabilidad de tener malaria sera:
P(H | E) = P( E|H) P(H) P( E) P(H | E) = (1 0.75) (0.0001) / (1 - 0.140061) P(H | E) = 0.000029 0.00003

Factor de Certeza (CF), Redes Bayesianas


R1 IF los resultados del examen de la sangre = "YES" THEN hay 0.8 de evidencia que la enfermedad sea "Malaria" IF zona de malaria es = "YES" THEN hay 0.5 de evidencia que la enfermedad sea "Malaria" IF piquete por mosquito es "TRUE" THEN hay un 0.3 de evidencia que la enfermedad sea "Malaria" IF la enfermedad es Malaria THEN hay 0.75 riesgo de muerte IF hay riesgo de muerte THEN tomar medicamentos recomendados

R2

R3

R4

R5

Factor de Certeza (CF)


CF(R1) = CF(R1) CF(R1, R2) = CF(R1) + CF(R2)[1 - CF(R1)] CF(R1, R2, ..., Rn) = CF(R1, R2, ..., Rn-1) + CF(Rn)[1 - CF(R1, R2, ...., Rn-1)]

Control de inferencias

FORWARD CHAINING

Datos

Conclusiones

Planeacin, monitorizacin Presente a Futuro Antecedente a consecuente Orientado a datos Bottom-up Encuentra las soluciones que se derivan de los hechos Explicacin no se facilita

BACKWARD CHAINING

Datos

Hiptesis

Diagnstico Presente a pasado Consecuente con ascendente Orientado a metas Top-Down Encuentra hechos que soporten la hiptesis Se facilita la explicacin

Razonamiento hacia adelante y hacia atrs


Se tiene un sistema experto para evaluar las habilidades personales del aspirante a un empleo:

R1: IF aspirante_contesta_firmemente THEN aspirante_tiene_facilidad_palabra R2: IF aspirante_parece_honesto THEN aspirante_contesta_firmemente R3: IF aspirante_declara_habilidades_no_comprobables THEN aspirante_no_parece_honesto ELSE aspirante_parece_honesto R4: IF aspirante_dispuesto_conversar_con_ejecutivo THEN aspirante_capaz_conversar_con_ejecutivo R5: IF aspirante_capaz_conversar_con_ejecutivo AND aspirante_tiene_facilidad_palabra THEN aspirante_amable R6: IF aspirante_amable THEN aspirante_con_habilidades_interpersonales R7: IF aspirante_con_habilidades_interpersonales

Razonamiento hacia adelante y hacia atrs


a) b) c) d) Realiza una red o rbol de inferencias para el conjunto de reglas anteriores Suponer que el aspirante no declara habilidades no comprobables y est dispuesto a conversar con un ejecutivo. Ejecuta un encadenamiento hacia delante para determinar si obtiene el empleo. Se sabe que el aspirante contesta firmemente. Ejecuta un encadenamiento hacia atrs para ofrecerle una sugerencia. Se detecta que el aspirante es capaz de establecer conversacin con un ejecutivo y se sabe que el aspirante es honesto. Tiene habilidades interpersonales? Justifica tu respuesta con un encadenamiento hacia adelante. Para los incisos b, c y d muestra en la siguiente tabla las reglas evaluadas (en orden) as como los hechos o inferencias obtenidas:

e)

Reglas evaluadas

Hechos conocidos (inferencias)

Razonamiento hacia adelante


Hecho dado Hecho no dado Regla aplicable Regla no aplicable R5 N N I N
Hechos Inferidos

R8 J R6 J

R9 K R7

Conclusiones

R1

R2

R3

R4

Hechos

Razonamiento hacia atras


Evidencia no dada Evidencia dada Hiptesis verdadera Hiptesis falsa H1 H2 H3 H
Hiptesis Inicial (Meta)

Hiptesis Intermedias (Submetas)

H4

H5

H6

Evidencias (Hechos)

Algoritmo de razonamiento hacia adelante


1.- Assing values to all input nodes from the external sources providing information to the knowledge-based system. 2.- Form a queue, Q, containing all rules that use the values of these input nodes in their premises. 3.- Until there are no more rules in Q: a. Examine the first rule in Q, comparing its premises with the values of the appropriate parameters to decide if the premises of the rule are satisfied. b. If the premises of the rule are not satisfied, remove the rule from Q and go back to a. c. If the rule is matched:
rule. I. Execute the rule, setting the rules downstream elements to the values specified by the

II.decide which rules use the downstream elements just set within their premises. III. Add these rules as the last rules within Q if they are not already in Q, even if their premises are not fully satisfied. IV. Delete the original rule from of the Q and return to step a.

4.- Output the values of the hypotheses that have been identified as conclusions. 5.- If this application involves a real-time process control, go back to step 1 and start the process again.

Razonamiento hacia adelante

Matching

Resolucin de conflictos

Ejecucin

Razonamiento hacia adelante

Matching: Las reglas de la base de conocimiento son comparadas con

los hechos conocidos para decidir cuales reglas son satisfechas. (situaciones y hechos verdaderos).

Resolucin de conflictos: En la fase anterior es posible encontrar

mltiples reglas que pueden ser satisfechas. La resolucin de conflictos involucra la seleccin de reglas de ms alta prioridad dentro del conjunto de reglas potenciales. (aquellas premisas que han sido satisfechas).

Ejecucin: (firing) es el resultado de uno o varios posibles resultados.

Un nuevo hecho o hechos puede ser agregado al conjunto de hechos o una nueva regla o reglas pueden ser agregados al conjunto de reglas (base de conocimientos).

Proceso de razonamiento hacia adelante

CONOCIMIENTO
Reglas Nuevas reglas

Paso 1 Match

Reglas aplicables

Resolucin de conflictos

Paso 2

Regla seleccionada

Paso 3 Ejecucin

Hechos

Nuevos hechos

HECHOS

Razonamiento hacia adelante

PARAMETER
Month upstream preciptation weather forecast river height season local rain river change river level flood warning evacuation order

POSSIBLE VALUES
any month of the year none, ligth,heavy sunny,cloudy, stormy measurement in feet dry, wet none, light rain, heavy rain none, lower, higher low, normal yes, no yes, no

Razonamiento hacia adelante


R1 R2 R3 R4 R5 R6 R7 R8 IF THEN IF THEN IF THEN IF THEN IF THEN IF THEN IF THEN IF THEN R9 IF THEN month = jun . . . Oct season = wet month = nov . . . May season = dry upstream = none AND season = dry change = lower upstream = none AND season = wet change = none upstream = light change = none upstream = heavy change = higher level = low flood = no AND evac = no change = none | lower AND level = normal | low flood = no AND evac = no change = higher AND level = normal AND rain = heavy flood = yes (CF = 0.4) AND evac = no R10 IF THEN R11 IF THEN R12 IF THEN R13 R14 R15 R16 R17 R18 IF THEN IF THEN IF THEN IF THEN IF THEN IF THEN change = higher AND level = normal AND rain = light flood = no AND evac = no change = higher AND level = hight AND rain = none | light flood = yes (CF = 0.5) AND evac = yes (CF = 0.2) change = higher AND level = hight AND rain = heavy flood = yes AND evac = yes (CF = 0.8) height < 10 level = low height >= 10 AND <=16 level = normal height > 16 level = high forecast = sunny rain = none forecast = cloudy rain = light forecast = stormy rain = heavy

Razonamiento hacia adelante continuacin


RED DE INFERENCIA

flood

evac

R11

R12

R10

R9

R8

R7

rain

change

level

R4

R3

season
R6 R16 R5 R17 R18 R1 R2 R13 R14 R15

Forecast

upstream

month

height

Razonamiento hacia atras

R1:

IF las luces delanteras estn brillantes y la chispa est presente en los cilindros del motor THEN el sistema elctrico est trabajando normalmente IF El automvil no da arranque AND El sistema elctrico est trabajando normalmente AND El arranque est volteando el cigeal para hacer arrancar el motor AND El aire est llegando a los cilindros del motor THEN No est llegando combustible al cilindro. IF El medidor de combustible est trabajando normalmente AND El medidor de combustible indica combustible en el tanque THEN Existe adecuado suministro de combustible. IF No est llegando combustible a los cilindros del motor AND Existe un adecuado suministro de combustible AND La bomba de gasolina est trabajando normalmente THEN El filtro de combustible est obstruido.

R2:

R3:

R4:

Las luces delanteras estn brillantes

El automvil no da arranque El sistema elctrico est trabajando normalmente


El arranque est volteando el cigeal para arrancar el motor

R2
No est llegando combustible al cilindro del motor

R1
Chispa presente en los cilindros

El aire est llegando a los cilindros del motor Medidor de combustible est trabajando normalmente

La bomba de gasolina est trabajando normalmente

R4

El filtro de combustible est obstruido

R3
Medidor de combustible indica combustible en el tanque

Existe un adecuado suministro de combustible

Razonamiento hacia adelante

((Player mays .237 left (Player mantle .278 right (Player maris .356 right (Player aaron .300 left (Player robinson .289 rightt (Player katzson ..220 left (Player henderson .308 right (Player Gonzlez .380 right (Player dankel .178 left (pitcher ryan right) (game 9 0 (nil nil nil) 0 henderson) )

35) 2) 0) 31) 32) 10) 86) 36) 0) R1

IF THEN IF THEN IF THEN IF THEN IF

R2

R3

R4

R5

THEN

there is no one on base AND the batter is good swing away we lead by greater than 3 runs AND it is the 7th inning or later swing away a fast runner is on 1st base AND there is no one on 3rd base attempt to steal 2nd base a fast runner is on 2nd base AND there is no one on 3rd base attempt to steal 3rd base a fast runner is on 1st base AND a good hitter is at bat AND the pitcher and the batter are opposite-handed hit-and-run

Razonamiento hacia adelante continuacin

R6

IF

R7

THEN IF

THEN
R8 IF

the score is tied or we are behind by 1 run AND there are less than 2 outs AND it is the 8th or 9th inning AND a fast runner is on 3rd base sacrifice fly a poor hitter is up AND a fast runner is on 1st base AND there are less than two outs sacrifice bunt
there are runners on base AND a good hitter comes to bat AND there are two outs swing away a batter is batting less than.240 he is a poor batter a batter is batting more than .300 he is a good batter a runner has stolen more than 30 bases he is a fast runner a runner has stolen less than 10 bases he is a slow runner

R9 R10 R11 R12

THEN IF THEN IF THEN IF THEN IF THEN

Razonamiento hacia adelante

R1

IF THEN IF THEN IF THEN

guest-age < 21 alcohol-indicated = no guest-age >= 21 alcohol-indicated = yes alcohol-indicated = yes AND meal = formal drink = wine alcohol-indicated = yes AND guest = boss drink = wine

R5

IF THEN

alcohol-indicated = yes AND guest = neighbor drink = beer

R2

R6

R3

drink = wine AND dinner = fish THEN wine_type = white IF drink wine AND dinner = red-meat THEN wine_type = red

IF

R7

R4

IF THEN

Razonamiento hacia adelante

R8

IF THEN

guest = boss AND day = friday dinner = fish

PARAMETERS:
guest-age: positive integer between 15 and 100 alcohol-indicated: yes/no meal: formal/informal drink: wine/beer/soda guest:boss/neighbor/friend dinner:fish/veal/red-meat/poultry/pizza day:monday/tuesday/.../sunday

R9

IF guest = boss AND day <> friday THEN dinner = red-meat IF THEN IF THEN IF THEN guest-age < 21 dinner = pizza guest-age >= 21 dinner = fish alcohol not indicated drink = soda

R10

R11

R12

Razonamiento hacia adelante continuacin

RED DE INFERENCIA
Meal formal R2 Ga>=21 R1 Ga<21 ALCOHOL R11 Guest boss R3 R4 WINE R6 R8 R12 SODA R5 Guess neighbor FISH Day<> friday R9 RED MEAT R7 Red wine

White wine

Day= friday

BEER

R10 PIZZA

Cundo se usa razonamiento hacia adelante?

Todos o la mayora de los datos son proporcionados al inicio, en la presentacin del problema. Existe un nmero de metas potenciales, pero solo pocas maneras de usar los datos. Es difcil formar una meta o hiptesis.

Cundo se usa razonamiento hacia atras?

Una meta o hiptesis es dada en la presentacin del problema o pueden ser fcilmente formulada. Existe un nmero grande de reglas que concuerdan (match) con los hechos del problema y por lo tanto se produce un nmero creciente de conclusiones. Los datos del problema no son dados pero deben ser adquiridos.

Razonamiento hacia adelante o hacia atras?

R1:

IF THEN IF THEN

tienes los recursos para comprar equipo de tennis puedes jugar tennis CF= 0.90 tienes talento para jugar tennis eres seleccionado en tu escuela CF= 0.60

R2:

R3:

IF puedes jugar tennis AND eres seleccionado en tu escuela THEN puedes conseguir buen entrenador IF THEN IF THEN consigues beca para adquirir equipo de tennis de calidad obtendrs un buen nivel de juego. CF= 0.78 tienes un buen nivel de juego AND tienes buen entrenador ganaras el campeonato.

R4:

R5:

Tienes recursos para comprar equipo de tennis

R1

Puedes jugar tennis

R3
Tienes talento para jugar tennis

Puedes conseguir un buen entrenador

R2

Eres seleccionado en tu escuela

R5
Consigues beca para adquirir equipo de tennis de calidad

Ganars el campeonato

R4

Obtendrs un buen nivel de juego

Aplicaciones de los SE

Lista de algunos SE tpicos:


MANUFACTURA / INGENIERIA
Diseo de productos Anlisis de diseo Planificacin de procesos Ensamble Control de procesos Diagnstico y reparacin Programacin (scheduling) Listas (rostering) Simulacin Estimacin de costos Configuracin

TRANSPORTACIN Scheduling Precios Administracin de trfico Localizacin de recursos SERVICIOS FINANCIEROS Juicios de crditos Servicios a clientes Requerimientos de elegibilidad Help Desk Auditora Planificacin financiera

Aplicaciones de los SE
AEROESPACIO / DoD
Logstica Fusin de datos Evaluacin de situacin Diagnstico y reparacin Administracin de inventarios Programacin tctica Requerimientos de municiones.

TELECOMUNICACIONES
Configuracin Monitorizacin en tiempo real Anlisis de alarmas Diagnstico Anlisis de redes Anlisis de marketing Soporte al marketing Operaciones de oficinas Programacin (scheduling) Operaciones de recibos Provisiones

SERVICIOS DE NEGOCIOS
Pronsticos de ganancias Seleccin de productos Diccionario de datos Interfaces personalizadas Entrenamiento personalizado Herramientas personalizadas Requerimientos de software

También podría gustarte