SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de...

78
SC-2150 SC-2150 Inteligencia Inteligencia Artificial Artificial 2. Procedimientos para 2. Procedimientos para la Solución de la Solución de Problemas Problemas Universidad de Monterrey

Transcript of SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de...

Page 1: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

SC-2150 SC-2150 Inteligencia ArtificialInteligencia Artificial

2. Procedimientos para la 2. Procedimientos para la Solución de ProblemasSolución de Problemas

Universidad de Monterrey

Page 2: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

2.1 2.1 Solución de Problemas Solución de Problemas Mediante la BúsquedaMediante la Búsqueda

Objetivo Particular:Objetivo Particular:Comprender cómo puede un agente encontrar Comprender cómo puede un agente encontrar

una secuencia de acciones que cumpla sus una secuencia de acciones que cumpla sus metas, cuando ninguna acción individual lo metas, cuando ninguna acción individual lo

puede lograr.puede lograr.

Page 3: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

IntroducciónIntroducción

Los agentes reflejos sencillos basan sus Los agentes reflejos sencillos basan sus acciones en un mapeo directo de estados a acciones en un mapeo directo de estados a acciones.acciones.

Dichos agentes no pueden operar bien en Dichos agentes no pueden operar bien en ambientes en los cuales este mapeo sería ambientes en los cuales este mapeo sería demasiado grande para almacenar y demasiado grande para almacenar y tomaría demasiado tiempo para ser tomaría demasiado tiempo para ser aprendido.aprendido.

Los agentes basados en metas, por otra Los agentes basados en metas, por otra parte, pueden tener éxito considerando parte, pueden tener éxito considerando acciones futuras y deseabilidad de sus acciones futuras y deseabilidad de sus salidas.salidas.

Page 4: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

IntroducciónIntroducción

Un Un agente para la solución de agente para la solución de problemasproblemas es un tipo de agente basado es un tipo de agente basado en metas que determina secuencias de en metas que determina secuencias de acciones que le permiten obtener estados acciones que le permiten obtener estados deseables.deseables.

Este tipo de agente utiliza algoritmos Este tipo de agente utiliza algoritmos no no informadosinformados, en el sentido que no se les , en el sentido que no se les proporciona otra información sobre el proporciona otra información sobre el problema más que su definición.problema más que su definición.

Page 5: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

Los agentes inteligentes deben Los agentes inteligentes deben actuar de manera que el entorno actuar de manera que el entorno experimente una serie de estados experimente una serie de estados tales que permitan un máximo de la tales que permitan un máximo de la medida de rendimiento.medida de rendimiento.

El logro de este objetivo se simplifica El logro de este objetivo se simplifica cuando el agente tiene una cuando el agente tiene una metameta y y se esfuerza por lograrla.se esfuerza por lograrla.

Page 6: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

Oradea

ZerindSibiu

Timisoara

Lugoj

Mehadia

Dobreta

RimnicuVilcea

Craiova

Pitesti

Fagaras

Giurgiu

BUCHAREST

Eforie

Hirsova

Urziceni

Vaslui

Iasi

Neamt

ARAD

Page 7: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

La La formulación de metas formulación de metas es el primer es el primer paso para la resolución de problemas.paso para la resolución de problemas.

Se considera que las metas son conjuntos Se considera que las metas son conjuntos de estados del mundo: solo aquellos que de estados del mundo: solo aquellos que permiten el logro de la meta.permiten el logro de la meta.

Se puede considerar que las acciones son Se puede considerar que las acciones son las causantes de la transición entre uno y las causantes de la transición entre uno y otro estado del mundo.otro estado del mundo.

Page 8: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

La La formulación de un problemaformulación de un problema es el es el procesos que consiste en decidir qué procesos que consiste en decidir qué acciones y estados habrán de considerarse acciones y estados habrán de considerarse y es el paso que sigue a la formulación de y es el paso que sigue a la formulación de metas.metas.

Para el problema del viaje a través de Para el problema del viaje a través de Rumania, se considera una estado el estar Rumania, se considera una estado el estar en una ciudad determinada, y como en una ciudad determinada, y como acción, el traslado de una ciudad a otra.acción, el traslado de una ciudad a otra.

Page 9: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

Cuando un agente tiene ante sí diversas opciones Cuando un agente tiene ante sí diversas opciones inmediatas cuyo valor ignora, para decidir lo que inmediatas cuyo valor ignora, para decidir lo que debe hacer primero tiene que evaluar las diversas debe hacer primero tiene que evaluar las diversas secuenciassecuencias de acciones posibles que le conducen de acciones posibles que le conducen a estados cuyo valor se conoce, y luego decidirse a estados cuyo valor se conoce, y luego decidirse por la mejor. A este proceso se le conoce como por la mejor. A este proceso se le conoce como búsqueda.búsqueda.

Una vez encontrada una Una vez encontrada una soluciónsolución, se procede a , se procede a ejecutar las acciones que ésta recomienda. A la ejecutar las acciones que ésta recomienda. A la anterior se le denomina fase de anterior se le denomina fase de ejecuciónejecución..

Page 10: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

FunciónFunción Agente-sencillo-para-la-solución-de-problemasAgente-sencillo-para-la-solución-de-problemas ( (pp) ) responderesponde con una con una acciónacción

entradas: entradas: pp, una percepción, una percepcióneestática:stática: s,s, una secuencia de acciones originalmente una secuencia de acciones originalmente

vacía.vacía. estado, estado, una descripción del estado actual deluna descripción del estado actual del mundo.mundo. gg, una meta, originalmente nula., una meta, originalmente nula.problemaproblema, , la formulación de un problemala formulación de un problema

estadoestado Actualizar-estado ( Actualizar-estado (estado, pestado, p)) si si ss está vacío está vacío entoncesentonces

gg Formular-meta ( Formular-meta (estadoestado)) problemaproblema Formular-el-problemaFormular-el-problema ( (estado, gestado, g))

ss BuscarBuscar ((problemaproblema)) acción acción Recomendación ( Recomendación (s, estados, estado)) ss Resto ( Resto (s, estados, estado)) responder conresponder con acciónacción

Page 11: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Agentes que resuelven Agentes que resuelven problemasproblemas

El agente recien descrito asume que el El agente recien descrito asume que el ambiente es:ambiente es:– EstáticoEstático (formular y resolver el problema se (formular y resolver el problema se

hace sin poner atención a los cambios que hace sin poner atención a los cambios que podrían ocurrir en el ambiente).podrían ocurrir en el ambiente).

