Agentes Inteligentes

Anuncio
Inteligencia Artificial
I.
CONTENIDO
1.
2.
3.
4.
5.
6.
7.
Introducción y Conceptos de la Inteligencia Artificial.
Agentes Inteligentes.
Búsqueda a Ciegas.
Búsqueda Heurística.
Representación Formal del Conocimiento.
Representación “No Formal” del Conocimiento.
Sistemas Expertos.
7.1. Sistemas Expertos Determinísticos Decisionales.
7.2. Sistemas Expertos Probabilísticos de Aprendizaje Bayesiano.
7.2.1. Aprendizaje Bayesiano.
7.2.2. ID3
Redes Neuronales Artificiales.
8.1. Algoritmos
8.1.1. Perceptivos
8.1.2. Retropropagación
8.1.2.1. Estocástica
8.1.2.2. Difusa
8.
II.
EVALUACIÓN
9. 60% Examen Presencial
10. 30% Trabajos Prácticos Grupales
11. 10% Asistencia
III.
BIBLIOGRAFÍA
12.
13.
14.
15.
“Inteligencia Artificial – Un Enfoque Moderno”
Russel and Norvig
“Inteligencia Artificial – Un Paso al Conocimiento”
Alfredo Pajares
CAPITULO 1
1.
Introducción a la Inteligencia Artificial
1.1. Definición
Como la combinación de ciencias tales como:
Computación
Fisiología
Filosofía
Otras
Que se engloban para un fin común que es el de “construir máquinas de tal
manera que puedan pensar y razonar como los seres humanos; reduciendo el
tiempo en tareas complejas.
1.2. Categorías
Sistemas que piensan
como humanos
Sistemas que actúan
como humanos
Sistemas que piensan
de manera racional
Sistemas que actúan
racionalmente
1.2.1.
Sistemas que piensan como humanos
Conocida como: “Las leyes del pensamiento”.
Si se empieza por premisas (antecedentes) correctos; logramos
pensar correctamente.
1.2.2.
Sistemas que piensen racionalmente
Agente racional, que se asemejen a los pensamientos de los seres
vivos.
Teorías del funcionamiento del cerebro humano dado que éste
posee y procesa información en paralelo.
1.2.3.
Sistemas que actúen racionalmente
Que satisfagan a los requerimientos de los humanos.
1.2.4.
Sistemas que actúen como humanos
“El enfoque de la prueba de Turing
Si existe una comunicación satisfactoria humano vs ordenador
entonces vamos en buen camino a esta ciencia.
El computador deberá ser capaz de:
• Procesar en lenguaje natural. (comunicación eficiente)
• Autoaprender.
• Razonar de manera autónoma.
1.3. Propósito
Conseguir emular el comportamiento humano en habilidades concernientes
a:
Percibir
Razonar – Sistemas Expertos – Redes Neuronales – Robótica y Exploración
Aprender – Sistemas Expertos – Redes Neuronales – Robótica y Exploración
1.4. Fundamentos de la Inteligencia Artificial
Las ciencias que dieron vida a la Inteligencia Artificial son:
1.4.1.
Filosofía
Si una persona puede razonar, ¿por qué no un ordenador?
1.4.2.
Matemáticas
Lógica de Predicado y Proposicional.
Parte probabilística.
1.4.3.
Lingüística
Define a la estructura semántica.
• El lenguaje debería de estar estructurado.
• La semántica del lenguaje.
1.4.4.
Psicología
Teorías avanzadas sobre como aprende, actúa y razona un
humano.
1.4.5.
Computación
Hardware.
Software.
Etc.
1.5. Estrategias de la Inteligencia Artificial
1.5.1.
Sistemas Expertos
Conjunto de “saberes” de distintas personas o especialistas para
lograr un fin en común.
Saberes:
• Conocimientos
• Habilidades
• Actitudes – Actos
1.5.2.
Redes Neuronales Artificiales
Emulan el proceso de aprendizaje neuronal biológico con el proces
de lograr aprendizaje en base al “entrenamiento”.
1.5.3.
Lógica Difusa
“Fuzzy Logic” – Lógica Borrosa.
Representa también el conocimiento con cierto grado de
incertidumbre.
1.5.4.
Algoritmos Genéticos
Forman parte de las estrategias del campo de investigación de la
Inteligencia Artificial.
Estudia y evalúa los genes humanos, con el objetivo de encontrar
el “gen ganador” (mutación, ruleta, crossover).
1.6. Reseña Histórica
1.6.1.
1.6.2.
1.6.3.
Primer Periodo – 1955 al 1965
• Juegos
• RNA (Perception, Adaline)
• SE
• Lisp, Prolog – Matlab
Segundo Periodo – 1965 al 1975
• Representacion general del conocimiento.
• Redes semánticas (IS-A, AKO (A Kind Of))
• Marcos ().
• Guiones.
Tercer Periodo – 1975 a la actualidad
• RNA´s (Mejoradas, Aplicaciones)
- Reconocimiento de voz.
- Reconocimiento de imágenes.
• Exploraciones (de tipo robótico).
• Juegos sofisticados.
• Algoritmos genéticos.
• Lógica difusa.
Todas fueron aplicadas a:
• Ingeniería.
• Rama militar.
• Medicina
CAPITULO 2
2.
Agentes Inteligentes
2.1. Introducción
Caracterizadas generalmente por actuar en un entorno y realizar una serie
de acciones en el mismo en base a percepciones, con el objeto de conseguir
metas del usuario.
2.2. Concepto
Se llama Agente Inteligente a todo aquello que pueda percibir de su
ambiente mediante sus “sensores” y que pueda actuar en el ambiente mediante
sus “efectores”
2.2.1.
Inteligencia
• Habilidad de Aprender.
• Capacidad de resolver problemas.
• Habilidad de adaptarse.
• Capacidad de captar y procesar “conocimiento”.
2.2.2.
Conocimiento
• Información adquirida y transformada.
• Valores.
• Saber hacer.
2.2.3.
Agentes Inteligentes Autónomos
Satisfacen a los requerimientos de los usuarios, y siguen
“interactuando” con otros agentes o entidades.
2.3. Propiedades de los Agentes Inteligentes
2.3.1.
Continuidad Temporal
Siguen funcionando y/o ejecutando tareas.
2.3.2.
Racionalidad
Hacer lo correcto.
2.3.3.
Personalidad
Actuar con otros agentes.
2.3.4.
Adaptabilidad
2.4. Generaciones de los Agentes Inteligentes
2.4.1.
Primera Generación
Comparación de precios.
2.4.2.
Segunda Generación
Comparación de precios y tipos.
2.4.3.
Tercera Generación
“Actual”. Se pretende desarrollar todo el “proceso” de
comparación, compra, precio, detalle, etc.
Autonomía completa de los Agentes Inteligentes en la “Navegación
de la red”.
2.5. Clasificación de los Agentes Inteligentes
Están clasificados:
2.5.1.
Movilidad
Pueden ser:
• Estáticos
• Dinámicos
2.5.2.
Deliberativos
Consiguen un razonamiento simbólico y consiguen también
determinar:
• Planeaciones
• Negociaciones
Ejemplo:
Cuando un navegador me ofrece un hotel con el que estoy de
acuerdo con la cama pero no con el transporte, entonces negocia con
otros transportes en la web.
2.5.3.
Reactivos
Se comportan bajo un concepto estímulo/reacción.
Buscan solo lo que se les pide. No provocan negociación.
2.5.4.
Cooperan, Aprendizaje, Autónomos
C
A
Agente deliberativo
Agente de interfaz
Autónomo
AI Ideal
Agente Colaborativo
2.6. Estructura de un Agente Inteligente
Agente = Programa de Agente + Arquitectura
2.6.1.
Programa de Agente
Función que procesa la transformación de una secuencia de
percepciones.
2.6.2.
Arquitectura
‫ ݋ݒ݅ݐ݅ݏ݋݌ݏ݅ܦ‬ൠ ‫݊݁ ݏ݁݊݋݅ܿܿܽ ݏ݈ܽ ܽݐݑ݆ܿ݁݁ ݁ݑݍ‬
‫ݏ݁݊݋݅ܿ݌݁ܿݎ݁݌ ݏ݈ܽ ܽ ݁ݏܾܽ ݎ݋݀ܽݐݑ݌݉݋ܥ‬
Para poder “diseñar y desarrollar” un programa de agente, se
deben considerar los siguientes componentes:
P = Percepciones capturadas por los “sensores”.
A = Acciones en respuesta a las percepciones “efectores”.
M = Meta a lograr, máximo rendimiento.
A = Ambiente
Ejemplo.- Marcapaso Inteligente
P
• Pulso.
• Signos QRS.
• Segmentos T, P.
A
•
Reportar falla del latido, pulso, frecuencia cardiaca.
M
•
Evitar la muerte.
A
•
•
•
Corazón
Paciente
Hospital
Ejemplo.- Automóvil detector de personas ebrias
P
• Sensores olfativos en el cabezal del piloto.
A
•
Inhabilita el motor de arranque.
M
•
Evitar accidentes de tránsito.
A
•
Automóvil.
2.7. Ejemplos de Agentes Inteligentes Simples
2.7.1.
Agente Robótico
• Sensores – Cámaras infrarrojas
• Efectores – Motores, servomotores
2.7.2.
Agente de Software
• Sensores + Efectores = Combinados por las instrucciones
codificadas.
2.7.3.
Agentes Aplicativos
2.7.3.1. WARREN
Ámbito Financiero.
Tienen la capacidad de hacer un reporte financiero
detallado.
2.7.3.2. AHOY
“Universidad de Washington”, detecta a personas
particulares y reporta un listado filtrado de posibles
candidatos.
2.7.3.3. SMART NEWREADER
Anuncia noticias de interés al lector.
2.7.3.4. Recomendación de Cartelera
Cines, eventos de interés.
TV.
2.7.3.5. SHOPBOT
“Prototipo” de compra de productos.
Version ampliada -- E-Commerce.
B2B
C2C
B2C
CAPITULO 3
3.
Resolución de Problemas Mediante Búsqueda
3.1. Introducción General
El Agente Inteligente resuelva problemas optimizando tiempo, recorrido,
mediante medios o herramientas legales para su ejecución.
3.2. Técnicas
a)
b)
c)
d)
Describir el estado actual del “ambiente”.
Describir el punto de partida. (NODO RAIZ)
Describir el objetivo del problema a resolver. (NODO META)
Describir los medios permisibles que generen una transición o
transformación de estados. (OPERADORES)
Ejemplo:
2 3 4
1
5
8 6 7
1
1 2 3
8
4
7 6 5
2
Descripción
a) El ambiente está reflejado en un tablero de 3 x 3 casillas con 8
dígitos en las casillas y una casilla en “blanco”.
b) Nodo Raíz → Figura 1
c) Nodo Meta → Figura 2
d) D1 Desplazar o intercambiar la “casilla en blanco” a la derecha.
D2 Desplazar o intercambiar la “casilla en blanco” a la izquierda.
D3 Desplazar o intercambiar la “casilla en blanco” hacia abajo.
D4 Desplazar o intercambiar la “casilla en blanco” hacia arriba.
Estos operadores son la “Secuencia de Acciones”, ésta secuencia
debe ser respetada en su orden.
→
→
→
→
3.3. Espacio de Estados
Indicar el “conjunto” total de los estados que se han generado al aplicar los
operadores (válidos), siguiendo secuencialmente todos los operadores.
Ejemplo: El mundo de los bloques.
A
B
A
B
C
C
Nodo Raiz
1)
A
B
Nodo Meta
C
B
A
C
3)
A
B
C
4)
C
A
B
2)
….
3.4. Estrategias de Búsqueda
3.4.1.
Búsqueda a Ciegas (Sin información)
Explora los nodos de un árbol, sin previa información del mejor
recorrido, exceptuando “el nodo raíz y el nodo meta”
Tenemos los siguientes algoritmos de búsqueda a ciegas:
3.4.1.1. BPA (Breath First Search)
Este algoritmo sugiere una búsqueda de recorrido de IZQDER, bajo una estructura tipo cola (FIFO).
La exploración debe realizarse por niveles; respetando
que primero se explore el nivel “i” antes de explorar o
analizar el nivel “i+1”.
Características del BPA
• Completo – Recorre todos los nodos hasta llegar a la
solución.
• Óptimo – Siempre halla la solución.
Estructura
Para la solución, se presentan 2 tipos de listas.
open [[ <= ABIERTA := Los nodos generados, pero no
expandidos.
closed [[ <= CERRADA := Los nodos expandidos y
computados
Ejemplo: Buscar el camino recorrido del siguiente árbol:
Grafico 1.1 del Cuaderno.
ABIERTA
A
DFG
FGHJ
GHJ CE
HJCE
CERRADA
Ø
A
D Nodos Expandidos
F
G
B ÉXITO
Camino recorrido: A, D, F, G, B
Ejemplo: Transformar el siguiente grafo cíclico a una
estructura acíclica, luego aplicar el algoritmo por anchuraamplitud y encontrar el camino recorrido.
Grafico 1.2 del Cuaderno
ABIERTA
A
BGF
GFCG
CERRADA
Ø Nodos Expandidos
B
G
Camino recorrido: A, B, G
3.4.1.2. Algoritmo por búsqueda en profundidad
Explorar el primer nodo raíz y luego solo explorar la
primera rama de la izquierda.
Solo retorna a un nodo inmediato inferior si este produce
un “callejón sin salida”.
Su estructura es:
Cuaderno 1.3, 1.4
La estructura aplicada responde a una lista tipo LIFO
Se tienen 2 listas:
ABIERTA:= Componen los nodos generados.
CERRADA:=Componen
los
nodos
explorados
(expandidos, computados.)
Cuaderno 1.5
ABIERTA
A
DFG
HJFG
BJFG
JFG
CERRADA
Ø
A
A, D
A, D, H
A, D, H, B
3.4.1.3. Costo Uniforme
Varia a la búsqueda mediante el algoritmo de amplitud
solamente por los “costes asociados” en cada camino.
Característica Principal
Todos los costes deberán ser “positivos”, de otra manera
el algoritmo no es adecuado para la búsqueda de resolución.
Su análisis deberá satisfacer lo siguiente:
݃(௦௨௖௘௦௢௥) ≥ ݃(௡)
Parámetros de Fiabilidad
a) Completo: Si existe una solución de la estructura
de análisis, este algoritmo encontrará.
b) Complejidad Temporal: Indica el tiempo qu se
requiere para hallar la solución.
c) Complejidad Espacial: Indica “cuanta” memoria
requiere para hallar la solución.
d) Optima: Halla la solución con el menor costo (en
caso que exista más de una solución (Nodo
Meta)).
Ejemplo
Hallar la solución de menor costo de la siguiente
estructura, e indicar el camino reorrido.
Cuaderno 1.6
3.4.1.4. Búsqueda Bidireccional
Se trata de explorar la estructura (árbol, grafo) mediante
dos aspectos:
• Del nodo inicial al nodo meta.
• Del nodo meta al nodo inicial.
Desarrollo que deberá realizarse simultáneamente, hasta
encontrar un “nodo intermedio común”.
Características
Al menos una de las búsquedas, desde el (nodo inicial al
nodo meta) ó (del nodo meta al nodo inicial) deberá cumplir
con la búsqueda por amplitud
Estructura
Cuaderno 1.7
Ejemplo
Realizar la búsqueda mediante el algoritmo de búsqueda
bidireccional.
Cuaderno 1.8
Cuando se trabaja con árboles o grafos dirigidos no es
necesaria la transformación.
3.4.2.
Búsqueda Heurística
Es un desarrollo de búsqueda de solución de “estimación”, para la
búsqueda cuenta con una información adicional sea esta (maximizar
(∞), o minimizar (0, -∞)) de acuerdo al problema a resolver.
La información adicional se la conoce como:
݂௘௩ = ݂‫݅ܿ݊ݑ‬ó݊ ݀݁ ݁‫݅ܿܽܿݑ݈ܽݒ‬ó݊ ‫ݎݑ݁ܪ‬í‫ܽܿ݅ݐݏ‬
3.4.2.1. Heurísticas Comunes
H1 = Las distancias de “Manhattan” Taxi → Avenidas
H2 = Fichas mal colocadas respecto al estado meta.
→
Ejemplo:
2 3 4
1
5
6 8 7
Ei
1 2 3
8
4
7 6 5
Em
Secuencia de operadores:
→
←
↑
↓
Entonces tenemos que partiendo del nodo inicial:
2 3 4
1
5
6 8 7
Ei
Tenemos:
→
2 3 4
1 5
6 8 7
Ei
ℎ1 = 1 2 3 4 5 6 7 8
෍
= 1 + 1 + 1 + 1 + 2 + 1 + 2 + 2 = 11
←
2 3
1
6 8
Ei
↑
2
1 3
6 8
Ei
4
5
7
4
5
7
↓
2 3 4
1 8 5
6
7
Ei
ℎ1 = 1 2 3 4 5 6 7 8
ℎ1 = 9
Expandimos el nodo con el menor recorrido, supones que
es el último.
Si utilizando la misma heurística, este nodo tiene a h1
como 5, 8, 5, entonces prevalece el de la izquierda.
NOTA: El orden de búsqueda no tiene restricción ya que la
“fev (función de evaluación)” guía el recorrido.
Si al aplicar los operadores con la misma heurística en un
mismo nivel hay 2 valores fev iguales, el nodo a expandir
será siempre el de la izquierda.
3.4.2.2. Algoritmos de Búsqueda Heurística – El primero el
mejor
Se genera una “Cola de prioridades”, explorando siempre
el nodo más prometedor para llegar a la meta, por tanto el
orden de expansión no está restringida por una dirección,
solo esta dirigido en base a la fev (mas, min) – (+∞, -∞)
Cuaderno
Camino recorrido: A, B, D, H, L, M
3.4.2.3. Algoritmo de Búsqueda Heurística A*
Introducción Característica: Es la combinación del
algoritmo de búsqueda de “primero el mejor” y “costo
uniforme”.
݂௘௩(௡) = ݃(௡) + ℎ(௡)
݂௘௩(௡) = El costo de estimación de llegar de un “nodo
inicial” a un “nodo meta” mínimo.
݃(௡) = El costo
• Aula
• Distancia
de menor coste (real)
• Camino
desde un nodo “n”
ℎ(௡) = El costo de llegar desde un nodo “n” al nodo “meta”
(h=heurística)
→
Ejemplo: Desarrollar la siguiente TAB mediante A*.
Ejemplo: Resolver el problema del mundo de los bloques
mediante el algoritmo de búsqueda “A”.
Suponga que cada cambio de recorrido tiene un costo 1.
B
C
A
A
B
C
Estado Inicial
Estado Meta
La heurística empleada:
∗
ℎ(௡)
= #݀݁ ܾ݈‫ݏ݋݀ܽܿ݋݈݋ܿݏ݁݀ ݏ݁ݑݍ݋‬
Condiciones:
1) 1 solo bloque pueda moverse en un tiempo dado.
2) El bloque podrá estar en la tabla, o encima de otro
bloque.
3) El bloque puede moverse “solo” si está libre “encima”
B
C
A
∗
݂௘௩
=0+2=2
C
B A
∗
݂௘௩
=1+3=4
1 es el Costo añadido a la heurística
C
B A
∗
݂௘௩ = 2 + 3 = 5
∗
݂௘௩
B A C
=1+3=4
C
B A
∗
=2+3=5
݂௘௩
C
B A
ܺ = ‫ݎ݋݅ݎ݁ݐ݊ܣ ݋݀ܽݐݏܧ‬
C
B A
ܺ = ‫ݎ݋݅ݎ݁ݐ݊ܣ ݋݀ܽݐݏܧ‬
A
B
C
∗
݂௘௩ = 4 + 0 = 4
B A C
∗
݂௘௩
=1+3=4
B
B
A C
A C
∗
∗
݂௘௩
= 3 + 2 = 5 ݂௘௩
=3+1=4
A
A
B C
B C
∗
∗
݂௘௩ = 3 + 2 = 5 ݂௘௩ = 3 + 1 = 4
B
A C
ܺ = ‫ݎ݋݅ݎ݁ݐ݊ܣ ݋݀ܽݐݏܧ‬
3.5. Estrategias entre adversarios
3.5.1.
Algoritmo Minimax – Algoritmo Poda α β
Se basa en la presencia de dos jugadores.
•
•
MAX: Trata de maximizar su ganancia
MIN: Intenta minimizar la ganancia de MAX
Se desarrolla por niveles donde cada nivel corresponde a un
jugador sea (MAX, MIN), donde se desarrolla de manera alternada.
El nodo inicio, se determina mediante las “reglas de juego”
¿Quién empieza?
¿Cuál el tiempo de juego?
¿Cuál el límite de profundidad?
Ejemplo:
4
MAX
1
3.5.2.
MIN
4
8
3
1
4
6
5
fev
fev
fev
fev
fev
fev
MAX
Poda α – β
Características: El juego siempre se inicia con los valores:
α = -∞
β=∞
En un nivel MAX el valor de α nunca disminuye.
En un nivel MIN el valor de α = Hereda del padre.
En un nivel MIN el valor β = Hereda del padre.
En un nivel MAX el valor β trata de minimiza su valor respecto a ∞
Poda: Evita el estudio o análisis de:
•
•
Nodos
Ramas
Siempre y cuando
α≥β
Si el nodo Raíz = MAX, entonces, (el valor de α cambia, y β se
mantiene)
Si el nodo Raíz = MIN, entonces, (α =-∞ (mantiene su valor) y β
cambia)
NOTA: El procedimiento siempre se realiza de forma
“ASCENDENTE”.
NOTA 2: No siempre es necesario que se presente como estructura
final un árbol (equilibrado) en el cual los nodos finales representan los
nodos “terminales”; asociados cada uno de ellos a una utilidad (fev).
Ejemplo:
MIN
MAX
MIN
-1
3
9
MAX
4-5=-1 #de filas, columnas o diagonales libres para X - # de filas,
columnas y diagonales libres para O; para ganar el juego (En un 3 en
raya)
Descargar