busqueda y satisfaccion de restricciones

17
Materia: Inteligencia Artificial Catedrático: M.S.I. Patricia Horta Rosado Unidad 4 Alumnos: Delgado Cázares Jessica García Rodríguez Michel Polanco Quiroz William Eduardo Rodríguez Viveros Lady Silec

Upload: willed-edwill

Post on 30-Jun-2015

2.278 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

 

Materia:

Inteligencia Artificial

Catedrático:

M.S.I. Patricia Horta Rosado

 

Unidad 4

Alumnos:

Delgado Cázares Jessica

García Rodríguez Michel

Polanco Quiroz William Eduardo

Rodríguez Viveros Lady Silec

Page 2: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

BÚSQUEDA Y SATISFACCIÓN DE RESTRICCIONES

Problemas de satisfacción de restricciones es un tipo especial de problemas que satisfacen algunas propiedades adicionales.

Las restricciones pueden involucrar una o varias variables al mismo tiempo. A veces en estos problemas conviene hacer una verificación hacia adelante (_forward checking_) para detectar estados sin solución. Muchas veces lo que conviene es analizar la variable más restringida, esto es, asignarle un valor a la variable que está involucrada en la mayor cantidad de restricciones.

4.1 PROBLEMAS Y ESPACIOS DE ESTADOS

Definición de Problema y Espacio de Estados

• Un problema se define por: o Estado inicial, conjunto de operadores, predicado meta, función de coste

del camino • Solución

o Camino del estado inicial a un estado que satisface el predicado meta • Espacio de Estados

o Conjunto de todos los estados alcanzables desde el estado inicial por cualquier secuencia de operadores

Formulación de Espacio de Estados

• La formulación de espacio de estado utiliza: o Estado: descripción de un problema (configuración de)

o Operadores: describen acciones que transforman un estado en otro

• Terminología adicional o Estado inicial: problema inicial

o Estado meta: estado en el que se ha resuelto el problema

o Predicado meta: test que se puede aplicar a un estado para determinar si es meta

§ Conjunto de estados, propiedades del estado o del camino hasta el o Función de coste del camino: suma de los costes de las acciones

individuales

Resolución de problemas

Deseamos definir cualquier tipo de problema de búsqueda de manera que se pueda resolver automáticamente. Necesitamos:

• Una representación común para todos los problemas de búsqueda que podamos definir.

• Algoritmos que trabajen sobre esa representación.

Page 3: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Definición de un problema

• Elementos de un problema o Un punto de partida o Un objetivo a alcanzar o Acciones para resolver el problema o Puede haber también

• Restricciones sobre el objetivo • Elementos particulares sobre el dominio del problema

Representación de problemas

• Representaciones generales

o Espacio de estados: resolver un problema consiste en un conjunto de pasos de resolución desde el inicio hasta el objetivo.

