Está en la página 1de 43

Porque del corazn salen los malos pensamientos,

los homicidios, los adulterios, las fornicaciones, los


hurtos, los falsos testimonios, las blasfemias.

Estas cosas son las que corrompen al hombre

Jesucristo
1
Problemas con satisfaccin de
restricciones
2
Problemas con Satisfaccin de Restricciones(PSR)

3
Clase general de problemas: PSR Binarios

Variable V
i
con valores
en el dominio D
i
Arco constriccin
unitario
Arco constriccin
binario
Este diagrama es
llamado un grafo
restringido
Problema bsico:
Encontrar un d
i
D
i
para cada V
i
ajustndose a todas las restricciones.
N-reinas como un PSR
Clsico problema de referencia
Ubique N reinas en un tablero
NxN de forma que ninguna
pueda atacar a la otra
4
1 2 3 4

1
2
3
4
Variables: las posiciones del tablero N x N en el ajedrez
Dominio: reina o sin-reina (blanco)
Restriccin: no pueden estar dos reinas en la misma lnea (vertical,
horizontal, diagonal)
Calendarizacin como un PSR
Actividades
5
5
4
3
2
1
tiempo
Escoger los perodos para las
actividades ej. Observaciones en
el telescopio Hubble, o perodos
de clase asignados.
Variables: son las actividades
Dominio: conjunto horarios (o pedazos de tiempo)
Restricciones:
1.- Las actividades que usan los mismos recursos
no pueden traslaparse en el tiempo.
2.- Las pre condiciones estn satisfechas
Coloracin de mapas como un PSR
6
Usar un pequeo conjunto de colores
para pintar las regiones del mapa
evitando que dos regiones adyacentes
tengan el mismo color.

Variables: regiones
Dominios : colores permitidos

Restricciones: regiones adyacentes deben tener colores diferentes

Problemas de satisfaccin booleana
como un PSR
Encuentre valores booleanos (A o B o -C) y (-A o C o B)...
para las variables A,B, C...
que satisfagan la frmula.


Variables: clusulas

Dominios: valores booleanos .

Restricciones: clusula con variable booleana compartida debe estar de
acuerdo con el valor de la variable.{ si A es Falsa la primera vez,
siempre tiene que tener ese valor}
7
Buenas noticias / malas noticias
Buenas noticias muy general y la clase de problemas prcticos e
interesantes.

Malas noticias - incluye problemas NP duros (intratables)


Por tanto, un buen comportamiento esta en funcin del dominio (su
estructura) no de la formulacin como PSR.
8
Ejemplo PSR
Dado 40 cursos (8.01, 8.02, ..., 6.842) y 10 semestres . Encuentre una
Calendarizacin adecuada.

Restricciones:
Pre-requisitos
Cursos ofrecidos en semestres dados
Numero limite de cursos por semestre
Evitar conflictos de tiempo


Observe, que los PSR NO son para expresar preferencias , por
ej. minimizar dificultades, balancear reas de asignaturas,etc.
9
Seleccin de variables y valores
VARIABLES DOMINIOS
A. Semestres? Combinacin legal de por ejemplo 4
cursos (pero este es un inmenso
conjunto de valores)
B. Asignatura de semestres? cursos ofrecidos durante ese semestre

ej. 4 de ellos
(sem 1, 1) (sem 1,3)
(sem 1, 2) (sem 1,4)

C. Clases o asignaturas? Semestres
10
Restricciones
Usando los asignaturas como variables y los semestres/asignatura como
valores.

Prerrequisitos



Limite del # de cursos Usa semestre/asignat
una sola vez

Evitando conflictos de tiempo Pares de cursos
ofrecidos al mismo tiempo o
tiempos traslapados
11
Un par de cursos que
deben ser ordenados
Mat 1

Mat 2

Diferente para todo
par de variables =
Resolviendo PSR

La solucin de problemas PSR requiere cierta
combinacin de:

1. Propagacin de restricciones, para eliminar valores
que podran NO se parte de alguna solucin.

2. Buscar, para explorar asignaciones vlidas.
12
Propagacin de restricciones
(consistencia del arco)
La consistencia de un arco elimina valores del domino de la variable que nunca
pueden llegar a ser parte de una solucin consistente.
V
i
V
j

Un arco dirigido (Vi, Vj) es un arco consistente si
x Di, y Dj tal que (x,y) es permitido por la restriccin del arco.

Podemos alcanzar la consistencia del arco con la eliminacin de valores de Di
(dominio de la variable ubicado en la cola del arco restriccin) que hace fallar esta
condicin.

Si cambia Di, tenemos que revisar que el o los otros arcos que llegan a Di son aun
consistentes. A este fenmeno se le llama propagacin de restricciones