– Observable Observable (asume que el estado inicial es (asume que el estado inicial es conocido).conocido).

– DiscretoDiscreto (se pueden enumerar “cursos (se pueden enumerar “cursos alternativos de acción”).alternativos de acción”).

– Determinístico Determinístico (Las soluciones a los (Las soluciones a los problemas son simples secuencias de acciones, problemas son simples secuencias de acciones, no se pueden manejar eventos inesperados).no se pueden manejar eventos inesperados).

Page 12: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

Un Un problema problema es un conjunto de es un conjunto de información que el agente utiliza para información que el agente utiliza para decidir lo que va a hacer.decidir lo que va a hacer.

Los elementos básicos para definir un Los elementos básicos para definir un problema son:problema son:– Estado Inicial Estado Inicial – OperadoresOperadores– Prueba de MetaPrueba de Meta– Costo de RutaCosto de Ruta

Page 13: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

– Los Los operadoresoperadores son las posibles acciones que son las posibles acciones que el agente puede emprender. La formulación el agente puede emprender. La formulación mas común usa una mas común usa una función de sucesorfunción de sucesor. . Dado un estado particular Dado un estado particular xx, SUCCESOR-FN(, SUCCESOR-FN(xx) ) regresa un conjunto de pares ordenados regresa un conjunto de pares ordenados <<acción, sucesoracción, sucesor>>

SUCCESOR-FNSUCCESOR-FN(En(Arad)) –Z(En(Arad)) –Z{<{<Ir_a(Sibiu),En(Sibiu)Ir_a(Sibiu),En(Sibiu)>, >, <<Ir_a(Timisoara),En(Timisoara)Ir_a(Timisoara),En(Timisoara)>, >, <<Ir_a(Zerind),En(Zerind)Ir_a(Zerind),En(Zerind)>}>}

– Lo anterior define el Lo anterior define el espacio de estadosespacio de estados, que , que es el conjunto de todos los estados que pueden es el conjunto de todos los estados que pueden alcanzarse a partir del estado inicial, mediante alcanzarse a partir del estado inicial, mediante una secuencia de operadores.una secuencia de operadores.

Page 14: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

– Una Una rutaruta en el espacio de estados es en el espacio de estados es una secuencia de acciones que permite una secuencia de acciones que permite pasar de un estado a otro.pasar de un estado a otro.

Page 15: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

La La prueba de metaprueba de meta es la que el agente es la que el agente aplica a la descripción de un solo estado aplica a la descripción de un solo estado para decidir si se trata de un estado meta. para decidir si se trata de un estado meta. A veces se compara el estado actual con un A veces se compara el estado actual con un conjunto de estados meta, y otras, se busca conjunto de estados meta, y otras, se busca una propiedad.una propiedad.

El El costo de rutacosto de ruta es una función mediante es una función mediante la que se asigna un costo a una ruta la que se asigna un costo a una ruta determinada. El costo total es la suma de determinada. El costo total es la suma de todos los costos de cada una de las todos los costos de cada una de las acciones individuales a lo largo de una ruta. acciones individuales a lo largo de una ruta. Se denota como Se denota como gg..

Page 16: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

El El costo de pasocosto de paso de tomar la acción de tomar la acción aa para ir del estado para ir del estado xx al estado al estado yy se se denota por denota por c(x,a,y)c(x,a,y)..

Los costos de paso para el problema Los costos de paso para el problema de Rumania son las distancias de de Rumania son las distancias de ruta. Se asumirá que los costos de ruta. Se asumirá que los costos de paso son no negativos.paso son no negativos.

Page 17: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas bien definidos y Problemas bien definidos y solucionessoluciones

El estado inicial, los operadores, la prueba de El estado inicial, los operadores, la prueba de meta y el costo de ruta son entradas para los meta y el costo de ruta son entradas para los algoritmos de búsqueda. Su salida se denomina algoritmos de búsqueda. Su salida se denomina soluciónsolución, una ruta que va del estado final a , una ruta que va del estado final a algún estado que cumpla la prueba de meta. Una algún estado que cumpla la prueba de meta. Una solución óptimasolución óptima tiene el menor costo de ruta de tiene el menor costo de ruta de todas las solucionestodas las soluciones

Para problemas de estado múltiple, existe un Para problemas de estado múltiple, existe un conjunto de estados iniciales, desde los cuales se conjunto de estados iniciales, desde los cuales se puede llegar a otro conjunto de estados. Se tiene puede llegar a otro conjunto de estados. Se tiene unun espacio de conjuntos de estados. espacio de conjuntos de estados.

Page 18: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Formulación de problemasFormulación de problemas

El verdadero arte de la solución de El verdadero arte de la solución de problemas consiste en saber qué problemas consiste en saber qué decidir qué es lo que servirá para decidir qué es lo que servirá para describir estados y operadores y qué describir estados y operadores y qué no.no.

El proceso de eliminación de detalles El proceso de eliminación de detalles de una representación se denomina de una representación se denomina abstracciónabstracción..

Page 19: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de Ejemplo

El enfoque de solución de problemas se ha El enfoque de solución de problemas se ha aplicado a una amplia gama de ambientes aplicado a una amplia gama de ambientes de trabajo. Estos se pueden clasificar en:de trabajo. Estos se pueden clasificar en:– Problemas de “juguete”Problemas de “juguete”

Empleados para ejemplificar o ejercitar métodos para Empleados para ejemplificar o ejercitar métodos para la solución de problemas. Su naturaleza permite la solución de problemas. Su naturaleza permite describirlos de manera concisa y exacta.describirlos de manera concisa y exacta.

– Problemas del mundo realProblemas del mundo real Tienden a ser más difíciles, su solución es importante Tienden a ser más difíciles, su solución es importante

para alguien. Tienden a no tener una sola para alguien. Tienden a no tener una sola caracterización que goce de consensocaracterización que goce de consenso

Page 20: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

Problema del mundo de la aspiradora:Problema del mundo de la aspiradora:– En este mundo hay dos posibles ubicaciones.En este mundo hay dos posibles ubicaciones.– En ellas puede o no haber mugre.En ellas puede o no haber mugre.– El agente se encuentra en una de las dosEl agente se encuentra en una de las dos– El mundo puede asumir ocho posibles estadosEl mundo puede asumir ocho posibles estados– Son tres las acciones posibles: Son tres las acciones posibles: A la izquierda, A A la izquierda, A

la derecha y Aspirarla derecha y Aspirar..– Se puede suponer que la eficiencia del Se puede suponer que la eficiencia del

