Inteligencia Artificial (2006)



                       ´
Problemas de satisfaccion de restricciones (CSPs)
             ...
Aspectos a considerar
♦ Ejemplos de CSP
♦ B´squeda con Backtracking para CSPs
   u
♦ B´squeda Local para CSPs
   u




   ...
Problema de satisfacci´n de restricciones (CSP)
                      o
En problemas de b´squeda est´ndar:
               ...
Ejemplo: coloreado de mapa



                                 Northern
                                 Territory
       ...
Ejemplo: coloreado de mapa (cont)



                             Northern
                             Territory
        ...
Definici´n formal de un CSP
                      o
Clase especial de problema, caracterizado por:

1. Un conjunto de varia...
Definici´n formal de un CSP
                      o
Clase especial de problema, caracterizado por:

1. Un conjunto de varia...
Grafo de restricci´n
                                        o
CSP binario: cada restricci´n relaciona a lo sumo dos varia...
Tipos de CSPs
Variables discretas
   dominios finitos; tama˜o d ⇒ O(dn) asignaciones completas
                          n
...
Tipos de restricciones
Restricciones unarias involucran una unica variable,
                                     ´
   e.g....
Ejemplo: Criptoaritm´tica
                                      e



        T WO                       F        T        ...
CSPs del mundo real
Problemas de asignaci´n
                      o
   e.g., quien dicta que clase
Problemas de aulero
   ...
Formulaci´n de b´ squeda est´ndard
                  o      u           a
Comenzamos con el enfoque directo (elemental), l...
Backtracking search
Las asignaciones de variables son conmutativas, i.e.,
       [W A = red then N T = green] es lo mismo ...
Backtracking search

function Backtracking-Search(csp) returns solution/failure
  return Recursive-Backtracking({ }, csp)
...
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                        ...
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                        ...
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                        ...
Ejemplo de backtracking




               Problemas de satisfacci´n de restricciones (CSPs) Cap´
                        ...
Mejorando la eficiencia de backtracking search
Algunos m´todos de prop´sito general pueden producir enormes ganan-
        ...
Valores restantes m´
                                    ınimos
Valores restantes m´ ınimos (MRV):
   elige la variable co...
Heur´
                   ıstica degree (del grado)
Permite desempatar entre variables MRV
Heur´ıstica degree:
    elige la...
Valor menos restrictivo
Dada una variable, elegir el valor menos restrictivo:
   aquel que excluye el menor n´mero de valo...
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un pa...
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un pa...
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un pa...
Forward checking
Idea: Registrar los valores legales restantes para las variables no asignadas
      No insistir con un pa...
Propagaci´n de restricciones
                         o
Forward checking propaga informaci´n desde variables asignadas a n...
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y...
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y...
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y...
Consistencia de arco
La forma m´s simple de propagaci´n hace cada arco consistente
          a                     o
X → Y...
Algoritmo de consistencia de arco

 function AC-3( csp) returns the CSP, possibly with reduced domains
   inputs: csp, a b...
Algoritmos iterativos para CSPs
Hill-climbing y simulated annealing usualmente trabajan con
estados “completos”, i.e., tod...
Ejemplo: 4-Reinas
Estados: 4 reinas en 4 columnas (44 = 256 estados)
Operadores: mover reina en una columna
Test de objeti...
Performance de min-conflictos
Dado un estado inicial random, puede resolver n-reinas en tiempo casi cons-
tante para un n a...
Resumen
CSPs son una clase especial de problemas:
  estados definidos por valores de un conjunto fijo de variables
  test ob...
Upcoming SlideShare
Loading in...5
×

Teoria

489

Published on