13
A
Ejemplo de propagacin de
restricciones
14
Coloreando grficos
Los dominios iniciales son los
indicados
Restriccin color
diferente
V1
V2
V3
R,G,B
R,G G
Ejemplo de propagacin de
restricciones
15
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
Restricciones color
diferente
V1
V2
V3
R,G,B
R,G G
Cada arco restringido sin direccin es
realmente dos arcos restringidos, los
efectos mostrados a continuacin son el
resultado de examinar AMBOS arcos .
Ejemplo de propagacin de
restricciones
16
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
V1 V 2

ninguno
Restricciones color
diferente
V1
V2
V3
R,G,B
R,G G
V2
V3
R,G,B
R, G G
V1
Ejemplo de propagacin de
restricciones
17
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
V1 V 2

ninguno
V1 V3 V1(G)
Restricciones color
diferente
V1
V2
V3
V1
R,G,B
R,G G
V2
V3
R, B
R,G G
Ejemplo de propagacin de
restricciones
18
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
V1 V 2

ninguno
V1 V3 V1(G)
V2 V3 V2(G)
Restricciones color
diferente
V1
V2
V3
V1
R,G,B
R,G G
V2
V3
R, B
R G
Ejemplo de propagacin de
restricciones
19
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
V1 V 2

ninguno
V1 V3 V1(G)
V2 V3 V2(G)
V1 V2 V1(R )
Restricciones color
diferente
V1
V2
V3
V1
R,G,B
R,G G
V2
V3
B
R G
Ejemplo de propagacin de
restricciones
20
Coloreando grficos
Los dominios iniciales son los
indicados
Arco
examinado
Valor
eliminado
V1 V 2

ninguno
V1 V3 V1(G)
V2 V3 V2(G)
V1 V2 V1(R )
V1 V3
ninguno
V2 V3
ninguno
Restricciones color
diferente
V1
V2
V3
V1
R,G,B
R,G G
V2
V3
B
R G
El grafo es un arco consistente.
Si se tiene alguna variable vaca, el grafo
no tiene una solucin consistente.
Ejemplo de propagacin
21
V2
V3
R, B
R, G G V2
V3
R, B
R G
V2
V3
B
R G
Lnea 2)
Lnea 4)
Lnea 3)
V1
V1
V1
Pero, la consistencia del arco no es suficiente
22
R,G
R,G
R,G
Es un arco
consistente pero
no tiene la
solucin
Es un arco consistente
pero tiene 2 soluciones:
B,R,G; B,G,R
B, G
R,G R,G
B, G
R,G R,G
B, R no son
permitidos
Arco consistente
con 1 solucin
Necesitamos buscar para encontrar la solucin ( si la hay)
Bsqueda de soluciones backtracking(BT)
23
R
G
R
Cuando se tienen muchas variables en el dominio, la
consistencia del arco no es suficiente, es necesario realizar una
bsqueda.
Cualquier tcnica podra servir.
La tcnica mas sencilla es el backtracking (bsqueda primero
en profundidad)
Asignando a V1
Asignando a V2
Buscando la solucin backtracking (BT)
G
R
R B
G
R
G R G
R
R
R
R
G
G
G G
Asignando a V2
Asignando a V3
Asignando a V1
V2
V3
R,G,B
R,G R,G
R,G,B
R,G
Representando la asignacin de valores a las variables como un rbol

Estos problemas de bsqueda son diferentes a las realizadas
anteriormente, aqu s importa el camino.
Buscando la solucin backtracking (BT)
Inconsistencia con V1 = R
V2
V1
G
R
R B
G
R
G R G
R
R
R
R
G
G
G G
Asignando a V2
Asignando a V3
Asignando a V1
V2
V3
R,G,B
R,G R,G
R,G,B
R,G
X
Representando la asignacin de valores a las variables como un
rbol.

Antes de cualquier asignacin, se tiene que revisar toda restriccin,
incluyendo las asignaciones previas.
Buscando la solucin backtracking (BT)
Inconsistencia con V1 = R
G
R
R B
G
R
G R G
R
R
R
R
G
G
G G
Asignando a V2
Asignando a V3
Asignando a V1
V2
V3
R,G,B
R,G R,G
R,G,B
R,G
X
X
X
Inconsistencia
con V2=G
Representando la asignacin de valores a las variables como un rbol
Buscando la solucin backtracking (BT)
G
R
R B
G
R
G R G
R
R
R
R
G
G
G G
Asignando a V2
Asignando a V3
Asignando a V1
V2 V3
R,G,B
R,G R,G
R,G,B
R,G
X
X
X
X
X
X X X
Consistentes
Representando la asignacin de valores a las variables como un rbol
Combinando backtracking y propagacin de
restricciones
Un nodo en un rbol BT es una asignacin parcial en el cual el
dominio de cada variable a sido ajustado (tentativamente) a un
conjunto nico.

