Kényszerkielégítési problémák Constraint Satisfaction Problems (CSP)

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements


Kamarai prezentáció sablon
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE)
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Erőállóképesség mérése Találjanak teszteket az irodalomban
MATEMATIKA Év eleji felmérés 3. évfolyam
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Humánkineziológia szak
Mellár János 5. óra Március 12. v
MFG-Pro váll-ir. rendszer bemutatása
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Műveletek logaritmussal
Koordináta transzformációk
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Illés Tibor – Hálózati folyamok
Euklidészi gyűrűk Definíció.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
A tételek eljuttatása az iskolákba
Gazdaságmatematika 5. szeminárium.
Elektronikai Áramkörök Tervezése és Megvalósítása
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés laboratóriumi gyakorlat Karakterisztikák mérése 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Elektronikai Áramkörök Tervezése és Megvalósítása
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
5.2. Próbavizsga Próbáld ki tudásod!
Védőgázas hegesztések
Talajjavítás mélytömörítéssel, szemcsés kőoszlopokkal
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
T.Gy. Beszedfelism es szint Beszédfelismerés és beszédszintézis Beszédjelek lineáris predikciója Takács György 4. előadás
2. Koordináta-rendszerek és transzformációk 2.1. Koordináta-rendszerek 2.2. Az egyenes és a sík egyenlete 2.3. Affin transzformációk 2.4. Projektív transzformációk.
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Darupályák tervezésének alapjai
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Gráfok Készítette: Dr. Ábrahám István.
szakmérnök hallgatók számára
2. A KVANTUMMECHANIKA AXIÓMÁI 1. Erwin Schrödinger: Quantisierung als Eigenwertproblem (1926) 2.
Logikai szita Izsó Tímea 9.B.
VARIÁCIÓK ISMÉTLÉS NÉLKÜLI ESET DEFINÍCIÓ
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
HÍDÉPÍTÉS Acélszerkezetek
Gráf Szélességi bejárás/keresés algoritmusa
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Határozatlan integrál
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
MUNKA- ÉS TŰZVÉDELEMI JELEK ÉS JELZÉSEK
Az ábrán az inicializáló blokk lefutása utáni állapotot láthatjuk. A KÉSZ halmazhoz való tartozást színezéssel valósítjuk meg. A nem KÉSZ csúcsok fehérek,
Objektum orientált programozás
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
A termelés költségei.
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
Nagy Szilvia 13. Konvolúciós kódolás
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Korlátkielégítési problémák Autonóm és hibatűrő információs.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
A termelés költségei.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Előadás másolata:

Kényszerkielégítési problémák Constraint Satisfaction Problems (CSP)

Kényszerkielégítési problémák Keresés: - 1 ágens (nincs ellenfél) - determinisztikus cselekvések (nincs bizonytalanság) - a világ teljesen megfigyelhető - a keresési tér diszkrét

Keresés Tervezés: cselekvések sorozata (pl. hogyan kijutni a labirintusból). Nem csak a megoldást keressük, hanem inkább az odavezető utat (tervezés). Az utaknak költségük, mélységük, ... van. A keresés gyorsitásához heurisztikát használunk (pl. A*).

Keresés A keresés másik osztálya az identifikációs feladatok (a változókhoz értékeket rendelünk). Fontos a cél, nem pedig az odavezető út. A CSP-k az identifikációs feladatok megoldására szolgálnak.

Keresés Tervez A célt keresi

Kényszerkielégítési problémák Alkalmazások: Hozzárendelési feladatok (pl. ki melyik tantárgyat fogja oktatni) Órarendkészítés (mikor és melyik labiban lesz melyik tantárgy) Szállítás – ütemezés Gyárban: termelés ütemezése ...

Kényszerkielégítési problémák A CSP nem más mint keresés, a megoldáshoz keresőalgoritmusokat használunk. Elemek: Állapot – részleges hozzárendelés Inicializáció – üres hozzárendelés: { } Állapotátmenet függvény: nem hozzárendelt változóhoz értéket rendel Célteszt – A pillanatnyi hozzárendelés teljes? Ki van-e elégítve az összes kényszer?