o Reducción a subproblemas: un problema se expresa mediante una jerarquía de subproblemas (Representaciones para problemas específicos

o Juegos o Satisfacción de restricciones (en algorítmica)

Representación de problemas: estados

• Estado: la representación de los elementos que describen el problema en un momento concreto de su resolución.

• Estados especiales: estado inicial, estado final. • Mi problema: ¿qué incluir en el estado?

Modificación del estado

• Para movernos entre los diferentes estados necesitamos operadores de transformación

• Operador: función que transforma un estado en otro. • Representación de un operador:

o Condiciones de aplicabilidad o Función de transformación

Espacio de estados

• Los estados y las relaciones de accesibilidad entre ellos conforman lo que se llama el espacio de estados.

• Solución: Secuencia de pasos que llevan del estado inicial al final o también el estado final.

• Tipo de solución: una cualquiera, la mejor en algún sentido, todas. • Coste de la solución: gasto en recursos de aplicar los operadores a los estados

Descripción de un problema mediante espacio de estados

Page 4: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

• Definir el espacio de estados • Especificar el estado inicial • Especificar el estado final • Especificar los operadores • Especificar el tipo de solución

o La secuencia de operadores o el estado final o Una solución cualquiera, le mejor o todas.

Resolución

Representación del espacio de estados

• Estructuras de datos: árboles y grafos. • Estados: nodos. • Operadores: arcos entre nodos. • Árboles: un solo camino lleva a un nodo. • Grafos: varios caminos pueden llevar a un nodo.

4.2 ESPACIOS DE ESTADOS DETERMINISTICOS Y ESPACIOS NO DETERMINISTICOS

Un ambiente determinístico es aquel en el cual cualquier acción tiene un solo efecto garantizado, no hay incertidumbre acerca del estado que resultará de la realización de la acción. El mundo físico puede ante todos los intentos y propósitos, ser considerado como no determinístico. Un ambiente no determinístico presente problemas más grandes para el agente

Page 5: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Un sistema es determinístico si, para un estado dado, al menos aplica una regla a él y de solo una manera. Si más de una regla aplica a cualquier estado particular del sistema, o si una regla aplica a un estado particular del sistema en más de una manera, entonces el sistema es no determinístico Los modelos deterministicos caracterizan fenómenos cuyo resultado puede predecirse con seguridad, si conocemos las condiciones en las cuales se presentan. Con mayor precisión, si conocemos las condiciones iniciales de un experimento, que da lugar a un fenómeno, entonces podemos prever los resultados posteriores de éste.

Los modelos probabilísticos o no deterministicos caracterizan fenómenos aleatorios “fortuitos, al azar” o inciertos, con la propiedad de que al observarlos en determinado conjunto de condiciones, no siempre se obtiene el mismo resultado, es decir que no presentan la regularidad de los fenómenos deterministicos (clásicos) el conjunto de todos los resultados posibles de un experimento aleatorio se llama espacio muestral. Lo denotaremos S.

4.3 BÚSQUEDA SISTEMÁTICA

Sistemática: si existe una solución la encuentra

• recorrido ordenado del espacio de estados • si un estado no puede ser solución --> poda

• No sistemática: pueden no encontrar la solución

Los problemas de búsquedas, que generalmente encontramos en Ciencias Computacionales, son de un estado determinístico. Por ejemplo, en los algoritmos de búsqueda de anchura y de búsqueda de profundidad, uno sabe la secuencia de los nodos visitados en un árbol. Sin embargo, los problemas de búsqueda, los cuales siempre tendremos que tratar en Inteligencia artificial, son no determinísticos y el orden de elementos visitados en el espacio de búsqueda depende completamente en el conjunto de datos. Dependiendo de la metodología de expansión de un espacio de estado y consecuentemente el orden de los estados visitados los problemas de búsqueda se nombran diferentes: Búsqueda de Metas a Profundidad, Búsqueda de Metas en Anchura, Búsqueda Óptima.

4.3.1 BÚSQUEDA DE METAS A PROFUNDIDAD Funcionamiento

• Expandir un camino hasta llegar al final • Si no es solución y no tiene expansión posible, volver a un nodo no expandido del

nivel anterior • Menor exigencia de memoria

o Basta con almacenar los nodos de la ruta que se está expandiendo

Page 6: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Algoritmo añadir ESTADO_INICIAL a ABIERTOS inicializar CERRADOS a VACIO RESUELTO:= false while (ABIERTOS no VACIO and no RESUELTO) do ACTUAL:= primer nodo de ABIERTOS if ACTUAL es ESTADO_FINAL then RESUELTO:= true else añadir ACTUAL a CERRADOS /* expandir ACTUAL */ for all (OPERADOR aplicable a ACTUAL) do generar NUEVO_ESTADO aplicando OPERADOR añadir NUEVO_ESTADO al principio de ABIERTOS end for end if end while Características búsqueda en profundidad

• No es completa: Puede no acabar nunca si encuentra una rama sin fin en el espacio de estados

o En ciertos casos nunca se volvería atrás

§ Si hay ciclos bucle infinito § si espacio de estados es infinito

o Muy dependiente del orden de aplicación de los operadores

• No es optima: Encuentra una solución (la primera que aparezca) que no tiene por qué ser la mejor (la más cercana)

• Complejidad

o Complejidad espacial: O(b × m)

§ b, factor de ramificación § m, profundidad máxima de cualquier solución

• Complejidad temporal: O(bm) o si no hay solución (o es el ´ultimo estado) examinará todos los estados

(como en anchura) • En general, suele ser más rápida que búsqueda en anchura

o es cuestión de suerte” o puede funcionar bien si hay muchos estados finales

• ventajas: o Menores requisitos de memoria o Mayor rapidez (en promedio)

• inconvenientes: o Posibilidad de que se estanque o No asegura solución óptima

Page 7: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Variantes

• Profundidad Acotada o Fijar un límite máximo de profundidad (cota c)

§ Cuando un camino alcanza la profundidad c sin ser solución, desecharlo

o Es completo § Asegura encontrar solución si c es mayor que la profundidad de la

solución o No asegura solución óptima o Complejidad: espacial (O(b × c)), temporal (O(bc)) o PROBLEMA: elección cota c

§ Pequeña Ahorra tiempo y espacio Puede impedir encontrar solución

§ Grande Desperdicio de tiempo y espacio Aumenta posibilidades de encontrar solución

• Profundidad Iterativa o Secuencia de búsquedas por profundidad acotada, incrementando el valor

de la cota hasta encontrar solución o ventajas:

§ Evita problema elección de la cota § Es completa y optima

§ Siempre da una solución (si la hay) § Encuentra la mejor (a menor profundidad) → Agota todos los

nodos bajo la cota c antes de incrementarla

o Funcionamiento intermedio (anchura-profundidad) o Uso de memoria reducido (como búsqueda profundidad)

• inconvenientes: o Repetición de cálculos

§ No excesivamente importante (afecta principalmente a estados en niveles superiores)

§ Mayoría de nodos situados en niveles inferiores

4.3.2 BÚSQUEDA DE METAS EN ANCHURA

Una alternativa para la búsqueda de profundidad es la búsqueda de metas de anchura (o amplitud). Búsqueda en anchura (en inglés BFS - Breadth First Search) es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente sobre árboles). Atraviesa un árbol por anchura más que por profundidad. Como puede ser visto en la figura mas adelante, el algoritmo de anchura empieza examinando todos los nodos de un nivel (a veces llamado hebra uno) abajo del nodo raíz.

