restricciones inteligencia artificial

28
Busqueda con satisfacción de restricciones Inteligencia Artificial

Upload: fernando-ahumada

Post on 26-Sep-2015

250 views

Category:

Documents


0 download

DESCRIPTION

IA

TRANSCRIPT

Busqueda con satisfaccin de restricciones

Busqueda con satisfaccin de restricciones

Inteligencia Artificial

Introduccin

Satisfaccin de restricciones (Constraints Satisfaction Problems)INTRODUCCIONMuchos de los problemas que se plantean en Inteligencia Articial pueden formalizarse como un problema de satisfaccin de restricciones (CSP) y, luego, resolverse utilizando las tcnicas de resolucin que se han desarrollado para CSPs. Este mtodo genrico de resolucin de problemas ha demostrado ser altamente competitivo en reas tan diversas como visin articial, planicacin, scheduling, razonamiento temporal y vericacin de circuitos. Adems, tiene la ventaja de que la modelizacin de los problemas es muy natural y declarativa, de manera que se formaliza lo que se ha de satisfacer sin necesidad de indicar como se tiene que satisfacer..

Introduccin

La programacin con restricciones (PR) ha generado gran expectacin entre expertos de muchas reas debido a su potencial para la resolucin de problemas reales. La idea es resolver problemas declarando restricciones sobre la regin factible del mismo y encontrar soluciones que satisfagan todas las restricciones y en su caso optimicen criterios determinados

Definicin:

Un problema de satisfaccin de restricciones (PSR) est definido por un conjunto de variablesX= {X1, X2 Xn} es un conjunto nito de variables,D= {D1, D2 Dn} es un conjunto nito de dominios, yR= {X1, X2 Xn} es un conjunto nito de restricciones.Cada variable Xi tiene un dominio Di de posibles valores. Cada restriccin Ri comprende algn subconjunto de variables y especifica las combinaciones de valores permisibles para cada subconjunto. Si los dominios de las variables son discretos o continuos, finitos o infinitos, se pueden distinguir distintos tipos de PSRs, se tratarn problemas con dominios discretos y finitos.

Definicin

Una restriccion en la que interviene una unica variable es una restriccion unaria, y una restriccion en la que intervienen dos variables es una restriccin binaria. Una restriccion unaria en la que interviene la variable Xi, y una restriccion binaria en la que intervienen las variables la representaremos por Ri Xi e Xj la representamos por Rij.Un estado del problema est definido por una asignacin de valores a algunas o a todas las variables, {Xi=vi, Xj= vj,}. Una asignacin que no viola ninguna restriccin se llama consistente o asignacin vlida. Una asignacin completa es una en la que cada variable es mencionada, una solucin a un PSR es una asignacin completa que satisface a todas las restricciones.Una asignacion de un valor del dominio a cada variable de un CSP es una solucion del CSP si dicha asignacion satisface todas las restricciones.

Conceptos Bsicos

La programacin de restricciones puede dividirse en dos ramas claramente diferenciadas:

la satisfaccin de restricciones y la resolucin de restricciones. Ambas comparten la misma terminologa, pero sus orgenes y tcnicas de resolucin son diferentes.

La satisfaccin de restricciones trata con problemas que tienen dominios finitos, mientras que la resolucin de restricciones est orientada principalmente a problemas sobre dominios infinitos o dominios ms complejos.. Los conceptos clave en esta metodologa corresponden a los aspectos de:

Conceptos Bsicos

La modelizacin del problema, que permite representar un problema mediante un conjunto finito de variables, un dominio de valores finito para cada variable y un conjunto de restricciones que acotan las combinaciones vlidas de valores que las variables pueden tomar.

Tcnicas inferenciales que permiten deducir nueva informacin sobre el problema a partir de la explcitamente representada. Estas tcnicas tambin permiten acotar y hacer ms eficiente el proceso de bsqueda de soluciones.

Tcnicas de bsqueda de la solucin, apoyadas generalmente por criterios heursticos, bien dependientes o independientes del dominio. El objetivo es encontrar un valor para cada variable del problema de manera que se satisfagan todas las restricciones del problema.

Modelizacin del CSP

Generalmente la declaracin de un problema se suele expresar de muchas maneras diferentes, e incluso en lenguaje natural. Una parte muy importante para la resolucin de problemas de la vida real es el modelado del problema en trminos de CSPs, es decir, variables, dominios y restricciones.

Clasificacin segn el tipo de restricciones:

Restricciones de obligacin (hard constraints).

Restricciones de preferencia (soft constraints).

Clasificacin segn los dominios:

Dominios discretos (finitos o infinitos).

Dominios continuos.

Clasificacin segn el nmero de variables implicadas en las restricciones

Restricciones binarias.

Restricciones mltiples.

Tipos de Problemas de Satisfaccin de Restricciones.

Segn el tipo de restricciones

Restricciones de obligacin

Restricciones de preferencia

Segn los dominios

Dominios discretos

Dominios continuos

Segn el nmero de variables implicadas

Restricciones binarias

Restricciones mltiples

Restricciones de obligacin (hard constraints)

Establecen condiciones para las variables que necesitan ser satisfactorias.

Son aquellos que definitivamente queremos que sean ciertos.

Podemos relacionarlos con un mecanismo ensamblado satisfactoriamente.

Estn presentes siempre en problemas prcticos.

Hard Constraints Soft Constraints

Restricciones de preferencia (soft constraints)

Tienen algunos valores variables que estn penalizados en la funcin objetivo, en el dado caso que las variables no se puedan satisfacer.

