Está en la página 1de 48

AGENDA

1.MÉTODOS DE BÚSQUEDA.
2.METODOS DE BÚSQUEDA HEURÍSTICA.

3.COMPLEJIDAD.

4.CONTROL Y MINIMIZACIÓN DEL ESFUERZO INVERTIDO EN LA


BÚSQUEDA.
«Método»: Modo de decir o hacer con orden. Modo de
obrar o proceder, habito o costumbre que cada uno
tiene para hallar la verdad.
Este capítulo ha introducido métodos en los que un
agente puede seleccionar acciones en los ambientes
deterministas, observables, estáticos y completamente
conocidos. En tales casos, el agente puede construir
secuencias de acciones que alcanzan sus objetivos; a este
proceso se le llama búsqueda.
El papel de la búsqueda en la Inteligencia Artificial

En Inteligencia Artificial (IA) los términos resolución de problemas y


búsqueda se refieren a un núcleo fundamental de técnicas que se
utilizan en dominios como la deducción, elaboración de planes de
actuación, razonamientos de sentido común, prueba automática de
teoremas, etc.
Aplicaciones de estas ideas generales aparecen en la práctica totalidad
de los sistemas inteligentes, como por ejemplo en los programas que
tratan de entender el lenguaje natural, en los programas que tratan de
sintetizar un conjunto de reglas de clasificación en un determinado
dominio de actuación, o en los sistemas que realizan inferencias a partir
de un conjunto de reglas.
Componentes de un sistema de búsqueda

La resolución de problemas en IA requiere, normalmente, determinar una


secuencia de acciones o decisiones. Esta secuencia será ejecutada
posteriormente por un agente con el fin de alcanzar un objetivo a partir de
una situación inicial dada. Dependiendo del problema concreto, la ejecución
de la secuencia de acciones o decisiones tiene asociado un costo que se
tratará de minimizar, o bien tiene asociado un beneficio que se tratará de
maximizar. En la descripción de los sistemas de búsqueda, se supone que el
agente se mueve en un entorno accesible, o que es capaz de percibir el
entorno con precisión. Además, se supone también que tanto el efecto como
el coste o costo de las acciones se pueden predecir con exactitud. De este
modo, la secuencia de acciones se puede obtener antes de su ejecución; en
otro caso, la siguiente acción no podría ser determinada hasta conocer el
resultado de la ejecución de la anterior.
Clasificación

Para elaborar una clasificación de los sistemas de


búsqueda se tienen tantas como investigadores y autores
en inteligencia artificial existen, se trata de organizar esta
información para ofrecer un panorama lo más amplio
posible para que se abarque la mayor cantidad de
información, los nombres de los algoritmos y métodos de
solución en unos casos tienen diferencias que se aclaran en
el transcurso del documento. La siguiente clasificación se
puede tomar como genérica para tener una idea de las
posibilidades de búsqueda.
Búsquedas en los espacios de estado

Agentes para la solución de problemas son agentes


basados en metas que determinan que deberán hacer
por medio de secuencias de acciones que les permitan
obtener estados deseables.
Pasos para la solución de problemas:

Formulación de metas: se establece el objetivo


Formulación del problema: se decide que acciones y
estados habrán de considerarse.
Búsqueda: evaluación de las posibles secuencias de
acciones que le llevan a la meta y elección de la más
apta.
Ejecución: se llevan adelante la solución que presenta
la búsqueda.
•Tipos de problemas:

Problemas de un solo estado: el agente conoce con exactitud en que


estado se encuentra y el resultado de cada una de sus acciones.
Problemas de estados múltiples: el agente no conoce con exactitud
en que estado se encuentra, pero si el resultado de cada una de sus
acciones.
Problemas de contingencias: el agente no conoce con exactitud en
que estado se encuentra, pero si el resultado de cada una de sus
acciones, aunque se le pueden presentar ciertas contingencias en las
mismas.
Problemas de exploración: el agente no conoce con exactitud en que
estado se encuentra, ni el resultado exacto de cada una de sus
acciones.
•Problemas