Page 8: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Si un estado meta es alcanzado aquí, el éxito es reportado. De otra forma, la búsqueda continúa ampliando caminos de todos los nodos del nivel en curso, para posteriormente bajar al próximo nivel. De este modo, la búsqueda continúa revisando nodos en un nivel especial, e informará sobre el éxito cuando un nodo meta es encontrado, y reportar una falla si todos los nodos han sido revisados y ningún nodo meta ha sido encontrado.

Funcionamiento

• Recorrer árbol/grafo de búsqueda en anchura o Expandir estado raíz o Expandir todos sus sucesores o Expandir todos los sucesores de los sucesores.....

• Realiza un ordenamiento de los estados a estudiar en base a su profundidad o Todos los nodos de profundidad d se estudiarán antes que cualquier nodo

a profundidad d + 1 Algoritmo ABIERTOS: Lista ordenada de nodos generados aun no expandidos (no se han generado sus sucesores) → almacena nodos”frontera”, en espera de ser expandidos añadir ESTADO_INICIAL a ABIERTOS

Page 9: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

RESUELTO:= false while (ABIERTOS no VACIO and no RESUELTO) do ACTUAL:= primer nodo de ABIERTOS if ACTUAL es ESTADO_FINAL then RESUELTO:= true else /* expandir ACTUAL */ for all (OPERADOR aplicable a ACTUAL) do generar NUEVO_ESTADO aplicando OPERADOR añadir NUEVO_ESTADO al final de ABIERTOS end for end if end while ABIERTOS: Funciona como una cola (fifo) →mayor profundidad al final de la lista MEJORA: En espacios de estados con estructura de grafo evitar examinar un estado en múltiples ocasiones

• Lista cerrados: Almacena estados ya examinados • Expandir solo estados que no parezcan en abiertos (ya generados) ni en cerrados

(ya examinados) • Tipos de estados

No generados: no aparecen en ABIERTOS ni en CERRADOS Generados no Examinados: en ABIERTOS Examinados no Expandidos: el estado actual Examinados: en CERRADOS

añadir ESTADO_INICIAL a ABIERTOS inicializar CERRADOS a VACIO RESUELTO:= false while (ABIERTOS no VACIO and no RESUELTO) do ACTUAL:= primer nodo de ABIERTOS if ACTUAl es ESTADO_FINAL then RESUELTO:= true else añadir ACTUAL a CERRADOS /* expandir ACTUAL */ for all (OPERADOR aplicable a ACTUAL) do generar NUEVO_ESTADO aplicando OPERADOR if (NUEVO_ESTADO no en ABIERTOS ni en CERRADOS) then añadir NUEVO_ESTADO al final de ABIERTOS end if end for end if end while

