Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1 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 rendszerek Kocsis Imre

2 Minimum set cover Kényszerek

3 Diagnosztika Kényszerek

4 Diagnosztika, mint korlátkielégítés  Constraint Satisfaction Problems  A diagnosztika egyik klasszikus mérnöki eszköze  Probléma-definíció és hatékony (keresés-alapú) megoldás szétcsatolása o Kész, hatékony kereskedelmi és nyílt/ingyenes eszközök

5 CSP  A CSP(X) séma: o X adattartomány és azon értelmezett o korlátok (relációk) X-en  Példák X-re o X = Q vagy R lineáris egyenlőségek/egyenlőtlenségek következtetés: Gauss elimináció és szimplex módszer o X = FD korlátok = aritmetikai és kombinatorikus relációk következtetés: MI CSP–módszerek o X = B korlátok = ítéletkalkulusbeli relációk Következetés: SAT-solving (a BME Nagyhatékonyságú Logikai Programozás kurzusának jegyzete alapján)

6 CSP(FD)  Formálisan: o CSP = o X változók halmaza o D értékek doménje o C korlátok halmaza o Korlát:, ahol t változó n-es és R egy |t| szignatúrájú reláció o Változók egy lekötése: v: X  D o Egy lekötés kielégít egy korlátot, ha (v(x 1 ), …, v(x n ))  R o Egy megoldás egy olyan lekötés, mely minden korlátot kielégít o FD: D véges halmaz

7 8-queens  Cél: 8 királynő, egyik se támadja valamely másikat  Változók: királynő pozíciója a sorokban vagy oszlopokban  Domainek: 1…8  Korlátok? o x i != x j o x i – x j != i-j o x j – x i != i-j

8 Kényszertípusok

9 Egy példa  Forráskód

10 Choco 3: Int korlátok  Eclipse

11 Mit lehet még így kifejezni?  Konfiguráció-tervezés o VM-ek adatközpont(ok)ban, taszkok elhelyezése mikrokontrollereken  „Tiszta” pakolási problémák o Logisztika  Ütemezés o Órarend … Gyártás  Trajektória-tervezésre miért nem jó? o Illetve mik a megkötések  Modern megoldók

12 CSP(FD): kényszerek ábrázolása  Elméleti lehetőségek: o Explicit reláció o Algebrai kifejezések o Propozicionális formulák  Praktikusan: o Kényszer-gráf Bináris esetben egyszerű gráf („trükkök” nélkül) o Értékkészlet-intervallumok (pl. SICSTUS Prolog) o …  A reláció-algebra operációi egyszerűen adódnak!

13 CSP megoldás  visszalépéses iteratív keresés (backtracking) o „trashing” veszélye! o Vezérlés?  korlát-terjesztés (constraint propagation) o „tightening” o kényszerhez kötött, konzisztenciát fenntartó szűrésen keresztül (filtering) o minél jobb, annál költségesebb  lokális keresés (local search)  a gyakorlatban ezek együttműködése  szokásos minta: „constraint store”  Általánosságban: NP-teljes probléma

14 CSP megoldás - visszalépéses iteratív keresés  Változó kiválasztása  Döntési pont: változó lehetséges értékei o Mélységi keresés  Lekötés, konzisztenciaellenőrzés  Fail: backtracking  Több változat o Változó-sorrendezés o Keresési stratégiák

15 Visszalépéses keresés - példa  Webreq = WebPing OR WebS  WebPing = R OR WebHW  1 >= R + WebHW  Webreq = 1

16 Visszalépéses keresés - példa

17 Hogyan tegyük ezt hatékonyabbá?  Keresés előtt o Konzisztencia-algoritmusok (N.B. Nem csak előtte) o Alkalmas (fix) változósorrendezés  Keresés közben o „Előrenéző” megoldások Értékrendezés („legkevésbé megszorító” érték választása) Változórendezés (a „legjobban megszorító” változó választása) o „Hátranéző” megoldások...

18 CSP-megoldás - konzisztencia  Változók/korlátok egy csoportja valamilyen konzisztenciájának fenntartása o Cél: keresési tér szűkítése  Csomópont (node): unáris korlát teljesül az érintett változó doménjén o X < 23  Él (arc): egy változó élkonzisztens egy másikkal, ha minden megengedett értékéhez létezik a másiknak megengedett értéke

19 Konzisztencia  i-konzisztencia: i-1 változó konzisztens egy i- edikkel, ha az i-1 minden konzisztens lekötése az i- edikben konzisztensen kiterjeszthető o i-ben exponenciálisan bonyolult o Erős i-konzisztencia: minden j <= i-re j-konzisztencia  Terjesztés: (informálisan) a konzisztencia kikényszerítésének szükségessége változóról változóra „terjed” o Lehet „előre”... o... vagy minden keresési lépés előtt

20 c sémája (vált. sorozat) n-es Probléma-domén

21 Korlát-logikai programozás (kitekintés)  LP: Prolog rezolúció + visszalépés  általános modell  CSP: korlát-tár o új korlát felvétele: predikátum hívás o "osztott" változók o közös visszalépés Prolog meghiúsulás: a tár is visszalép tár inkonzisztenssé válása: visszalépés a legutolsó Prolog choicepoint-ig o tár-konzisztencia: automatikus o keresés: speciális predikátumok (pl. „labeling”)

22 CLP(FD) Prolog-ban (kitekintés)  Domének: egész számok véges halmazai  beépített korlátok o Aritmetikai, domén/tagsági, propozicionális, kombinatorikai o felhasználói kiterjesztések indexikálisok globális korlátok  monoton következtetés  belső megvalósítás

23 Rövid példa: diagnosztika TMR modell felett  Rövid GNU Prolog demo  + az eredeti példánk CLP(FD)-ben

24 CSP alkalmazása - példák  Önálló o Pl. IBM ILOG CP  Imperatív nyelvbe ágyazva o Java: Choco, Koalog, Jacop, … o C++: Mistral, Minion, GeCode… o Google or-tools  Deklaratív nyelvbe ágyazva o Sicstus és GNU Prolog,... o …

25 JSR331: Constraint Programming API

26 „Global Constraint Catalog”   Példa: atleast_nvalue

27 MiniZinc

28 Hivatkozások  [1] Rossi, F., Beek, P. Van, & Walsh, T. (Eds.). (2006). Handbook of Constraint Programming (Vol. 2). Elsevier.  [2] A Choco CSP solver honalpja:  [3] A MiniZinc és FlatZinc leírónyelvek honlapja:


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések