5. Rajoitelaskenta (Constraint Satisfaction)

Samankaltaiset tiedostot
4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

T Tietojenkäsittelyteorian seminaari

Kognitiivinen mallintaminen 1

Eero Hyvönen Helsingin yliopisto

Tietorakenteet, laskuharjoitus 7, ratkaisuja

3. Ongelmanratkonta haun avulla. Eero Hyvönen Helsingin yliopisto

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Optimaalisen polun haku graafista A* -algoritmilla

Kognitiivinen mallintaminen I

Harjoitus 4 ( )

3.4 Peruutus (backtracking)

Harjoitus 4: Matlab - Optimization Toolbox

Algoritmit 2. Luento 11 Ti Timo Männikkö

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

PARITUS KAKSIJAKOISESSA

Ovatko seuraavat väittämät oikein vai väärin? Perustele vastauksesi.

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö

Piiri K 1 K 2 K 3 K 4 R R

TIEA382 Lineaarinen ja diskreetti optimointi

13 Lyhimmät painotetut polut

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Toppila/Kivistö Vastaa kaikkin neljään tehtävään, jotka kukin arvostellaan asteikolla 0-6 pistettä.

JOHDATUS TEKOÄLYYN TEEMU ROOS

Mat Lineaarinen ohjelmointi

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

JOHDATUS TEKOÄLYYN TEEMU ROOS

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

JOHDATUS TEKOÄLYYN TEEMU ROOS

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

6. Approksimointialgoritmit

v 8 v 9 v 5 C v 3 v 4

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

A TIETORAKENTEET JA ALGORITMIT

Algoritmit 2. Luento 6 To Timo Männikkö

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Matematiikan tukikurssi

Tekoäly muuttaa arvoketjuja

Rationaalinen agentti. Kognitiivinen mallintaminen I. Rationaalinen agentti. Rationaalinen agentti. Kognitiivinen mallintaminen I, kevät /1/08

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

811312A Tietorakenteet ja algoritmit V Hash-taulukot ja binääriset etsintäpuut

JOHDATUS TEKOÄLYYN TEEMU ROOS

Haku osittaisen informaation vallitessa

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

3. Hakupuut. B-puu on hakupuun laji, joka sopii mm. tietokantasovelluksiin, joissa rakenne on talletettu kiintolevylle eikä keskusmuistiin.

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Algoritmi on periaatteellisella tasolla seuraava:

Uusi uljas ubimaailma?

Algoritmit 2. Luento 6 Ke Timo Männikkö

Oppijan saama palaute määrää oppimisen tyypin

The CCR Model and Production Correspondence

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö

Malliratkaisut Demot 6,

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Harjoitus 6 ( )

Markov-ketjut pitkällä aikavälillä

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

ABHELSINKI UNIVERSITY OF TECHNOLOGY

7. Tasapainoitetut hakupuut

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Vesivoimaketjun optimointi mehiläisalgoritmilla (Valmiin työn esittely)

Matematiikan tukikurssi

Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit. TKK (c) Ilkka Mellin (2005) 1

Johdatus verkkoteoriaan 4. luento

Malliratkaisut Demot

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

Algoritmit 1. Luento 13 Ti Timo Männikkö

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

1 Ratkaisuja 2. laskuharjoituksiin

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

Malliratkaisut Demot

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Matematiikan tukikurssi

Mat Lineaarinen ohjelmointi

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Markov-ketjut pitkällä aikavälillä

Verkon värittämistä hajautetuilla algoritmeilla

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto

Kombinatorinen optimointi

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Luetteloivat ja heuristiset menetelmät. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Lineaarinen optimointitehtävä

Algoritmit 2. Luento 2 Ke Timo Männikkö

Muita rekisteriallokaatiomenetelmiä

10. Painotetut graafit

Pienin virittävä puu (minimum spanning tree)

Harjoitus 7 -- Ratkaisut

Transkriptio:

5. Rajoitelaskenta (Constraint Satisfaction) Eero Hyvönen Helsingin yliopisto Solution = An assignment of values for the variables satifying the contraints Some CSPs: optimal solution is the best solution according to an objective function Tekoäly, Eero Hyvönen, 2004 2 1

Tekoäly, Eero Hyvönen, 2004 3 Tekoäly, Eero Hyvönen, 2004 4 2

Tekoäly, Eero Hyvönen, 2004 5 CSP vs. tila-avaruushaku CSP tila-avaruushakuna: Tiloina muuttujajoukon arvosidokset {Vi=dn}, n=0...n Alkutila = {} Lopputila = {V1=d1,, Vn=dn} Seuraajafunktio = Uuden muuttujan sidoksen lisääminen tilaan rajoitteita rikkomatta Lopputesti = kaikilla muuttujilla on konsistentti arvo Kustannus = vakiokustannus uudelle sidokselle Tekoäly, Eero Hyvönen, 2004 6 3

CSP tilahakuna CSP:ssä ratkaisu on tila -- hakupolku on irrelevantti CSP-ongelmiin voidaan soveltaa tilahaun menetelmiä Tekoäly, Eero Hyvönen, 2004 7 CSP:n etuja Yksinkertainen vakiomuoto -> voidaan kehittää tehokkaita yleiskäyttöisiä algoritmeja Sijoitetaan n muuttujalle arvot rajoitteiden puitteissa Hakupuun syvyys max n Rajoiteverkon ominaisuuksien hyödyntäminen algoritmeissa Rajoiteverkko ei ole tila-avaruus Haun suuntaaminen rajoitteilla Riippumattomat aliongelmat Puumaiset rakenteet helppoja Tekoäly, Eero Hyvönen, 2004 8 4