Page 10: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Incrementa el coste computacional • Gestión de las listas • Comprobación pertenencia (inspeccionar ABIERTOS y CERRADOS)

Características búsqueda en anchura

• Es completa: Garantiza que se encuentra la solución o Si esta existe o Si el espacio de búsqueda es finito (sin ciclos)

• Es óptima: Siempre encuentra la solución más corta o Se asegura que la solución encontrada es la de menor profundidad o nota: Si los operadores tienen asociado un coste, la solución menos

profunda puede no ser la menos costosa. • Complejidad

o Dos factores § b, factor de ramificación: n° promedio de estados generados desde

un estado dado § p, profundidad estado objetivo: n° mínimo de operadores necesarios

para alcanzar la solución encontrada o Complejidad espacial: O(bp) o Complejidad temporal: O(bp) o En el peor de los casos examina todos los nodos posible o Complejidad exponencial: se saca 1 de ABIERTOS y se añaden b de

media • Muy ineficaz (explosión combinatoria), sobre todo en requisitos de espacio.

4.3.3 BÚSQUEDA ÓPTIMA  La búsqueda optima también es llamada búsqueda heurística, trata de resolver los problemas mediante un nueva técnica. Podemos expandir nodos por selección seleccionando el nodo más prometedor, donde estos nodos estarán identificados por el valor de su fuerza comparada con sus competidores homólogos, con la ayuda de funciones intuitivas especializadas, llamadas funciones heurísticas. La búsqueda heurística generalmente trabaja para dos tipos distintos de problemas: Forward reasoning (razonamiento hacia delante) Backward reasoning (razonamiento hacia atrás) Funcionamiento

• Analizar primero los nodos con menor coste. • Ordenar la cola de abiertos por coste, de menor a mayor • De esta manera, cuando se llega por primera vez a un estado final, se llega con el

menor costo posible. • Se trata de una búsqueda ciega:

Page 11: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

• No usa conocimiento para guiar la búsqueda hacia el objetivo • Caso particular: búsqueda en anchura.

Propiedades de la búsqueda óptima

• Complejidad: o r: factor de ramificación. o p: profundidad de la solución. o Complejidad en espacio: O(rp). o Complejidad en tiempo: O(rp).

• Es completa. • Es óptima. • Salvo en espacios de estados pequeños, en la práctica esta búsqueda no es

posible, debido a la cantidad de tiempo y espacio consumidos Implementación de la búsqueda óptima FUNCION BUSQUEDA-OPTIMA ()

1. Hacer ABIERTOS la cola formada por el nodo inicial (es decir, el nodo cuyo estado es *ESTADO-INICIAL*, cuyo camino es vacío y cuyo coste es 0); Hacer CERRADOS vacío.

2. Mientras que ABIERTOS no esté vacía,

2.1 Hacer ACTUAL el primer nodo de ABIERTOS y ABIERTOS el resto de ABIERTOS 2.2 Poner el nodo ACTUAL en CERRADOS. 2.3 Si ES-ESTADO-FINAL (ESTADO (ACTUAL)),

2.3.1 devolver el nodo ACTUAL y terminar. 2.3.2 en caso contrario,

2.3.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES (ACTUAL) que o bien tienen un estado que no aparece en los nodos de ABIERTOS ni de CERRADOS, o bien su coste es menor que cualquier otro nodo con el mismo estado que apareciera en ABIERTOS o en CERRADOS 2.3.2.2 Hacer ABIERTOS el resultado de incluir NUEVOS-SUCESORES en ABIERTOS y ordenar todo en orden creciente de los costes de los caminos de los nodos

3. Devolver FALLO.

4.4 SATISFACCIÓN DE RESTRICCIONES

Los problemas pueden resolverse buscando en un espacio de estados, estos estados pueden evaluarse por heurísticas específicas para el dominio y probados para verificar si son estados meta. Los componentes del estado, son equivalentes a un grafo de restricciones, los cuales están compuestos de:

• Variables. • Dominios (valores posibles para las variables). • Restricciones (binarias) entre las variables

Page 12: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

La satisfaccion de restricciones s la asignación de valores a un conjunto de variables para satisfacer las restricciones dadas.

