1 / 53

Kısıtlamalı Sorunlar Constraint Satisfaction Problems

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

caraf
Télécharger la présentation

Kısıtlamalı Sorunlar Constraint Satisfaction Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kısıtlamalı Sorunlar Constraint Satisfaction Problems CS 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 CS 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ı CS 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 DialanındandeğerleralanXideğişkenleriile tanımlanır • Standart arama algoritmalarından daha güçlü olan genel amaçlı algoritmalar oluşturulmasına olanak sağlar CS 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 CS 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ı CS 3243 - Constraint Satisfaction

  7. Örnek: Harita renkleme • DeişkenkerWA, NT, Q, NSW, V, SA, T • AlanlarDi = {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ı} CS 3243 - Constraint Satisfaction

  8. Örnek: Harita renkleme (çözüm) • Çözümler tam veatamalar 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 CS 3243 - Constraint Satisfaction

  9. Kısıtlamalar Grafı NT Q WA NSW Düğümler: değişkenler Kenarlar: kısıtlamalar SA W T CS 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 boyutud ; • 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ı CS 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ıtlamalardeğ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) CS 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 CS 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 CS 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)O + O = R + 10 ·X1 X1 + W + W = U + 10 · X2 X2 + T + T = O + 10 · X3 • X3 = F, T ≠ 0, F≠ 0 Kareler, uygun değişkenler arasındaki kısıtlamaları gösteriyor CS 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 CS 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 CS 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şilise 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 aramadenir • Geriye izlemeli arama CSP’ler için temel bilgisiz algoritmadır CS 3243 - Constraint Satisfaction

  18. Geriye İzleme algoritması CS 3243 - Constraint Satisfaction

  19. Geriye izleme örneği CS 3243 - Constraint Satisfaction

  20. Geriye izleme örneği CS 3243 - Constraint Satisfaction

  21. Geriye izleme örneği CS 3243 - Constraint Satisfaction

  22. Geriye izleme örneği CS 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ü? CS 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 CS 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) CS 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 CS 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şilatamaları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 CS 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ı CS 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 CS 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 enaz 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 CS 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 CS 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 CS 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 CS 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 CS 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 CS 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 CS 3243 - Constraint Satisfaction

  37. kısıtlamaların yayılması-Constraintpropagation • İleriyi yoklamasezgiseli 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 CS 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 CS 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 CS 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 CS 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 CS 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 CS 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 CS 3243 - Constraint Satisfaction

  44. Tutarlı Kenarlar algoritması- AC-3 • Zaman karmaşıklığı: O(n2d3) CS 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 CS 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şkisezgiseli ile değer seçimi: • Sınırlamaları en az bozan değeri seçmeli CS 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 CS 3243 - Constraint Satisfaction

  48. Yerel arama için MinConflicts algoritması FunctionMIN-CONFLİCTS(csp,max-steps)returnsçözüm, veya başarısız sonuç inputscsp, kısıtlamaları tatmineden sorun max-steps, csp için tam atamanın yapılmasını sağlayan adımlar sayısı For i=1tomax-stepsdo Ifcurrent cp için çözüm ise then returncurrent 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 CS 3243 - Constraint Satisfaction

  49. 8 Vezir Sorunu  2  1  2  2 2 1   2  3 CS 3243 - Constraint Satisfaction

  50. 8 Vezir Sorunu         CS 3243 - Constraint Satisfaction

More Related