Definición: Es un conjunto de información que el agente


utiliza para decidir lo que va a hacer.
Un problema esta compuesto por:

Un estado inicial que es donde se encuentra el agente.

Un conjunto de acciones que le agente puede emprender.

La prueba de meta para saber si alcanzo un estado meta.

La función costo de ruta que le asigna un valor a una ruta


determinada.
•Eficiencia para resolver problemas

Hay tres formas para medir la eficiencia de la


búsqueda:

Según permita o no alcanzar la solución,

Según su costo de ruta

Según el costo de tiempo y memoria para alcanzar


la solución
Elección de estados y acciones
Los estados y acciones se eligen mediante un proceso
de abstracción (eliminación de detalles de una
representación).

Para escoger una buena abstracción hay que eliminar


todos los detalles que sea posible siempre y cuando
se conserve la validez y se garantice que es fácil
emprender las acciones abstractas.
Búsqueda de soluciones
La búsqueda consiste en escoger una opción,
haciendo a un lado las demás para considerarlas
posteriormente en caso de no obtener respuesta
alguna mediante la primera opción.

La búsqueda termina cuando se encuentra una


solución o cuando no hay mas estados que
expandir.
Árboles de búsqueda
Componentes en la estructura de datos para los árboles de
búsqueda:

El estado al que corresponda el nodo, el nodo


padre, el operador que se aplico para generar el
nodo, la profundidad del nodo (distancia hasta la
raíz), el costo de ruta desde el estado inicial hasta
el nodo.
Estrategia de búsqueda

Las estrategias de búsqueda se evalúan según los siguientes


criterios:

Completez: si garantiza o no encontrar la solución si es que existe.


•Complejidad temporal: cantidad de tiempo necesario para
encontrar la solución
•Complejidad espacial: cantidad de memoria necesaria para
encontrar la solución.
•Optimidad: si se encontrará o no la mejor solución en caso de que
existan varias.
•Tipos de estrategias de búsqueda
Las estrategias de búsqueda se pueden agrupar en dos
grandes grupos:

Búsquedas sin contar con información (búsqueda ciega):


No existe información acerca de la cantidad de pasos
necesarios o sobre el costo de ruta para pasar del estado de
un momento dado a la meta.

Búsqueda respaldada con información (o búsqueda
heurística): se posee información muy valiosa para orientar la
búsqueda para que sea mas óptima.
Búsquedas sin contar con información
Las seis estrategias de búsqueda sin contar con información son las
siguientes:
• Búsqueda preferente por amplitud
• Búsqueda de costo uniforme
• Búsqueda preferente por profundidad
• Búsqueda limitada por profundidad
• Búsqueda por profundización iterativa
• Búsqueda direccional
Búsqueda preferente por amplitud:
En esta búsqueda todos los nodos que están en la profundidad d del
árbol de búsqueda se expanden antes de los nodos que estén en la
profundidad d+1.
• Si son varias las soluciones, este tipo de búsqueda
permitirá siempre encontrar primero el estado meta
más próximo a la raíz.
• En esta búsqueda el tiempo y la cantidad de
memoria necesaria crece exponencialmente con
respecto a la profundidad.
• Es óptima y completa
Búsquedas de costo uniforme:
En esta búsqueda se modifica la estrategia preferente por amplitud en
el sentido de expandir siempre el nodo de menor costo en el margen
(medido por el costo de la ruta g(n)) en vez del nodo de menor
profundidad.

Este tipo de búsqueda permitirá siempre encontrar la solución mas


barata siempre y cuando el costo de ruta nunca disminuya conforme
avanzamos por la ruta.
En esta búsqueda el tiempo y la cantidad de memoria necesaria crece
exponencialmente con respecto a la profundidad.