Klassiset optimointiongelmat: - joukko yhtälö tai epäyhtälörajoitteita muuttujille - kustannusfunktio, jolle pitää löytää minimi rajoitteiden vallitessa Intervallirajoitelaskenta (interval constraint satisfaction) - epälineaaristen yhtälöiden ja optimointiongelmien ratkontaan - löydetään varmuudella(!) kaikki(!) ratkaisut (interval box) annetun tarkkuuden (ja liukulukutarkkuuden) puitteissa - ottaa huomioon myös pyöristysvirheet Tekoäly, Eero Hyvönen, 2004 9 Esim. A+B=C Tekoäly, Eero Hyvönen, 2004 10 5

Tekoäly, Eero Hyvönen, 2004 11 Tekoäly, Eero Hyvönen, 2004 12 6

Tekoäly, Eero Hyvönen, 2004 13 Tekoäly, Eero Hyvönen, 2004 14 7

MITEN TÄTÄ VOISI TEHOSTAA? Tekoäly, Eero Hyvönen, 2004 15 Tekoäly, Eero Hyvönen, 2004 16 8

Tekoäly, Eero Hyvönen, 2004 17 Tekoäly, Eero Hyvönen, 2004 18 9

Tekoäly, Eero Hyvönen, 2004 19 Tekoäly, Eero Hyvönen, 2004 20 10

Tie-break Miksi tämä on hyvä heuristiikka? Tekoäly, Eero Hyvönen, 2004 21 Miksi tämä on hyvä heuristiikka? Tekoäly, Eero Hyvönen, 2004 22 11

Miksi ja milloin tämä on hyvä heuristiikka? Tekoäly, Eero Hyvönen, 2004 23 Tekoäly, Eero Hyvönen, 2004 24 12

Tekoäly, Eero Hyvönen, 2004 25 Tekoäly, Eero Hyvönen, 2004 26 13

Tekoäly, Eero Hyvönen, 2004 27 Tekoäly, Eero Hyvönen, 2004 28 14

Tekoäly, Eero Hyvönen, 2004 29 Tekoäly, Eero Hyvönen, 2004 30 15

Tekoäly, Eero Hyvönen, 2004 31 Tekoäly, Eero Hyvönen, 2004 32 16

Tekoäly, Eero Hyvönen, 2004 33 Konsistenssin asteita 1..k Node consistency (1-consistency) Muuttujan arvo annetussa arvoaluessa Arc consistency (2-consistency) Muuttujaparien arvot rajoitusten mukaiset Path consistency (3-consistency) Jokainen toisiinsa liittyvän muuttujan arvopari on rajoitusten mukainen mihin tahansa kolmanteen liittyvään muuttujaan k-consistency Jokaiselle konsistentille k-1 muuttujan arvojoukolle löytyy konsistentti arvo myös muuttujalle k Strong k-consistency 1 k konsistentti Tekoäly, Eero Hyvönen, 2004 34 17

Jos CSP on vahvasti k-konsistentti (strongly k-konsistent), niin se voidaan ratkaista ilman peräytystä (bracktrack) O(nd) aikakompleksisuus k-konsistenssin laskeminen on kuitenkin kompleksisuudeltaan exponentiaalinen ongelma (suhteessa k:hon) Trade-off: bracktracking vs. constraint propagation Tekoäly, Eero Hyvönen, 2004 35 Muita menetelmiä Korkeamman asteisten rajoitteiden heuristinen hyödyntäminen Esim. Alldiff(X1,,Xm) Jos muuttujilla on n<m erilaista arvoa, ei rajoitetta voida tyydyttää Tekoäly, Eero Hyvönen, 2004 36 18

Älykäs peräytys (Intelligent Backtracking) Back-jumping Idea: peräytyksessä ei palata kronologisesti edelliseen valintatilanteeseen vaan valintaan, joka aiheutti umpikujan Konfliktijoukko (conflict set): Muuttujajoukko, joka on liitetty muuttujaan rajoitteilla Voidaan siis peräytyä esim. suoraan viimeisimpään konfliktijoukon muuttujaan Jokainen tämän menetelmän hakupuusta karsima haara karsiutuu myös forward checking tekniikalla Redundantti myös arc consistency -tekniikalle Constraint learning Idea: yritetään muistaa aiemmat umpikujat, ettei niihin jouduta uudestaan Tekoäly, Eero Hyvönen, 2004 37 Tekoäly, Eero Hyvönen, 2004 38 19

Tekoäly, Eero Hyvönen, 2004 39 Tekoäly, Eero Hyvönen, 2004 40 20

Tekoäly, Eero Hyvönen, 2004 41 Puuperustaisia ratkaisumenetelmiä Idea: CSP:n redusointi puuksi Cycle cutset menetelmä Määritetään (mahd. suppea) solmujoukko C, jonka arvojen instantiointi tekee CSP:stä puun (ts. verkon jokaisen syklin jokin on solmu on C:ssä) Instantioidaan C-arvot: loppu CSP ratkeaa puuna Tree decomposition -menetelmä Muodostetaan CSP:stä (mahd. pienten syklisten) aliverkkojen muodostama puu T T on uusi puumainen CSP, joka voidaan ratkaista Tekoäly, Eero Hyvönen, 2004 42 21

Tekoäly, Eero Hyvönen, 2004 43 Tekoäly, Eero Hyvönen, 2004 44 22

Tekoäly, Eero Hyvönen, 2004 45 Tekoäly, Eero Hyvönen, 2004 46 23

Tekoäly, Eero Hyvönen, 2004 47 Lähteet S. Russell, P. Norvig: Artificial Intelligence, a Modern Approach. Prentice-Hall, 2003. S. Russell, Tekoälykurssin kalvot Berkleyn yliopistossa, 2004. Tekoäly, Eero Hyvönen, 2004 48 24