“AÑO DEL DIALOGO Y LA RECONCILIACION
NACIONAL”
UNIVERSIDAD NACIONAL FEDERICO
VILLARREAL
FACULTAD DE INGENIERÍA INDUSTRIAL Y
DE SISTEMAS
ESCUELA PROFESIONAL DE INGENIERÍA
DE SISTEMAS
SOLUCION DE LAS PREGUNTAS DEL
CAPITULO V – PROBLEMAS DE
SATISFACCIÓN DE RESTRICCIONES
Profesor:
♪ Ing. Muñante Villafuerte, Edgar
Alumnos:
♪ Tupia Callañaupa, Kenny David
♪ Saldaña Bodero, Alvaro Rodolfo
♪ Sullca Ccarampa, Brayan Raul
♪ Panduro Pinedo, Christian
♪ Villanueva Trujillo, Kevin Lee
Ciclo: IX Sección: “B”
2018
5.1. Defina con sus propias palabras los términos problema de satisfacción de
restricciones, restricción, búsqueda con vuelta atrás, consistencia de arco, salto
atrás y mínimos.
Problema de satisfacción de restricciones: Es un problema en el cual el objetivo
es elegir un valor para cada uno de un conjunto de variables, de tal manera que
todos los valores obedezcan un conjunto de restricciones.
Restricción: Es una limitación en los valores posibles que puede tener una
variable
Búsqueda con vuelta atrás: Es una búsqueda de profundidad en la que hay una
sola representación del estado que se actualiza para cada sucesor, y luego debe
restaurarse cuando se llega a un callejón sin salida.
Consistencia de arco: Es una forma de hacer que la búsqueda de rastreo sea
más eficiente, retrocediendo más de un nivel cuando se llega a un callejón sin
salida.
Salto atrás y mínimos: Es una heurística para usar con la búsqueda local de
problemas de CSP. La heurística dice que, cuando se le presente una variable
para modificar, elija el valor que entre en conflicto con el menor número de otras
variables.
5.2. ¿Cuántas soluciones hay para el problema que colorea el mapa de la
Figura?
Hay 18 soluciones para colorear Australia con tres colores. Comience con SA, que
puede tener cualquiera de los tres colores. Luego, moviéndose en el sentido de las
agujas del reloj, WA puede tener cualquiera de los otros dos colores, y todo lo demás
está estrictamente determinado; eso hace 6 posibilidades para el continente,
multiplicado por 3 para los rendimientos de Tasmania 18.
5.3. Explique por qué es una buena heurística el elegir la variable que está más
restringida, en lugar del valor que esta menos restringido en una búsqueda de
PSR.
La variable más restringida tiene sentido porque elige una variable que (en igualdad de
condiciones) puede provocar un error, y es más eficiente fallar lo antes posible (con lo
que se podan grandes partes del espacio de búsqueda). La heurística de valor de
restricción mínima tiene sentido porque permite la mayor cantidad de posibilidades de
que las asignaciones futuras eviten el conflicto.
5.4. Considere el problema de construir (no resolver) crucigramas: prueba de
palabras en una rejilla rectangular. La rejilla, dada como parte del problema,
especifica que cuadrados son en blanco y cuales sombreados. Asuma que se
proporciona una lista de palabras (es decir, un diccionario) y que la tarea es llenar
los cuadrados en blanco usando cualquier subconjunto de la lista. Formule este
problema, con precisión, de dos modos:
Como un problema general de búsqueda. Elija un algoritmo de búsqueda
apropiado, y especifique una función heurística, si piensa que es
necesaria. ¿Es mejor rellenar con una letra o una palabra a la vez?
La construcción de crucigramas se puede resolver de muchas maneras. Una
opción simple es la búsqueda en profundidad. Cada sucesor rellena una palabra
del rompecabezas con una de las palabras del diccionario. Es mejor ir una
palabra a la vez, para minimizar el número de pasos.
Como un problema de satisfacción de restricciones. deberían las variables
ser palabras o letras?
Como CSP, hay incluso más opciones. Puede tener una variable para cada
cuadro en el crucigrama; en este caso, el valor de cada variable es una letra, y
las restricciones son que las letras deben formar palabras. Este enfoque es
factible con una heurística de valor más limitadora. Alternativamente, podríamos
hacer que cada cadena de cuadros horizontales o verticales consecutivos sea
una variable única, y el dominio de las variables sean palabras en el diccionario
de la longitud correcta. Las restricciones dirían que dos palabras que se
intersecan deben tener la misma letra en el cuadro de intersección. Resolver un
problema en esta formulación requiere menos pasos, pero los dominios son más
grandes y hay menos restricciones.
¿Qué formulación piensa que será mejor? ¿Por qué?
Ambas formulaciones son factibles.
5.5. De formulaciones precisas para cada uno de los siguientes problemas de
satisfacción de restricciones:
Planificación en el plano rectilíneo: encuentre lugares no solapados en un
rectángulo grande para varios rectángulos más pequeños.
Para la planificación de planta rectilínea, una posibilidad es tener una variable
para cada uno de los rectángulos del centro comercial, con el valor de cada
variable como una 4-tupla que consiste en las coordenadas X e Y de las
esquinas superior izquierda e inferior derecha del lugar donde el rectángulo en
el que estaré ubicado. El dominio de cada variable es el conjunto de 4-tuplas que
tienen el tamaño correcto para el rectángulo pequeño correspondiente y que se
ajustan dentro del rectángulo grande. Las restricciones dicen que no se pueden
superponer dos rectángulos; por ejemplo, si el valor de la variable R (1) es
[0,0,5,8], entonces ninguna otra variable puede asumir un valor que se
superpone con el rectángulo de 0,0 a 5,8.
Programación de clases: Hay un número fijo de profesores y aulas, una lista
de clases, y una lista de huecos posibles para las clases. Cada profesor tiene un
conjunto de clases que él o ella pueden ensenar.
Para la programación de clases, una posibilidad es tener tres variables para cada
clase, una con tiempos para valores (por ejemplo, MWF8: 00, TuTh8: 00, MWF9:
00, ...), una con aulas para valores (por ejemplo, Wheeler110, Evans330, ...) y
uno con instructores de valores (por ejemplo, Abelson, Bibel, Canny, ...). Las
restricciones dicen que solo una clase puede estar en la misma aula al mismo
tiempo, y un instructor solo puede enseñar una clase a la vez. También puede
haber otras restricciones (por ejemplo, un instructor no debe tener dos clases
consecutivas).
5.6. Resuelva a mano el problema criptoaritmetico de la Figura 5.2, usando el
retroceso, comprobación hacia delante, y las heurísticas MVR y la del valor menos
restringido.
Secuencia utilizada:
I. Elige la variable X(3). Su dominio es 0,1
II. Elija el valor 1 para X(3) (no podemos elegir 0, no sobreviviría la verificación
hacia adelante, porque obligaría a F a ser 0, y el dígito inicial de la suma debe
ser distinto de cero).
III. Elija F, porque tiene solo un valor restante
IV. Elige el valor 1 para F
V. Ahora X(2) y X(1) están vinculados por valores mínimos restantes en 2; vamos
a escoger X(2)
VI. Cualquiera de los dos valores sobrevive la verificación anticipada, vamos a elegir
0 para X(2)
VII. Ahora X(2) tiene los valores restantes mínimos
VIII. Nuevamente, elija arbitrariamente 0 para el valor de X(1)
IX. La variable O debe ser un número par ((porque es la suma de T + T menor que
5 (porque O + O = R + 10x0). Eso lo hace más limitado)
X. Arbitrariamente elija 4 como el valor de O
XI. R ahora tiene solo 1 valor restante.
XII. Elija el valor 8 para R
XIII. T ahora tiene solo 1 valor restante.
XIV. Elige el valor 7 para T
XV. U debe ser un número par menor que 9; elige U
XVI. El único valor para U que sobrevive a la verificación es 6.
XVII. La única variable que queda es W
XVIII. El único valor que queda para W es 3
5.7. La Figura 5.5 prueba varios algoritmos sobre el problema de las ≪reinas.
Intente estos mismos algoritmos sobre problemas de coloreo de mapas
generados aleatoriamente como sigue: disperse ≪puntos sobre el cuadrado
unidad; seleccionando un punto X al azar, una X con una línea recta al punto mas
cercano Y tal que X no está ya relacionado con Y y la línea no cruce ninguna otra
línea; repita el paso anterior hasta que no haya más uniones posibles. Construya
la tabla de funcionamiento para el ≪ más grande que pueda manejar, usando tanto
colores d = 4 como d= 3. Comente sus resultados.
5.8. Utilice el algoritmo AC-3 para mostrar que la consistencia de arco es capaz
de descubrir la inconsistencia de la asignación parcial {AO = rojo, V = azul) para
el problema de la Figura 5.1.
Trazaremos cada iteración del ciclo en AC-3 (para un posible orden
de los arcos):
a. Eliminar SA-WA, eliminar R de SA
b. Elimine SA-V, elimine B de SA, dejando solo G
c. Eliminar NT-WA, eliminar R de NT
d. Eliminar NT-SA, eliminar G de NT, dejando solo B
e. Eliminar NSW-SA, eliminar G de NSW
f. Eliminar NSW-V, eliminar B de NSW, dejando solo R
g. Eliminar Q-NT, eliminar B de Q
h. Eliminar Q-SA, eliminar G de Q
i. Eliminar Q-NSW, eliminar R de Q, dejando solo Q
5.9. Cuál es la complejidad, en el caso peor, ¿Al ejecutar AC-3 sobre un PSR
estructurado por árbol?
En un gráfico estructurado por árbol, ningún arco se considerará más de una vez, por lo
que el algoritmo AC-3 es O (ED), donde E es el número de aristas y D es el tamaño del
dominio más grande.
5.10. AC-3 vuelve a poner sobre la cola cada arco (X(h), X(i)) siempre que algún
valor sea suprimido del dominio de X(i) aunque cada valor de X(h) sea consistente
con los valores restantes de X(i). Suponga que, para cada arco (X(h), X(i))
guardamos el número de valores restantes de X(i) que son consistentes con cada
valor de X(h). Explique cómo actualizar estos números de manera eficiente y
muestre que la consistencia de arco puede hacerse en tiempo total a O((n)(2)(d)(2))
La idea básica es reprocesar las restricciones de modo que, para cada valor de X (i),
realicemos un seguimiento de las variables X (k) para las que un arco de X (k) a X (i) se
satisface con ese valor particular de X (i). Esta estructura de datos se puede calcular en
tiempo proporcional al tamaño de la representación del problema. Luego, cuando se
elimina un valor de X (i), reducimos en 1 la cantidad de valores permitidos para cada
arco (X (k), X (i)) registrado bajo ese valor.