View
62
Download
3
Category
Tags:
Preview:
DESCRIPTION
Kısıtlamalı Sorunlar Constraint Satisfaction Problems. Konular. kısıtlamalı Sorunlar (CSP) CSP’ler için geriye izlemeli arama-( Backtracking search ) CSP’ler için yerel arama. CSP - Biçimsel İfadesi. X1, X2,….Xn değişkenler kümesi C1,C2,…Cm kısıtlamalar kümesi - PowerPoint PPT Presentation
Citation preview
4 Feb 2004CS 3243 - Constraint
Satisfaction 1
Kısıtlamalı Sorunlar Constraint Satisfaction Problems
4 Feb 2004CS 3243 - Constraint
Satisfaction 2
Konular
kısıtlamalı Sorunlar (CSP) CSP’ler için geriye izlemeli arama-
(Backtracking search) CSP’ler için yerel arama
4 Feb 2004CS 3243 - Constraint
Satisfaction 3
CSP - Biçimsel İfadesi
X1, X2,….Xn değişkenler kümesi C1,C2,…Cm kısıtlamalar kümesi Her bir Xi için mümkün değerler alanı
Di Değerlerin değişkenlere atanması
4 Feb 2004CS 3243 - Constraint
Satisfaction 4
Kısıtlamalı sorunlar(CSPs)
Standart arama sorunu: Durum- ardıl fonksiyonunu, sezgisellik
fonksiyonunu ve amaç denemesini destekleyen veri yapısı
CSP: Durum Di alanından değerler alan Xi
değişkenleri ile tanımlanır Standart arama algoritmalarından daha
güçlü olan genel amaçlı algoritmalar oluşturulmasına olanak sağlar
4 Feb 2004CS 3243 - Constraint
Satisfaction 5
Atama
Hiçbir kısıtlamayı bozmayan atamaya uyumlu veya legal atama denir
Tam atamada tüm değişkenler kullanılmış oluyor
CSP’nin çözümü- Tüm kısıtlamaları tatmineden tam atama
4 Feb 2004CS 3243 - Constraint
Satisfaction 6
CSP-arama sorunu Başlangıç Durum: boş atama {}; hiçbir değişkene değer
atanmamış Ardıl işlev: değer atanmamış her hangi değişkene, önceki
atamalarla uyuşmazlık oluşturmayan değer atana bilir Amaç Denemesi: atama tamdır ve kısıtlamalar
sağlanmıştır Yol Değeri: her bir adım için değer (=1)
N değişkenli sorun için her bir çözüm n’ci derinlikte meydana çıkıyor derinine arama yöntemini kullanmalı
4 Feb 2004CS 3243 - Constraint
Satisfaction 7
Örnek: Harita renkleme Deişkenker WA, NT, Q, NSW, V,
SA, T Alanlar Di = {kırmızı,yeşil,mavi} Sınırlamalar: komşu bölgeler
farklı renklerle boyanmalıdır
Yani WA ≠ NT, veya (WA,NT) için {(kırmızı,yeşil),(kırmızı,mavi),(yeşil,kırmızı),(yeşil,mavi),(mavi,kırmızı), (mavi, yeşil)} kümeleri yolverilendir
WANT
SAQ
NSWV
T
Birden fazla mümkün çözümler mevcuttur:
{WA=kırmızı, NT=yeşil, Q=kırmızı, NSW=yeşil, V=kırmızı, SA=mavi, T=kırmızı}
4 Feb 2004CS 3243 - Constraint
Satisfaction 8
Örnek: Harita renkleme (çözüm)
Çözümler tam ve atamalar uyumludur (kısıtlamalar bozulmuyor);
WA = kırmızı, NT = yeşil, Q = kırmızı, NSW = yeşil, V = kırmızı, SA = mavi,T = yeşil
4 Feb 2004CS 3243 - Constraint
Satisfaction 9
Kısıtlamalar Grafı
NT
WA
SA
Q
NSW
W
T
Düğümler: değişkenler
Kenarlar: kısıtlamalar
4 Feb 2004CS 3243 - Constraint
Satisfaction 10
CSP türleri
En basiti: Değişkenler diskret ve sonlu alanlıdır Sonlu alan: n değişken
Her bir değişkenin max alan boyutu d ; Mümkün tam atamalar sayısı O(dn)
İkili CSP’ler’de değişkenler “doğru” veya “yanlış” değer alıyor
Sonsuz alan: Tam sayılar, satır değişkenleri ve s. Görev planlama- değişkenler her bir görevin başlama ve bitiş
günleridir Sınırlama dili gerekmektedir: StartJob1 + 5 ≤ StartJob3
sürekli değişkenler Teleskopla gözlemlerin başlanması/ bitmesi zamanları
4 Feb 2004CS 3243 - Constraint
Satisfaction 11
kısıtlamaların Türleri
Tek terimli (Unary) kısıtlamalar tek değişkeni kapsar SA ≠ green(Güney Avustraliya ’nın rengi yeşil olmamalıdır)
İkili (binary) kısıtlamalar değişkenler çiftini kapsar SA ≠ WA
Yüksek dereceli kısıtlamalar 3 veya daha çok değişkeni kapsar Şifreli aritmetik sorunlar (cryptarithmetic column
constraints)
4 Feb 2004CS 3243 - Constraint
Satisfaction 12
kısıtlamaların Türleri (devamı)
Mutlak (absolute) kısıtlamalar- bu kısıtlamanın bozulması potansiyel çözümü engeller
Tercih (preference) kıstlamaları -hangi kısıtlamanın öncelikli olacağı gösteriliyor
Ders programında hocaların isteklerinin dikkate alınması
Sınırlamalara belirli ağırlıklar verile bilir
4 Feb 2004CS 3243 - Constraint
Satisfaction 13
Gerçek dünya CSP sorunları
Atama sorunları Hangi öğretmenler hangi sınıfta
Zaman paylaşımı sorunları Hangi sınıf ne zaman ve nerede
Nakliyat sorunları İmalat planlama
Gerçek dünya sorunlarının büyük kısmı gerçek değerli değişkenlidir
4 Feb 2004CS 3243 - Constraint
Satisfaction 14
Örnek: Cryptarithmetic
Değişkenler: F T U W R O X1 X2 X3
alanlar: {0,1,2,3,4,5,6,7,8,9} Sınırlamalar: Alldiff (F,T,U,W,R,O)
X3 = F, T ≠ 0, F ≠ 0
O + O = R + 10 · X1 X1 + W + W = U + 10 · X2 X2 + T + T = O + 10 · X3
Kareler, uygun değişkenler arasındaki kısıtlamaları gösteriyor
4 Feb 2004CS 3243 - Constraint
Satisfaction 15
CSP sorunlarının çözümü:
Her bir arama algoritması ile bu sorunu çözmek mümkündür.
enine aramada en üst seviyede dallanma etkeni nd (n değerler,d değişkenler sayısıdır)
n!d -yapraklı ağaç (tüm mümkün tam atamalar sayısı d )
Sırabağımsızlık (commutativity)-hareketler kümesinin uygulanma ardışıklığı sonucu etkilemez
Değerleri değişkenlere atamakla , atama sırasına bağlı olmadan aynı kısmı atamalara ulaşıla biliyor
n n
4 Feb 2004CS 3243 - Constraint
Satisfaction 16
Geriye İzleme
Tüm CSP arama algoritmaları, arama ağacında düğümün ardıllarını, tek bir değişkene mümkün atamaları gözden geçirmekle üretiyor Örneğin, kök düğümde SA=kırmızı,SA=yeşil veya
SA=mavi arasında seçim yapa bileriz. Geriye İzlemeli Arama- Derinine arama Geriye izleme yönteminde her adımda yalnız
bir değişken seçilir ve değişkene atanacak legal değer bulunmadıkta geriye dönüş yapılıyor
4 Feb 2004CS 3243 - Constraint
Satisfaction 17
Geriye İzleme (devamı) Değişken atamaları
sırabağımsızdır, yani“[ WA = kırmızı ise o zaman NT
= yeşil]” ile “[ NT = yeşil ise o zaman WA = kırmızı ]” aynıdır
Her bir düğümde yalnız bir değişkene atama dikkate alınıyor
Tek değerli atamalı CSP’ler için derinine arama yöntemine geriye izlemeli arama denir
Geriye izlemeli arama CSP’ler için temel bilgisiz algoritmadır
4 Feb 2004CS 3243 - Constraint
Satisfaction 18
Geriye İzleme algoritması
4 Feb 2004CS 3243 - Constraint
Satisfaction 19
Geriye izleme örneği
4 Feb 2004CS 3243 - Constraint
Satisfaction 20
Geriye izleme örneği
4 Feb 2004CS 3243 - Constraint
Satisfaction 21
Geriye izleme örneği
4 Feb 2004CS 3243 - Constraint
Satisfaction 22
Geriye izleme örneği
4 Feb 2004CS 3243 - Constraint
Satisfaction 23
Sorunlar:
Sonraki atama hangi değişkene yapılmalıdır; değerlerin sınanması sırası nasıl olmalıdır?
Güncel değişkene yapılmış atama, henüz atama yapılmamış diğer değişkenler için ne gibi sonuçlar doğurur?
Değişkene atana bilecek hiçbir legal değerin bulunmadığı durum oluşmuşsa, sonraki arama sürecinde bu hatanın tekrarlanmasından kaçınmak mümkün mü?
Kaçınılmaz başarısızlıkları önceden farketmek mümkün mü?
4 Feb 2004CS 3243 - Constraint
Satisfaction 24
CSP sezgisel algoritmaları
En az kalmış değerler (minimum remaining values) –MRV
Bilginin kısıtlamalar boyunca yayılması
Kısıtlamaların Yayılması En az çelişki
4 Feb 2004CS 3243 - Constraint
Satisfaction 25
Değişkenlerin ve değerlerin sırası
var<-Select-Unassigned_Variable(Variable(csp),assignment,csp)
Geriye izleme algoritmasında sonraki atanmamış değişken variable(csp) listesinden rastgele seçiliyor. Bu ise her zaman etkili değildir.
Variable(WA,NT,Q,SA,NSW,V,T)
4 Feb 2004CS 3243 - Constraint
Satisfaction 26
En az kalan değerler -minimum remaining values(MRV)
En az “legal” değeri kalmış değişkenin seçilmesi
Eğer X değişkeninin sıfır sayıda legal değeri kalmışsa, MRV sezgiseli X’i seçecek ve başarısızlığı fark edecek. X’in seçilmesi, başarısız çözüme götürecek diğer değişkenlere atamaları engelleyecek
4 Feb 2004CS 3243 - Constraint
Satisfaction 27
En az kalan değerler
En az mümkün değerli değişkeni seç
Örn., WA=kırmızı ve NT=yeşil atamalarından sonra SA için yalnız mavi renk seçimi kalıyor. Bu anlamda, Q’ye atama yapılmadan önce SA=mavi ataması yapılması daha etkili olurdu. Bundan sonra, Q, NSW ve V için de atamalar kolaylaşır
Ana fikir: en az mümkün değerleri bulunan değişkeni seçmeli
4 Feb 2004CS 3243 - Constraint
Satisfaction 28
Derece sezgiselliği
MRV sezgiseli ilk hangi değişkenin seçileceğini belirleyemez.
Örn., Haritada her bölge için başlangıçta 3 renk vardır ve bu bölgelerden hangisinin seçilmesi sorundur
Bu halde derece sezgiselliği kullanıla bilir. Diğer atanmamış değişkenlerle oranda daha çok sayıda sınırlamaları bulunan değişken seçile bilir.
SA için derece 5, T için 0, diğerleri için 2 veya 3’tür
(örnekte: sınırlama derecesi- komşu ülkeler sayısı
4 Feb 2004CS 3243 - Constraint
Satisfaction 29
Derece sezgiselliği
Yüksek derece sezgiselliği bulunan değişkenin seçilmesi ile sonraki adımlarda dallanmaların sayısını azaltmak mümkündür
4 Feb 2004CS 3243 - Constraint
Satisfaction 30
Değerlerin Sırasının Seçilmesi
Değişken seçildikten sonra atanacak değerlerin sırası belirlenmelidir
Bunun için en az kısıtlayıcı değer sezgiseli seçile bilir.
Bu sezgisele göre, kısıtlamalar grafında komşu değişkenler için en az seçim durumuna yol açmayacak değer seçilir
Seçilen değer, kalan değişkenlerde en az değer kalmasını engeller
Sonraki atamalarda esneklik sağlar
4 Feb 2004CS 3243 - Constraint
Satisfaction 31
En az kısıtlayıcı değer
Örn., WA=kırmızı ve NT=yeşil kısmı atamalarından sonra, bir sonraki seçimin Q için yapılacağını varsayalım. “mavi” kötü seçim olacak, çünkü o, Q’nün komşusu SA için son mümkün değeri de eleyecek. En az kısıtlayıcı değer sezgiseli “kırmızı”yı tercih edecektir.
Bu sezgiselliklerin birleşimi ile 1000 vezir sorununu çözmek mümkündür
4 Feb 2004CS 3243 - Constraint
Satisfaction 32
İleriyi yoklama-forward checking
X değişkenine atama yapıldığı zaman, onunla komşu olan tüm Y değişkenlerine de göz atılacak.
Y’lerin değer alanlarından, X için seçilmiş değer ile tutarsızlık oluşturan tüm değerler silinecektir
4 Feb 2004CS 3243 - Constraint
Satisfaction 33
İleriyi yoklama
Ana fikir: Atanmamış değişkenler için
kalan legal değerlerin yolunu hafızada saklamalı (kaydetmeli)
Değişkenlerden her hangi birisinin legal değeri kalmamışsa arama işlemini kesmeli
4 Feb 2004CS 3243 - Constraint
Satisfaction 34
İleriyi Yoklama
Ana fikir: Atanmamış değişkenler için kalan legal
değerlerin yolunu kaydetmeli (saklamalı) Her hangi değişkenin legal değeri yoksa
arama işlemini kesmeli
Wa=kırmızı oldukta NT ve SA için 2 renk kalıyor
4 Feb 2004CS 3243 - Constraint
Satisfaction 35
İleriyi Yoklama
Ana fikir: Atanmamış değişkenler için kalan legal
değerlerin yolunu kaydetmeli (saklamalı) Here hangi değişkenin legal değeri yoksa
arama işlemini kesmeli
Q=yeşil oldukta NT ve SA için bir değer (mavi) kalıyor
WA ve Q’den bilgiyi yaymakla NT ve SA’nın dallanmalarını tamamen elemiş oluruz
4 Feb 2004CS 3243 - Constraint
Satisfaction 36
İleriyi yoklama Ana fikir:
Atanmamış değişkenler için kalan legal değerlerin yolunu kaydetmeli (saklamalı)
Her hangi değişkenin legal değeri yoksa arama işlemini kesmeli
V= mavi olursa SA için değerler kümesi boş olacak
İleriyi yoklama sezgiseli “WA=kırmızı,Q=yeşil,V=mavi” kısmı atamasının tutarsız olduğunu meydana çıkaracak ve anında geriye izleme yapılacaktır
4 Feb 2004CS 3243 - Constraint
Satisfaction 37
kısıtlamaların yayılması-Constraint propagation
İleriyi yoklama sezgiseli bilgiyi atama yapılmış değişkenlerden atama yapılmamış değişkenlere yayıyor. Ama tüm başarısızlıkların erken farkedilmesini sağlamaz:
Örnek: WA=kırmızı ve Q=yeşıl olması , NT ve SA’nın mavi olmasını zorunlu kılıyor
NT ve SA her ikisi mavi olamaz! kısıtlamaların yayılması , bir değişkene
sınırlamanın etkilerinin diğer değişkenlere de yayılmasını sağlar
4 Feb 2004CS 3243 - Constraint
Satisfaction 38
Kısıtlamaların yayılması
kısıtlamaların yayılması sezgiseli bir değişken için kısıtlamaları diğer değişkenlere de yayacak. Yayılma WA ve Q’den NT ve SA üzerine gerçekleştiriliyor (ileriyi yoklama). Sonra ise yayılma, tutarsızlığı meydana çıkarmak için NT ve SA arasındaki sınırlama üzerine aktarılıyor
4 Feb 2004CS 3243 - Constraint
Satisfaction 39
Kenarların tutarlılığı-arc consistency
Yayılmanın en basit biçimi her kenarın tutarlı yapılmasıdır
Eğer X’teki her bir x değeri için Y’de her hangi yolverilen y değeri varsa X Y kenarı tutarlıdır
SA{mavi} NSW{mavi, kırmızı}
SA->NSW tutarlıdır
4 Feb 2004CS 3243 - Constraint
Satisfaction 40
Kenarların tutarlılığı
Yayılmanın en basit biçimi her kenarın tutarlı yapılmasıdır
Eğer X’teki her bir x değeri için Y’de her hangi yolverilen y değeri varsa X Y kenarı tutarlıdır
SA{mavi} NSW{mavi, kırmızı}NSW ->SA tutarsızdır
4 Feb 2004CS 3243 - Constraint
Satisfaction 41
Kenarların tutarlılığı Yayılmanın en basit biçimi her kenarın tutarlı
yapılmasıdır Eğer X’teki her bir x değeri için Y’de her
hangi yolverilen y değeri varsa X Y kenarı tutarlıdır
V{kırmızı,yeşil,mavi} NSW{mavi, kırmızı} V->NSW tutarlıdır; her renk ile komşunun en
az bir rengi tutarlıdır
4 Feb 2004CS 3243 - Constraint
Satisfaction 42
Kenarların tutarlılığı Yayılmanın en basit biçimi her kenarın tutarlı
yapılmasıdır Eğer X’teki her bir x değeri için Y’de her
hangi yolverilen y değeri varsa X Y kenarı tutarlıdır
Kenarların tutarlılığı, ileriyi yoklama yönteminden daha önce başarısızlığı fark ede bilir
İşlemlerden önce veya her atamadan sonra çalıştırıla bilir
4 Feb 2004CS 3243 - Constraint
Satisfaction 43
Kenarların tutarsızlığı
SA->NSW tutarlıdır (SA{mavi} NSW{mavi, kırmızı})
NSW->SA tutarsızdır;NSW alanından “mavi” çıkarılmalı
SA->NT’ye arama sürecinde kenarların tutarlılığı uygulana biler. Her ikisinin alanı “mavi”. Tutarsızlığı önlemek için SA’dan “mavi” çıkarılırsa alan boş olacak ve tutarsızlık erken fark edilecek
4 Feb 2004CS 3243 - Constraint
Satisfaction 44
Tutarlı Kenarlar algoritması- AC-3
Zaman karmaşıklığı: O(n2d3)
4 Feb 2004CS 3243 - Constraint
Satisfaction 45
CSP için yerel arama
• Pek çok CSP sorunu için yerel arama etkilidir
•Tam-durum (complete-state) ifadesi kullanılıyor: başlangıç durumda her değişkene değer atanıyor. Ardıl fonksiyonu olarak her adımda bir değişkenin değerinin değiştirilmesi kullanılıyor
•8 vezir sorununda
• başlangıç durum: her vezirin rasgele olarak bir sütunda yerleştirilmesi
•Ardıl fonksiyonu: her hangi bir vezirin kendi sütununda yerini değiştirmesi
4 Feb 2004CS 3243 - Constraint
Satisfaction 46
CSP’ler için yerel arama (devamı)
Yerel arama yönteminin CSP’ye uygulanması: Tatmin etmeyen kısıtlamalı durumlara izin veriliyor İşlem yapmakla değişkenlere değerler yeniden atanıyor
Değişken seçimi: her hangi çelişkili değişkenin rasgele seçimi
En az çelişki sezgiseli ile değer seçimi: Sınırlamaları en az bozan değeri seçmeli
4 Feb 2004CS 3243 - Constraint
Satisfaction 47
En az çelişki (MIN-CONFLICTS) Sezgiseli
Değişkene yeni değer atamak için bir yol, diğer değişkenlerle en az sayıda çelişki oluşturacak değerin seçilmesidir -en az çelişki sezgiseli
Sezgisel, özellikle başlangıç durum verildikte çok etkilidir-Sorunun boyutuna bağlı değil
Başlangıç durum verildikte milyon vezir sorununu ortalama 50 adımda çözmek mümkündür
4 Feb 2004CS 3243 - Constraint
Satisfaction 48
Yerel arama için MinConflicts algoritması
Function MIN-CONFLİCTS(csp,max-steps) returns çözüm, veya başarısız sonuç
inputs csp, kısıtlamaları tatmineden sorun max-steps, csp için tam atamanın
yapılmasını sağlayan adımlar sayısıFor i=1 to max-steps doIf current cp için çözüm ise then return currentvar- VARİABLE[csp]’den tesadüfi seçilmiş çelişki
(conflicted) değişkenValue- CONFLİCTS(var,v, current,csp) fonksiyonunu
minimalleştiren var değişkeninin değeri set var=value in currentreturn failure
4 Feb 2004CS 3243 - Constraint
Satisfaction 49
8 Vezir Sorunu
1
2
1
3
2
2
2
2
4 Feb 2004CS 3243 - Constraint
Satisfaction 50
8 Vezir Sorunu
4 Feb 2004CS 3243 - Constraint
Satisfaction 51
8 Vezir Sorunu
2
1
2
2
1
2
3
2
8 vezir sorunu-demo
http://www.animatedrecursion.com/advanced/the_eight_queens_problem.html
4 Feb 2004CS 3243 - Constraint
Satisfaction 52
4 Feb 2004CS 3243 - Constraint
Satisfaction 53
Özet CSP’ler aşağıdaki sorunların özel türüdür:
Durumlar, belirlenmiş değişkenler kümesinin değerleri ile tanımlanır
Amaç denemesi, değişkenin değerlerine koyulan sınırlamalarla tanımlanır
Geri izleme = her düğümde bir değişkene değer atamakla derinine arama
Değişkenlerin sırasını ve değer seçimini sezgisel yöntemlerle gerçekleştirmek çözüme yardım eder
İleriyi yoklama, sonradan oluşa bilecek başarısızlıklara neden olacak atamaları önler
kısıtlamaların yayılması (kenarların tutarlığı) değerleri sınırlamağa ve tutarsızlıkları ortaya çıkarmağa yardım eder
İteratif en az zıtlık (min-conflicts) pratik olarak etkilidir
Recommended