Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanUgurlu Nabi Değiştirilmiş 9 yıl önce
1
Kısıtlamalı Sorunlar Constraint Satisfaction Problems
4 Feb 2004 CS Constraint Satisfaction
2
CS 3243 - Constraint Satisfaction
Konular kısıtlamalı Sorunlar (CSP) CSP’ler için geriye izlemeli arama-(Backtracking search) CSP’ler için yerel arama 4 Feb 2004 CS Constraint Satisfaction
3
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS Constraint Satisfaction
5
CS 3243 - Constraint Satisfaction
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 2004 CS Constraint Satisfaction
6
CS 3243 - Constraint Satisfaction
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 2004 CS 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 NT WA Q SA NSW V 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 2004 CS 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 2004 CS Constraint Satisfaction
9
CS 3243 - Constraint Satisfaction
Kısıtlamalar Grafı NT Q WA NSW Düğümler: değişkenler Kenarlar: kısıtlamalar SA W T 4 Feb 2004 CS Constraint Satisfaction
10
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS 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} X2 + T + T = O + 10 · X3 X3 = F, T ≠ 0, F ≠ 0 Kareler, uygun değişkenler arasındaki kısıtlamaları gösteriyor 4 Feb 2004 CS 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 2004 CS Constraint Satisfaction
16
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS Constraint Satisfaction
18
Geriye İzleme algoritması
4 Feb 2004 CS Constraint Satisfaction
19
CS 3243 - Constraint Satisfaction
Geriye izleme örneği 4 Feb 2004 CS Constraint Satisfaction
20
CS 3243 - Constraint Satisfaction
Geriye izleme örneği 4 Feb 2004 CS Constraint Satisfaction
21
CS 3243 - Constraint Satisfaction
Geriye izleme örneği 4 Feb 2004 CS Constraint Satisfaction
22
CS 3243 - Constraint Satisfaction
Geriye izleme örneği 4 Feb 2004 CS Constraint Satisfaction
23
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS Constraint Satisfaction
27
CS 3243 - Constraint Satisfaction
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 2004 CS Constraint Satisfaction
28
CS 3243 - Constraint Satisfaction
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 2004 CS Constraint Satisfaction
29
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS Constraint Satisfaction
33
CS 3243 - Constraint Satisfaction
İ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 2004 CS Constraint Satisfaction
34
CS 3243 - Constraint Satisfaction
İ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 2004 CS Constraint Satisfaction
35
CS 3243 - Constraint Satisfaction
İ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 2004 CS Constraint Satisfaction
36
CS 3243 - Constraint Satisfaction
İ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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS 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 2004 CS Constraint Satisfaction
44
Tutarlı Kenarlar algoritması- AC-3
Zaman karmaşıklığı: O(n2d3) 4 Feb 2004 CS Constraint Satisfaction
45
CS 3243 - Constraint Satisfaction
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 2004 CS 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 2004 CS 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 2004 CS 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 do If current cp için çözüm ise then return current var- VARİABLE[csp]’den tesadüfi seçilmiş çelişki (conflicted) değişken Value- CONFLİCTS(var,v, current,csp) fonksiyonunu minimalleştiren var değişkeninin değeri set var=value in current return failure 4 Feb 2004 CS Constraint Satisfaction
49
CS 3243 - Constraint Satisfaction
8 Vezir Sorunu 2 1 2 2 2 1 2 3 4 Feb 2004 CS Constraint Satisfaction
50
CS 3243 - Constraint Satisfaction
8 Vezir Sorunu 4 Feb 2004 CS Constraint Satisfaction
51
CS 3243 - Constraint Satisfaction
8 Vezir Sorunu 2 3 2 2 1 2 2 1 4 Feb 2004 CS Constraint Satisfaction
52
CS 3243 - Constraint Satisfaction
Ö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 İteratif en az zıtlık (min-conflicts) pratik olarak etkilidir 4 Feb 2004 CS Constraint Satisfaction
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.