Usamos propagacin de restricciones (arco consistencia) para
propagar los efectos de esta asignacin tentativa, es decir, eliminar
valores inconsistentes con valores actuales.

Pregunta: Cuanta propagacin hay que hacer?
Respuesta: No mucha, solamente la propagacin a los vecinos
inmediatos. A esto se le llama forward checking(FC).
FC: sacar de consideracin cualquier valor para
variables futuras que son inconsistentes con los valores
asignados a variables pasadas.
Backtracking con Forward Checking (BT-FC)
Cuando examinamos la asignacin V
i
=d
i
, borramos todo valor inconsistente
con esa asignacin del domino del vecino en el grafo restringido.
V3
R,G,B
R,G R,G
R,G,B
R,G
R
Asignando a V1
Asignando a V2
Asignando a V3
V1
V2
Backtracking con Forward Checking (BT-FC)
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente
con esa asignacin del domino del vecino en el grafo restringido.
R
G
Asignando a V1
Asignando a V2
V1
V2
V3
R
G G


Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente
con esa asignacin del domino del vecino en el grafo restringido.
R
Backtracking con Forward Checking (BT-FC)
R
X
G
V3
R
G


V1
V2
Asignando a V1
Asignando a V2
Se tiene una inconsistencia
siempre que un dominio se
encuentre vacio.
Fall y regresa.
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.

G
V3
R,G,B
R,G R,G


V2
V1
Asignando a V1
Cuando se regresa es necesario restaurar
los valores en los dominios, debido a
que las eliminaciones fueron hechas
para alcanzar la consistencia con
asignaciones tentativas consideradas
durante la bsqueda.
Asignando a V2
Asignando a V3
Backtracking con Forward Checking (BT-FC)
Fall y regresa.
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.

G
V3
G
R R


V2
V1
Asignando a V1
Asignando a V2
Asignando a V3
Backtracking con Forward Checking (BT-FC)
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
R
G
Asignando a V1
Asignando a V2
Asignando a V3
V3
G
R


V2
V1
Backtracking con Forward Checking (BT-FC)
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
R
G
Asignando a V1
Asignando a V2
Asignando a V3
V3
G
R


V2
V1
X
Backtracking con Forward Checking (BT-FC)
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
B
Asignando a V1
Asignando a V2
V3
R,G,B
R,G R,G
R,G,B
R,G
V2
V1
Backtracking con Forward Checking (BT-FC)
V3
B
R,G R,G
B
R,G
V2
V1
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
V3
B
R G


R
B
R,G
V1
V2
Asignando a V1
Asignando a V2
Backtracking con Forward Checking (BT-FC)
Asignando a V3
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
R
B
G
V3
B
R


G
V1
V2
Asignacin
consistente
Asignando a V1
Asignando a V2
Asignando a V3
Backtracking con Forward Checking (BT-FC)
Cuando examinamos asignacin Vi=di, borramos todo valor inconsistente con esa
asignacin del domino del vecino en el grafo restringido.
R
B
V3
B
R G


G
V1
Generalmente se prefiere esto
al BT puro.
Asignando a V1
Asignando a V2
Asignando a V3
Backtracking con Forward Checking (BT-FC)
BT-FC con ordenacin dinmica
El backtracking tradicional usa ordenacin fija de
variables y valores ejem.: ubicar primero la variable con
ms restricciones.

Se puede mejorar, al ordenar dinmicamente como en
el proceso de bsqueda.
Variable ms restringida: Cuando hacemos forward-
checking, tomamos la variable con menos valores
(minimizando el factor de ramificacin)

Valores con menos restriccin: Seleccionamos el valor
que elimina menos valores en los dominios de los
vecinos.
Ejemplo: FC resuelve el problema de las n-reinas hasta
n=30, con el procedimiento FC y ordenacin puede
resolverlo con n=1000.
Colores: R, V, A
A = verde
B = azul
C = rojo
E es la variable ms restringida
(dominio es mas pequeo)
ROJO es el valor con menor restriccin. (elimina
menos valores en los dominios de los
vecinos).
A
B
C
E D
F
Rojo
Verde
,azul
Rojo, azul
Qu pas debemos colorear
Qu color debemos seleccionar
para pintarlo?

Para terminar algunas ideas
Todos los mtodos para resolver PSR estudiados son sistemticos
(bsquedas garantizadas).

Recientemente investigadores han tenido xitos sorpresivos en
bsquedas no sistemticas sino que son randmicas.

Versiones de estas estrategias pueden resolver el problema del
milln-de-reinas en minutos, se decidi que N-reinas ya no es
interesante...

JUEGOS..

Tomado del


Instituto Tecnolgico de Massachusetts
www.ocw.mit.edu
6.034 Artificial Intelligence 2004
Archivo ch3-csp-games1

También podría gustarte