Sunteți pe pagina 1din 26

Inteligencia Artificial

Resolucin de Problemas Mediante Bsquedas


Vctor Saquicela G.

Universidad de Cuenca
Facultad de Ingeniera Cuenca, Ecuador

Definicin del Problema

La Inteligencia Artificial ha tenido siempre como objetivo, a ms o menos largo plazo, la resolucin de problemas, mediante la utilizacin de procedimientos de bsqueda, primero ms directos y luego con tcnicas heursticas mas avanzadas. La resolucin de problemas mediante bsqueda ha sido una de las primeras aplicaciones de la IA a problemas reales, no de juguete. La orientacin de la IA siempre fue mas hacia un mejor entendimiento de como resolver los problemas y no tanto a la consecucin del resultado final. En muchos casos no existe realmente un conocimiento sistemtico del problema de forma que se pueda plantear una solucin analtica del mismo mediante un sistema de ecuaciones, por ejemplo. En estas circunstancias, los procedimientos de bsqueda si se pueden aplicar para resolverlos y se han demostrado muy eficientes para abordar este tipo de tareas.

Definicin del Problema

En general, el planteamiento de un problema de bsqueda consiste en encontrar o conseguir un objetivo. La resolucin del mismo puede estructurarse en los siguientes pasos: 1. Determinar una serie de objetivos o metas que se deseen alcanzar. Estos objetivos pueden ser mltiples (restricciones de tiempo, de coste, etc) o simples (alcanzar un estado final). 2. Disponer de un conjunto de acciones que conduzcan a la obtencin de los objetivos o metas. Estas acciones son denominadas operaciones. 3. Definir un procedimiento de seleccin entre las diferentes formas de alcanzar las metas. Cada una de estas soluciones constituye una secuencia de acciones determinada y posible. Se llama solucionador al mdulo encargado de construir dicha solucin.

Abordaremos la definicin de un problema en un espacio de estados y su resolucin mediante estrategias de bsqueda que vendrn limitadas por el tipo de conocimiento que tengamos del problema en cuestin.

Definicin y resolucin del Problema

Aunque los mtodos de bsqueda se reduzcan en muchos casos a meros algoritmos matemticos, lo que se persigue desde el punto de vista de la IA es entender el problema que se trata de resolver, analizar sus posibles soluciones y las consecuencias de buscar una solucin por un camino u otro. No se trata de encontrar una solucin final optima o al menos convincente como de haber ganado en el conocimiento de un problema que se puede aplicar a una situacin real. La resolucin de problemas es una capacidad que consideramos inteligente. Somos capaces de resolver problemas muy diferentes: encontrar el camino en un laberinto, resolver un crucigrama, jugar a un juego, diagnosticar una enfermedad, decidir si invertir en bolsa, etc. El objetivo es que un programa tambin sea capaz de resolverlos. Deseamos definir cualquier tipo de problema de manera que se pueda resolver automticamente. Necesitamos una representacin comn para todos los problemas y algoritmos que usen alguna estrategia para resolver problemas definidos en esa representacin comn.

Representacin de Problemas

Existen diferentes formas de representar problemas para resolverlos de manera automtica. Representaciones generales

Espacio de estados: un problema se divide en un conjunto de pasos de resolucin desde el inicio hasta el objetivo. Reduccin a subproblemas: un problema se puede descomponer en una jerarqua de subproblemas.

Representacin para problemas especficos

Resolucin de juegos Satisfaccin de restricciones

Representacin de problemas: Estados

Podemos definir un problema por los elementos que intervienen y sus relaciones En cada instante de la resolucin de un problema esos elementos tendrn unas caractersticas y relaciones especficas. Denominaremos Estado a la representacin de los elementos que describen el problema en un momento. Distinguiremos dos estados especiales el Estado Inicial (punto de partida) y el Estado Final (objetivo del problema)

Modificacin del estado: operadores

Para poder movernos entre los diferentes estados necesitamos operadores de transformacin. Operador: Funcin de transformacin sobre la representacin de un estado que lo convierte en otro estado. Los operadores definen una relacin de accesibilidad entre estados Representacin de un operador: Condiciones de aplicabilidad y funcin de transformacin Que operadores? Cuantos? Criterios para elegir operadores

Depende de la representacin de los estados Preferencia por representaciones con menor numero de operadores

Espacio de estados

Los estados y su relacin de accesibilidad conforman lo que se denomina espacio de estados. Representa todos los caminos que hay entre todos los estados posibles de un problema. Podra asimilarse con un mapa de carreteras de un problema. La solucin de nuestro problema esta dentro de ese mapa. Procedimientos generales de bsqueda de soluciones Independientes del problema

Solucin de un problema en Espacio de Estados

Solucin: Secuencia de pasos que llevan del estado inicial al final (secuencia de operadores) o tambin al estado final. Tipo de solucin: una cualquiera, la mejor, todas Coste de una solucin: Gasto en recursos de la aplicacin de los operadores a los estados. Puede ser importante o no segn el problema y que tipo de solucin busquemos.

Descripcin de un problema en Espacio de Estados

Definir el conjunto de estados del problema (explicita o implcitamente) Especificar el estado inicial Especificar el estado final o las condiciones que cumple Especificar los operadores de cambio de estado (condiciones de aplicabilidad y funcin de transformacin) Especificar el tipo de solucin: a) La secuencia de operadores o el estado final; b) Una solucin cualquiera, la mejor (definicin de coste)

Ejemplo: 8 puzzle

Ejemplo: 8 puzzle

Un tablero cuadrado (3x3) en el que hay situados 8 bloques cuadrados numerados (con lo cual se deja un hueco del tamao de un bloque). Un bloque adyacente al hueco puede deslizarse hacia l. El juego consiste en transformar una posicin inicial en la posicin final mediante el deslizamiento de los bloques.

Ejemplo: 8 puzzle

Espacio de estados: Configuraciones de 8 fichas en el tablero Estado inicial: Cualquier configuracin Estado final: Fichas en orden especfico Operadores: Mover hueco

Condiciones: El movimiento esta dentro del tablero Transformacin: Intercambio entre el hueco y la ficha en la posicin del movimiento

Solucin: Que pasos + El menor nmero

Ejemplo: 8 puzzle

Representacin del estado

Descripcin exacta de cada uno de los bloques Representacin vs. Implementacin

Nmero de estados: 9!=362.880

Bsqueda en el espacio de estados

La resolucin de un problema con esta representacin 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.

Estructura del espacio de estados

Primero se definen una representacin del espacio de estados para pode implementar algoritmos que busquen soluciones

Estructura de datos: Arboles y Grafos Estados= Nodos Operadores = arco entre nodos (dirigidos) Arboles: solo un camino lleva a un nodo Grafos: Varios caminos pueden llevar a un nodo

Espacio de estados como un grafo

Un espacio de estados se puede ver como un grafo dirigido

Los vrtices de dicho grafo son los estados Sucesores de un estado: aquellos obtenidos a partir del estado aplicando un operador aplicable

Algoritmo Bsico

El espacio de estados puede ser infinito Es necesaria una aproximacin diferente para buscar y recorrer rboles y grafos (no podemos tener la estructura en memoria) La estructura se construye a medida que se realiza la bsqueda

La seleccin del siguiente nodo determinar el tipo de bsqueda (orden de seleccin o expansin) Es necesario definir un orden entre los sucesores de un nodo (orden de generacin)

Algoritmo Bsico

Nodos abiertos: Estados generados pero aun no visitados Nodos cerrados: Estados visitados y que ya se han expandido Se tiene una estructura para almacenar los nodos abiertos Las diferentes polticas de insercin en la estructura determinarn el tipo de bsqueda Si exploramos un grafo puede ser necesario tener en cuenta los estados repetidos (significa tener una estructura para los nodos cerrados).

Caractersticas de los algoritmos

Completitud: Encontrar una solucin? Complejidad temporal: Cuanto tardar? Complejidad espacial: Cuanta memoria gastar? Optimalidad: Encontrara la solucin optima?

Algoritmo General de Bsqueda

Ejemplos con espacio de estados


Problema del granjero Problema de las jarras Problema del viaje

Problemas de la vida real

Problemas de la vida real que se pueden plantear y resolver como espacios de estados:

Bsqueda de rutas en redes informticas Rutas areas para viajar Problema del viajante Diseo de microchips Ensamblaje de componentes Desplazamiento de robots

Tipos de Algoritmos

Algoritmos de bsqueda ciega

No tienen en cuenta el coste de la solucin en la bsqueda Su funcionamiento es sistemtico, siguen un orden de visitas y generacin de nodos establecido por la estructura del espacio de bsqueda Anchura prioritaria, profundidad prioritaria, profundidad iterativa

Algoritmos de bsqueda heursticas

Utilizan una estimacin del coste de la solucin para guiar a la bsqueda No siempre garantizan el optimo, ni una solucin Hill-clibing, Branch and Bound, A*, IDA*

Bsqueda a Ciegas (fuerza bruta)

Bibliografa

Russell, S. y Norvig, P. Artificial Intelligence (A Modern Approach) (PrenticeHall, 2010). Third Edition Nilsson, N.J. Inteligencia artificial (Una nueva sntesis) (McGrawHill, 2001)] Gonzalo Pajares Martinez, Matilde Santos Peas. Inteligencia Aritificial e Ingenieria del Conocimiento

S-ar putea să vă placă și