Satisfacción restricciones distribuidas

24
Satisfacción de restricciones de forma distribuida. POR: IVÁN HUERTA CORONA.

Transcript of Satisfacción restricciones distribuidas

Page 1: Satisfacción  restricciones distribuidas

Satisfacción de restricciones de forma distribuida.POR: IVÁN HUERTA CORONA.

Page 2: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

2Definición de problemas de satisfacción de restricciones

distribuidas. Existen situaciones en las que un problema necesita ser resuelto

de manera distribuida. Porque de manera centralizada no es viable.

Para aprovechar mejor los recursos.

Entre otros…

Page 3: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

3Redes de sensores. Un ejemplo son las redes de sensores.

Estas redes están compuestas por múltiples unidades de procesamiento, fuentes de alimentación limitada, además de comunicación limitada por el ancho de banda.

Particularidades:• Cada sensor puede controlar solo su área

local.• Los sensores solo pueden comunicarse con

sus vecinos.

Page 4: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

4Satisfacción de restricciones de manera distribuida.

• Los agentes tratan (de forma distribuida) encontrar una solución viable a un problema que tiene restricciones globales.

• Los agentes tratan no solo satisfacer las limitaciones sino también optimizar algunas funciones objetivo que están sujetas a estas restricciones.

Resolución distribuida de problemas con IA.

Page 5: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

5Definición de problemas de satisfacción de restricciones distribuidas.

Un problema de satisfacción de restricciones (CSP) se define por un conjunto de variables, un dominio para cada una de las variables, y las restricciones en los valores que las variables podrían adoptar en forma simultánea.

El papel de los algoritmos de satisfacción de restricciones es asignar valores a las variables de una manera que sea consistente con todas las restricciones, o para determinar que no existe tal asignación.

Page 6: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

6Ejemplo. Ejemplo tomado del dominio de las redes de sensores.

Supongamos que cada sensor puede elegir una de las tres frecuencias de radio posibles. Todas las frecuencias funcionan igual de bien, siempre y cuando no haya dos sensores con áreas de cobertura superpuestas utilizando la misma frecuencia.

Page 7: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

7Ejemplo.Formalmente hablando, un CSP consiste en:• Un conjunto finito de variables X = {X 1,. . . ,

X n}.• Un dominio Di para cada variable Xi.• Un conjunto de restricciones {C 1,. . . , Cm}

• Dominio:{rojo ,verde ,azul}.

• Variables:{X1,X2,X3}.

• Restricciones:“No haya dos estados con colores iguales asignados.”

Page 8: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

8CSP distribuidos.

En un CSP distribuido, cada variable es una propiedad de un agente.

El objetivo sigue siendo encontrar una asignación variable global que satisface las restricciones, pero cada agente decide sobre el valor de su propia variable con relativa autonomía.

Page 9: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

9Proceso de solución de CSP distribuidos.

Cada agente se dedica a algún protocolo que

combina computación local.

comunicación con sus vecinos

El proceso termina con una solución

legal o con la conclusión que no

existe ninguna solución legal.

Page 10: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

10Algoritmos de Poda de Dominio.

Cada nodo comunica su dominio a sus vecinos.

Elimina de su dominio de los valores que no son coherentes con los valores recibidos de los vecinos.

El proceso se repite.

Termina cuando no hay mas eliminaciones que llevar a cabo, o cuando alguno de los dominios se convierte en vacío (en cuyo caso no tiene solución).

Si el proceso termina con un valor en cada dominio, el conjunto de valores constituye una solución.

Si termina con múltiples valores en cada dominio, el resultado no es concluyente (el problema podría o no tener solución).

Page 11: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

11Algoritmos de Poda de Dominio.

Comienza con X1 que se comunica con X2 y X3, los cuales quitan rojo de su dominio.D2={azul}, D3={azul, verde}. Entonces, cuando X2 comunica su nuevo dominio para X3, X3 reduce su dominio, D3={verde}

Page 12: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

12Algoritmos de Poda de Dominio.

Comienza X1, una vez que X2 y X3 reciben mensajes de X1cada uno de ellos reducen sus dominios a azul Dx3={azul}, Dx2={azul}.Cuando X2” y X3 actualicen sus dominios después de haberse comunicado obtendrán el dominio {} (conjunto vacío).El algoritmo termina y anuncia que no hay solución.

Page 13: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

13Algoritmos de Poda de Dominio.

En este caso, el conjunto inicial de mensajes no produce ninguna reducción en cualquier dominio.El algoritmo termina, pero todos los nodos tienen múltiples valores restantes.Y así, el algoritmo no es capaz de demostrar que el problema tenga solución.

Page 14: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

14Algoritmos de Poda de Dominio.

Por razones similares a las de instancia (c), el algoritmo no puede demostrar que en este caso el problema tiene solución.

Page 15: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

15Resolución unitaria con lógica proposicional.

Primero tenemos que escribir las restricciones como combinaciones de valores prohibidos, llamados Nogoods.

Por ejemplo, la restricción de que x 1 y x 2 no puede tanto tomar el valor "rojo" daría lugar a la frase proposicional ¬(x 1 = rojo ∧ x 2 = rojo).

Page 16: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

16Resolución unitaria con lógica proposicional.

El agente X2 actualiza su dominio basado en el anuncio del agente X1: X1=rojo.El Noogod sería:

{x 1 = rojo, x 2 = rojo}.

X 1 = rojo¬(X 1 = rojo∧ X 2 = rojo)__________________¬(X 2 = rojo)