Definición: red de restricciones P = (X, D, C) X = { X1, X2,. . ., Xn } variables D = { D1, D2,. . ., Dn } dominios C = { C1, C2,. . ., Ce } restricciones Dada una restricción Ci, var (Ci ) = {Xi1,..., Xik } relaciona k variables (restricción k-aria) rel (Ci ) Í Di1´ Di2 ´ ... ´ Dik tuplas de valores permitidos CSP: problema de resolver la red de restricciones Solución: asignación de valores a variables satisfaciendo todas las restricciones Complejidad: NP-completo algoritmos exponenciales (caso peor)

• Un problema de satisfacción de restricciones (o PSR) se define por un conjunto de variables, X1, X2, …, Xn, y un conjunto de restricciones, C1, C2, …, Cm.

• Cada variable Xi tiene un dominio no vacío Di de posibles valores. • Cada restricción Ci involucra algún subconjunto de las variables y especifica las

combinaciones permisibles de valores de ese subconjunto.

• Un estado del problema se define por una asignación de valores a alguna o todas las variables, {Xi = vi, Xj = vj, …}.

• Una asignación que no viola ninguna restricción es llamada consistente o legal. • Una asignación completa es una en la cual cada variable es mencionada. • Una solución a un PSR es una asignación completa que satisface todas las

restricciones. Objetivo: encontrar un estado que satisface las restricciones Representación

• Estado = Grafo de restricciones o Variables = etiquetas de nodos o Dominios = contenido de nodos o Restricciones = arcos dirigidos y etiquetados entre nodos

• Ejemplo: colorear mapa

Page 13: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

Algoritmos

• Generación y prueba: enormemente ineficiente • Búsqueda heurística

o Búsqueda en profundidad con backtracking cronológico • Propagación de restricciones

o Antes de la búsqueda o Durante la búsqueda

Propagación de restricciones

• Cuestiones técnicas sobre la comprobación hacia adelante: o Cada nodo del ´árbol debe contener el estado junto la lista de valores

posibles en las variables por asignar o Muy fácil de usar en conjunción con la heurística MRV

• La comprobación hacia adelante es un caso particular de propagación de restricciones:

o Propagar las implicaciones de las restricciones sobre una variable sobre otras variables

o Existen técnicas más completas para propagar restricciones que la comprobación hacia adelante

o la propagación debe ser rápida: completitud vs rapidez • La consistencia de arcos proporciona un método con un buen compromiso entre

eficiencia y completitud Un conjunto de restricciones puede inducir otras que estaban implícitas. La propagación de restricciones es el proceso de hacerlas explícitas

El papel de la PR es disminuir el espacio de búsqueda. Debemos realizar la propagación:

• Preproceso (eliminar zonas del espacio donde no hay soluciones)

Page 14: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

• 2 durante el proceso: podar el espacio a medida que la búsqueda progresa (Forward Checking)

Cada ciclo tiene dos partes:

• Se propagan las restricciones Se podrían utilizar de reglas de inferencia. Tener en cuenta que las restricciones no tienen por qué ser independientes (Muchas restricciones implican a varias variables, una variable participa en muchas restricciones)

• Se analiza el resultado: o Solución encontrada o Solución imposible o Seguir buscando: proceso heurístico de búsqueda

Propiedades sobre grafos de restricciones

• Se pueden definir propiedades sobre los grafos de restricciones que permiten reducir el espacio de búsqueda o K-consistencia: Poda de valores que no sean posibles para un grupo de k

variables o Arco consistencia (2-consistencia): Eliminamos valores imposibles para

parejas de variables o Camino consistencia (3-consistencia): Eliminamos valores imposibles para

ternas de variables • Comenzar con un grafo k-consistente (2, 3, ...) reduce el número de backtrackings

Preproceso de arco-consistencia

• Un PSR es arco-consistente si para cada par de variables (Xi , Xj ) y para cualquier valor vk de Di existe un valor vl de Dj tal que se satisfacen las restricciones. Es decir, se busca que los valores posibles de Xi sean consistentes con la restricción asociada al arco.

• Lo que realmente pretendemos es que todas las variables sean arco consistentes para todos los arcos que inciden en ellas. Es decir, que los dominios actuales de cada variable sean consistentes con todas las restricciones.

Consistencia de arcos

• En un PSR, por arco entendemos un arco dirigido en el grafo que lo representa o Equivalentemente, un arco es una restricción en la que hay una variable

