1. UNIVERSIDAD DEL VALLE
DE CUERNAVACA
Materia:
Tópicos Computacionales I
Profesor:
Aránzazu Mullins
Trabajo:
Temario para evaluación de materia
de Tópicos
Alumno:
Juan Gabriel Loaiza
2. ¿Qué es un sistema experto?
Los Sistemas Expertos, rama de la Inteligencia
Artificial, son sistemas informáticos que simulan
el proceso de aprendizaje, de memorización, de
razonamiento, de comunicación y de acción en
consecuencia de un experto humano en
cualquier rama de la ciencia.
Estas características le permiten almacenar
datos y conocimiento, sacar conclusiones
lógicas, tomar decisiones, aprender de la
experiencia y los datos existentes,
comunicarse con expertos humanos, explicar
el por qué de las decisiones tomadas y
realizar acciones como consecuencia de todo
lo anterior.
Sistemas Expertos
3. Técnicamente un sistema
experto, contiene una base
de conocimientos que
incluye la experiencia
acumulada de expertos
humanos y un conjunto de
reglas para aplicar ésta
base de conocimientos en
una situación particular
que se le indica al
programa. Cada vez el
sistema se mejora con
adiciones a la base de
conocimientos o al
conjunto de reglas.
Sistemas Expertos
4. La IA fue introducida a la comunidad científica en 1950
por el inglés Alan Turing en su artículo "Maquinaria
Computacional e Inteligencia." A pesar de que la
investigación sobre el diseño y las capacidades de las
computadoras comenzaron algún tiempo antes, fue
hasta que apareció el artículo de Turing que la idea de
una máquina inteligente cautivó la atención de los
científicos.
La pregunta básica que Turing trató de responder afirmativamente en su
artículo era: ¿pueden las máquinas pensar? Los argumentos de Turing
en favor de la posibilidad de inteligencia en las máquinas, iniciaron un
intenso debate que marcó claramente la primera etapa de interacción
entre la IA y la psicología.
Dos de las contribuciones más importantes de Turing a la IA fueron el
diseño de la primera computadora capaz de jugar ajedrez y, más
importante que esto, el establecimiento de la naturaleza simbólica de la
computación.
ORIGENES DE LA INTELIGENCIA ARTIFICIAL
5. El trabajo de Turing, quien falleció
prematuramente, fue continuado en los
Estados Unidos por John Von
Neumann durante la década de los
cincuentas. Su contribución central fue
la idea de que las computadoras
deberían diseñarse tomando como
modelo al cerebro humano.
ORIGENES DE LA INTELIGENCIA ARTIFICIAL
Von Neumann fue el primero en "antropomorfizar" el lenguaje y la
concepción de la computación al hablar de la "memoria", los "sensores",
etc., de las computadoras. Construyó una serie de máquinas utilizando lo
que a principios de los cincuentas se conocía sobre el cerebro humano, y
diseñó los primeros programas almacenados en la memoria de una
computadora.
6. 1. El reconocimiento de que el pensamiento puede ocurrir fuera del
cerebro, es decir, en máquinas.
2. La presuposición de que el pensamiento puede ser comprendido de
manera formal y científica.
3. La presuposición de que la mejor forma de entenderlo es a través de
computadoras digitales.
John McCarthy, Marvin Minsky y
Claude Shannon
ORIGENES DE LA INTELIGENCIA ARTIFICIAL
Es más o menos en esta época que
ocurre un evento que organizaría y
daría un gran impulso al desarrollo de
la IA: el congreso en Darthmouth
(1956). En este congreso, en el que se
reunieron los padres fundadores de la
disciplina, se llegó a la definición de las
presuposiciones básicas del núcleo
teórico de la IA:
7. En 1958, John McCarthy, desarrolla en el
Instituto de Tecnología de Massachusetts
(MIT) el LISP. Su nombre se deriva de LISt
Processor. LISP fue el primer lenguaje para
procesamiento simbólico.
ORIGENES DE LA INTELIGENCIA ARTIFICIAL
8. AREAS DE APLICACIÓN DE LOS SISTEMAS EXPERTOS
Medicina, Economía, Psicología, Finanzas, Derecho y prácticamente
todas las ramas del conocimiento.
9. • Las reglas léxicas son mucho más simples en LISP. Solo existen
paréntesis, comillas (sencilla y doble), espacios y comas. El
punto y coma no separa expresiones (no es necesario debido a
los paréntesis) sino que inicia comentarios.
• LISP no otorga semántica a los símbolos que manipula.
• Los símbolos en LISP no son case-sensitive.
• Muchos signos de puntuación son autorizados para formar parte
de los símbolos: '?!$/<=>*'
PROGRAMACION SIMBOLICA
10. La parte extraña es el ('), que sirve para bloquear la evaluación de
una expresión y devolverla literalmente. Se dice que todo lo que está
a continuación de la ‘ se entrega literalmente, no se evalúa.
> '(Carlos Antonio)
CARLOS ANTONIO
> 'A
A
> '2
2
> A
Error: A is not a bound variable
> (Luis ‘Maria)
Error: Luis is not a function
PROGRAMACION SIMBOLICA
11. Átomos
• Los átomos (o constantes
simbólicas) pueden tomar los
siguientes nombres:
– Cadenas de letras, dígitos y
guión bajo, comenzando por
una letra minúscula: juan, x,
el_pais
– Cadenas de caracteres
especiales: + - * / < > = : . &
_ ~: <===>, --->, .:., ::=, ...
– Cadenas de caracteres
entre comillas simples:
'El_Salvador',
'Nueva_Guinea', 'Juan'
Variables
•Cadenas de letras, dígitos y guión
bajo, que comienzan con letra
mayúscula, o con el guión bajo:
X Result _ Lista_de_tareas _x23
•El nombre _ está reservado para
variables "anónimas".
•El alcance de una variable es en la
cláusula (excepto _):
abuelo(X,Y) :-
padre(X,Z), padre(Z,Y).
padre(X,Y) :-
hijo(Y,X).
padreEHijo(X) :-
padre(X,_), padre(_,X).
SINTAXIS
12. VARIABLES Y CONSTANTES
Variables
• Se inician con mayúscula.
constantes
• Se inician con minúscula o con
_
• Si el objeto no interesa,
entonces usa la variable
anónima (_)
SIMBOLOS
•Pueden contener cualquier
combinación de letras y números, y
algunos caracteres especiales.
•Ejemplos:
BANANAS
COMPUTADOR
•Símbolos especiales T y NIL
• T Verdadero, Yes
• NIL Falso, No, Vacío
SINTAXIS
13. Una lista es una secuencia de elementos (átomos, estructuras, o listas).
Se representan entre corchetes:
[juana, tenis, carlos, futbol]
Una lista vacía se representa como: []
• La representación interna es con una estructura llamada ".", con dos
elementos: cabeza y cola:
.(juana, .(tenis, .(carlos, .(futbol,[]))))
.(tenis, .(carlos, .(futbol,[])))
.(carlos, .(futbol,[]))
.(futbol,[])
[]
• La cola de toda lista puede ser:
- Otra lista, usando el functor “.”
- La lista vacía [].
LISTAS
14. Aunque las listas son estructuras (Head,Tail), se pueden escribir entre
corchetes por claridad.
Otros predicados, también por claridad, se pueden escribir como
operadores (p.ej., con notación infija).
Ejemplo:
+(3, 5)
3 + 5
OPERADORES ARITMETICOS
Existen operadores predefinidos para operaciones aritméticas
+ Suma
- Resta
* Multiplicación
/ División
// División entera
** Elevación a potencia
mod Módulo (resto de división)
OPERADORES
15. ESTRUCTURAS DE DATOS
•Son objetos que tienen varios
componentes.
- La estructura ha de tener un
nombre (functor)
- El functor tiene atributos: los
elementos de la estructura.
•Por ejemplo:
•date(1, mayo, 2001): puede
usarse para representar el 1
de mayo de 2001
•date(Dia, mayo, 2001): para
representar cualquier día de
mayo de 2001.
16. UNIFICACION
Dados dos términos, decimos que unifican
si:
- Son idénticos, o
- Las variables de los dos términos se
pueden instanciar a objetos de manera que
los dos términos lleguen a ser idénticos.
Ejemplo:
date(D,M,2001) date(D1, mayo, A1)
D = D1
M = mayo
A1 = 2001
17. UNIFICACION
Siempre se escoge la unificación más general:
date(D,M,2001) date(D1, mayo, A1)
D = D1 D = 1 D = siete M = mayo D1 = 1
D1 = siete A1 = 2001 M = mayo M = mayo
A1 = 2001 A1 = 2001
Las reglas generales de la unificación son:
Si S y T son constantes, han de ser el mismo objeto.
Si S es una variable y T es cualquier cosa, unifican (S se instancia a T);
y viceversa.
Si S y T son estructuras, unifican siempre y cuando:
- El nombre del functor sea el mismo
- Todos sus atributos unifican
18. BACKTRACKING
Cuando prolog tiene que satisfacer una consulta, prueba todas las
posibilidades (realizando backtracking) hasta encontrar las
asignaciones de valores que la satisfagan.
En el intérprete, si se piden más soluciones, se continúan buscando
mediante backtracking.
f(x) =
f(X,0) :- X < 3.
f(X,2) :- 3 =< X, X < 6.
f(X,4) :- 6 =< X.
Ejemplo:
?- f(1,Y)
0 si x < 3
2 si x >= 3 y
x < 6
4 si x >= 6
19. BUSQUEDA EN PROFUNDIDAD (BEP)
Se comienza en el vértice inicial (vértice con índice 1) que se marca
como vértice activo. Hasta que todos los vértices hayan sido visitados,
en cada paso se avanza al vecino con el menor índice siempre que se
pueda, pasando este a ser el vértice activo. Cuando todos los vecinos
al vértice activo hayan sido visitados, se retrocede al vértice X desde el
que se alcanzó el vértice activo y se prosigue siendo ahora X el vértice
activo.
ALGORITMO BEP:
Sea G = (V, A) un grafo conexo, V’ = V un conjunto de vértice, A’un
vector de arcos inicialmente vacío y P un vector auxiliar inicialmente
vacío.
20. BUSQUEDA EN PROFUNDIDAD (BEP)
Se introduce el vértice inicial en P y se elimina del conjunto V’.
Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar.
Se toma el último elemento de P como vértice activo.
Si el vértice activo tiene algún vértice adyacente que se encuentre en
V’: Se toma el de menor índice.
• Se inserta en P como último elemento.
• Se elimina de V’.
• Se inserta en A’ el arco que le une con el vértice activo.
• Si el vértice activo no tiene adyacentes se elimina de P.
21. RESOLUCION DE PROBLEMAS
Se quiere:
• Resolver automáticamente un problema
Se necesita:
• Una representación del problema
• Algoritmos que usen alguna estrategia para resolver el problema
definido en esa representación
DEFINICION DE UN PROBLEMA
• Si se abstraen los elementos de un problema se pueden identificar:
• Un punto de partida
• Un objetivo a alcanzar
• Acciones a disposición para resolver el problema
• Restricciones sobre el objetivo (p.e., de costo)
• Elementos del dominio que son relevantes en el problema (p.e.,
conocimiento incompleto del punto de partida)
22. REPRESENTACION DE PROBLEMAS
• Existen diferentes formas de representar problemas para
resolverlos de manera automática.
• Representaciones generales:
- Espacio de estados. Un problema se divide en un conjunto de
pasos de resolución desde el inicio hasta el objetivo.
- Reducción a sub-problemas. Un problema se descompone en
una jerarquía de sub-problemas.
• Representaciones para problemas específicos:
- Resolución de juegos
- Satisfacción de restricciones
23. REPRESENTACION DE PROBLEMAS ESTADOS
• Se puede definir un problema por los elementos que intervienen y
sus relaciones.
• En cada instante de la resolución de un problema esos elementos
tendrán unas características y relaciones específicas.
• Se denomina estado a la representación de los elementos que
describen el problema en un momento dado.
• Se distinguen dos estados especiales: el estado inicial (punto de
partida) y el estado final (en general, el objetivo del problema).
• ¿Qué descriptores incluir en el estado? (Ej.: la localización)
24. MODIFICACION DEL ESTADO: FUNCION SUCESOR
• Para poder moverse entre los diferentes estados se necesita una
función sucesor (descripción de las posibles acciones).
• Función sucesor (o conjunto de operadores): función de
transformación sobre la representación de un estado que lo convierte
en otro estado
• La función sucesor define una relación de accesibilidad entre
estados.
• Representación de la función sucesor:
- Condiciones de aplicabilidad
- Función de transformación
25. ESPACIO DE ESTADO
• El conjunto de todos los estados alcanzables desde el estado inicial
conforma lo que se denomina espacio de estados.
• Representa todos los caminos que hay entre todos los estados
posibles de un problema.
• El espacio de estados forma un grafo (o mapa) en el cual los nodos
son estados y los arcos son acciones.
• La solución del problema está dentro de ese mapa.
26. SOLUCION DE UN PROBLEMA EN EL ESPACIO DE ESTADOS
• Solución: Secuencia de pasos que llevan del estado inicial al final
(secuencia de operadores) o también el estado final.
• Tipos de solución: una cualquiera, la mejor, todas.
• Costo de una solución: gasto en recursos de la aplicación de los
operadores a los estados; puede ser importante o no según el
problema y qué tipo de solución busquemos.
27. DESCRIPCION DE UN PROBLEMA EN EL ESPACIO DE ESTADOS
• Definir el espacio de estados (explícita o implícitamente)
• Especificar el estado inicial
• Especificar el estado final o las condiciones que cumple
• Especificar los operadores de cambio de estado (condiciones de
aplicabilidad y función de transformación)
• Especificar el tipo de solución:
- La secuencia de operadores o el estado final
- Una solución cualquiera, la mejor (definición de costo), todas.
28. EJEMPLO
• Espacio de estados:
– configuraciones de 8 fichas en el tablero
• Estado inicial:
– cualquier configuración
• Estado final:
– fichas en orden específico
• Acción:
– “mover hueco”
Condiciones:
el movimiento está dentro del
tablero
Transformación:
“mover el hueco” a la Izquierda,
Derecha, Arriba y Abajo
• Solución: Qué pasos + El menor número
8
2 3
4
1
6
7
5
29. INGENIERIA DEL CONOCIMIENTO
INCIERTO IMPRECISO INCOMPLETO NO-MONOTONO
PROBLEMA
Tomar decisiones y realizar procesos de razonamiento cuando
el conocimiento del dominio involucrado tiene distintas
características, puede ser:
30. • Lógica de primer orden.
• Es una lógica con suficiente expresividad para representar nuestro
sentido común.
• La lógica de predicados tiene alcances ontológicos más amplios.
• Considera el mundo constituido por objetos y propiedades que los
distingan, a diferencia de la lógica proposicional que sólo permite
representar hechos.
LOGICA DE PREDICADOS
31. • Está basada en la idea de que las sentencias realmente expresan
relaciones entre objetos, así como también cualidades y atributos de
tales objetos.
• Los objetos pueden ser personas, objetos físicos, o conceptos.
• Las cualidades, relaciones o atributos, se denominan predicados.
Los objetos se conocen como argumentos o términos del predicado.
• Al igual que las proposiciones, los predicados tienen un valor de
veracidad, pero a diferencia de las preposiciones, su valor de
veracidad, depende de sus términos. Un predicado puede ser
verdadero para un conjunto de términos, pero falso para otro.
LOGICA DE PREDICADOS
32. Un predicado es lo que se afirma del sujeto.
Predicado
• Propiedades
• Cualidades
• Relaciones
• Atributos.
• Funciones
Sujeto
• Argumentos
• Términos
• Objetos, Personas,
Conceptos
predicado
sentencia
sujeto objeto
PROPOSICIONES Y PREDICADO
Un proposición es una oración
completa donde se afirma algo
acerca de un sujeto identificado.
Una sentencia en lógica de
predicados es una oración
completa donde se afirma algo
acerca de un sujeto. El sujeto
puede ser una constante o una
variable.
sentencia = oración = enunciado
33. REPRESENTACION MEDIANTE REGLAS
Hipótesis:
:
Si X es A entonces Y es B
X es A*
Conclusión
Y es B* ???
REGLAS IMPRECISAS: A y/ o B son imprecisos
REGLA INCIERTA: λ Grado de certeza
REGLAS HIBRIDAS: Problema complejo
34. REPRESENTACION SIMBOLICA MEDIANTE INCERTIDUMBRE
El conocimiento se expresa mediante predicados precisos pero no
podemos establecer el valor de verdad de la expresión
Ejemplos:
Es posible que en Bs As esté lloviendo
En Bs As llueve (CF)
Creo que el auto era rojo
El auto es rojo (CF)
El conocimiento cuenta con predicados o cuantificadores vagos (no
precisos)
Ejemplos:
Pedro tiene entre 20 y 25 años.
Juan es joven
Mucha gente juega al fútbol
El espectáculo es para gente grande.
35. CONOCIMIENTO IMPRECISO
Si la variable X toma valores en S
• Proposiciones precisas
{p: ¨X es s¨ / s S }
• Proposiciones imprecisas
{p: ¨X es r¨ / r S }
* Imprecisa - no borrosa
Si r es un conjunto clásico
* Imprecisa - borrosa
(fuzzy)
Si r es un conjunto borroso
(fuzzy)
CONOCIMIENTO INCOMPLETO
Se debe tomar decisiones a partir
de información incompleta o
parcial.
Esto se suele manejar a través de
supuestos o valores por defecto.
Ejemplo:
Si el paciente tiene S1, S2 y S3
entonces tiene una infección a
Bacterian
S3 ???
36. CONOCIMIENTO NO-MONOTONICO
La información recibida a partir de distintas fuentes o en diferentes
momentos es conflictiva y cambiante.
Ejemplo:
Si el vuelo nº 1340 sale en forma puntual y no tiene escalas técnicas
arribará a Madrid a las 8 hrs.
1º Supongo no-escala técnica y concluyo arribará a Madrid a las 8 hrs.
2º Aviso de escala técnica, debo revisar la conclusión del horario de
arribo.
37. REDES SEMANTICAS
• Son esquemas de representación en Red, compuesta por nodos
donde cada nodo representa un dato. Se relacionan entre sí por
medio de enlaces (flechas en el diagrama).
• Los nodos representan objetos del dominio del problema y los arcos
(flechas) sus relaciones o asociación
Ejemplo:
Pájaro Animal
donde la saeta significa "es un“
• Las redes semánticas son estructuras utilizadas para la
representación de conocimiento en Inteligencia Artificial.
• Son especialmente útiles para representar conocimiento de
taxonomías.
• Los nodos corresponden a Constantes de relaciónes tales como
clases, propiedades e Instancias (elementos de una clase).
• Las aristas en la red semántica representan asociaciones entre
clases.
39. COMPONENTES DE UN SISTEMA EXPERTO
• Los SE son programas capaces de manejar problemas que
normalmente requieren para su resolución la intervención humana
especializada.
• El experto de campo revela la información colapsada sobre el
conocimiento.
• El ingeniero de conocimiento da forma simbólica y automáticamente
manipulable a la información (conocimiento) dada por el experto de
campo.
40. CARACTERISTICAS DE SE
• Aplican experiencia de una manera eficiente para solucionar
problemas, realizando inferencias a partir de datos incompletos
o inciertos.
• Explican y justifican lo que están haciendo.
• Se comunican con otros expertos y adquieren nuevo
conocimiento.
• Reestructuran y reorganizan el conocimiento.
• Pueden quebrantar reglas, interpretar simultáneamente el
espíritu y la letra.
• Determinar cuando un problema está en el dominio de su
experiencia, determinación de la relevancia del problema.
41. MOTOR DE INFERENCIA (MI)
Activa las reglas en función de la
información contenida
en la BD y MT, la nueva
información es puesta en la MT.
También se encarga de
proporcionar al TE, las reglas que
dieron origen a una cosulta al
usuario.
Puede trabajar bajo:
- Universo Cerrado: toda la
información necesaria está
contenida en el sistema,
entonces lo que no puede
demostrar es falso.
- Universo Abierto: toda la
información que no está en el
sistema está fuera de él,
entonces la busca el usuario.
42. - Orientado por el Objetivo:(Backward Chaining)
El origen de la inducción es el objetivo y se busca encontrar
condiciones iniciales que estén contenidas en los datos
sobre
el problema particular a resolver.
- Orientado por los Datos:(Forward Chaining)
El origen de la inducción son los datos iniciales y se trata de
llegar a algún objetivo de interés.
43. ARQUITECTURA DE UN SE
• Base de Conocimiento (BC)
• Base de Datos (BD)
• Motor de Inferencia (MI)
• Trazador de explicaciones (TE)
• Trazador de Consultas (TC)
• Memoria de trabajo (MT)
• Manejador de Comunicaciones (MC)
44. BASE DEL CONOCIMIENTO (BC)
Es la unión del conjunto de aserciones y el
conjunto de reglas. Su función es suministrar al MI,
información de la naturaleza de los problemas que
puede manejar.
Restricciones
1- Aciclicidad: No puede aparecer
Si A1 y A2 ENTONCES A1 y A2
2- n,m >=1
Observaciones
Las aserciones pueden vincularse mediante Y y O