Esempi di consistenza sui limiti Non consistente sui
- Slides: 28
Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3 Y=10 Ma il dominio qui sotto e’ consistente sui limiti: Confrontare con il dominio consistente sugli iper-archi: 1
Ottenere la consistenza sui limiti Dato un dominio D, vogliamo modificare i limiti dei domini in modod che sia consistente sui limiti u Si usano delle regole di propagazione u 2
Ottenere la consistenza sui limiti Consideriamo il vincolo primitivo X = Y + Z che e’ equivalente alle tre forme: Ragionando sui valori minimi e massimi: Regole di propagazione per il vincolo X = Y + Z 3
Ottenere la consistenza sui limiti Le regole di propagazione determinano che: Quindi i domini possono essere ridotti a: 4
Altre regole di propagazione Dato il dominio iniziale: Determiniamo che: Nuovo dominio: 5
Disequazioni Le disequazioni generano delle regole di propagazioni deboli: c’e’ propagazione solo quando una variabile ha un valore fisso che e’ uguale al minimo o massimo dell’altra variabile 6
Moltiplicazione Se tutte le variabili sono positive, e’ semplice: Esempio: Diventa: Ma se le variabili possono essere 0 o negative? 7
Moltiplicazione Calcolare i limiti di X esaminando i valori estremi: Simile per limite superiore usando il massimo. Ma questo non funziona per Y e Z? Se min(D, Z) <0 e max(D, Z)>0 non c’e’ nessuna restrizione per Y Stiamo usando numeri reali (es. 4/d) 8
Moltiplicazione Possiamo aspettare finche’ il range di Z e’ non negativo o non positivo e poi usare le regole Divisione per 0: 9
Algoritmo per la consistenza sui limiti Applica ripetutamente le regole di propagazione ad ogni vincolo primitivo finche’ non viene modificato nessun dominio u Non dobbiamo ri-esaminare un vincolo primitivo se i domini delle sue variabili non sono modificati u 10
Esempio di consistenza sui limiti Problema dello zaino del ladro (senza whisky) Non c’e piu’ nessuna modifica. Notare che abbiamo dovuto riesaminare il vincolo di profitto. 11
Risolutore per la consistenza sui limiti D : = bounds_consistent(C, D) bounds_consistent u if D e’ un dominio falso u u return u if D e’ un dominio valutazione u return u false satisfiable(C, D) return unknown 12
Ricerca con backtracking combinata con la consistenza sui limiti u Applicare la consistenza sui limiti prima di iniziare la ricerca con backtracking e dopo ogni assegnamento di un valore ad una variabile 13
Esempio Problema del ladro Dominio corrente: Consistenza sui limiti iniziale: W=0 P=1 (0, 1, 3) Trovata una soluzione: return true 14
Esempio Problema del ladro Dominio corrente: Backtrack Consistenza sui limiti iniziale: W=0 P=1 P=2 P=3 (0, 1, 3) false (0, 3, 0) W=1 W=2 (1, 1, 1) (2, 0, 0) 15 Non ci sono altre soluzioni
Consistenza generalizzata u Possiamo usare qualunque metodi di consistenza diversi su vincoli diversi, e comunicheranno attraverso I dimini delle variabili u u node consistency : per vincoli primitivi con 1 arc consistency: per vinoli primitivi con 2 var bounds consistency: altri vincoli primitivi A volte possiamo eliminare piu’ valori usando vincoli ‘’complessi’’ e metodi di consistenza specializzati 16
Alldifferent u alldifferent({V 1, . . . , Vn}) e’ soddisfatto quando ogni variabile V 1, . . , Vn ha un valore diverso u alldifferent({X, Y, Z}) e’ equivalente a u E’ consistente sugli archi con il dominio u Ma non c’e’ soluzione! la consistenza specializzata per alldifferent puo’ scoprirlo 17
Alldifferent Consistency Sia c della forma alldifferent(V) u while esiste v in V dove D(v) = {d} u u. V : = V - {v} u for ogni v’ in V u D(v’) : = D(v’) - {d} DV : = unione di tutti i D(v) per v in V u if |DV| < |V| then return false domain u return D u 18
Alldifferent Examples DV = {1, 2}, V={X, Y, Z} quindi scopre la non soddisfacibilita’ DV = {1, 2, 3, 4, 5}, V={X, Y, Z, T} non la scopre Algoritmi basti su matching massimo potrebbero scoprirla: 19
Altri vincoli complessi u schedulare n lavori con tempi iniziali Si e durate Di che usano risorse Ri in cui L risorse sono disponibili in ogni momento u Accesso all’array: se I = i, allora X = Vi e se X != Vi allora I != i 20
Ottimizzazione per CSPs Dato che i domini sono finiti, possiamo usare un risolutore per costruire un ottimizzatore banale u retry_int_opt(C, _int_opt D, f, best) u u D 2 : = int_solv(C, D) int_solv u if D 2 e’ un dominio falso then return best u sia sol la soluzione corrispondente a D 2 u return retry_int_opt(C retry_int_opt / f < sol(f), D, f, sol) 21
Esempio Problema del ladro (ottimizzare il profitto) Nessuna altra soluzione! Next First solution found: Corresponding Return la sol. migliore solution 22
Backtracking + Ottimizzazione Dato che il risolutore puo’ usare la ricerca con backtracking, e’ meglio combinarla con l’ottimizzazione u Ad ogni passo della ricerca con backtracking, se best e’ la soluzione ottima vista finora, aggiungi il vincolo f < best(f) u 23
Esempio Problema del ladro Smugglers knapsack problem (whiskey available) Dominio corrente: Consistenza sui limiti iniziale: W=0 P=1 (0, 1, 3) Soluzione trovata aggiungi il vincolo 24
Esempio Problema del ladro Consistenza sui limiti iniziale: W=0 P=1 P=2 P=3 (0, 1, 3) false W=1 W=2 (1, 1, 1) false 25 Modify constraint Return l’ultima sol (1, 1, 1)
Ottimizzazione con Branch and Bound u u Il metodo precedente, a differenza del simplesso, non usa la funzione obbiettivo per dirigere la ricerca Ottimizzazione branch and bound per (C, f) u u Usare il simplesso per trovare una soluzione reale Se la soluzione e’ intera, stop Altrimenti scegliere una var x con valore non intero d e esaminare I problemi Usare la soluzione ottima corrente per vincolare I problemi 26
Esempio Problema del ladro false Soluzione (2, 0, 0) = 30 Soluzione (1, 1, 1) = 32 false Peggio della sol ottima false 27
Finite Constraint Domains Summary CSPs form an important class of problems u Solving of CSPs is essentially based on backtracking search u Reduce the search using consistency methods u u u node, arc, bound, generalized Optimization is based on repeated solving or using a real optimizer to guide the search 28
- Aggettivi qualificativi aereo
- Teorema di unicità del limite
- Regole limiti
- Heuristica consistente
- Unsori consistente
- Euristica ammissibile
- Training interautosservativo
- Je sers un sauveur tendre qui fut crucifié
- Quali sono i limiti del modello atomico di rutherford
- Cp cpk hesaplama örnek
- I limiti della scienza pascal
- Poševna asimptota
- Ibridazioni
- Redazione bilancio consolidato
- Nota integrativa abbreviata codice civile
- Ragionevolezza del cristianesimo pascal
- Limiti interni ed esterni della giurisdizione
- Mutlak x fonksiyonu
- Trigonometrik limit
- Testi non continui esempi
- Costi controllabili
- Le norme giuridiche sono obbligatorie
- Non nobis, domine, sed nomini tuo da gloriam
- Bene non escludibile e non rivale
- Barang publik non rival dan non eksklusif
- Posse peccare
- Non fare quello che non vorresti fosse fatto a te bibbia
- Yang termasuk pelarut anorganik adalah
- Chi non stima la vita non la merita