Published in: Spiritual, Sports
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
489
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Teoria"

  1. 1. Inteligencia Artificial (2006) ´ Problemas de satisfaccion de restricciones (CSPs) Cap´ıtulo 5 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 1
  2. 2. Aspectos a considerar ♦ Ejemplos de CSP ♦ B´squeda con Backtracking para CSPs u ♦ B´squeda Local para CSPs u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 2
  3. 3. Problema de satisfacci´n de restricciones (CSP) o En problemas de b´squeda est´ndar: u a cada estado es una “caja negra”—una estructura de datos arbitraria que soporta el test de objetivo, la funci´n heur´ o ıstica y la funci´n sucesor (rutinas espec´ o ıficas del problema) CSP: un estado es definido por variables Xi con valores de un dominio Di el test de objetivo es un conjunto de restricciones que especifican combinaciones permitidas de valores para subconjuntos de variables Ejemplo simple de un lenguaje de representaci´n formal o Permite utilizar algoritmos de prop´sito general con m´s poder o a que los algoritmos de b´squeda est´ndard u a Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 3
  4. 4. Ejemplo: coloreado de mapa Northern Territory Western Queensland Australia South Australia New South Wales Victoria Tasmania Variables W A, N T , Q, N SW , V , SA, T Dominios Di = {red, green, blue} Restricciones: las regiones adyacentes deben tener colores diferentes e.g., W A = N T (si el lenguaje lo permite), o (W A, N T ) ∈ {(red, green), (red, blue), (green, red), (green, blue), . . .} Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 4
  5. 5. Ejemplo: coloreado de mapa (cont) Northern Territory Western Queensland Australia South Australia New South Wales Victoria Tasmania Las soluciones son asignaciones que satisfacen todas las restricciones, e.g., {W A = red, N T = green, Q = red, N SW = green, V = red, SA = blue, T = green} Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 5
  6. 6. Definici´n formal de un CSP o Clase especial de problema, caracterizado por: 1. Un conjunto de variables X1, X2, . . . , Xn. 2. Por cada variable Xi, un dominio Di que especifica los valores posibles que la variable puede tomar. 3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva- o luaci´n (o ambas) o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 6
  7. 7. Definici´n formal de un CSP o Clase especial de problema, caracterizado por: 1. Un conjunto de variables X1, X2, . . . , Xn. 2. Por cada variable Xi, un dominio Di que especifica los valores posibles que la variable puede tomar. 3. Un conjunto de restricciones C1, C2, . . . , Cm, una funci´n de eva- o luaci´n (o ambas) o Soluci´n de un CSP: asignaci´n completa que satisface todas las restric- o o ciones (consistente) y (opcionalmente) optimiza la funci´n de evaluaci´n o o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 7
  8. 8. Grafo de restricci´n o CSP binario: cada restricci´n relaciona a lo sumo dos variables o Grafo de restricci´n: nodos son variables, arcos muestran restricciones o NT Q WA SA NSW V Victoria T Los algoritmos de CSP de prop´sito general usan la estructura del grafo o para acelerar la b´squeda. E.g., Tasmania es un subproblema independiente! u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 8
  9. 9. Tipos de CSPs Variables discretas dominios finitos; tama˜o d ⇒ O(dn) asignaciones completas n ♦ e.g., CSPs Booleanos, incl. Satisfabilidad booleana (NP-completa) dominios infinitos (integers, strings, etc.) ♦ e.g., job scheduling, variables son d´ de inicio/fin de cada job ıas ♦ necesita un lenguaje de restricci´n, e.g., StartJob1+5 ≤ StartJob3 o ♦ restricciones lineales son resolubles, no lineal no es decidible Variables continuas ♦ e.g., tiempos de inicio/fin para las observaciones del Telescopio Hubble ♦ restricciones lineales se resuelven en tiempo pol. con m´todos de PL. e Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 9
  10. 10. Tipos de restricciones Restricciones unarias involucran una unica variable, ´ e.g., SA = green Restricciones binarias involucran pares de variables, e.g., SA = W A Restricciones de orden m´s alto involucran 3 o m´s variables, a a e.g., restricciones de columnas criptoaritm´ticas e Restricciones de preferencias (restricciones blandas), e.g., red es mejor que green a menudo representables por un costo para cada asignaci´n de variable o → problemas de optimizaci´n restringido o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 10
  11. 11. Ejemplo: Criptoaritm´tica e T WO F T U W R O + T WO F O U R X3 X2 X1 Variables: F T U W R O X1 X2 X3 Dominios: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Restricciones alldiff(F, T, U, W, R, O) O + O = R + 10 · X1, etc. Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 11
  12. 12. CSPs del mundo real Problemas de asignaci´n o e.g., quien dicta que clase Problemas de aulero e.g., ¿donde y cuando es ofrecida determinada clase? Configuraci´n de Hardware o Scheduling de Transporte Scheduling en F´bricas a Muchos de estos problemas involucran variables con valores reales Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 12
  13. 13. Formulaci´n de b´ squeda est´ndard o u a Comenzamos con el enfoque directo (elemental), luego lo arreglamos Los estados est´n definidos por los valores asignados hasta el momento a ♦ Estado inicial: la asignaci´n vac´ { } o ıa, ♦ Funci´n sucesor: asignar un valor a una variable no asignada o que no entra en conflicto con la asignaci´n actual. o ⇒ falla si no existe una asignaci´n legal o ♦ Test de objetivo: la asignaci´n actual es completa o 1) Esto es igual para todos los CSPs! 2) Cada soluci´n aparece a profundidad n con n variables o ⇒ usar depth-first search 3) El paso es irrelevante, ⇒ tambi´n se usa form. de estado completa e 4) b = (n − )d a prof. , luego n!dn hojas y s´lo hay dn asig. completas! o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 13
  14. 14. Backtracking search Las asignaciones de variables son conmutativas, i.e., [W A = red then N T = green] es lo mismo que [N T = green then W A = red] S´lo necesito considerar asignaciones a una unica variable en cada nodo o ´ ⇒ b = d y hay dn hojas Depth-first search para CSPs con asignaciones consistentes de a una variable es llamada backtracking search Backtracking search es el algoritmo no informado b´sico para CSPs a Permite resolver n-reinas para n ≈ 25 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 14
  15. 15. Backtracking search function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking({ }, csp) function Recursive-Backtracking(assignment, csp) returns soln/failure if assignment is complete then return assignment var ← Select-Unassigned-Variable(Variables[csp], assignment, csp) for each value in Order-Domain-Values(var, assignment, csp) do if value is consistent with assignment given Constraints[csp] then add {var = value} to assignment result ← Recursive-Backtracking(assignment, csp) if result = failure then return result remove {var = value} from assignment return failure Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 15
  16. 16. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 16
  17. 17. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 17
  18. 18. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 18
  19. 19. Ejemplo de backtracking Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 19
  20. 20. Mejorando la eficiencia de backtracking search Algunos m´todos de prop´sito general pueden producir enormes ganan- e o cias de velocidad: 1. ¿Cual deber´ ser la pr´xima variable a asignar? ıa o 2. ¿En qu´ orden deber´ ser considerados sus valores? e ıan 3. ¿Podemos detectar fallas inevitables m´s anticipadamente? a 4. ¿Podemos sacar provecho de la estructura del problema? (no lo veremos) Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 20
  21. 21. Valores restantes m´ ınimos Valores restantes m´ ınimos (MRV): elige la variable con la menor cantidad de valores legales Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 21
  22. 22. Heur´ ıstica degree (del grado) Permite desempatar entre variables MRV Heur´ıstica degree: elige la variable involucrada en el mayor n´mero de restricciones con otras u variables no asignadas Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 22
  23. 23. Valor menos restrictivo Dada una variable, elegir el valor menos restrictivo: aquel que excluye el menor n´mero de valores en las variables restantes u Allows 1 value for SA Allows 0 values for SA Combinando estas heur´ ısticas hace factible la resoluci´n del 1000 reinas o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 23
  24. 24. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 24
  25. 25. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 25
  26. 26. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 26
  27. 27. Forward checking Idea: Registrar los valores legales restantes para las variables no asignadas No insistir con un paso cuando alguna variable no tiene valores legales WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 27
  28. 28. Propagaci´n de restricciones o Forward checking propaga informaci´n desde variables asignadas a no asig- o nadas, pero no provee una detecci´n temprana de todas las fallas: o WA NT Q NSW V SA T N T y SA no pueden ser ambas azules! Propagaci´n de restricciones fuerza restricciones localmente en forma repe- o tida Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 28
  29. 29. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 29
  30. 30. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 30
  31. 31. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Si X pierde un valor los vecinos de X se vuelven a controlar Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 31
  32. 32. Consistencia de arco La forma m´s simple de propagaci´n hace cada arco consistente a o X → Y es consistente sii para cada valor x ∈ X existe alg´ n valor y ∈ Y permitido u WA NT Q NSW V SA T Si X pierde un valor los vecinos de X se vuelven a controlar Consistencia de arco detecta las fallas m´s temprano que forward checking a Puede ejecutarse como preprocesamiento o despu´s de cada asignaci´n e o Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 32
  33. 33. Algoritmo de consistencia de arco function AC-3( csp) returns the CSP, possibly with reduced domains inputs: csp, a binary CSP with variables {X1, X2, . . . , Xn} local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (Xi, Xj ) ← Remove-First(queue) if Remove-Inconsistent-Values(Xi , Xj ) then for each Xk in Neighbors[Xi] do add (Xk , Xi) to queue function Remove-Inconsistent-Values( Xi , Xj ) returns true iff succeeds removed ← false for each x in Domain[Xi] do if no value y in Domain[Xj ] allows (x,y) to satisfy the constraint Xi ↔ Xj then delete x from Domain[Xi ]; removed ← true return removed O(n2d3), puede ser reducida a O(n2d2) (pero detectar todas es NP-duro) Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 33
  34. 34. Algoritmos iterativos para CSPs Hill-climbing y simulated annealing usualmente trabajan con estados “completos”, i.e., todas las variables asignadas Para aplicarlos a CSPs: permitir estados con restricciones insatisfechas los operadores reasignan los valores de las variables Selecci´n de variable: elegir en forma random cualquier variable en conflicto o Selecci´n de valor mediante la heur´ o ıstica min-conflictos: elegir valor que produce el menor n´mero de conflictos u i.e., hillclimb con h(n) = n´mero total de restricciones violadas u Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 34
  35. 35. Ejemplo: 4-Reinas Estados: 4 reinas en 4 columnas (44 = 256 estados) Operadores: mover reina en una columna Test de objetivo: no hay ataques Evaluaci´n: h(n) = n´mero de ataques o u h=5 h=2 h=0 Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 35
  36. 36. Performance de min-conflictos Dado un estado inicial random, puede resolver n-reinas en tiempo casi cons- tante para un n arbitrario con alta probabilidad (e.g., n = 10,000,000) Lo mismo parece ser cierto para cualquier CSP generado aleatoriamente excepto en un rango estrecho del radio n´mero de restricciones u R= n´mero de variables u CPU time R critical ratio Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 36
  37. 37. Resumen CSPs son una clase especial de problemas: estados definidos por valores de un conjunto fijo de variables test objetivo definido por restricciones sobre valores de variables Backtracking = depth-first search con una variable asignada por nodo Heur´ısticas para el ordenamiento de variables y selecci´n de valor ayudan o significativamente Forward checking previene asignaciones que garantizan una falla posterior Propagaci´n de restricciones (e.g., consistencia de arco) realiza un trabajo o adicional para restingir valores y detectar inconsistencias Min-conflictos es usualmente efectivo en la pr´ctica a Problemas de satisfacci´n de restricciones (CSPs) Cap´ o ıtulo 5 37
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×