Kényszerkielégítési problémák A keresés speciális esete. Egy állapotot az Xi változók definiálnak. A változók értékei egy D dómenból vehetik fel értékeiket. A célteszt: kényszerek halmaza melyek a változók kombinációinak lehetséges értékeit jelölik. CSP algoritmusokkal a keresési feladatokat hatékonyabban lehet megoldani.

N-királynő Kényszerek: 1. módszer: A tábla minden mezőjének egy változó felel meg (Xij). Xij jelöli hogy mi történik az adott mezőn. Dómen:{0,1} Kényszerek:

N-királynő Kényszerek: Implicit: Explicit: nem támadják egymást 2. módszer: Változók: Qk (minden sornak egy változója van) Dómen:{1, 2, 3, ..., N} Minden sor tartalmaz királynőt (Q1 az első sor változója, azt jelöli hogy hol a királynő az 1. sorban) Kényszerek: Implicit: Explicit: nem támadják egymást

Példa: Térképszínezés Változók: WA, NT, Q, NSW, V, SA, T Dómenok: D={piros, zöld, kék} Kényszerek: a szomszédos területek nem lehetnek egyforma színűek Implicit: WA ≠ NT Ekszplicit: (WA, NT) € {(piros,zöld), (piros,kék),...} A megoldás a változók olyan hozzárendelése amely az összes kényszert kielégíti, pl.: {WA=piros, NT=zöld, Q=piros, NSW=zöld, V=piros, SA=kék, T=zöld} A megoldás nem egyértelmű, van más helyes hozzárendelés is.

Példa: Térképszínezés Kényszertipusok: Unáris kényszerek: csak egy változót érintenek (pl. SA ≠ zöld) Bináris kényszerek: két változót érintenek (pl. SA ≠ WA) Magasabb rendű kényszerek

Kényszergráf Bináris CSP: minden kényszer (legfeljebb) két változót hoz összefüggésbe. Bináris kényszergráf: a csomópontok a változók, az élek mutatják a kényszereket. Az általános célú CSP algoritmusok a keresés gyorsításához gráfot használnak (Taszmánia különálló részfeladat).

Példa: kriptoaritmetika Változók: F, T, U, W, R, O, X1, X2, X3 Dómenok: {0,1,2,3,4,5,6,7,8,9} Kényszerek: alldiff (F,T,U,W,R,O) O + O = R + 10 * X1 . . . A négyzetek magasabbrendű kényszereket jelölnek.

Példa: kriptoaritmetika Változók: F, T, U, W, R, O, X1, X2, X3 Dómenok: {0,1,2,3,4,5,6,7,8,9} Kényszerek: alldiff (F,T,U,W,R,O) O + O = R + 10 * X1 . . . A négyzetek magasabbrendű kényszereket jelölnek. 867 + 867 -------- 1734

Példa: kriptoaritmetika

CSP Szélességi keresés A megoldások az legalsó mélységen vannak!

CSP Mélységi keresés Gyorsan lejut a legalsó szintre és megtalál egy teljes hozzárendelést (nem biztos, hogy kielégíti a kényszereket).

CSP - DFS

CSP - DFS

CSP - DFS

CSP - DFS

CSP - DFS Most kezdjük ellenőrizni a kényszereket.

CSP - DFS . . .

CSP - DFS A klasszikus DFS csak nagyon hosszú idő után vezet megoldásra. Miután leraktuk a második királynőt, észrevettük, hogy van támadás, de a rossz stratégia ellenére haladtunk tovább. . . .

Backtrack (visszalépéses keresés) Alapvető nem-informált keresés a CSP megoldására. Első ötlet: egyszerre csak egy változóhoz rendelünk értéket. Második ötlet: a kényszereket menet közben ellenőrizzük. DFS + Első ötlet + Második ötlet = Backtrack

Backtrack (visszalépéses keresés)

Backtrack Hatékonyság javítása Ordering (sorbaállítás): - melyik változóhoz rendeljünk értéket? - milyen sorrendben próbáljuk hozzárendelni az értékeket? Filtering (szűrés): - menet közben detektálni hogy nem lesz megoldás. - A nem hozzárendelt változók dómenjében megkeresni azokat az elemeket amelyeket biztonságosan el lehet távolítani.

