Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

4 Feb 2004CS 3243 - Constraint Satisfaction1 Kısıtlamalı Sorunlar Constraint Satisfaction Problems.

Benzer bir sunumlar


... konulu sunumlar: "4 Feb 2004CS 3243 - Constraint Satisfaction1 Kısıtlamalı Sorunlar Constraint Satisfaction Problems."— Sunum transkripti:

1 4 Feb 2004CS Constraint Satisfaction1 Kısıtlamalı Sorunlar Constraint Satisfaction Problems

2 4 Feb 2004CS Constraint Satisfaction2 Konular kısıtlamalı Sorunlar (CSP) CSP’ler için geriye izlemeli arama- ( Backtracking search) CSP’ler için yerel arama

3 4 Feb 2004CS Constraint Satisfaction3 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 4 Feb 2004CS Constraint Satisfaction4 Kısıtlamalı sorunlar(CSPs) Standart arama sorunu: Durum- ardıl fonksiyonunu, sezgisellik fonksiyonunu ve amaç denemesini destekleyen veri yapısı CSP: Durum D i alanından değerler alan X i 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

5 4 Feb 2004CS Constraint Satisfaction5 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

6 4 Feb 2004CS Constraint Satisfaction6 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ı

7 4 Feb 2004CS Constraint Satisfaction7 Örnek: Harita renkleme Deişkenker WA, NT, Q, NSW, V, SA, T Alanlar D i = {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 WA NT SA Q 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ı}

8 4 Feb 2004CS Constraint Satisfaction8 Ö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

9 4 Feb 2004CS Constraint Satisfaction9 Kısıtlamalar Grafı NT WA SA Q NSW W T Düğümler: değişkenler Kenarlar: kısıtlamalar

10 4 Feb 2004CS Constraint Satisfaction10 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(d n ) İ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: StartJob ≤ StartJob 3 sürekli değişkenler Teleskopla gözlemlerin başlanması/ bitmesi zamanları

11 4 Feb 2004CS Constraint Satisfaction11 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)

12 4 Feb 2004CS Constraint Satisfaction12 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

13 4 Feb 2004CS Constraint Satisfaction13 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

14 4 Feb 2004CS Constraint Satisfaction14 Örnek: Cryptarithmetic Değişkenler: F T U W R O X 1 X 2 X 3 alanlar: {0,1,2,3,4,5,6,7,8,9} Sınırlamalar: Alldiff (F,T,U,W,R,O) O + O = R + 10 · X 1 X 1 + W + W = U + 10 · X 2 X 2 + T + T = O + 10 · X 3 X 3 = F, T ≠ 0, F ≠ 0 Kareler, uygun değişkenler arasındaki kısıtlamaları gösteriyor

15 4 Feb 2004CS Constraint Satisfaction15 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

16 4 Feb 2004CS Constraint Satisfaction16 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

17 4 Feb 2004CS Constraint Satisfaction17 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

18 4 Feb 2004CS Constraint Satisfaction18 Geriye İzleme algoritması

19 4 Feb 2004CS Constraint Satisfaction19 Geriye izleme örneği

20 4 Feb 2004CS Constraint Satisfaction20 Geriye izleme örneği

21 4 Feb 2004CS Constraint Satisfaction21 Geriye izleme örneği

22 4 Feb 2004CS Constraint Satisfaction22 Geriye izleme örneği

23 4 Feb 2004CS Constraint Satisfaction23 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ü?

24 4 Feb 2004CS Constraint Satisfaction24 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

25 4 Feb 2004CS Constraint Satisfaction25 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)

26 4 Feb 2004CS Constraint Satisfaction26 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

27 4 Feb 2004CS Constraint Satisfaction27 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

28 4 Feb 2004CS Constraint Satisfaction28 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ı

29 4 Feb 2004CS Constraint Satisfaction29 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

30 4 Feb 2004CS Constraint Satisfaction30 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

31 4 Feb 2004CS Constraint Satisfaction31 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

32 4 Feb 2004CS Constraint Satisfaction32 İ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

33 4 Feb 2004CS Constraint Satisfaction33 İ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

34 4 Feb 2004CS Constraint Satisfaction34 İ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

35 4 Feb 2004CS Constraint Satisfaction35 İ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

36 4 Feb 2004CS Constraint Satisfaction36 İ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

37 4 Feb 2004CS Constraint Satisfaction37 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

38 4 Feb 2004CS Constraint Satisfaction38 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

39 4 Feb 2004CS Constraint Satisfaction39 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

40 4 Feb 2004CS Constraint Satisfaction40 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

41 4 Feb 2004CS Constraint Satisfaction41 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

42 4 Feb 2004CS Constraint Satisfaction42 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

43 4 Feb 2004CS Constraint Satisfaction43 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

44 4 Feb 2004CS Constraint Satisfaction44 Tutarlı Kenarlar algoritması- AC-3 Zaman karmaşıklığı: O(n 2 d 3 )

45 4 Feb 2004CS Constraint Satisfaction45 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

46 4 Feb 2004CS Constraint Satisfaction46 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

47 4 Feb 2004CS Constraint Satisfaction47 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

48 4 Feb 2004CS Constraint Satisfaction48 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

49 4 Feb 2004CS Constraint Satisfaction49 8 Vezir Sorunu   33      2

50 4 Feb 2004CS Constraint Satisfaction50 8 Vezir Sorunu        

51 4 Feb 2004CS Constraint Satisfaction51 8 Vezir Sorunu  22      

52 4 Feb 2004CS Constraint Satisfaction52 Ö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


"4 Feb 2004CS 3243 - Constraint Satisfaction1 Kısıtlamalı Sorunlar Constraint Satisfaction Problems." indir ppt

Benzer bir sunumlar


Google Reklamları