aspirado es 100%aspirado es 100%– La meta es eliminar toda la mugre.La meta es eliminar toda la mugre.

Page 21: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

Problema del mundo de la aspiradora:Problema del mundo de la aspiradora:

Page 22: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

Problema del mundo de la aspiradora:Problema del mundo de la aspiradora:– Estados: El agente está en una de dos ubicaciones, cada Estados: El agente está en una de dos ubicaciones, cada

una de las cuales puede o no contener mugre. Por lo una de las cuales puede o no contener mugre. Por lo tanto, puede haber 2 x 2tanto, puede haber 2 x 222 = 8 estados posibles del = 8 estados posibles del mundo.mundo.

– Estado inicial: Cualquier estado puede ser designado Estado inicial: Cualquier estado puede ser designado como estado inicial.como estado inicial.

– Función de sucesor: Esto genera los estados legales que Función de sucesor: Esto genera los estados legales que resultan de intentar las tres acciones (resultan de intentar las tres acciones (izquierda, derecha izquierda, derecha y aspirary aspirar).).

– Prueba de Meta: Esto revisa si las dos ubicaciones están Prueba de Meta: Esto revisa si las dos ubicaciones están limpias.limpias.

– Costo de ruta: Cada paso cuesta 1, así el costo de ruta Costo de ruta: Cada paso cuesta 1, así el costo de ruta es el número de pasos en la ruta.es el número de pasos en la ruta.

Page 23: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

1

3

5

7

2

4

6

8

Page 24: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El juego de las ocho fichasEl juego de las ocho fichas

Page 25: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El juego de las ocho fichasEl juego de las ocho fichas– Estados: Estados: Ubicación de cada una de las ocho placas en los Ubicación de cada una de las ocho placas en los

nueve cuadrados. Conviene incluir la ubicación del espacio nueve cuadrados. Conviene incluir la ubicación del espacio vacío.vacío.

– Estado inicial: Estado inicial: Cualquier estado puede ser designado como Cualquier estado puede ser designado como estado inicial. Note que cualquier meta dada puede ser estado inicial. Note que cualquier meta dada puede ser alcanzada desde exactamente la mitad de los estados iniciales alcanzada desde exactamente la mitad de los estados iniciales posibles.posibles.

– Función de sucesorFunción de sucesor: Esta genera los estados legales que : Esta genera los estados legales que resultan de intentar las cuatro acciones (el espacio vacío resultan de intentar las cuatro acciones (el espacio vacío puede moverse a la izquierda, derecha, arriba y abajo).puede moverse a la izquierda, derecha, arriba y abajo).

– Prueba de meta: Prueba de meta: Verifica que el estado actual coincida con Verifica que el estado actual coincida con un estado predefinido previamente como estado final.un estado predefinido previamente como estado final.

– Costo de ruta: Costo de ruta: Cada paso cuesta 1, así que el costo de la ruta Cada paso cuesta 1, así que el costo de la ruta corresponde a la longitud de la ruta.corresponde a la longitud de la ruta.

Page 26: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El juego de las ocho fichasEl juego de las ocho fichas– Abstracciones: Abstracciones: Se ignoran las ubicaciones intermedias Se ignoran las ubicaciones intermedias

cuando la ficha se está deslizando, si se tiene que cuando la ficha se está deslizando, si se tiene que sacudir el tablero cuando las piezas se atoran, o si se sacudir el tablero cuando las piezas se atoran, o si se extraen las piezas con un cuchillo y se colocan de nuevo extraen las piezas con un cuchillo y se colocan de nuevo en orden.en orden.

– El juego de las ocho fichas pertenece a la familia de El juego de las ocho fichas pertenece a la familia de rompecabezas de piezas deslizantesrompecabezas de piezas deslizantes, los cuales son , los cuales son a menudo usados como problemas de prueba para a menudo usados como problemas de prueba para nuevos algoritmos de IA.nuevos algoritmos de IA.

– Esta clase general es del tipo NP-completo.Esta clase general es del tipo NP-completo.– El juego de las ocho fichas tiene 9!/2 = 181,440 estados El juego de las ocho fichas tiene 9!/2 = 181,440 estados

alcanzables y es fácilmente solucionado. alcanzables y es fácilmente solucionado.

Page 27: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

EL problema de las ocho reinasEL problema de las ocho reinas

Page 28: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El problema de las ocho reinasEl problema de las ocho reinas– Estados: Estados: cualquier disposición que tenga de 0 cualquier disposición que tenga de 0

a 8 reinas en el tablero.a 8 reinas en el tablero.– Estado inicial: Estado inicial: ninguna reina en el tablero.ninguna reina en el tablero.– Función de sucesor: Función de sucesor: añadir una reina a un añadir una reina a un

cuadro vacío.cuadro vacío.– Prueba de meta: Prueba de meta: 8 reinas en el tablero, 8 reinas en el tablero,

ninguna con posibilidad de atacar.ninguna con posibilidad de atacar.– Costo de ruta: Costo de ruta: cerocero

Page 29: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El problema de las ocho reinas (otras El problema de las ocho reinas (otras formulaciones)formulaciones)

Formulación 2Formulación 2– Estados: Estados: Disposiciones de 0 a 8 reinas, sin que se Disposiciones de 0 a 8 reinas, sin que se

pueda atacar ninguna de ellaspueda atacar ninguna de ellas– Función de Sucesor: Función de Sucesor: Poner una reina en la columna Poner una reina en la columna

vacía del extremo izquierdo de manera que ninguna otra vacía del extremo izquierdo de manera que ninguna otra reina la pueda atacar.reina la pueda atacar.

Formulación 3Formulación 3– Estados: Estados: Disposiciones de 8 reinas, una en cada Disposiciones de 8 reinas, una en cada

columna.columna.– Función de sucesor: Función de sucesor: Cambiar las reinas que puedan Cambiar las reinas que puedan

ser atacadas a otro cuadro de la misma columnaser atacadas a otro cuadro de la misma columna..

Page 30: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

CriptoaritméticaCriptoaritmética

FORTY+ TEN+ TEN---------SIXTY

2976+ 850+ 850---------31486

Page 31: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

CriptoaritméticaCriptoaritmética– Estados: Estados: Un problema de criptoaritmética en el que Un problema de criptoaritmética en el que

algunas letras están reemplazadas con dígitos.algunas letras están reemplazadas con dígitos.– Estado inicial: Estado inicial: Ninguna letra ha sido reemplazada por Ninguna letra ha sido reemplazada por

