26
I122 Osnove umjetne inteligencije Tema: Problemi zadovoljavanja ograniˇ cenja. 7.1.2016. predavaˇ c: Darija Markovi´ c asistent: Darija Markovi´ c

I122 Osnove umjetne inteligencijeKontinuirane varijable (problemi linearnog programiranja) Vrste ograniˇcenja unarna ogranicenja: ograniˇ cavaju vrijednost samo jedne varijableˇ

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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