• Es óptima y completa.
Búsqueda preferente por profundidad:
En esta búsqueda siempre se expande uno de los nodos que se
encuentren en los mas profundo del árbol. Solo si la búsqueda conduce
a un callejón sin salida, se revierte la búsqueda y se expanden los
nodos de niveles menos profundos.

Esta búsqueda o se queda atorada en un bucle infinito y nunca es


posible regresar al encuentro de una solución, o a la larga encontrará
una ruta de solución mas larga que la solución óptima.

• En esta búsqueda el tiempo necesario crece exponencialmente con


respecto a la profundidad, mientras que el espacio requerido en
memoria lo hace en forma lineal
• No es óptima ni completa.
Búsqueda limitada por profundidad:

Esta búsqueda es similar a la búsqueda preferente por profundidad con la


diferencia que se impone un límite a la profundidad máxima de una ruta.
Se utilizan operadores que informan constantemente de la profundad del
nodo.

• En esta búsqueda el tiempo necesario crece exponencialmente


con respecto a la profundidad, mientras que el espacio requerido
en memoria lo hace en forma lineal

• No es óptima, pero si completa cuando la profundidad del límite


es menor o igual a la profundidad de la solución.
Búsqueda por profundización iterativa:

Esta búsqueda es similar a la búsqueda limitada por


profundidad con la diferencia que se repiten las búsquedas
dando en cada iteración un valor distinto de profundidad para la
misma.

•En esta búsqueda el tiempo necesario crece


exponencialmente con respecto a la profundidad, mientras que
el espacio requerido en memoria lo hace en forma lineal
• Es óptima y completa.
Búsqueda bidireccional:
•Esta es una búsqueda que avanza a partir del estado inicial y que
retrocede a partir de la meta y que se detiene cuando ambas búsquedas
se encuentran en algún punto intermedio.
• En esta búsqueda el tiempo y el espacio requerido en memoria crecen
exponencialmente con respecto a la mitad de la profundidad (bd/2).
• Es óptima y completa.
Comparación entre las diferentes estrategias de búsqueda:
AGENDA
1.MÉTODOS DE BÚSQUEDA.

2.METODOS DE BÚSQUEDA HEURÍSTICA.


3.COMPLEJIDAD.

4.CONTROL Y MINIMIZACIÓN DEL ESFUERZO INVERTIDO EN LA


BÚSQUEDA.
BÚSQUEDA HEURÍSTICA
• Las técnicas de búsqueda heurística usan el conocimiento del dominio
para adaptar el solucionador y, de esta manera, éste sea más potente y
consiga llegar a la solución con mayor rapidez.
Por tanto, estas técnicas utilizan el conocimiento para avanzar buscando
la solución al problema.

• Definiciones:
- Costo del camino: coste necesario para ir del nodo raíz al nodo meta
por dicho camino.
- Costo para hallar la solución: coste necesario para encontrar el camino
anteriormente definido.
-Potencia heurística: capacidad de un método de exploración para
obtener la solución con un coste lo más bajo posible.
FUNCIÓN DE EVALUACIÓN
HEURÍSTICA
• Definición: es una aplicación del espacio de estados con el
espacio de los números reales
F(estado) => n
• n representa lo cercano que esta el estado con el que se ha
aplicado la función de evaluación de la solución final.

• Es muy importante mantener un equilibrio entre la eficiencia


de la función y su complejidad. No debemos tener una función
de evaluación demasiado complicada, ni tampoco una
demasiado sencilla pero que no avance prácticamente nada en
el problema. En caso de no mantener este equilibrio se podría
producir explosión combinatoria.
ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
• Tipos:
• Estrategias tentativas: aquellas en las que se puede
abandonar la exploración de una rama y pasar a explorar
otra en cualquier momento del problema.
• Estrategias irrevocables: aquellas en las que no se puede
abandonar la exploración de la rama por la que se comenzó.
•Métodos:
• Gradiente
• Primero el mejor
• Búsqueda en haz
• Algoritmo A
ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
❖ Gradiente:
• Metodología: elegir el camino de máxima pendiente,
usando para ello la función de evaluación.
• Tipo: irrevocable.
• Ventajas: se llega a la solución con poco coste
computacional.
• Inconvenientes: puede ser que el problema no sea
compatible con este método, y, por lo tanto, no
conseguiremos obtener la solución.
ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
❖ Primero el mejor:

• Metodología: elegir como siguiente nodo aquel con


mayor función de evaluación.

• Tipo: tentativo.

• Ventajas: no depende en exceso de la función de


evaluación.

• Inconvenientes: excesiva complejidad espacial, pues se


deben guardar todos los nodos abiertos.
ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
❖ Búsqueda en haz:

• Metodología: elegir un conjunto de nodos como los


siguientes a expandir, y hacerlo de forma irrevocable.

• Tipo: irrevocable/tentativo.

• Ventajas: más permisible.

• Inconvenientes: en caso de que el sistema sea irrevocable,


este método no actúa con eficacia.
ESTRATEGIAS DE BÚSQUEDA
HEURÍSTICA
❖ Algoritmo A:

• Metodología: Ponderar a la vez lo cerca que estamos del


nodo meta y lo lejos que estamos del nodo inicial.

• Tipo: tentativo.

• Ventajas: soluciones más cercanas a la raíz.

• Inconvenientes: la función de evaluación se complica.


AGENDA
1.MÉTODOS DE BÚSQUEDA.

2.METODOS DE BÚSQUEDA HEURÍSTICA.

3.COMPLEJIDAD.
4.CONTROL Y MINIMIZACIÓN DEL ESFUERZO INVERTIDO EN LA
BÚSQUEDA.
• Complejidad en tiempo: ¿cuánto tarda en encontrar una solución?
• Complejidad en espacio: ¿cuánta memoria se necesita para el funcionamiento de
la búsqueda?
La complejidad en tiempo y espacio siempre se considera con respecto a alguna medida
de la dificultad del problema. En informática teórica, la medida es el tamaño del grafo
del espacio de estados, porque el grafo se ve como una estructura de datos explícita que
se introduce al programa de búsqueda. (El mapa de Rumanía es un ejemplo de esto.)
En IA, donde el grafo está representado de forma implícita por el estado inicial y la
función sucesor y frecuentemente es infinito, la complejidad se expresa en términos de
tres cantidades: b, el factor de ramificación o el máximo número de sucesores de
cualquier nodo; d, la profundidad del nodo objetivo más superficial; y m, la longitud
máxima de cualquier camino en el espacio de estados.
El tiempo a menudo se mide en términos de número de nodos generados durante la
búsqueda, y el espacio en términos de máximo número de nodos que se almacena en
memoria.
• En la práctica, en muchas aplicaciones se tienen redes no
muy densamente conectadas y la propagación es eficiente
aún para redes muy grandes (función del clique mayor).

• Para redes muy complejas (muchas conexiones), la mejor


alternativa son técnicas de simulación estocástica o
técnicas aproximadas
• Se asignan valores aleatorios a las variables no
asignadas, se calcula la distribución de
probabilidad, y se obtienen valores de cada
variable dando una muestra.

• Se repite el procedimiento para obtener un


número apreciable de muestras y en base al
número de ocurrencias de cada valor se determina
la probabilidad de dicha variable.
AGENDA
1.MÉTODOS DE BÚSQUEDA.
2.METODOS DE BÚSQUEDA HEURÍSTICA.

3.COMPLEJIDAD.

4.CONTROL Y MINIMIZACIÓN DEL


ESFUERZO INVERTIDO EN LA BÚSQUEDA.
BÚSQUEDA CON ADVERSOS
La búsqueda con adversos (juego contra un oponente) analiza
los problemas en los que existe mas de un adversario
modificando el estado del sistema.

Hay dos operadores:


- el que lleva el problema a la mejor situación (jugada
nuestra)
- el que lleva el problema a la peor situación (jugada de
nuestro adversario)
BÚSQUEDA CON ADVERSOS: ALGORITMO
MINIMAX
- Minimax es un método de decisión para minimizar la pérdida
máxima esperada en juegos con adversario y con información
perfecta.

- Minimax es un algoritmo recursivo.

- El funcionamiento de Minimax puede resumirse como elegir


mejor movimiento para ti mismo suponiendo que tu
contrincante escogerá el peor para ti.
PASOS DEL ALGORITMO MINIMAX
1. Generación del árbol de juego. Se generarán todos los
nodos hasta llegar a un estado terminal.
2. Cálculo de los valores de la función de evaluación para
cada nodo terminal.
3. Calcular el valor de los nodos superiores a partir del valor
de los inferiores.
4. Desde los nodos de nivel n, buscar la mejor situación para
mi y la peor para mi rival. Elegir la jugada valorando los
valores que han llegado al nivel superior, es decir, obtengo
la mejor rama.
BÚSQUEDA CON ADVERSOS: ALGORITMO
MINIMAX
El algoritmo explorará los nodos del árbol asignándoles un
valor numérico mediante una función de evaluación,
empezando por los nodos terminales y subiendo hacia la raíz.

La función de evaluación definirá lo buena que es la posición


para un jugador cuando la alcanza. Ejemplo: en el ajedrez los
posibles valores son (+1,0,-1) que se corresponden con ganar,
empatar y perder respectivamente. Esto será diferente para
cada juego.
EJEMPLO MINIMAX
7 A Max(7,0,5)

B Min(7,8) 0 C Min(0,6) 5 D Min(5,9)


7

E F G H I J
7 8 0 6 5 9
Otros ejemplos:
Ejemplo de árbol MINIMAX para el juego del ajedrez
Ejemplo para el juego de las 3 en raya
APLICACIONES: GPS (GENERAL PROBLEM
SOLVER) deprograma
➢Alan Newell y Herbert Simon, trabajando la demostración
teoremas y el ajedrez por ordenador logran crear un
llamado GPS (Solucionador General de Problemas)
en los años 60.

➢Se trataba de un programa que por medio de una serie de


algoritmos basados en análisis, más o menos exhaustivos,
fuera capaz de resolver toda clase de problemas relativos a
juegos de estrategias y demostraciones automáticas.

➢Se le podían ofrecer pequeños problemas (como el típico


del mono que debe coger un plátano que se encuentra colgado
del techo), y éste deberá describir todos los pasos que realiza
hasta conseguir su objetivo.
APLICACIONES: GPS (GENERAL PROBLEM
SOLVER) ➢El usuario definía un entorno en función de una serie de
objetos y los operadores que se podían aplicar sobre ellos.

➢Se basaba en el análisis medios-fines que consiste en detectar


las diferencias entre un objetivo deseado y la situación actual y
reducir después esas diferencias.

➢Se aplicó por primera vez el Backtracking (vuelta atrás)


(probar si funciona y si no, volver atrás y probar otra cosa) que
se convirtió desde aquel momento en una herramienta básica de
la I.A. De forma similar a las técnicas explicadas anteriormente.
APLICACIONES: GPS (GENERAL PROBLEM
SOLVER)
➢El GPS manejaba reglas heurísticas (aprender a partir de sus
propios descubrimientos) que la conducían hasta el destino
deseado mediante el método del ensayo y el error.

➢La ambición era grande, así como lo fue la decepción que


tuvieron al ver que a pesar de los progresos teóricos y de algunos
programas espectaculares, no obtuvieron los resultados que se
esperaban.
APLICACIONES: GPS (GENERAL PROBLEM
SOLVER)
➢Fue entonces cuando algunos investigadores decidieron
cambiar por completo el enfoque del problema: restringieron
sus ambiciones a un dominio especifico e intentaron
reproducir la forma en que los expertos efectuaban su
razonamiento.

➢Así fue como nacieron los sistemas expertos.

)
FIN

También podría gustarte