algún dígitoalgún dígito..– Función de sucesor: Función de sucesor: Reemplazar todas las veces que Reemplazar todas las veces que

aparezca una letra con un dígito que no haya aparecido aparezca una letra con un dígito que no haya aparecido en el problema.en el problema.

– Prueba de meta: Prueba de meta: Si en el problema sólo hay dígitos y Si en el problema sólo hay dígitos y representan una suma correctarepresentan una suma correcta

– Costo de la ruta: Costo de la ruta: Cero. Todas las soluciones son Cero. Todas las soluciones son igualmente válidas.igualmente válidas.

Page 32: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

Misioneros y CaníbalesMisioneros y Caníbales– 3 misioneros y tres caníbales salen a pasear a 3 misioneros y tres caníbales salen a pasear a

la selva, y necesitan cruzar el río. Hay un bote, la selva, y necesitan cruzar el río. Hay un bote, pero este sólo puede llevar a una o dos pero este sólo puede llevar a una o dos personas. Encuentre la manera de cruzar a personas. Encuentre la manera de cruzar a todos, evitando que el número de caníbales todos, evitando que el número de caníbales sea superior al número de misioneros.sea superior al número de misioneros.

– ¿Cuáles son los Estados, Estado inicial, Función ¿Cuáles son los Estados, Estado inicial, Función de Sucesor, Prueba de Meta, Costo de Ruta?de Sucesor, Prueba de Meta, Costo de Ruta?

Page 33: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas de “Juguete”Problemas de “Juguete”

El problema de la jarra de aguaEl problema de la jarra de agua– Supón que tienes 2 tarros, uno de 4 galones, y Supón que tienes 2 tarros, uno de 4 galones, y

otro de 3. Y no tienen ninguna marca de otro de 3. Y no tienen ninguna marca de medición en éstos. Hay una bomba que puede medición en éstos. Hay una bomba que puede ser usada para llenar los tarros con agua. ser usada para llenar los tarros con agua. ¿Cómo se puede llenar con exactamente 2 ¿Cómo se puede llenar con exactamente 2 galones de agua, el tarro de 4 galones?galones de agua, el tarro de 4 galones?

– ¿Cuáles son los Estados, Estado inicial, Función ¿Cuáles son los Estados, Estado inicial, Función de Sucesor, Prueba de Meta, Costo de Ruta?de Sucesor, Prueba de Meta, Costo de Ruta?

Page 34: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Determinación de una rutaDeterminación de una ruta– Consiste en definir una ruta en función de la Consiste en definir una ruta en función de la

especificación de ubicaciones y las transiciones especificación de ubicaciones y las transiciones mediante los vínculos que relacionan una y mediante los vínculos que relacionan una y otra ubicación.otra ubicación.

– Los algoritmos que resuelven estos problemas Los algoritmos que resuelven estos problemas se usan en ruteo de redes de cómputo, se usan en ruteo de redes de cómputo, sistemas automatizados de asesores de viajes, sistemas automatizados de asesores de viajes, sistemas para planificación de viajes aéreos, sistemas para planificación de viajes aéreos, bonificaciones a viajeros frecuentes, etc.bonificaciones a viajeros frecuentes, etc.

Page 35: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Determinación de una rutaDeterminación de una ruta– Problema de determinar una ruta aéreaProblema de determinar una ruta aérea

EstadosEstados: Cada uno es representado por un aeropuerto y la : Cada uno es representado por un aeropuerto y la hora actual.hora actual.

Estado inicialEstado inicial: Es especificado por el problema.: Es especificado por el problema. Función de sucesorFunción de sucesor: Regresa los estados resultantes de : Regresa los estados resultantes de

tomar cualquier vuelo programado, que sale después de la tomar cualquier vuelo programado, que sale después de la hora actual, más el tiempo de vuelo entre aeropuertos, hora actual, más el tiempo de vuelo entre aeropuertos, desde el aeropuerto actual a otro.desde el aeropuerto actual a otro.

Prueba de metaPrueba de meta: Verifica si estamos en el destino a una : Verifica si estamos en el destino a una hora pre-especificada.hora pre-especificada.

Costo de rutaCosto de ruta:: Depende del costo monetario, el tiempo de Depende del costo monetario, el tiempo de espera, el tiempo de vuelo, procedimientos de migración, espera, el tiempo de vuelo, procedimientos de migración, calidad de asiento, hora del día, tipo de avión, calidad de asiento, hora del día, tipo de avión, bonificaciones por viajes frecuentes, etc.bonificaciones por viajes frecuentes, etc.

Page 36: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Problema del agente viajeroProblema del agente viajero– ““Visitar todas las ciudades importantes de Rumania por lo Visitar todas las ciudades importantes de Rumania por lo

menos una vez, comenzando y terminando en Bucarest”menos una vez, comenzando y terminando en Bucarest”– Este problema es un “Touring Problem”: requiere más Este problema es un “Touring Problem”: requiere más

información sobre el espacio de estados. Además de la información sobre el espacio de estados. Además de la ubicación del agente, un registro de las ciudades visitadas.ubicación del agente, un registro de las ciudades visitadas.

– La prueba de meta consistiría en verificar si el agente está La prueba de meta consistiría en verificar si el agente está en Bucarest y se han visitado todas las ciudades UNA SOLA en Bucarest y se han visitado todas las ciudades UNA SOLA VEZ.VEZ.

– El objetivo es determinar cuál es el recorrido más corto, es El objetivo es determinar cuál es el recorrido más corto, es un problema de complejidad NP.un problema de complejidad NP.

– Los algoritmos que lo resuelven también se aplican para Los algoritmos que lo resuelven también se aplican para tareas tales como planeación de movimientos de taladros tareas tales como planeación de movimientos de taladros automáticos para circuitos impresos.automáticos para circuitos impresos.

Page 37: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Distribución de componentes en circuitos Distribución de componentes en circuitos VLSIVLSI– Es una de las tareas más complejas de diseño Es una de las tareas más complejas de diseño

en la ingeniería actual.en la ingeniería actual.– El objetivo es colocar los miles de compuertas El objetivo es colocar los miles de compuertas

del circuito integrado de tal manera que no se del circuito integrado de tal manera que no se encimen y ocupando un mínimo de área y de encimen y ocupando un mínimo de área y de longitud de conexiones, con el fin de obtener longitud de conexiones, con el fin de obtener un máximo de velocidad.un máximo de velocidad.

