¿Por que estudiar búsquedas? Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda.

Slides:



Advertisements
Presentaciones similares
Introducción a la Investigación de Operaciones
Advertisements

Branch-and-bound Search
¿Por que estudiar búsquedas?
Búsqueda en un espacio de estados
Inteligencia Artificial
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Inteligencia Artificial
PROGRAMA DE AUDITORIA DE SISTEMAS
Modelos ARMA.
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA
Grupo 4 Matías Melgar Pablo Carbonell
Inteligencia Artificial Búsqueda informada y exploración
Investigación de Operaciones II
Tema 1: Programación dinámica
Investigación Algorítmica
Ayón Ayala Yin San Jesús. El objetivo de este estudio es verificar la posibilidad técnica de la fabricación del producto o la presentación del servicio.
ESTUDIO TECNICO DEL PROCESO PRODUCTIVO
PROGRAMACION DE ESTRUCTURAS DE DATOS
Cap 4 Búsqueda Heurística
Búsqueda Informada Heurísticas.
Inteligencia Artificial Búsqueda informada y exploración
Solución de problemas por búsqueda inteligente
Inteligencia Artificial Resolver problemas mediante búsqueda
Tema Nº4.
Inteligencia Artificial Resolver problemas mediante búsqueda
Inteligencia Artificial Gonzalo Villarreal Farah
Tema 2: Métodos de ajuste
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
Temas importantes para el desarrollo de la segunda parte del TPE
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Capítulo 4 BUSQUEDA INFORMADA.
I n s t i t u t o T e c n o l ó g i c o d e T e c n o l ó g i c o d e V i l l a h e r m o s a ING. EN SISTEMAS CATEDRATICO: I.I. Zinath Javier Gerónimo.
Solución de problemas por Búsqueda
Optimización, Búsqueda Heurística

Agentes de resoluciones d problemas Parte I. Un agente puede adoptar una meta o un propósito para satisfacer.
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
Diseño y análisis de algoritmos
(Organización y Manejo de Archivos)
Parte II. Algorítmica. 3. Algoritmos voraces.
5.3 APROXIMACIONES AL DISEÑO
Investigación de Operaciones (IO)
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Distribuciones Continuas de Probabilidad
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Simular: Representar una cosa, fingiendo o imitando lo que no es.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
Análisis Cuantitativo de Datos (Básico)
Programación lineal La programación lineal es una técnica matemática relativamente reciente, del siglo XX, que consiste en una serie de métodos y procedimientos.
TPE 1 - Sistemas de Producción: Rolling Cubes Sistemas de Inteligencia Artifcial Bergez, Brasca y García.
Parte I. Estructuras de Datos.
ALEXANDER PEREZ FREDERICK MEJIA. Son una serie de esquemas de representación del conocimiento, que mediante diversos algoritmos permite resolver ciertos.
BUSQUEDA EN UN ESPACIO DE ESTADOS.
Optimización Combinatoria y Grafos Búsqueda Tabú
Estudio técnico del proceso productivo
Hidráulica de pozo 6.1. PRUEBAS DE INYECCIÓN Método de Hvorslev
Escuela de Ciencias Basicas, Tecnología e Ingeniería
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
ESTUDIO TECNICO DEL PROCESO PRODUCTIVO
LA TECNOLOGÍA Y LA RESOLUCIÓN DE PROBLEMAS
ESTUDIO TÉCNICO DEL PROCESO PRODUCTIVO
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
Estudio técnico El objetivo de este estudio es verificar la posibilidad técnica de fabricación del producto o prestación del servicio que pretende realizar.
BÚSQUEDA DE SOLUCIONES Soluciones no Informadas (cont.) Dra. Myriam Hernández A.
Transcripción de la presentación:

¿Por que estudiar búsquedas? Recordemos que la mayoría de los problemas en inteligencia artificial, involucran como tema central un proceso de búsqueda. INTELIGENCIA ARTIFICIAL = REPRESENTACIÓN DE CONOCIMIENTO + BUSQUEDA Definición de problemas de búsqueda: Problemas de optimización. Problema de alcanzar algún objetivo. Formalización de los problemas de búsqueda. Ejemplos: El “traveling salesman problem” (TSP) El acertijo de los “8 tildes”

Initial State Goal States Solución de problemas Transformations Métodos de Búsqueda

Métodos de Búsqueda (ejemplo)

¿Como resolver problemas de búsqueda? Formalice el problema como una búsqueda en un espacio de estados: Identifique el estado inicial Identifique aquellas operaciones que nos permiten transformar un estado a otro. Identifique la condición de terminación El objetivo del proceso es llevar al sistema de su estado inicial a algún estado final aplicando alguna secuencia de operaciones.

Búsqueda en un espacio de estados Considere la siguiente gráfica: Objetivo: encontrar una ruta desde S hasta G Estado Inicial: S Estado Final: G

Espacio de estados:

Depth-first search

Búsqueda por profundidad (Depth-First) Conocimiento: no informada Completés: NO si existen ramas de profundidad infinita. Complejidad en memoria 1 : O(B·d) si los puntos de decisión serán recordados; O(d) de otro modo. Complejidad en tiempo 1 : O(B·d) Optimalidad: no necesita obtener la ruta más corta. Consejo sobre la implementación: Para evitar un ciclo infinito, no extienda (s 0, s 1, …, s k ) a (s 0, s 1, …, s k, s k+1 ) si s k+1 se encuentra en (s 0, s 1, …, s k ). Modelar el comportamiento utilizando recursividad o en su caso una pila. 1 B es el factor de “branching” y d es la profundidad máxima.