distinguida o Notación: B > E, CO 6= SE, |Vi − Vj| 6= |i − j|

• Arco consistente respecto a un conjunto de dominios asociados a un conjunto de variables:

Page 15: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

o Para cualquier valor del dominio asociado a la variable distinguida del arco, existen valores en los dominios de las restantes variables que satisfacen la restricción del arco

Propagación durante la búsqueda (forward checking)

• Modificación del algoritmo de búsqueda en profundidad con backtracking cronológico (introducimos la propagación de restricciones después de cada asignación)

• Anticipación: detectar cuanto antes caminos sin solución y podarlos. o Asignar un valor y consultar las restricciones sobre las variables futuras

con arco desde la actual o Se eliminan valores no compatibles de los dominios correspondientes a

dichas variables futuras • Equivale a hacer arco-consistente la variable actual con las futuras en cada paso • La eficiencia dependerá del problema (incrementamos el coste de cada iteración)

4.5 RESOLUCIÓN DE PROBLEMAS DE JUEGOS

La resolución de juegos y la planificación así como la construcción de agentes inteligentes constituyen amplios campos que abarca la rama de la Inteligencia Artificial. A continuación, veremos algunos ejemplos de resolución de juegos y problemas típicos de planificación implementados en Prolog. Podremos observar la facilidad con la que podemos plasmar las especificaciones de los problemas directamente, utilizando una sintaxis que nos proporciona un alto grado de abstracción. Esto nos aporta una gran ventaja a la hora de realizar el desarrollo de la aplicación una vez analizado el problema y diseñada su solución.

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...) Es el proceso que partiendo de unos datos iníciales y utilizando un conjunto de procedimientos escogidos, es capaz de determinar el conjunto de pasos o elementos que llevan a una solución óptima o semi-óptima de un problema de planificación. ¿Por qué utilizar juegos? Por que través de los juegos es muy fácil medir el éxito o el fracaso, por lo que podemos comprobar si las técnicas y algoritmos empleados son los óptimos. Funcionamiento

• Deseamos definir cualquier tipo de problema de manera que se pueda resolver automáticamente

• Necesitamos: o Una representación común para todos los problemas

Page 16: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

o Algoritmos que usen alguna estrategia para resolver problemas definidos en esa representación común.  

Ejemplo: N reinas                                

• Espacio de estados: Configuraciones de 0 a n reinas en el tablero con sólo una por fila y columna

• Estado inicial: Configuración sin reinas en el tablero • Estado final: Configuración en la que ninguna reina se mata entre si • Operadores: Colocar una reina en una fila y columna

o Condiciones: La reina no es matada por ninguna ya colocada o Transformación: Colocar una reina mas en el tablero en una fila y columna

determinada • Solución: Una solución, pero no nos importan los pasos

BIBLIOGRAFIAS

1. http://www.cs.us.es/cursos/ia1/temas/tema-02.pdf

2. http://ccia.ei.uvigo.es/docencia/IA/Tema2.pdf

3. http://www.infor.uva.es/~calonso/IAI/Tema3-

BusquedaNoInformada/FormulacionEspacioEstado08-09.pdf

4. http://www.matesco.unican.es/informacion_academica/2006_2007/informatica/InteligenciaArtificial/tema2-intro.pdf

5. http://www.iiia.csic.es/~pedro/busqueda1-introduccion.pdf

6. http://daparoan.webcindario.com/43_busqueda_sistematica.html

7. http://www.cs.us.es/cursos/ia1/temas/tema-04.pdf

Page 17: BUSQUEDA Y SATISFACCION DE RESTRICCIONES

8. http://www.cs.us.es/cursos/iia-2004/temas/tema-03.pdf

9. http://www.lsi.upc.es/~bejar/ia/transpas/teoria/2-BH5-CSP.pdf

10. http://www.cs.us.es/cursos/ia1/temas/tema-05.pdf

11. www.wiphala.net/.../class_07_constrain_satisfaction_problems.ppt

12. http://www.infor.uva.es/~jjalvarez/asignaturas/IA_teoria/lectures/CSP.pdf

13. http://www.it.uc3m.es/jvillena/irc/material/02.pdf

14. http://www.lsi.upc.es/~bejar/ia/transpas/teoria/2-BH1-introduccion_busqueda.pdf

15. http://www.buenastareas.com/ensayos/Hola/289708.html