Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nuevas Tecnologías
La Base de Conocimientos
El Mecanismo de Inferencia
El Componente Explicativo
La Interface de Usuario
El Componente de Adquisición
Desarrollo de los Sistemas Expertos
Equipo de desarrollo
Métodos auxiliares en el desarrollo
Construcción de prototipos
Agentes Inteligentes
Tipos de Agentes
Estructura de los Agentes Inteligentes
Agente Racional
Es aquel que hace lo correcto, lo correcto se afirma que es que el agente tenga el mejor desempeño.
Un agente omnisciente es aquel que sube el resultado real que producirán sus acciones, y su
conducta es congruente con ello.
Una función qué permita implantar el mapeo del agente para pasar
de percepciones a acciones. Este programa se ejecutará en algún
tipo de dispositivo de cómputo al que se denominará arquitectura.
La arquitectura puede ser una computadora sencilla o un hardware
especial.
ACCIONES
(EFECTORES)
Tipos de Agentes
Deterministas y no deterministas
Episódicos y no episódicos
Estáticos y dinámicos
Discretos y continuos
Antecedentes de la Neurona en la I.A.
Aprendizaje y
Neuronas Formales
Clasificación
Aprendizaje y Clasificación
La clasificación es la atribución de una clase específica a un objeto. Esta
atribución necesita un cierto grado de abstracción para poder extraer
generalidades a partir de los ejemplos de los cuales se dispone. Para
una máquina, la clasificación de rostros, de datos médicos o de formas
son tareas bastante difíciles, en tanto que para un humano son
cuestiones cotidianas. Por ejemplo, en el caso de reconocimiento de
caracteres manuscritos, es difícil enunciar una descripción general que
tenga en cuenta todas las variaciones particulares de cada carácter.
Neuronas Formales
El origen de las Redes de Neuronas (RN) se
encuentra en la representación de la neurona
biológica por McCulloch y Pitts en 1943.
Neuronas intermedias
Conexiones
Semana 2: Estrategias de búsqueda : Búsqueda por amplitud
ESTRATEGIAS DE
BÚSQUEDA
Estrategias de Búsqueda
Búsqueda Informada
Búsqueda No Informada (Heurística)
(Ciega)
1. Búsqueda preferente por 1. Búsqueda avara
amplitud 2. Búsqueda A*
2. Búsqueda de costo 3. Búsqueda A*PI
uniforme 4. Búsqueda A*SRM
3. Búsqueda preferente por
profundidad
4. Búsqueda limitada por
profundidad
5. Búsqueda por
profundización iterativa
6. Búsqueda bidireccional
Búsqueda en el Espacio de
Estados
La resolución de un problema con esta representación
pasa por explorar el espacio de estados
Partimos del estado inicial evaluando cada paso hasta
encontrar un estado final
En el caso peor exploraremos todos los posibles
caminos entre el estado inicial del problema hasta
llegar al estado final
Definiremos una representación del espacio de
estados para poder implementar algoritmos que
busquen soluciones
Estructura del espacio de
estados
Estructuras de datos: Árboles y Grafos
Estados = Nodos
Operadores = Arcos entre nodos (dirigidos)
Árboles: Solo un camino lleva a un nodo
Grafos: Varios caminos pueden llevar a un
nodo
Algoritmo Básico
Basado en búsqueda y recorrido en árboles y grafos
La estructura la construimos a medida que hacemos la búsqueda
Algoritmo para una solución:
– Seleccionar el primer estado como el estado actual
– mientras el estado actual no es el estado final hacer
Generar y guardar sucesores del estado actual (expansión)
Escoger el siguiente estado entre los pendientes (selección)
– fin-mientras
La selección del siguiente nodo determinará el tipo de búsqueda (orden
de selección o expansión)
Es necesario definir un orden entre los sucesores de un nodo (orden de
generación)
Algoritmo Básico
Nodos abiertos: Estados generados pero aún no visitados
Nodos cerrados: Estados visitados y que ya se han expandido
Tendremos una estructura para almacenar los nodos abiertos
Las diferentes políticas de inserción en la estructura
determinarán el tipo de búsqueda
Si exploramos un grafo puede ser necesario tener en cuenta los
estados repetidos (esto significa tener una estructura para los
nodos cerrados). Merece la pena si el número de nodos
diferentes es pequeño respecto al número de caminos
Evaluación de las Estrategias
Las estrategias se evalúan de acuerdo a su:
Completez. ¿La estrategia garantiza encontrar una
solución, si ésta existe?
Complejidad temporal. ¿Cuánto tiempo se necesitará para
encontrar una solución?
Complejidad espacial. ¿Cuánta memoria se necesita para
efectuar la búsqueda?
Optimalidad. ¿Con esta estrategia se encontrará una
solución de la más alta calidad, si hay varias soluciones?
L O
M F P Q
N F F
F
1. Búsqueda preferente por amplitud
En este caso, primero se expande el nodo raíz
y luego todos los nodos generados por éste,
luego sus sucesores y así sucesivamente.
Todos los nodos que están a profundidad d se
expanden antes que los nodos con
profundidad d+1.
Búsqueda preferente por amplitud
0
0
1 2 3 321
0
10
1 2 3 cba32
a b c
0
210
1 2 3 f edcba3
a b c d e f
0
3210
1 2 3 i hg f edcba
a b c d e f g h i
0
a3210
1 2 3 γβα i hg f edcb
a b c d e f g h i
α β γ
0
b a 32 1 0
1 2 3 ζ ε δ γβα i hg f edc
a b c d e f g h i
α β γ δ ε ζ
Búsqueda preferente por amplitud
Si hay solución, es seguro que se encontrará
mediante la búsqueda preferente por amplitud.
Si son varias soluciones, siempre encontrará
primero el estado de meta más próximo (menos
profundidad, más a la izquierda).
La búsqueda preferente por amplitud es
completa y óptima siempre y cuando el costo de
ruta sea una función que no disminuya al
aumentar la profundidad del nodo.
1+ b + b2 + b3 + ... + bd + (bd+1 – b)
H I J
– VISITA (nodos cerrados)
K
O
Semana 3: Búsqueda por Profundidad
Búsqueda preferente por
profundidad (DFS)
S
L O
M F P Q
N F F
F
Búsqueda preferente por profundidad
En esta búsqueda siempre se expande uno de los nodos
que se encuentre en lo más profundo del árbol.
Sólo si la búsqueda conduce a un callejón sin salida (un
nodo que no es meta y que no tiene expansión), se
revierte la búsqueda y se expanden los nodos de niveles
menos profundos.
Lo anterior se logra mediante el algoritmo de Búsqueda-
General, con una función de lista de espera que ponga
los estados recién generados al principio de la lista.
Búsqueda preferente por
profundidad
NOTA:
Se supone
que el factor
de
ramificación
es b = 2 y
que los nodos
de nivel m =
3 no tienen
sucesores.
Búsqueda preferente por profundidad
BUSQUEDA PREFERENTE
POR LO MEJOR
Búsqueda preferente
por lo mejor
El conocimiento en base al cual se apoya la
decisión del nodo que toca expandirse es
obtenido desde una función de
evaluación.
La función de evaluación produce un
número que sirve para representar lo
deseable (o indeseable) que sería la
expansión de un nodo.
Búsqueda preferente
por lo mejor
Si los nodos se ordenan de tal manera que
se expande primero aquél con mejor
evaluación, entonces la estrategia es
llamada búsqueda preferente por lo
mejor.
Búsqueda preferente
por lo mejor
función BUSQUEDA-PREFERENTE-POR-LO-MEJOR
(problema, FUNCION-EVALUACION) responde con una
secuencia de solución
entradas: problema, un problema
Función-Eval, una función de evaluación
Función-lista-de-espera una función que ordena los
nodos mediante FUNCIÓN-EVAL
responde con BUSQUEDA-GENERAL (Problema,
Función-lista-de-espera)
Búsqueda preferente
por lo mejor
Así como es existe una familia de
algoritmos BUSQUEDA-GENERAL, con
distintas funciones de ordenamiento,
también existe una familia de algoritmos
BUSQUEDA-PREFERENTE-POR-LO-
MEJOR, que varían la función de
evaluación.
Búsqueda preferente por lo mejor
En el método de costo uniforme, se empleaba el
costo de ruta (g) para decidir qué ruta ampliar.
g(n) es, entonces, el costo acumulado desde el
nodo inicio hasta el nodo en que nos
encontramos, n.
Esta medida no es una búsqueda directa dirigida
a la meta
Si se quiere enfocar la búsqueda hacia la meta,
en esa medida debe figurar algún tipo de cálculo
del costo de ruta del estado actual (n) a la meta.
BUSQUEDA AVARA
Greedy Search
Búsqueda preferente por lo mejor
Búsqueda Avara (Greedy Search)
– Es una de las más sencillas estrategias en la
BPPLM, que consiste en reducir al mínimo el
costo estimado para lograr una meta.
– En otras palabras, el nodo cuyo estado se
considere más cercano a la meta en términos
de costo de ruta se expande primero.
Búsqueda preferente
por lo mejor
Búsqueda Avara (Greedy Search)
– Aunque casi siempre es posible calcular el
costo aproximado hasta la meta, es difícil
hacerlo con precisión.
– La función utilizada para dicho estimado del
costo se llama función heurística,
simbolizada por h.
– h(n) = costo estimado de la ruta más barata que
une el estado del nodo n con un estado meta
Búsqueda preferente
por lo mejor
Búsqueda Avara (Greedy Search)
– h puede ser cualquier función. El único requisito
es que h(n) = 0 cuando n es una meta.
– Cuando los problemas son de determinación de
rutas en el mundo real (ejemplo, Rumania), una
buena función heurística es la distancia en
línea recta a la meta:
hDLR (n) = distancia en línea recta entre n y la meta
Búsqueda preferente por lo mejor
Búsqueda Avara (Greedy Search)
– Para calcular los valores de hDLR se requieren las
coordenadas de las ciudades de Rumania.
– Esta función heurística es útil porque la
carretera que va de A a B tiende a dirigirse más
o menos en la dirección correcta.
Ejercicio
Utilizar el método de búsqueda avara para
solucionar el problema de Rumania.
Mostrar el desarrollo con árboles de
búsqueda.
Búsqueda preferente por lo mejor
Búsqueda Avara
Arad
h=366
Búsqueda preferente por lo mejor
Búsqueda Avara
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Búsqueda preferente por lo mejor
Búsqueda Avara
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Búsqueda preferente por lo mejor
Búsqueda Avara
Arad
h=366
Sibiu Zerind
h=253 h=374
Timisoara
h=329
Arad
Fagaras Rimnicu
h=366
h=178 Oradea h=193
h=380
Sibiu
h=253 Bucharest Es una solución, pero no es la óptima
h=0
Búsqueda preferente por lo mejor
Búsqueda Avara
– Esta búsqueda usualmente produce resultados
buenos
– Tienden a producir soluciones rápidamente,
aunque no siempre la solución encontrada es la
óptima.
– Ejemplo, tratar de llegar de Lasi a Fagaras.
Búsqueda preferente por lo mejor
Búsqueda Avara
Iasi
h=160
Búsqueda preferente por lo mejor
Búsqueda Avara
Iasi
h=160
Neamt Vaslui
h=150 h=170
Búsqueda preferente por lo mejor
Búsqueda Avara
Iasi
h=160
Neamt Vaslui
h=150 h=170
Iasi
h=160
Búsqueda preferente por lo mejor
Búsqueda Avara
Iasi
h=160
Neamt Vaslui
h=150 h=170
Iasi
h=160
Neamt
h=150
Búsqueda preferente por lo mejor
Búsqueda Avara
– Se asemeja a la búsqueda preferente por profundidad,
ya que se “atora” al toparse con un callejón sin salida.
– Tiene sus mismas deficiencias: no es óptima, es
incompleta, puede recorrer una ruta infinita.
– Su complejidad es espacial es tan grande como su
temporal: O(bm), donde m es la profundidad máxima del
espacio de búsqueda. Una buena función heurística
permite disminuir notablemente la complejidad tanto de
espacio como de tiempo.
BUSQUEDA A*
Búsqueda preferente por lo mejor
Búsqueda A*
– La búsqueda avara reduce h(n), el costo hacia
la meta, pero no es óptima ni completa.
– La búsqueda de costo uniforme reduce g(n), el
costo de ruta, es óptima y completa, pero
puede ser ineficiente.
– Las dos funciones se podrían combinar
mediante una suma:
f(n) = g(n) + h(n)
Búsqueda preferente por lo mejor
Búsqueda A*
– f(n) puede llamarse el costo estimado de la
solución más barata, pasando por n.
– Es posible demostrar que esta estrategia es
completa y óptima, dada una restricción de h.
– La restricción es escoger una función h que
nunca sobreestime el costo que implica
alcanzar la meta.
Búsqueda preferente por lo mejor
Búsqueda A*
– A dicha función h se le llama heurística
admisible.
– A la búsqueda preferente por lo mejor que usa f
como función de evaluación y una función h
aceptable se le conoce como búsqueda A*.
Búsqueda preferente por lo mejor
Búsqueda A*
– En el ejemplo de Rumania, la distancia en línea
recta es una heurística aceptable, ya que la ruta
más corta entre dos puntos es la línea recta
(por lo tanto, siempre será menor que la
distancia real, nunca la sobreestimará).
Búsqueda preferente por lo mejor
Búsqueda A*
Arad
f=0+366
f=366
Búsqueda preferente por lo mejor
Búsqueda A*
Arad
Sibiu Zerind
f=140+253 f=75+374
Timisoara
f=393 f=449
f=118+329
f= 447
Búsqueda preferente por lo mejor
Búsqueda A*
Arad
Sibiu
Zerind
f=140+253
f=75+374
f=393 Timisoara
f=449
f=118+329
f= 447
Arad
Fagaras Oradea Rimnicu
f=280+366
f=239+178 f=146+380 f=220+193
f=646
f=417 f=526 f=413
Búsqueda preferente por lo mejor
Búsqueda A*. (Comportamiento)
– Se puede observar que a lo largo de las
rutas originadas en la raíz, el costo f
nunca disminuye.
– En toda heurística donde esto ocurre, se
dice que muestra monotonicidad.
Búsqueda preferente por lo mejor
Búsqueda A*
– Si la heurística fuera no monotónica, debe usarse la fórmula