I122 Osnove umjetne inteligencijeKontinuirane varijable (problemi linearnog programiranja) Vrste...
Transcript of I122 Osnove umjetne inteligencijeKontinuirane varijable (problemi linearnog programiranja) Vrste...
I122 Osnove umjetne inteligencije
Tema: Problemi zadovoljavanja ogranicenja.
7.1.2016.
predavac: Darija Markovic asistent: Darija Markovic
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
1 Problemi zadovoljavanja ogranicenja
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 2/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Problemi zadovoljavanja ogranicenja (PZO)
• Problem zadovoljavanja ogranicenja sastoji se od 3 komponente• X je skup varijabli {X1, . . . , Xn}• D je skup domena {D1, . . . , Dn}, gdje je svaka domena vezana za
jednu varijablu• C je skup ogranicenja koja odreduju dozvoljene kombinacije
vrijednosti
• Svako stanje u PZO definirano je dodjelom vrijednosti nekim ili svimvarijablama
• Dodjela koja ne krsi niti jedno ogranicenje naziva se konzistentna ililegalna (zakonita) dodjela
• Potpuna dodjela je ona u kojoj svaka varijabla ima dodjeljenuvrijednost
• Rjesenje za PZO je konzistentna, potpuna dodjela
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 3/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Primjer bojenje zemljopisnih karata
• varijable: X = {WA,NT,Q,NSW, V, SA, T}• domena: Di = {c, z, p}• ogranicenja: susjedne regije su razlicitih boja
Implicitno: WA 6= NTEksplicitno: (WA,NT ) ∈ {(c, z), (c, p), . . . }
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 4/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Primjer N - kraljica
• varijable: Qk
• domena: Di = {1, 2, . . . , N}• ogranicenja:
Implicitno: ∀i, j (Qi, Qj) bez napadaEksplicitno: (Q1, Q2) ∈ {(1, 3), (1, 4), . . . }
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 5/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Primjer sudoku
• varijable: svaki prazni kvadrat
• domena: D = {1, 2, . . . , 9}• ogranicenja:
U svakom stupcu svi razlicitiU svakom retku svi razlicitiU svakoj 3× 3 regiji svi razliciti
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 6/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Vrste PZO
• Diskretne varijable• konacne domene (svi navedeni primjeri)• beskonacne domene (raspored poslova, varijable su pocetna i
zavrsna vremena za svaki posao)
• Kontinuirane varijable (problemi linearnog programiranja)
Vrste ogranicenja• unarna ogranicenja: ogranicavaju vrijednost samo jedne varijable• binarna ogranicenja: povezuju dvije varijable• ogranicenja viseg reda (globalna ogranicenja): ogranicenje koje
obuhvaca 3 ili vise varijabli
Preferense (prednosti/blaga (slaba) ogranicenja)• ogranicenje koje nije apsolutno/jako, odnosno nije ga nuzno
zadovoljiti• cesto predstavljaju cijenu postavljanja varijabli• na ovaj nacin dolazimo do problema uvjetovane optimizacije
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 7/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Zakljucivanje u PZO
• algoritam moze pretrazivati ili raditi odredenu vrstu zakljucivanjazvanu prostiranje ogranicenja, tj. koristeci ogranicenja smanjitidomenu jedne varijable, sto moze izazvati smanjenje domene drugevarijable itd.
• kljucna ideja je lokalna konzistentnost. Ako svaku varijablupromatramo kao cvor u grafu, a svako binarno ogranicenje kao granu(brid), onda nametanje lokalne konzistentnosti u svakom dijelu grafadovodi do eliminiranja nekonzistenthih vrijednosti kroz graf
• tipovi lokalne konzistentnosti su• konzistentnost cvora• konzistentnost grane (brida)• konzistentnost putanje• K-konzistentnost
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 8/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Standardna formulacija pretrage za PZO
• stanje je definirano sa svim do tada dodjeljenim vrijednostima• pocetno stanje: prazna dodjela• funkcija sljedbenik: dodjeljuje vrijednost nedodjeljenoj varijabli• test cilja: trenutna dodjela je potpuna i zadovoljava sva ogranicenja
• naivan pristup je raditi pretrzivanje u dubinu
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 9/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Vracanje unatrag (Backtracking)
• osnovni neinformirani algoritam za PZO
U njega su uklopljene sljedece dvije ideje
• Jedna po jedna varijabla• pridruzivanje vrijednosti varijablama je komutativno, tj. ne ovisi o
redosljedu na koji dodjeljujemo vrijednosti varijablama• u svakom koraku cemo dodjeljivati vrijednost samo jednoj varijabli
• Provjera ogranicenja u svakom koraku• razmatraju se samo vrijednosti koje nisu u konfliktu s prije dodjeljenim• u svakom koraku cemo potrositi neko vrijeme za provjeru ogranicenja• “postepeni test cilja”
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 10/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Poboljsanja za vracanje unatrag
Za poboljsanje mozemo iskoristiti sljedece ideje
• Filtriranje: postoji li nacin za ranije otkrivanje neizbjeznog neuspjeha?
• Redosljed:• Kojim redosljedom biramo varijable?• Kojim redosljedom biramo vrijednosti?
• Struktura: mozemo li iskoristiti strukturu problema?
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 11/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Filtriranje: Provjera unaprijed
• Pratimo domene nedodjeljenih varijabli i iz njih nakon svake dodjeleizbacujemo lose izbore, tj. izbacujemo vrijednosti koje narusavajuogranicenja s obzirom na trenutnu dodjelu
• u trenutku kada se pojavi varijabla s praznom domenom vracamo seunatrag
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 12/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Filtriranje: Provjera unaprijed
• Provjera unaprijed prosljeduje informacije o varijablama s dodjeljenimvrijednostima prema varijablama s nedodjeljenim vrijednostima, ali neomogucava rano otkrivanje svih neuspjeha
Iako znamo da NT i SA ne mogu obje biti plave, to ovdje nismo iskoristili!
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 13/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Filtriranje: Konzistentnost grane
Grana X → Y je konzistentna ako i samo ako za svaki izbor x za Xpostoji neki y u domeni varijable Y koji ne narusava ogranicenja.
• opet izbacujemo sve sto stvara probleme (iz domene pocetka grane)• provjera unaprijed osigurava konzistentnost onih grana koje
zavrsavaju u varijabli koju smo posljednju dodjelili
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 14/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Filtriranje: Konzistentnost grafa
• trazimo da su sve grane konzistentne
• vazno: ako X izgubi vrijednost, nanovo moramo provjeritikonzistentnost svih susjeda Y s X (Y → X)
• provjera konzistentnosti grana otkriva neuspjehe prije od provjereunaprijed
• mozemo provjeravati konzistentnost u predprocesiranju ili nakonsvakog pridruzivanja vrijednosti novoj varijabli
• produzuje se izvodenje svakog koraka
• nakon postizanja konzistentnosti grana moguce je• dobiti rjesenje• imati nekoliko rjesenja• nemati rjesenje (i ne znati to)
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 15/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Redosljed
Mozemo gledati redosljed izbora za varijable ili za vrijednosti
• kod varijabli: minimum preostalih vrijednosti (Minimum RemainingValues (MRV))
• izaberemo varijablu kojoj je preostalo najmanje vrijednosti u domeni• iako se to cini kao teza opcija, sve varijable na kraju moraju imati
pridruzene neke vrijednosti, pa je bolje teze izbore isprobati ranije• naziva se jos i redosljed brzog neuspjeha
• kod vrijednosti: vrijednost najmanjeg ogranicenja (Least ConstrainingValue (LCV))
• izabiremo vrijednost koja izbacuje najmanje vrijednosti iz preostalihdomena
• to zahtjeva dodatni racun, ali omogucava dobre izbore• za razliku kod varijabli, sve vrijednosti ne moraju biti dodjeljene, pa
mozemo zapoceti s onima koje najvjerojatnije vode do rjesenja
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 16/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Struktura problema
S obzirom na izgled grafa, ponekad su dostupne tehnike za vrlo efikasnorjesavanje
• ekstremni slucaj: nezavisni potproblem• nezavisne potprobleme mozemo otkriti kao povezane komponente
grafa ogranicenja• uz pretpostavku da se graf s n varijabli moze podijeliti na potprobleme
sa samo c varijabli, pri cemu s d oznacimo velicinu domene, unajgorem slucaju imamoO(
(nc
)dc)– linearno u n
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 17/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
PZO sa strukturom stabla
U grafu ogranicenja nemamo ciklusa
Teorem
Ukoliko graf ogranicenja nema ciklusa, tada se PZO moze rjesiti uO(nd2)
Algoritam za PZO sa strukturom stabla
• odabere se proizvoljna varijabla kao korijen stabla, i nakon toga seostale varijable poslazu na nacin da se svaka varijabla javlja nakonsvog roditelja
• prvo se koristi strategija uklanjanja od natrag (remove backward):krenuvsi od posljednjeg cvora uklanjamo sve nekonzistentnevrijednosti u granama Roditelj → Dijete
• nakon toga se koristi strategija dodjeljivanja od naprijed (assignforward): krenusi od korijenskog cvora, redom se dodjeljujuvrijednosti
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 18/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
PZO sa strukturom stabla
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 19/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Poboljsanje strukture
• ponekad uklanjanjem jedne ili vise varijabli dolazimo do grafaogranicenja koje je stablo. U takvim slucajevima razmotrimo sljedece:
• napravimo sva moguca dodjeljivanja za te varijable, za preostalevarijable smanjimo domenu, i nakon toga primjenimo algoritam zarjesavanje PZO sa strukturom stabla
• moguce je takoder uvesti mega-varijable i na taj nacin stvoritistrukturu stabla, gdje svaka mega-varijabla sadrzi dio originalnogproblema
• nakon sto se rijese potproblemi, dodatno se zahtjeva da se dodjelevarijablama koje su zajednicke u nekoliko mega-varijabli podudaraju
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 20/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Algoritmi iterativnog poboljsavanja
• pocinjemo s netocnim rjesenjem i pokusavamo PZO rijesitiuklanjajuci konflikte
• imamo potpunu dodjelu koja ne zadovoljava ogranicenja• nekoj varijabli ponovno dodjeljujemo vrijednost• nemamo frontu!
AlgoritamDok nije rijeseno:
• odaberi varijablu: slucajno se odabire bilo koja varijabla koja jekonfliktna
• odabir vrijednosti: heuristika minimalnog konflikta• odabire se vrijednost koja narusava najmanji broj ogranicenja
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 21/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Izgled kampusa
Trebamo odrediti izgled malog kampusa koji ima sljedece elemente:administrativnu zgradu (A), autobusnu stanicu (B), zgradu spredavaonicama (C) i studentski dom (D). Te elemente treba smjestiti napozicije u sljedecoj mrezi:
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 22/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
Pri tome trebamo zadovoljiti sljedeca ogranicenja:
(i) Autobusna stanica (B) mora biti spojena s cestom.
(ii) Administrativna zgrada (A) i predavaonice (C) moraju biti spojene sautobusnom stanicom (B).
(iii) Predavaonice (C) moraju biti spojene sa studentskim domom (D).
(iv) Administrativna zgrada (A) ne smije biti spojene sa studentskimdomom (D).
(v) Administrativna zgrada (A) ne smije biti na brezuljku.
(vi) Studentski dom (D) mora biti ili na brezuljku ili povezan s cestom.
(vii) Svi elementi moraju biti smjesteni na razlicitim pozicijama u mrezi.
Elemente smatramo povezanim ukoliko dijele brid u mrezi.
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 23/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
(a) Koja su od ogranicenja (i)-(vii) unarna? Odredite domene za svevarijable nakon zadovoljavanja unarnih ogranicenja.
(b) Zelimo sve grane uciniti konzistentnim. Na pocetku u redu zaprovjeru su sve grane u abecednom poretku. Odredite domenu za Anakon sto se grana A→ B ucini konzistentnom.
(c) Provjerite da su grane A→ C , A→ D, B → A, B → C ,B → D i C → A konzistentne. Odredite domenu za C nakon stose grana C → B ucini konzistentnom. Koje se grane nakon ovogkoraka nalazi u redu za provjeru konzistentnosti?
(d) Odredite domene svih varijabli nakon sto sve grane postanukonzistentne.
(e) Koristeci heuristiku minimalne preostale vrijednosti odredite kojojcemo varijabli prvoj dodjeliti vrijednost.
(f) Koristeci heuristiku vrijednosti najmanjeg ogranicenja, koju cemovrijednost dodjeliti toj varijabli?
(g) Nakon ove dodjele, ponovno sve grane ucinite konzistentnim, teodredite rjesenje.
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 24/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
PZO sa strukturom stabla
Razmotrimo sljedeci PZO sa strukturom stabla, koji predstavlja problembojanja karte. Istaknute su domene za svaku varijablu.
Ukoliko za korjensku varijablu odaberemo A, imamo sljedecu situaciju:
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 25/26
www.fizika.unios.hr/oui/
P 1Problemi zadovoljavanja ogranicenja
PZO sa strukturom stabla
(a) Koristeci strategiju uklanjanja od natrag (remove backward), odreditedomene za sve varijable.
(b) Koristeci strategiju dodjeljivanja od naprijed (assign forward), odrediterjesenje ovog PZO-a.
I122 Osnove umjetne inteligencije Problemi zadovoljavanja ogranicenja. 26/26