Page 38: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Navegación de robotsNavegación de robots– Es una generalización del problema de Es una generalización del problema de

la determinación de ruta: en vez de la determinación de ruta: en vez de hacerlo en un espacio discreto, ahora es hacerlo en un espacio discreto, ahora es continuo.continuo.

– Las acciones y estados posibles son (en Las acciones y estados posibles son (en principio) infinitos.principio) infinitos.

– Este problema puede ser bi o Este problema puede ser bi o tridimensional.tridimensional.

Page 39: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Secuencia de ensambleSecuencia de ensamble– En este problema, la dificultad radica en En este problema, la dificultad radica en

determinar la secuencia adecuada para determinar la secuencia adecuada para el ensamble de las partes de un objeto el ensamble de las partes de un objeto determinado. determinado.

– Si se elige un orden equivocado, Si se elige un orden equivocado, algunas partes ya no se podrán agregar.algunas partes ya no se podrán agregar.

Page 40: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Secuencia de ensambleSecuencia de ensamble– En este problema, la dificultad radica en En este problema, la dificultad radica en

determinar la secuencia adecuada para determinar la secuencia adecuada para el ensamble de las partes de un objeto el ensamble de las partes de un objeto determinado. determinado.

– Si se elige un orden equivocado, Si se elige un orden equivocado, algunas partes ya no se podrán agregar.algunas partes ya no se podrán agregar.

Page 41: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Problemas de EjemploProblemas de EjemploProblemas RealesProblemas Reales

Búsqueda en InternetBúsqueda en Internet– En años recientes se ha incrementado la En años recientes se ha incrementado la

demanda por robots de software que busquen demanda por robots de software que busquen en Internet por respuestas a preguntas, en Internet por respuestas a preguntas, información relacionada, o para opciones de información relacionada, o para opciones de compra. compra.

– Ésta es una buena aplicación para técnicas de Ésta es una buena aplicación para técnicas de búsqueda, porque es fácil conceptualizar la búsqueda, porque es fácil conceptualizar la Internet como un grafo con nodos (páginas) Internet como un grafo con nodos (páginas) conectadas por enlaces.conectadas por enlaces.

Page 42: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de SolucionesBúsqueda de Soluciones

Después de definir un problema e Después de definir un problema e identificar una solución, se prosigue identificar una solución, se prosigue con la búsqueda de la solución.con la búsqueda de la solución.

La búsqueda se hace en el espacio La búsqueda se hace en el espacio de estados, y la idea es mantener y de estados, y la idea es mantener y ampliar un conjunto de secuencias ampliar un conjunto de secuencias de solución parciales.de solución parciales.

Page 43: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

Primero, conviene evaluar el estado Primero, conviene evaluar el estado inicial para determinar si es un inicial para determinar si es un estado meta.estado meta.

Al aplicar los operadores a un estado Al aplicar los operadores a un estado determinado, se determinado, se generagenera un conjunto un conjunto de estados.de estados.

Al proceso anterior se le llama Al proceso anterior se le llama expansiónexpansión del estado. del estado.

Page 44: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

Si hay varios estados que se pueden Si hay varios estados que se pueden expandir, la elección del que se expandir, la elección del que se expanderá primero se hace con una expanderá primero se hace con una estrategia de búsquedaestrategia de búsqueda..

Conviene concebir el proceso de Conviene concebir el proceso de búsqueda como la construcción de búsqueda como la construcción de un un árbol de búsqueda árbol de búsqueda sobrepuesto sobrepuesto al espacio de estados.al espacio de estados.

Page 45: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

La raíz del árbol de búsqueda es el La raíz del árbol de búsqueda es el nodo de búsquedanodo de búsqueda y corresponde y corresponde al estado inicialal estado inicial

Los nodos hoja del árbol de Los nodos hoja del árbol de búsqueda o no tienen sucesores o no búsqueda o no tienen sucesores o no se han expandido, o al expandirlos se han expandido, o al expandirlos generaron un conjunto vacíogeneraron un conjunto vacío

Page 46: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

Estado inicialEstado inicial

Arad

Page 47: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

Después de expandir AradDespués de expandir Arad

Arad

TimisoaraSibiu Zerind

Page 48: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Generación de secuencias de Generación de secuencias de accionesacciones

Después de expandir SibiuDespués de expandir Sibiu

Arad

TimisoaraSibiu Zerind

Arad Fagaras Oradea Rimnicu Vilcea

Page 49: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Algoritmo General de BúsquedaAlgoritmo General de Búsqueda

Función Función búsqueda-general (búsqueda-general (problema, estrategiaproblema, estrategia) ) produceproduce una unasolución, o fallasolución, o falla inicializa el árbol de búsqueda empleando el estado inicial del inicializa el árbol de búsqueda empleando el estado inicial del

problemaproblemaciclo hacerciclo hacer

si si no hay candidatos para la expansión, no hay candidatos para la expansión, responder responder concon fallafallaescoger un nodo hoja para hacer la expansión, de confor-escoger un nodo hoja para hacer la expansión, de confor-

midad con la midad con la estrategiaestrategiasi si el nodo contiene un estado meta, el nodo contiene un estado meta, responder responder con lacon lasolución respectivasolución respectivao bien expanda el nodo y añada los nodos resultantes alo bien expanda el nodo y añada los nodos resultantes alárbol de búsquedaárbol de búsqueda

finfin

Page 50: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Estructuras de datos para los Estructuras de datos para los árboles de búsquedaárboles de búsqueda

Un nodo es una estructura de datos con Un nodo es una estructura de datos con cinco componentes:cinco componentes:– El estado en el espacio de estados al que El estado en el espacio de estados al que

corresponda el nodocorresponda el nodo– El nodo del árbol de búsqueda que generó este El nodo del árbol de búsqueda que generó este

nodo (nodo (nodo padre)nodo padre)– El operador que se aplicó al generar el nodoEl operador que se aplicó al generar el nodo– Cuántos nodos de la ruta hay desde la raíz Cuántos nodos de la ruta hay desde la raíz

hasta dicho nodo (hasta dicho nodo (profundidad)profundidad)– El costo de la ruta desde el estado inicial al El costo de la ruta desde el estado inicial al

nodonodo

Page 51: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Estructuras de datos para los Estructuras de datos para los árboles de búsquedaárboles de búsqueda

El El margen margen o o fronterafrontera es el grupo de es el grupo de nodos que están en espera de ser nodos que están en espera de ser expandidos.expandidos.

