ia-u1-p1-Árboles de búsqueda de soluciones-david sánchez

16
INTELIGENCIA ARTIFICIAL GRADO INGENIER GRADO INGENIER GRADO INGENIER GRADO INGENIERÍA INFORMÁTICA ÍA INFORMÁTICA ÍA INFORMÁTICA ÍA INFORMÁTICA ACTIVIDAD 1: Árboles de búsqueda de soluciones AUTOR: DAVID SÁNCHEZ RUIZ Nº alumno: 21235597

Upload: david-sanchez

Post on 13-Dec-2014

62 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

INTELIGENCIA ARTIFICIAL

GRADO INGENIERGRADO INGENIERGRADO INGENIERGRADO INGENIERÍA INFORMÁTICAÍA INFORMÁTICAÍA INFORMÁTICAÍA INFORMÁTICA

ACTIVIDAD 1: Árboles de búsqueda de soluciones

AUTOR:

DAVID SÁNCHEZ RUIZ Nº alumno: 21235597

Page 2: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

CONTROL DE DOCUMENTACIÓN

Versión Fecha Resumen de los cambios producidos

1.0 19-01-2013 Creación del documento.

Realizado por: Aprobado por: AUTOR

Fecha: 19-01-2013 Fecha: dd-mm-aaaa

Page 3: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

ÍNDICE

1. INTRODUCCIÓN ........................................................................................................................ 4

1.1. PROPOSITO ....................................................................................................................... 4

1.2. OBJETIVOS ........................................................................................................................ 4

2. ACTIVIDADES A REALIZAR .................................................................................................... 4

3. EJEMPLO DE PROBLEMA DE LÓGICA CON ÁRBOLES DE BÚSQUEDA DE SOLUCIONES ..................................................................................................................................... 5

4. FORMULACIÓN DEL PROBLEMA COMO UN ESPACIO DE ESTADOS ....................... 7

5. MÉTODOS DE BÚSQUEDA DE SOLUCIONES ................................................................... 8

5.1. Estrategias de búsqueda NO informada ......................................................................... 9

5.2. Estrategias de búsqueda informada (Heurísticas) ...................................................... 13

6. FUNCIONES HEURÍSTICAS ................................................................................................. 15

Page 4: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

1. INTRODUCCIÓN

1.1. PROPOSITO

A continuación se detalla la elaboración de la actividad 1 de la unidad 1 de la

asignatura de Inteligencia Artificial.

1.2. OBJETIVOS

• Comprender cómo se generan los árboles de búsqueda de soluciones.

2. ACTIVIDADES A REALIZAR

1) Buscar un problema de lógica y plantearlo como búsqueda en un espacio de estados.

2) Indicar para dicho problema el estado inicial, el conjunto de posibles estados, el conjunto de operadores, el objetivo y el coste de los operadores.

3) De los posibles métodos de búsqueda en el árbol de estados, seleccionar tres de ellos, en el que al menos uno sea un recorrido guiado por información, y dibujar paso a paso cómo se van generando los nodos. Si el árbol es muy grande, dibujar los primeros niveles y dejar indicado cómo se van expandiendo los siguientes niveles. Para los recorridos no guiados por información, suponer que la preferencia es de arriba abajo y de izquierda a derecha.

4) Indicar una heurística admisible para estimar el coste de un estado cualquiera hasta el estado meta.

Page 5: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

3. EJEMPLO DE PROBLEMA DE LÓGICA CON ÁRBOLES DE BÚSQUEDA DE SOLUCIONES La resolución de problemas es uno de los procesos básicos de razonamiento que la inteligencia artificial trata de abordar. El objetivo consiste en lograr que la máquina ayude a un experto humano a encontrar la solución a un determinado problema (de forma más rápida, más exacta, más fiable...).

He tomado como ejemplo este grafo que representa viajar por carretera de una ciudad a otra con las distancias de kilómetros que hay entre ellas:

Page 6: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Las etapas de la resolución de problemas con objetivos son:

1. Formulación de objetivos: a partir de la situación actual, definir los estados objetivo y los

factores que pueden influir en el grado de satisfacción de las distintas maneras de

conseguirlo. En nuestro caso estar en la ciudad B.