X2=azul¬(X 2 = azul∧ X 3 = azul)__________________¬(X 3= azul)

Page 17: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

17Hyper-resolución.

Hyper-resolución es una generalización de la resolución unitaria. En este algoritmo, cada agente genera repetidamente nuevas

limitaciones para sus vecinos, les notifica de estas nuevas limitaciones, y limpiará su propio dominio sobre la base de nuevas restricciones que se pasan a él por sus vecinos

Da lugar a un algoritmo completo CSP distribuido.

Page 18: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

18Hyper-resolución.

El algoritmo está garantizado para converger en el sentido de que después de enviar y recibir un número finito de mensajes, cada agente se detendrá el envío de mensajes y la generación de Nogoods.

El problema tiene una solución si y sólo si, tras el cierre, ningún agente ha generado un Nogood vacío.

X1 tiene:{x 1 = rojo, x 2 = rojo}, {x 1 = rojo, x 3 = rojo}, {x 1 = azul, x 2 = azul}, {x 1 = azul, x 3 = azul} Además, x 1 debe adoptar uno de los valores en su dominio, por lo que x 1 = rojo ∨ x 1 = azul

Page 19: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

19Hyper-resolución.

x 1 = rojo ∨ x 1 = azul¬(x 1 = rojo ∧ x 2 = rojo)¬(x 1 = azul ∧ x 3 = azul)______________________¬(x 2 = rojo ∧ x 3 = azul)¬(x 2 = azul ∧ x 3 = rojo)

Por lo tanto, x 1 construye los nuevos Nogood {x 2 = rojo, x 3 = azul} y Nogood {x 2 = azul, x 3 = rojo} .

X1, entonces envía ambos Nogoods a sus vecinos x 2 y x 3.

Page 20: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

20Hyper-resolución.

x 2 = rojo ∨ x 2 = azul

¬(x 2 = rojo ∧ x 3 = azul)

¬(x 2 = azul ∧ x 3 = azul)

_______________________

¬(x 3 = azul)

x 2 = rojo ∨ x 2 = azul

¬(x 2 = azul∧ x 3 = rojo)

¬(x 2 = rojo∧ x 3 = rojo)

_______________________ X3={ }. No tiene Solución.

¬(x 3 = rojo)

Page 21: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

21Algoritmo de backtracking asíncrono.

Este algoritmo supone un orden entre los agentes, de dicho orden se establece prioridades entre ellos.

Un enlace en la red de restricción se dirige siempre a partir de un agente con mayor prioridad a un agente con menor prioridad.

Agentes instancian sus variables al mismo tiempo y envían a sus valores asignados a los agentes que están conectados a ellos por enlaces salientes.

Todos los agentes esperan y responden a los mensajes.

Después de cada actualización, un agente envía su nueva asignación a lo largo de todos los enlaces salientes.

Un agente que recibe una asignación (desde el agente de mayor prioridad), trata de encontrar una asignación para su variable que no viole una restricción con la asignación que recibió.

Cuando un agente Ai recibe un mensaje de Ok? del agente Aj, Ai coloca la asignación recibida en una estructura de datos llamada agent_view.

A continuación, Ai comprueba si su asignación actual sigue siendo coherente con su agent_view.

Si es consistente, Ai no hace nada. Si no, entonces Ai busca en su dominio para un nuevo valor coherente

Page 22: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

22Algoritmo de backtracking asíncrono.

Si encuentra uno, le asigna un valor a su variable y envía mensaje de ok? a todos los agentes de menor prioridad vinculados a él para informarles de este valor.

De lo contrario, Ai hace el backtracking.

La operación de backtracking se ejecuta mediante el envío de un mensaje Nogood.

El Nogood se envía al agente con la prioridad más baja entre los agentes cuyas asignaciones están incluidos en la tupla inconsistente en el Nogood

Page 23: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

23Algoritmo de backtracking asíncrono.

{X1= A} {X2= A} {X1=A}{X3= A}{ X1=A}, {X2= A}

• X2 detecta conflicto y cambia a R.• X2 notifica a X3• X3 detecta conflicto y cambia a R.• X3 recibe un segundo mensaje de X2 y

actualiza su vista {X1=A}, X2={R}.• X3 no puede encontrar un valor de su dominio

coherente con su vista local.• X3 genera ¬(X1=A ∧ X2=R) y se lo comunica

a X2.• X2 genera ¬(X1=A) y se lo comunica a X1.• x1 detecta la incompatibilidad con su valor

actual, cambia su valor a rojo, y se comunica el nuevo valor de x2 y x3.

• El proceso continúa ahora como antes; x2 cambia su valor de nuevo a azul, x3 no encuentra ningún valor consistente y genera el Nogood {x1 = R, x2 = A}.

• Luego x2 genera el Nogood {x1 = R}.

• En este punto x1 tiene el Nogood {x1 = A} así como el Nogood {x1} = R, y el uso de la hiper-resolución que genera la Nogood { }, y el algoritmo termina habiendo determinado que el problema no tiene solución.

Page 24: Satisfacción  restricciones distribuidas

ISC

. Iván H

uerta

Coro

na

24Referencias.

MULTIAGENT SYSTEMS, Algorithmic, Game-Theoretic, and Logical Foundations, Yoav Shoham, Stanford University .

PARTICIONAMIENTO Y RESOLUCION DISTRIBUIDA MULTIVARIABLE DE PROBLEMAS DE SATISFACCION DE RESTRICCIONES, Montserrat Abril Lopez , UNIVERSIDAD POLITE SCNICA DE VALENCIA .