Este grupo de nodos se puede implantar Este grupo de nodos se puede implantar como una como una lista de esperalista de espera, con , con operaciones como:operaciones como:– Hacer-lista-espera (Hacer-lista-espera (elementoselementos))– ¿Está vacía? (¿Está vacía? (lista de esperalista de espera))– Quitar-primero (Quitar-primero (lista de esperalista de espera))– Poner-en-lista (Poner-en-lista (elementos, lista de esperaelementos, lista de espera))

Page 52: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Algoritmo General de BúsquedaAlgoritmo General de Búsqueda

Función Función búsqueda-general (búsqueda-general (problema, problema, Función-lista-de-Función-lista-de-espera)espera)

produceproduce una solución, o falla una solución, o fallanodos nodos Hacer-lista-de-espera (Hacer-nodo(Estado-Hacer-lista-de-espera (Hacer-nodo(Estado-inicial[inicial[problemaproblema])) ])) ciclo hacerciclo hacer

si si nodosnodos está vacío, está vacío, contestar contestar con fallacon fallanodonodo Quitar-primero ( Quitar-primero (nodosnodos))si si Prueba-Meta[Prueba-Meta[problemaproblema] se aplica a Estado(] se aplica a Estado(nodonodo) )

y sey se tiene éxito, tiene éxito, contestarcontestar con con nodonodo

nodos nodos Función-lista-de-espera( Función-lista-de-espera(nodos, nodos, Expandir(Expandir(nodo, nodo, Operadores[Operadores[problemaproblema]))]))

finfin

Page 53: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Estrategias de búsquedaEstrategias de búsqueda Las estrategias se evalúan de acuerdo a Las estrategias se evalúan de acuerdo a

susu– CompletezCompletez

¿La estrategia garantiza encontrar una ¿La estrategia garantiza encontrar una solución, si ésta existe?solución, si ésta existe?

– Complejidad temporalComplejidad temporal ¿Cuánto tiempo se necesitará para encontrar ¿Cuánto tiempo se necesitará para encontrar

una solución?una solución?– Complejidad espacialComplejidad espacial

¿Cuánta memoria se necesita para efectuar la ¿Cuánta memoria se necesita para efectuar la búsqueda?búsqueda?

– OptimalidadOptimalidad ¿Con esta estrategia se encontrará una ¿Con esta estrategia se encontrará una

solución de la más alta calidad, si hay varias solución de la más alta calidad, si hay varias soluciones?soluciones?

Page 54: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Estrategias de búsqueda no Estrategias de búsqueda no informadainformada

No existe información sobre la No existe información sobre la cantidad de estados intermedios o cantidad de estados intermedios o el costo de ruta para pasar del el costo de ruta para pasar del estado actual a la meta.estado actual a la meta.

Sólo se sabe distinguir si estamos Sólo se sabe distinguir si estamos en el estado meta o noen el estado meta o no

A esta búsqueda se le conoce A esta búsqueda se le conoce también como también como búsqueda ciegabúsqueda ciega

Page 55: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Estrategias de búsqueda no Estrategias de búsqueda no informadainformada

Búsqueda preferente por amplitudBúsqueda preferente por amplitud Búsqueda de costo uniformeBúsqueda de costo uniforme Búsqueda preferente por profundidadBúsqueda preferente por profundidad Búsqueda limitada por profundidadBúsqueda limitada por profundidad Búsqueda por profundización Búsqueda por profundización

iterativaiterativa Búsqueda bidireccionalBúsqueda bidireccional

Page 56: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por amplitudBúsqueda preferente por amplitud

En este caso, primero se expande el En este caso, primero se expande el nodo raíz y luego todos los nodos nodo raíz y luego todos los nodos generados por éste, luego sus generados por éste, luego sus sucesores y así sucesivamente.sucesores y así sucesivamente.

Todos los nodos que están a Todos los nodos que están a profundidad profundidad dd se expanden antes se expanden antes que los nodos con profundidad que los nodos con profundidad dd+1.+1.

Page 57: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por amplitudBúsqueda preferente por amplitud

Función Función Búsqueda-preferente-por-amplitud(Búsqueda-preferente-por-amplitud(problemaproblema) ) responderesponde

con solución o fallacon solución o falla

responde responde con Búsqueda-general (con Búsqueda-general (problema,problema, Lista-de- Lista-de-espera-espera-

al-final)al-final)

Page 58: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por amplitudBúsqueda preferente por amplitud

Si hay solución, es seguro que se Si hay solución, es seguro que se encontrará mediante la búsqueda encontrará mediante la búsqueda preferente por amplitud.preferente por amplitud.

Si son varias soluciones, siempre encontrará Si son varias soluciones, siempre encontrará primero el estado de meta más próximo primero el estado de meta más próximo (menos profundidad, más a la izquierda).(menos profundidad, más a la izquierda).

La búsqueda preferente por amplitud es La búsqueda preferente por amplitud es completa y óptima completa y óptima siempre y cuando el siempre y cuando el costo de ruta sea una función que no costo de ruta sea una función que no disminuya al aumentar la profundidad del disminuya al aumentar la profundidad del nodonodo..

Page 59: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por amplitudBúsqueda preferente por amplitud

Si Si bb es el es el factor de ramificación factor de ramificación de de los estados, y la solución está a una los estados, y la solución está a una profundidad profundidad dd, entonces la cantidad , entonces la cantidad máxima de nodos expandidos antes máxima de nodos expandidos antes de encontrar la solución esde encontrar la solución es

1+ 1+ bb+ + bb22 + + bb33 + ... + + ... + bbd d + (+ (bbd+1d+1 – – b)b) La complejidad de este algoritmo es La complejidad de este algoritmo es

OO((bbd+1d+1).).

Page 60: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por amplitudBúsqueda preferente por amplitud

Si Si bb=10, se analizan 10,000 nodos por segundo y cada =10, se analizan 10,000 nodos por segundo y cada nodo requiere 1000 bytes de almacenamiento:nodo requiere 1000 bytes de almacenamiento:

ProfundidadProfundidad NodosNodos TiempoTiempo MemoriaMemoria

22 11001100 .11 segundos.11 segundos 1 Megabyte1 Megabyte

44 111,100111,100 11 segundos11 segundos 106 106 MegabytesMegabytes

66 101077 19 minutos19 minutos 10 Gigabytes10 Gigabytes

88 101099 31 horas31 horas 1 Terabyte1 Terabyte

1010 10101111 129 días129 días 101 Terabyte101 Terabyte