Son aquellos que nos gustara que fueran verdaderos, pero no a expensas de otros.

No nos interesa tratar de vincular cada punto exacto si solo puede serlo al romper todos los vnculos.

Clasificacin segn los dominios:

Dominios discretos (finitos o infinitos)

Dominios continuos

La satisfaccin de restricciones trata con dominios finitos, mientras que la resolucin de restricciones est orientada principalmente a problemas sobre dominios infinitos o dominios ms complejos.

Dominios/Valores:

El dominio de una variable lo denotamos por . A los valores individuales de un dominio los representaremos mediante las primeras letras del alfabeto, por ejemplo a, b, c, y al igual que en las variables tambin pueden ir seguidas de subndices. La asignacin de un valor a a una variable x la denotaremos mediante el par (x, a).

Restricciones N-arias

N-arias: son restricciones en las que participan N variables (N>2).

Hoy en da muchos problemas de la vida real se pueden modelar como problemas de satisfaccin de restricciones (CSPs) no binarias (n-arias). Por ejemplo en areas tales como inteligencia artificial, investigacin operativa, bases de datos y sistemas expertos, la importancia de los CSPs no binarios se est incrementando paulatinamente. Sin embargo la mayor a de los investigadores centran su atencin en los CSPs binarios, tal vez por el hecho de que un CSP no binario se puede transformar en uno binario.

CSPs binarios & n-arios

Un CSP no binario no se suele representar mediante un grafo, sino como un hiper-grafo perdiendo toda la funcionalidad existente sobre la teora de grafos.

donde:

Nodos: Variables

Arcos: Relaciones binarias entre las variables.

X1

X2

X3

X5

X4

X7

X6

C123

C24567

Restricciones Binarias

Un CSP binario se acostumbra a representar mediante un grafo de restricciones. Cada nodo del grafo corresponde a una variable del problema. Cada restriccin se representa por una arista que tiene como etiqueta el nombre de la restriccin. Si la restriccin es unaria, la arista tiene como origen y nal el mismo nodo. Si la restriccin es binaria, conecta los nodos de las dos variables que intervienen en la restriccin. Una arista que conecta dos nodos Xi y Xj representa dos arcos: el arco que va de Xi a Xj y el arco que va de Xj a Xi.

La gura 3 muestra los grafos de restricciones correspondientes al problema de la 3-coloracion del grafo de la gura 1 y al problema de las 4 reinas. Junto a cada nodo, tambin mostramos el dominio de la variable que corresponde al nodo

EJEMLPO 1:

El problema de la k-coloracion de un grafo consiste en decidir si los nodos del grafo pueden colorearse empleando k colores de manera que dos nodos adyacentes no esten coloreados con el mismo color. Su representacion como un CSP se puede denir de la siguiente forma:

La formalizacion del problema de la 3-coloracion para el grafo de la gura 1 como un CSP es la siguiente:

Variables: X = {X1, X2, X3 }, una variable por nodo.

Dominios: Di = {azul, rojo, verde} , 1 =< i =< 3, un valor por color.

Restricciones: nodos adyacentes tienen colores diferentes.

R12 = { (azul, rojo), (azul, verde), (rojo, verde) }

R13 = { (azul, rojo), (azul, verde), (rojo, verde) }

R23 = { (azul, rojo), (azul, verde), (rojo, verde) }

Problema de las 8 reinas

El problema de las ocho reinas es un pasatiempo en el que se colocan ocho reinas sin que se amenacen.

BackTracking

Vuelta atrs (Backtracking) es una estrategia para encontrar soluciones a problemas que satisfacen restricciones.

backtracking se asemeja a un recorrido en profundidad dentro de un grafo dirigido.

Construye soluciones parciales a medida que progresa el recorrido; estas soluciones parciales limitan las regiones en las que se puede encontrar una solucin completa.

Su principal virtud es que en la mayora de las implementaciones se puede evitar combinaciones reduciendo el tiempo de ejecucin.

Definicin: posicionar n reinas en un tablero de

ajedrez n x n, de forma que no se ataquen.

Formulacin: 1 reina por fila

variables: reinas, Xi reina en la fila i-sima

dominios: columnas posibles {1, 2, . . . , n}

restricciones: no colocar dos reinas en

la misma columna

la misma diagonal

Caractersticas:

CSP binario, discreto y finito

BackTracking

Problema de las 8 reinas

El problema de las ocho reinas tiene 92 soluciones, de las cuales 12 son esencialmente distintas, 92 soluciones existentes se pueden obtener a partir de simetras, rotaciones y traslaciones de las 12 soluciones nicas

1 -- 15863724

2 -- 16837425

3 -- 17468253

4 -- 17582463

5 -- 24683175

6 -- 25713864

7 -- 25741863

8 -- 26174835

9 -- 26831475

10 -- 27368514

11 -- 27581463

12 -- 28613574

13 -- 31758246

14 -- 35281746

15 -- 35286471

Bibliografa y referencias de internet:

http://users.dsic.upv.es/grupos/gps/papers/372-370-1-PB.pdf

X es el conjunto de nodos. D asigna el dominio {1, 2,, k} a cada variable, donde cada elemento del dominio denota uno de los posibles colores. R contiene la restriccion Xi Xj para cada par (Xi, Xj) de nodos adyacentes.

X es el conjunto de nodos.

D asigna el dominio {1, 2,, k} a cada variable, donde cada elemento del dominio

denota uno de los posibles colores.

R contiene la restriccion Xi Xj para cada par (Xi, Xj) de nodos adyacentes.