Forward checking Szűrés: nyilvántartjuk a nem hozzárendelt változók dómenjét, és eliminálunk (szűrünk). Forward Checking-nél azokat az értékeket húzzuk ki amelyek megszegik a kényszert. Kezdetben egy változó sincs hozzárendelve.

Forward checking Az SA dómenje üres. Ha SA-hoz akármit rendelünk, backtrack következik.

Szűrés: kényszer propagáció (továbbítás) A forward checking a hozzárendelt változóktól továbbítja az információt a nem hozzárendeltek felé, de nem garantálja az összes hiba korai detektálását. NT és SA nem lehetnek mind a ketten kékek!!!

Szűrés: kényszer propagáció (továbbítás) Minden változónak van még engedélyezett értéke (egy mező sem üres). NT és SA is csak kék lehet (kényszer megszegés). Jó volna már most detektálni, hogy hiba lesz és azonnal backtrack-elni, nem pedig később. Megoldás: ARC CONSISTENCY (ág-konzisztencia).

Ág-konzisztencia (arc consistency - AC) Szűrési algoritmusoknál használjuk X Y konzisztens vagy nem? Egy ág akkor konzisztens ha nincs kényszer-megszegés Definició. Az X Y ág akkor és csak akkor konzisztens ha minden x értékre a kezdőpontból létezik olyan y a csúcsban amelyhez értéket lehet rendelni anélkül, hogy megszegnénk egy kényszert csúcs kezdőpont

Ág-konzisztencia (arc consistency - AC) A megjelölt ág nem konzisztens (piros), de konzisztenssé tehetjük (töröljük a pirosat). Mindig a kezdőpont-ból törlünk!!!

Ág-konzisztencia (arc consistency - AC) Ez az ág konzisztens (nem kell konzisztenssé tenni) mert egy értékre se a kezdőpontból nem lesz kényszer megszegés.

Ág-konzisztencia (arc consistency - AC) Ellenőrizzük, hogy a csomagtérben van-e valami ami megszegi valamelyik kényszert. Ha van, akkor kivesszük. Mindig a kezdőpontból törlünk!

A teljes CSP konzisztenciája A CSP akkor konzisztens ha az összes ág konzisztens. A forward checking nem detektálta a hibát (NT és SA nem lehetnek egyszerre kékek).

A teljes CSP konzisztenciája Leellenőrizzük az összes ág konzisztenciáját, és ha az ág nem konzisztens, törlünk a kezdőpontból hogy konzisztenssé tegyük. Ez az ág konzisztens.

A teljes CSP konzisztenciája Ez az ág is konzisztens. Ez az ág nem konzisztens (kék - kitöröljük).

A teljes CSP konzisztenciája Amíg nem töröltük ki a kéket, ez az ág konzisztens volt, de többé nem konzisztens mert értéket vesztett a csúcsból. Ahhoz hogy az ág újra konzisztens legyen, a V dómenjéből törölni kell a pirosat.

A teljes CSP konzisztenciája A forward checking ezt nem detektálta, az AC viszont korábban észrevette hogy ellentmondás lesz (töröljük SA dómenjéből a kéket). Amikor egy változó dómenje üres marad, backtrack következik.

A teljes CSP konzisztenciája Ha az X változó értéket veszít a dómenjéből, a szomszédait újra kell ellenőrizni. Az AC korábban detektálja a hibát mint a Forward Checking. Többet kell ellenőrizni mint a Forward Checking-nél (minden lépés le van lassítva), de kevesebbet kell backtrack-elni. Összesítve gyorsabban jutunk el a megoldásig.

A teljes CSP konzisztenciája A megismert algoritmus csak bináris CSP-re vonatkozik ahol egy kényszer csak két változót foglal magába.

Az AC korlátai

Az AC korlátai Mi történhet az AC kényszeritése után: Egy megoldás marad. Több megoldás marad. Nem marad megoldás (és ezt nem tudjuk).

Az AC korlátai Minden ág konzisztens (a teljes CSP konzisztens), 2 megoldás van. Minden ág konzisztens (a teljes CSP konzisztens), nincs megoldás. Az AC a hibák csak egy részét detektálja. Megoldás: k-konzisztencia.