Búsqueda por profundidad Número de soluciones: Más recomendable cuando sólo se requiera una solución, aunque puede obtener todas las soluciones. Optimalidad de la solución: Más adecuado para problemas que no requieran optimalidad en sus soluciones. Localización de las soluciones en el espacio de estados: No es importante. Densidad de la solución: Muy recomendable para problemas con muchas soluciones.

Breadth-first Search

Búsqueda por niveles (Breadth-First) Conocimiento: no informada Completés: COMPLETA – en grafos finitos. SEMICOMPLETA – en espacios de búsqueda infinitos. Dados suficientes recursos (tiempo y memoria), si existe una solución será encontrada. Complejidad en memoria 1 : O(B d ) Complejidad en tiempo 1 : O(B d ) Optimalidad: Siempre encuentra la ruta más corta (no necesariamente la óptima) entre el estado inicial y el final. Consejo sobre la implementación: Modelar el funcionamiento utilizando una cola. 1 B es el factor de “branching” y d es la profundidad a la cual se encuentra la solución.

Búsqueda por niveles Número de soluciones: No es importante, pero resulta más adecuado cuando sólo una solución es requerida, por razones de complejidad. Optimalidad de la solución: Muy adecuado para problemas que requieran optimalidad en sus soluciones, cuando la optimalidad se mide como el número de estados visitados desde el estado inicial. Localización de las soluciones en el espacio de estados: Cualquier lugar en el espacio de búsqueda; mas adecuado para problemas en que las soluciones se encuentren a distancia variable del estado inicial. No cae en ciclos.

Iterative Deepening Profundidad=1 Profundidad=2 Profundidad=3 Profundidad=4

Iterative Deepening Conocimiento: no informada Completés: SEMICOMPLETA – en espacios de búsqueda infinitos Complejidad en memoria 1 : O(B · d) Complejidad en tiempo 1 : O(B · d) Optimalidad: Siempre encuentra la ruta más corta (no necesariamente la óptima) entre el estado inicial y el final. Consejo sobre la implementación: Definir utilizando recursividad o en su caso una pila. manejar un parámetro de profundidad. 1 B es el factor de “branching” y d es la profundidad máxima.

Iterative Deepening Número de soluciones: No es importante, pero resulta más adecuado cuando sólo una solución es requerida, por razones de complejidad. Optimalidad de la solución: Muy adecuado para problemas que requieran optimalidad en sus soluciones, cuando la optimalidad se mide como el número de estados visitados desde el estado inicial. Localización de las soluciones en el espacio de estados: Cualquier lugar en el espacio de búsqueda; mas adecuado para problemas en que las soluciones se encuentren a distancia variable del estado inicial. No cae en ciclos.

Ejercicios 1. En el problema de los baldes de agua, se tiene un balde de 3 litros y uno de 4 litros. Inicialmente, ambos baldes se encuentran vacíos. Cada balde puede ser llenado con agua a partir de una llave, y podemos además deshacernos del agua no deseada vaciándola por una canaleta. El agua puede ser vaciada de un balde a otro. No existe ningún otro instrumento de medición. Deseamos encontrar una serie de operaciones que nos deje exactamente dos litros de agua en el balde de 4 litros. a. Formalice el problema como un problema de búsqueda en un espacio de estados: a. Represente el estado inicial como una estructura de datos b. Exprese la condición de terminación como una función de prueba sobre un estado. c. Nombre las operaciones sobre los estados y provea una descripción precisa de lo que cada operador cambia en la descripción del estado. b. Dibuje una gráfica de todos los distintos nodos de estado hasta el nivel 3 después del nodo inicial.

Búsqueda Informada Estos métodos de búsqueda de alguna manera parten de la idea del breadth-first, excepto que la búsqueda no procede uniformemente hacia fuera partiendo del nodo de inicio; en lugar de esto, procede de manera preferencial a través de los nodos que de manera heurística y basada en información relativa al problema, indica que podrían representar la mejor ruta hacia el nodo objetivo. Se asume que contamos con una función heurística de evaluación, f, que nos ayudará a decidir que nodo es el mejor para expandir en la siguiente elección. Por convención adoptaremos que los valores menores de f indican los mejores nodos. Expandiremos el siguiente nodo n, que tenga el menor valor de f(n). Terminaremos cuando el nodo a expander sea el nodo objetivo.

Búsqueda Informada Funciones de evaluación Una función de evaluación debe obtener una medida aproximada de la distancia desde cualquier nodo hasta el nodo objetivo y debe ser fácil de evaluar.

Búsqueda Informada

Comparison among uninformed search techniques: Where: b is the branching factor, d is the depth of the solution; m is the depth of the search tree. Problem Solving in Artificial Intelligence Breadth First Depth First Iterative Deepening Branch & Bound O(n)bdbd bmbm bdbd baba Memory bdbd bxmbxdbxa Optimal yesnoyesno Complete yesOnly on finite graphs yesYes, when a  d