1212 10101313 35 años35 años 10 Petabytes10 Petabytes

1414 10101515 3523 años3523 años 1 Exabyte1 Exabyte

Page 61: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

Con la búsqueda anterior no siempre se Con la búsqueda anterior no siempre se encuentra la solución de costo de ruta encuentra la solución de costo de ruta mínimo.mínimo.

La La búsqueda de costo uniformebúsqueda de costo uniforme expande siempre el nodo de menor costo expande siempre el nodo de menor costo en el margen, medido por el costo de ruta en el margen, medido por el costo de ruta gg((nn) en vez del nodo de menor ) en vez del nodo de menor profundidad.profundidad.

Si se cumplen ciertas condiciones, es Si se cumplen ciertas condiciones, es seguro que la primera solución encontrada seguro que la primera solución encontrada será la más barata.será la más barata.

Page 62: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

S

C

G

A

B

1 10

5 5

15 5

S 0Frontera

S es el único nodo en la frontera(nodos pendientes por expandir).Debido a que no es la meta, seprocede a su expansión...

NOTA: NO SE GENERARÁN NUEVAMENTELOS ESTADOS ANALIZADOS PREVIAMENTE

Page 63: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

S 0

A CB

1 5 15

S

C

G

A

B

1 10

5 5

15 5

Frontera

Hay 3 nodos en la frontera (A, B y C), y se elige el de menor costo de ruta (A). Como no es una meta, se procede a su expansión...

Page 64: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

S 0

A CB

11

5 15

S

C

G

A

B

1 10

5 5

15 5

Frontera

Hay 3 nodos en la frontera (G, B y C), de los cuales B es elque tiene el menor costo de ruta, por lo que se procede a expandirlo. Note que aunque ya hay una solución en la fron-Tera (G), el algoritmo la ignora porque la rama S-B tiene posibili-dades de encontrar una solución mejor que S-A-G.

G

Page 65: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

S 0

A CB

11

15

S

C

G

A

B

1 10

5 5

15 5

Frontera

Hay 3 nodos en la frontera (G, G y C), de los cuales el segundo G es el que tiene el menor costo de ruta, por lo que se procede a expandirlo. En ese momento se detecta que es una solución (sólogenera nodos ya analizados) y la búsqueda termina. Note que haydos nodos (las dos G’s en la frontera) que representan a un mismoestado, y que el algoritmo ni siquiera intenta expandir C, que no tiene posibilidades de llevar a una mejor solución (S-C ya tiene uncosto de 15).

G 10G

Page 66: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda de costo uniformeBúsqueda de costo uniforme

Este método puede encontrar la Este método puede encontrar la solución más barata siempre y solución más barata siempre y cuando se satisfaga un requisito cuando se satisfaga un requisito sencillo: el costo de ruta nunca debe sencillo: el costo de ruta nunca debe ir disminuyendo conforme ir disminuyendo conforme avanzamos por la ruta, es decir, avanzamos por la ruta, es decir, gg(Sucesor((Sucesor(nn)) )) g( g(nn) para todos los ) para todos los nodos nodos nn..

Page 67: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por Búsqueda preferente por profundidadprofundidad

En esta búsqueda siempre se expande uno de los En esta búsqueda siempre se expande uno de los nodos que se encuentre en lo más profundo del nodos que se encuentre en lo más profundo del árbol.árbol.

Sólo si la búsqueda conduce a un callejón sin Sólo si la búsqueda conduce a un callejón sin salida (un nodo que no es meta y que no tiene salida (un nodo que no es meta y que no tiene expansión), se revierte la búsqueda y se expansión), se revierte la búsqueda y se expanden los nodos de niveles menos profundos.expanden los nodos de niveles menos profundos.

Lo anterior se logra mediante el algoritmo de Lo anterior se logra mediante el algoritmo de Búsqueda-General, con una función de lista de Búsqueda-General, con una función de lista de espera que ponga los estados recién generados al espera que ponga los estados recién generados al principio de la lista.principio de la lista.

Page 68: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por Búsqueda preferente por profundidadprofundidad

Función Función Búsqueda-preferente-por-profundidad(Búsqueda-preferente-por-profundidad(problemaproblema) ) responde responde con solución o fallacon solución o falla

responde responde con Búsqueda-general (con Búsqueda-general (problema,problema, Lista-de- Lista-de-espera-espera-

al-principio)al-principio)

Page 69: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por Búsqueda preferente por profundidadprofundidad

NOTA: Se supone que el factor de ramificación es 2 y que los nodos de nivel 3 no tienen sucesores.

Page 70: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por Búsqueda preferente por profundidadprofundidad

Sólo es necesario guardar la ruta que Sólo es necesario guardar la ruta que va del nodo raíz al nodo hoja, junto va del nodo raíz al nodo hoja, junto con los nodos restantes no con los nodos restantes no expandidos, por cada nodo de la expandidos, por cada nodo de la ruta.ruta.

Si un espacio de estados tiene factor Si un espacio de estados tiene factor de ramificación de ramificación bb y profundidad y profundidad máxima máxima mm, se requieren almacenar , se requieren almacenar bmbm nodos. nodos.

La complejidad temporal es de La complejidad temporal es de O(bO(bmm).).

Page 71: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda preferente por Búsqueda preferente por profundidadprofundidad

Si la cantidad de soluciones en un Si la cantidad de soluciones en un problema es grande, se recomienda esta problema es grande, se recomienda esta búsqueda (BPPP) sobre la búsqueda búsqueda (BPPP) sobre la búsqueda preferente por amplitud (BPPA).preferente por amplitud (BPPA).

La desventaja de esta búsqueda es que se La desventaja de esta búsqueda es que se puede quedar estancada al avanzar por puede quedar estancada al avanzar por una ruta equivocada, ya que muchos una ruta equivocada, ya que muchos árboles de búsqueda pueden ser muy árboles de búsqueda pueden ser muy profundos o infinitos. Por lo tanto, la BPPP profundos o infinitos. Por lo tanto, la BPPP no es ni la mas completa ni la más óptima.no es ni la mas completa ni la más óptima.

Page 72: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda limitada por Búsqueda limitada por profundidadprofundidad

Con esta búsqueda se eliminan las dificultades de la Con esta búsqueda se eliminan las dificultades de la búsqueda preferente por profundidad, al imponer un límite búsqueda preferente por profundidad, al imponer un límite a la profundidad máxima de una ruta.a la profundidad máxima de una ruta.

El establecer este límite es difícil, ya que no conocemos El establecer este límite es difícil, ya que no conocemos mucho sobre el espacio de estados.mucho sobre el espacio de estados.

La búsqueda limitada puede no ser completa ni óptima: un La búsqueda limitada puede no ser completa ni óptima: un límite de profundidad muy pequeño puede que no contenga límite de profundidad muy pequeño puede que no contenga la solución, y uno muy grande puede que contenga la solución, y uno muy grande puede que contenga soluciones no óptimas que son encontradas primero.soluciones no óptimas que son encontradas primero.

La complejidad espacio-temporal de la búsqueda limitada La complejidad espacio-temporal de la búsqueda limitada por profundidad es similar a la de la búsqueda preferente por profundidad es similar a la de la búsqueda preferente por profundidad: requiere un tiempo de por profundidad: requiere un tiempo de O(bO(bll) ) y un espacio y un espacio O(bl)O(bl), donde , donde l l es el límite de profundidad. es el límite de profundidad.

Page 73: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda por profundización Búsqueda por profundización iterativaiterativa

Elimina la dificultad de elegir un límite adecuado Elimina la dificultad de elegir un límite adecuado de profundidad en la búsqueda limitada por de profundidad en la búsqueda limitada por profundidad.profundidad.

Lo anterior lo hace probando todos los límites de Lo anterior lo hace probando todos los límites de profundidad posibles, primero la profundidad 0, profundidad posibles, primero la profundidad 0, luego la 1, luego la 2, etc.luego la 1, luego la 2, etc.

En la profundización iterativa se combinan las En la profundización iterativa se combinan las ventajas de las búsquedas preferente por ventajas de las búsquedas preferente por profundidad y preferente por amplitud. Es óptima profundidad y preferente por amplitud. Es óptima y completa, como la búsqueda preferente por y completa, como la búsqueda preferente por amplitud, pero la memoria que necesita es la de amplitud, pero la memoria que necesita es la de la búsqueda preferente por profundidad. la búsqueda preferente por profundidad.

Page 74: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda por profundización Búsqueda por profundización iterativaiterativa

Función Función Búsqueda-por-profundización-iterativa(Búsqueda-por-profundización-iterativa(problemaproblema) ) responde responde con una secuencia de solución.con una secuencia de solución.

entradas: entradas: problema, problema, un problema.un problema.

para para profundidadprofundidad 0 0 aa hacerhacer

si si Búsqueda-limitada-por-profundidad(Búsqueda-limitada-por-profundidad(problema,problema,

profundidadprofundidad) tiene éxito, ) tiene éxito, entregue entregue elel

resultado obtenidoresultado obtenido

fin-parafin-para

responda responda con fallacon falla

Page 75: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda por profundización Búsqueda por profundización iterativaiterativa

Límite = 0

Límite = 1

Límite = 2

Límite = 3

...

Page 76: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda por profundización Búsqueda por profundización iterativaiterativa

La búsqueda por profundización iterativa La búsqueda por profundización iterativa puede parecer un desperdicio, por repetir puede parecer un desperdicio, por repetir expansiones de estados, pero en la expansiones de estados, pero en la mayoría de los problemas esta expansión mayoría de los problemas esta expansión múltiple es realmente pequeña.múltiple es realmente pequeña.

La complejidad temporal sigue siendo La complejidad temporal sigue siendo OO((bbdd) y la complejidad espacial es ) y la complejidad espacial es OO((bdbd).).

La profundización iterativa es el método La profundización iterativa es el método idóneo para aquellos casos donde el idóneo para aquellos casos donde el espacio de búsqueda es grande y se espacio de búsqueda es grande y se ignora la profundidad de la solución.ignora la profundidad de la solución.

Page 77: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda bidireccionalBúsqueda bidireccional

Es básicamente una búsqueda simultánea Es básicamente una búsqueda simultánea que avanza a partir del estado inicial y que que avanza a partir del estado inicial y que retrocede a partir de la meta y que se retrocede a partir de la meta y que se detiene cuando ambas búsquedas se detiene cuando ambas búsquedas se encuentran en algún punto intermedio.encuentran en algún punto intermedio.

Si en un problema el factor de ramificación Si en un problema el factor de ramificación bb es el mismo en ambas direcciones, la es el mismo en ambas direcciones, la búsqueda bidireccional puede ser muy útil. búsqueda bidireccional puede ser muy útil. Si la solución está a profundidad Si la solución está a profundidad dd, , entonces la solución estará a entonces la solución estará a OO(2(2bbdd/2/2) = ) = OO((bbdd/2/2) pasos) pasos

Page 78: SC-2150 Inteligencia Artificial 2. Procedimientos para la Solución de Problemas Universidad de Monterrey.

Búsqueda bidireccionalBúsqueda bidireccional Cuestiones a resolver:Cuestiones a resolver:

– La búsqueda hacia atrás implica la sucesiva generación de La búsqueda hacia atrás implica la sucesiva generación de predecesores a partir del nodo meta.predecesores a partir del nodo meta.

– Si todos los operadores son reversibles, los conjuntos de Si todos los operadores son reversibles, los conjuntos de predecesor y sucesor son idénticos, pero en algunos predecesor y sucesor son idénticos, pero en algunos problemas, el cálculo de los predecesores puede resultar muy problemas, el cálculo de los predecesores puede resultar muy difícil.difícil.

– Si hay varios estados meta listados en forma explícita, se Si hay varios estados meta listados en forma explícita, se puede aplicar una función de predecesor al conjunto de puede aplicar una función de predecesor al conjunto de estados como en el caso de la búsqueda de estado múltiple. estados como en el caso de la búsqueda de estado múltiple. Pero si sólo hay una descripción de los estados meta, es Pero si sólo hay una descripción de los estados meta, es realmente difícil (¿qué estados son predecesores del jaque realmente difícil (¿qué estados son predecesores del jaque mate en ajedrez?)mate en ajedrez?)

– Se requiere una manera eficiente de verificar cada uno de los Se requiere una manera eficiente de verificar cada uno de los nodos nuevos para ver si ya están en el otro árbol.nodos nuevos para ver si ya están en el otro árbol.

– Se tiene que definir un tipo de búsqueda para cada mitad. Se tiene que definir un tipo de búsqueda para cada mitad. Amplitud – amplitud, amplitud – profundidad, etc. La Amplitud – amplitud, amplitud – profundidad, etc. La complejidad espacial es igual a la temporal para esta complejidad espacial es igual a la temporal para esta búsqueda.búsqueda.