2. Formulación del problema: decidir qué acciones y estados considerar:

• Estados: distintas ciudades

• Acciones: conducir entre ciudades

3. Búsqueda: decidir qué hacer examinando diferentes secuencias de acciones que llevan

a estados objetivo y escogiendo la mejor devolviendo una solución.

4. Ejecución: ejecutar las acciones recomendadas. En nuestro caso secuencia de

ciudades, por ejemplo: A -> S -> C -> B.

Ejemplo de un sencillo agente resolvente de problem as:

Page 7: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

4. FORMULACIÓN DEL PROBLEMA COMO UN ESPACIO DE ESTADOS

La técnica de modelado que hemos visto se basa en estructurar la definición de un

problema como una quíntupla: P = [E, Ei, O, M, C] , en donde estos elementos son:

• E: conjunto de estados del problema.

• Ei: estado inicial.

• O: conjunto de operadores del problema.

• M: función de meta.

• C: función de coste.

E: conjunto de estados del problema

El conjunto de estados del problema, lo forman cada una de las situaciones diferentes en

que se pueden encontrar los elementos que intervienen en él. En nuestro caso es el

recorrido de una ciudad origen a una destino (ir de ciudad A a ciudad B), los estados del

problema se corresponden esencialmente con las ciudades por las que podemos pasar,

así que un estado puede corresponderse con estar en ciudad S, otro estado con estar

ciudad R, otro estado con estar ciudad C, etc.

El conjunto de estados E, lo forman todos los estados del problema.

Ei: estado inicial

Ei se encuentra dentro del conjunto de estados E, y es el estado que se corresponde con

la situación inicial del problema.

En nuestro problema, el estado inicial Ei es Ciudad A.

O: es el conjunto de operadores del problema

Mediante los operadores se formalizan las acciones que ocurren en el problema y llevan de

un estado a otro.

En nuestro problema, las acciones u operadores que llevan de una situación a otra, o de

un estado a otro, se corresponden con las carreteras que llevan de una ciudad a otra. Así

que al aplicar un operador, viajar‐al‐norte, por ejemplo, al estado E1=Ciudad A, el operador

devuelve E2=Ciudad Z.

M: es la función de meta

La función de meta indica cuándo un estado es meta del problema, o constituye el objetivo

que se desea alcanzar. En un problema pueden ser varios los estados meta. En este caso

Page 8: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

de ir con origen Ciudad A y destino Ciudad B, el problema tiene un solo estado meta, que

es Ciudad B.

C: es la función de coste

C se asocia al coste que pueda tener realizar las acciones de los operadores de un

problema, para pasar de un estado a otro. En este caso, el coste para pasar de una ciudad

a otra puede definirse como la distancia que las separa, como se indica en el grafo.

5. MÉTODOS DE BÚSQUEDA DE SOLUCIONES

Tenemos que explorar el espacio de estados a partir del estado inicial, a través de

secuencias parciales de soluciones, si el estado actual no es el objetivo, hacemos

expansión del estado, y así sucesivamente. Para decidir qué estado expandir y cuáles

dejar para su estudio posterior, se utilizarán las estrategia de búsqueda.

Descripción del algoritmo general de búsquedas en árboles:

Ejemplo de búsqueda general:

Page 9: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Esta es la estructura de datos para los nodos del árbol de búsqueda:

• Estado del espacio de estados con el que se corresponde.

• Nodo padre cuya expansión generó el nodo.

• Operador que fue aplicado en la expansión

• Profundidad del nodo desde la raíz

• Coste del camino desde la raíz hasta el nodo

Para medir el rendimiento de la resolución del problema y tener una visión más clara,

evaluaremos cada uno de ellos sobre cuatro aspectos diferentes:

• Completitud: ¿garantiza encontrar una solución si existe una? Si el método es

completo, está garantizado que si el problema tiene una solución, el método la

encuentra.

• Optimización: ¿la solución que proporciona el método es la óptima?, entre las

diferentes soluciones, será aquella que menor coste C tenga.

• Complejidad en el tiempo: ¿Cuánto tarda en encontrar la solución?, que dependerá

directamente del tamaño del árbol que sea necesario construir para encontrarla.

• Complejidad en el espacio: ¿cuánta memoria se necesita para conseguir la

solución?, que dependerá también del tamaño de la parte del árbol que sea

necesario mantener en memoria para encontrar la solución.

5.1. Estrategias de búsqueda NO informada

El agente sólo puede diferenciar un nodo que es meta de uno que no lo es. No posee

información respecto a cuántos pasos necesita dar, o a qué distancia está de la meta.

Estos son los 6 métodos de búsqueda de soluciones que hemos visto en el temario y

que se diferencian por el orden en que expanden los nodos:

• Búsqueda preferente por anchura.

• Búsqueda preferente por profundidad.

• Búsqueda por profundidad limitada.

• Búsqueda por profundización iterativa.

• Búsqueda por coste uniforme.

• Búsqueda bidireccional.

Page 10: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Vamos a analizar dos de ellas:

a) Búsqueda preferente por anchura

Es una estrategia sencilla en la que se expande primero el nodo raíz y luego se expanden todos sus sucesores, después se expanden todos sus sucesores, y así hasta conseguir llegar al nodo meta. Utiliza el algoritmo de búsqueda general.

Según este grafo las soluciones serian a nivel 3: {A,G,C,B}, {A,G,R,B} y {A,S,R,B}

(Habría más soluciones pero a más niveles por ejemplo {A,Z,S,R,B})

Características:

• Completitud: SI. El algoritmo siempre encuentra una solución, en este caso la ha encontrado al tercer nivel.

• Complejidad temporal y espacial: Exponencial respecto al factor de ramificación y la profundidad de la solución, es del orden O(��).

• Optimización: La solución que se encuentra es óptima en número de niveles desde la raíz.

• Algoritmo base:

Page 11: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

b) Búsqueda por coste uniforme

Es una estrategia que tiene presente el valor de C para la construcción del árbol de búsqueda. Para determinar qué nodo se expande, se selecciona aquel que tenga el valor del coste de ruta g menor (siendo g la suma de los costes C para llegar desde el nodo raíz hasta el nodo n que estemos considerando).

El coste C en nuestro caso de ir de una ciudad a otra se medía en kilómetros.

Espacio de Estados = {todas las ciudades}

Estado inicial = Ciudad A

Estado final = Ciudad B

g(n) : costo de la ruta por traslado del nodo raíz o Ei al estado n o Ef.

Page 12: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

SOLUCIÓN: {A,Z,S,G,R,C,B} g(n)=80+60+30+60+25+50=305

Características:

• Completitud: SI. Es completa en general.

• Optimización: SI. Garantiza el encontrar, entre las diferentes soluciones, aquella que conlleva menor coste de ruta g, calculado como la suma de los costes C de las transiciones de estado.

• Complejidad en tiempo y espacio: Es del orden de �(�[�∗/∈]) en el peor de

los casos, donde:

• �∗ = Es el coste de la solución óptima

• ∈ = Es el coste de cada acción

• Algoritmo base:

Page 13: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

5.2. Estrategias de búsqueda informada (Heurísticas )

La estrategia de búsqueda informada utiliza el conocimiento específico del problema y

puede encontrar soluciones más eficientes que las búsquedas no informadas, por

ejemplo, sobre cuál de los diferentes caminos conduce más rápidamente a la solución.

Este tipo de información se encapsula en una función heurística. Utilizando la

heurística, los métodos pueden hacer crecer el árbol de búsqueda sólo por aquellas

partes que llevan antes al estado meta.

Estos son los métodos de búsqueda de soluciones que hemos visto en el temario:

• Búsqueda primero el mejor.

o Búsqueda Avara

o Búsqueda A*

Vamos a analizar una de ellas:

a) Búsqueda A*

Este algoritmo es combinación de búsqueda avara que reduce el coste de búsqueda, pero no es óptima ni completa y de búsqueda de coste uniforme, que es completa y óptima pero ineficiente. Por tanto esta búsqueda es completa y óptima.

Se define la función f(n):

f(n)= g(n)+h(n) donde g(n) es el coste para alcanzar el nodo y h(n), el coste de ir al nodo objetivo

f(n)= coste más barato estimado de la solución a través de n

Una función heurística h es admisible si ℎ(�) ≤ ℎ∗(�), ∀�

donde h*(n)= Mínima distancia desde n hasta el objetivo.

Las heurísticas admisibles son optimistas en el sentido de que el coste de alcanzar el objetivo h(n), es menor de lo que lo es actualmente h*(n).

Page 14: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Etapas en búsqueda A* para Ciudad B:

Page 15: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Características:

• Completitud: SI. Es completa garantizando que si el problema tiene una solución, el método la encuentra.

• Optimización: SI. Está garantizado que la solución que proporciona este método sí es la de menor coste. En nuestro ejemplo, el método A* llega a la solución de menor coste de ruta, g([A,G,C,B]) = 225 , en contraste con la que devolvía la búsqueda de coste uniforme que era de g([A,Z,S,G,R,C,B])=305.

• Complejidad en tiempo y espacio: Es del orden de �(��) en el peor de los casos.

6. FUNCIONES HEURÍSTICAS

• Una heurística h(n) es admisible si para cada nodo n, h(n) ≤ h*(n), donde h*(n) es el verdadero costo de llegar al estado meta desde n.

• Una heurística admisible nunca sobreestima el costo de llegar a la meta. Es decir, es esencialmente optimista.

• Ejemplo: Sea hSLD(n) (nunca sobreestime la distancia real a lo largo del camino) • Teorema: Si h(n) es admisible, A* es Optimo.

Para determinar la calidad de las heurísticas se puede recurrir a la evaluación experimental.

Un parámetro que caracteriza la eficiencia de una búsqueda es el factor de ramificación eficaz, b*. Si el número total de nodos generados por un método de búsqueda para un problema particular es N, y la profundidad de la solución es d, entonces b* es el factor de ramificación que un árbol uniforme de profundidad d debería tener para contener N nodos. De esta forma:

N = 1 + b* + (b*)2 + … + (b*)d

Así definido, b* es parecido al número medio de hijos que tiene un nodo del árbol de búsqueda. En nuestro caso:

La solución se ha encontrado a profundidad 3 con lo cual d=3, se han utilizando 9 nodos, N=9, entonces b* = 3,1. Podemos interpretar este valor como que el árbol de búsqueda tiene nodos que lo más habitual es que tengan 3 hijos de media.

¿Bajo qué condiciones se dice que una función heurística h*(n) es admisible?

La condición para que h(n) sea admisible es que esta nunca sobrestime el coste de alcanzar el objetivo. Las heurísticas admisibles son por naturaleza optimistas porque piensan que el coste de resolver el problema es menor que el real.

La función heurística empleada, ES ADMISIBLE, esto es, no sobreestima el esfuerzo para llegar hasta el nodo final, desde el nodo n. Una heurística es admisible siempre que h(n) nunca subestime el coste de alcanzar el objetivo.

Page 16: IA-U1-P1-Árboles de búsqueda de soluciones-David Sánchez

ÁRBOLES DE BÚSQUEDA DE SOLUCIONES Versión 1.0

INTELIGENCIA ARTIFICIAL GRADO INGENIERÍA INFORMÁTICA

Es admisible si encuentra una solución óptima (mínimo costo) siempre que exista solución.

- h(n): estimación costo mínimo desde n hasta la solución

- h*(n): costo mínimo desde n hasta la solución

- h(n) es admisible si para todo n: h(n) =< h*(n)

- h(n) >= 0 , así que h(G)=0 para cualquier nodo objetivo G.

La función heurística empleada, h(n) NO ES ADMISIBLE y, por lo tanto, sí sobreestima el esfuerzo para llegar hasta el nodo final, t, desde el nodo n o, equivalentemente:

h(n) > h*(n)

En nuestro ejemplo:

Ciudad Origen (Ei) Ciudad destino (Ef) h(n) =< h*(n) ADMISIBLE Nodo A Nodo B 200 ≤ 225 SI Nodo C Nodo B 47 ≤ 50 SI Nodo G Nodo B 120 ≤ 125 SI Nodo L Nodo B 65 ≤ 115 NO

Nodo R Nodo B 78 ≤ 80 SI Nodo S Nodo B 120 ≤ 125 SI Nodo T Nodo B 250 ≤ 320 SI Nodo Z Nodo B 170 ≤ 190 SI