Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Problemas de Satisfaccion de Restricciones
Problemas de Satisfaccion de Restricciones
Tasmania
Problemas de Satisfaccin de
Restricciones
Formulacin como PSR:
Variables: las regiones de Australia
AO (Australia del Oeste)
TN (Territorio del Norte)
Q (Queensland)
NGS (Nueva Gales del Sur)
V (Victoria)
AS (Australia del Sur)
T (Tasmania)
Problemas de Satisfaccin de
Restricciones
Formulacin como PSR:
Dominios: El dominio de cada variable es el conjunto
{rojo, verde, azul}.
Restricciones: Las restricciones requieren que
regiones vecinas tengan distintos colores. Por
ejemplo, las combinaciones permisibles para AO y
TN son los pares:
{(rojo, verde), (rojo, azul), (verde, rojo), (verde, azul),
(azul, rojo), (azul, verde)}
Esta restriccin puede representarse como AO TN.
Problemas de Satisfaccin de
Restricciones
Formulacin como PSR:
Solucin: Hay muchas soluciones posibles,
como
{AO = rojo, TN = verde, Q = rojo, NGS = verde,
V = rojo, AS = azul, T = rojo}
Problemas de Satisfaccin de
Restricciones
Es til visualizar un
PSR como un grafo
de restricciones.
Los nodos del grafo TN
corresponden a las Q
variables del
AO
problema, y los arcos
AS
corresponden a las
NGS
restricciones.
V
T
Problemas de Satisfaccin de
Restricciones
Es til visualizar un TN
PSR como un grafo Q
de restricciones.
AO
Los nodos del grafo AS
corresponden a las
NGS
variables del
problema, y los arcos V
corresponden a las
restricciones.
T
Problemas de Satisfaccin de
Restricciones
Tratar un problema como un PSR tiene
importantes beneficios:
La representacin de estados en un PSR sigue un
patrn estndar (un conjunto de variables con valores
asignados), por lo que la funcin de sucesor y la
prueba de meta pueden ser escritos de una manera
genrica que se aplica a todos los PSR.
Se pueden desarrollar heursticas efectivas que no
requieren experiencia adicional especfica del dominio.
La estructura del grafo de restricciones puede usarse
para simplificar el proceso de solucin en algunos
casos, dando una reduccin exponencial en
complejidad.
Problemas de Satisfaccin de
Restricciones
A un PSR se le puede hacer una formulacin
incremental como un problema de bsqueda
estndar de la siguiente manera:
Estado inicial: La asignacin vaca { }, en la cual
todas las variables estn sin asignar.
Funcin de sucesor: Un valor puede ser asignado a
una variable sin asignar, siempre y cuando no entre
en conflicto con variables previamente asignadas.
Prueba de meta: La asignacin actual est completa.
Costo de ruta: Un costo constante (por ejemplo, 1)
para cada paso.
Problemas de Satisfaccin de
Restricciones
Cada solucin debe ser una asignacin completa y
por lo tanto tiene una profundidad n si hay n
variables.
Por esta razn, los algoritmos de bsqueda primero
en profundidad son populares para los PSR.
Tambin ocurre que la ruta por la cual se alcanza
una solucin es irrelevante. Por lo tanto, tambin se
puede usar una formulacin de estado completo,
en la cual cada estado es una asignacin completa
que puede satisfacer o no las restricciones. Los
mtodos de bsqueda local trabajan bien con esta
formulacin.
Problemas de Satisfaccin de
Restricciones
El tipo ms simple de PSR involucra variables que
son discretas y tienen dominios finitos.
Los problemas de coloreo de mapas son de este
tipo. Incluso el problema de las 8 reinas puede
plantearse como PSR:
Variables: Q1, , Q8 (Posiciones de cada reina en las
columnas 1, , 8).
Dominios: Cada variable tiene el dominio {1, 2, 3, 4, 5, 6,
7, 8}.
Los PSR de dominios finitos incluyen a los PSR
booleanos, cuyas variables son verdadero o falso.
Problemas de Satisfaccin de
Restricciones
Las variables discretas pueden tambin tener
dominios infinitos, por ejemplo, el conjunto de los
nmeros enteros, o el conjunto de todas las cadenas
de caracteres.
Por ejemplo, cuando se requieren programar
trabajos de construccin en el calendario, la fecha de
inicio de cada trabajo es una variable, y sus valores
posibles es el nmero de das enteros a partir de la
fecha actual.
Con dominios infinitos, ya no es posible describir las
restricciones enumerando todas las combinaciones
de valores permisibles.
Problemas de Satisfaccin de
Restricciones
Con dominios infinitos, se debe usar entonces un
lenguaje de restricciones.
Por ejemplo, si Trabajo1 toma 5 das, y debe preceder a
Trabajo3, entonces necesitaramos un lenguaje de
restricciones de desigualdades algebraicas tal como
InicioTrabajo1 + 5 InicioTrabajo3
TWO
+TWO
FOUR
Problemas de Satisfaccin de
Restricciones
El hecho de que cada letra representa un dgito diferente se
puede representar mediante una restriccin de seis variables:
TodasDif (F, T, U, W, R, O), o puede ser representado por la
coleccin de restricciones binarias {F T, F U, , R O}.
Las restricciones de adicin de las cuatro columnas tambin
involucran varias variables:
O + O = R + 10 X1
X1 + W + W = U + 10 X2
X2 + T + T = O + 10 X3
X3 = F
X1, X2 y X3 son variables auxiliares que representan el dgito
(0 o 1) acarreado a la siguiente columna.
Problemas de Satisfaccin de
Restricciones
Las restricciones de alto orden se pueden representar en
un hipergrafo de restricciones:
F T U W R O
X3 X2 X1
Problemas de Satisfaccin de
Restricciones
Cada restriccin de alto orden, con dominio finito, puede
reducirse a un conjunto de restricciones binarias, si se
introducen las variables auxiliares suficientes. Es por eso
que se estudian preferentemente problemas slo con
restriccines binarias.
Hasta ahora se han descrito slo restricciones absolutas
(cualquier asignacin completa que viole alguna de ellas,
se descarta como solucin).
Muchos PSR del mundo real incluyen restricciones de
preferencia, indicando cuales soluciones son preferibles.
Estas restricciones pueden ser codificadas como costos
sobre las asignaciones de variables individuales.
Bsqueda backtracking para los
PSR
Usando la formulacin antes mencionada para
PSR, cualquier algoritmo de bsqueda visto
anteriormente puede ser usado para resolverlos.
Suponiendo que se usa bsqueda primero por
amplitud, el factor de ramificacin en el nivel
superior es nd, en el siguiente nivel es (n 1)d,
y as sucesivamente para los n niveles. Se
genera un rbol de n!dn hojas.
Bsqueda backtracking para los
PSR
Sin embargo, todos los PSR tienen la propiedad
de la conmutatividad.
Un problema es conmutativo si el orden de
aplicacin de cualquier conjunto dado de
acciones no tiene efecto en la salida.
Por lo tanto, todos los algoritmos de bsqueda
en PSR generan sucesores considerando las
posibles asignaciones para slo una variable en
cada nodo del rbol de bsqueda.
Bsqueda backtracking para los
PSR
La bsqueda backtracking es una
bsqueda primero en profundidad que
elige valores para una variable a la vez y
regresa (backtraks) cuando a una
variable no le quedan valores legales para
asignarle.
Bsqueda backtracking para los
PSR
AO = rojo AO = rojo
TN = verde TN = azul
AO = rojo AO = rojo
TN = verde TN = verde
Q = rojo Q = rojo
Bsqueda backtracking para los
PSR
La bsqueda backtracking simple es un
algoritmo no informado, asi que no se
espera que sea efectivo para problemas
grandes.
Bsqueda backtracking para los
PSR
Problema Back- BT+MVR Forward FC+ Conflictos
Tracking Checking MVR Min.
USA (>1,000K) (>1,000K) 2K 60 64
A E
B D
C F
A B C D E F
AO AO
AS
NGS NGS
V V
T T
AS NGS
Una descomposicin
en rbol del grafo del
restricciones del AS NGS
problema del coloreo
V
de Australia T
La estructura de los problemas
Una descomposicin en rbol debe satisfacer
los siguientes tres requerimientos:
Cada variable en el problema original aparece en por
lo menos uno de los subproblemas.
Si dos variables estn conectadas por una restriccin
en el problema original, deben aparecer juntas (con
su restriccin) en por lo menos uno de los
subproblemas.
Si una variable aparece en dos subproblemas en el
rbol que se est creando, debe aparecer en cada
subproblema que forme parte de la ruta que conecta
a los dos primeros subproblemas.
La estructura de los problemas
Los problemas se resuelven
independientemente. Si cualquiera de los
subproblemas no tiene solucin, entonces
sabemos que el problema completo
tampoco tiene solucin.
Si todos los subproblemas se pueden
resolver, se intenta construir entonces una
solucin global al problema.