Hakumenetelmät ja ongelmanratkaisu

Koko: px
Aloita esitys sivulta:

Download "Hakumenetelmät ja ongelmanratkaisu"

Transkriptio

1 Hakumenetelmät ja ongelmanratkaisu Älykkään järjestelmän odotetaan ratkaisevan ongelmia, jotka olisivat muutoin ihmiselle kuuluvia päätöksenteko, kun pohjatiedot esim. antureilta ovat olemassa toimenpiteiden seuraukset on kyettävä määrittämään ennen aktuaattoreiden käyttöä, esim. ennen kuin robotti liikkuu Hakumenetelmät ovat usein ratkaisu molempiin tavoitteisiin sovelluksen idea asteellakin on hyvä nähdä, onko ongelma muokattavissa hakumenetelmällä ratkaistavaksi tunnistettava sekä mahdollisuudet että rajoitteet Hakumenetelmillä ratkeavat ongelmat (1) Yleinen olettama: ihmiset ratkaisevat haastavia ongelmia intuitiolla Todellisuus: ns. intuition takana piilee jotenkin hankittu tieto käsitys mahdollisista ratkaisuista, jonka ansiosta koko ratkaisuavaruutta ei tarvitse tutkia Intuitio ei auta kaikessa: esim. julkisen avaimen salakirjoitus salatun avaimen selvittäminen ei suuren tila avaruuden vuoksi onnistu ihmiseltä, vaikka salatun tekstin sisältö tunnetaan Hyvin merkittävä osa tekoälyksi katsotuista ratkaisuista perustuu hakumenetelmiin tavoitetilaa ei välttämättä tunneta, usein ainoastaan sen kriteerit usein kiinnostaa polku alkutilasta tavoitetilaan, jotta haun kautta saatu suunnitelma voidaan toteuttaa Monesti ongelmanratkaisuprosessi voidaan mallintaan polun hakemiseksi tunnetusta alkutilasta tavoitetilaan mm. paimen, lammas, susi ja kaali esimerkki on tällainen ongelma 1

2 Hakumenetelmillä ratkeavat ongelmat (2) Hakumenetelmät soveltuvat tilanteisiin, joissa 1. älykäs agentti tuntee tilansa ja 2. sillä on käytössään operaatiot, joiden vaikutukset ovat deterministiset ja. operaation käyttäminen siirtää älykkään agentin uuteen tilaan ja. tavoitetilan saavuttaminen kyetään jotenkin tunnistamaan; on huomattava, että lukuunottamatta alkutilaa, muitakaan tiloja ei tarvitse etukäteen tuntea Jopa tämä kurssi tulkittavissa tila avaruudessa toimimiseksi: kukin luentokerta on on operaatio, joka siirtää opiskelijan (ja myös luennoijan) uuteen ymmärryksen tilaan Hakuongelmien ratkaisemista havainnollistetaan tavallisesti graafisesti suunnattu graafi: tiloja kuvaavat solmut ja suunnatut linkit operaatioita (huom: ei välttämättä ainut tapa kuvata ongelma graafina) Esimerkkejä hakuongelmista Pakettien kokoaminen kuormalavalle samanlaisia tai erikokoisia paketteja maksimimäärä lavalle Robottien yhteistoiminta esim. törmäysten välttäminen Paketinkuljetusrobotin tai jakeluauton reitinsuunnittelu lyhin, nopein, vähimpien käännösten, vain oikealle kääntymisten reitti... Ostosten poiminta kaupassa, parkkipaikan hakeminen haluamasi tavara saattaakin loppua joistakin liikkeistä, tai joku vie paikan kun olet sinne matkalla Sääntöpohjaisen asiantuntijajärjestelmän päättely looginen inferenssi eli askeleet ennakkoehdoista johtopäätöksiin Sudoku tutkitaan valitun vaihtoehdon seuraukset Investointianalyysit tutkitaan eri skenaaroiden seuraukset Mitä muuta tulee nopeasti mieleen? opintopolun optimointi? Palapelit? 2

3 Hakumenetelmien rajoista Pokeri: hakupuu on niin suuri, että puhtaat hakualgoritmit tukehtuvat kombinatoriikkaan solmuja helposti yli Monte Carlo tyyppisillä hakutekniikoilla saavutetaan nopeutta, mutta parhaat tulokset on (toistaiseksi) saatu syväoppivilla neuroverkoilla, jotka ovat nähneet miljoonia pelejä (tyypillisesti käytetty >100 vuotta prosessoriaikaa oppimiseen) Go pelin selättämiseen käytetty samantyyppisiä menetelmiä Biomolekyylien D/tertiäärirakenteen rekonstruointi kun sen aminohapot tunnetaan syväoppivilla neuroverkoilla saatu lupaavia tuloksia Entä kryptografisten koodien murtaminen? hakupuu voi olla ylivoimaisen iso; mitä taas syväoppimisen käyttöön tulee, niin salaustekniikat on suunniteltu tuottamaan sekvenssejä, joita ei tilastollisin keinoin erota satunnaisesta datasta syväoppiminen puolestaan tähtää rakenteiden löytämiseen datasta; ilman sellaisia suorat murtoyritykset eivät onnistune Hakustrategiat (1) Hakustrategia määrittää, millaisia valintoja haussa tehdään ongelman luonne ratkaisee, mikä strategia on tehokkain Jos ongelmassa ei ole mahdollista tietoa tavoitteen sijainnista nykytilan suhteen, haku päättyy kun tavoite ehto täyttyy Tarjolla kaksi perustekniikkaa: leveyshaku ja syvyyshaku Leveyshaku: kussakin tavoitteesta poikkeavassa tilassa generoidaan jokainen siinä sallittujen operaatioiden mahdollistama uusi tila osaratkaisuksi josta tarkistetaan tavoite ehtojen täyttyminen; jos se täyttyy, tavoite on saavutettu osaratkaisu olla kielletty, jolloin siitä ei enää jatketa jos osaratkaisu on jo aiemmin saatu, siitä ei enää jatketa [kombinatorisen räjähdyksen hallitsemiseksi] Esimerkki: paimen (P), lammas (L), susi (S), kaali ()

4 Leveyshaku (1) ullakin askeleella 1. generoidaan kaikki mahdolliset paimenen venekuljetusten tulokset 2. sitten vasta tarkistetaan ja eliminoidaan kielletyt tilat sekä. tilat, jotka on jo kerran generoitu, koska niistä jatkaminen johtaa toistoihin. Jos tila on tavoitetilaksi tiedetty PLS PLS niin haku päättyy Alku LS P S PL L PS LS P Askel 1 PLS PS L Askel 2 S PL PLS S PL Askel P LS PL S PS L PS L PS L Jatkuu seuraavalla sivulla PLS Askel Leveyshaku (2) P LS PL S PS L PS L PS L PLS Askel L PS PLS L PS LS P L PS S PL Askel PL S PLS PL S L PS PLS täyttää tavoitetilaehdon haku päättyi Nyt voidaan koostaa tähän tulokseen liittyneet operaatiot ja paimen pääsee matkaan

5 Hakustrategiat (2) Toteamme leveyshaussa generoidun ja tutkitun kaikkiaan 2 tilaa (pl alkutila) 10 kahdesti tai useammin generoituja sallittuja tiloja kiellettyjä tiloja, joista osa niistäkin osa kahdesti tai useammin tuotettuja leveyshaku soveltuu tilanteisiin, joissa muistitila ei ole rajoite tarvitaan pienimmän askelmäärän ratkaisu tai hakupuu laajenee nopeasti, mutta jotkin ratkaisut löytyvät pienellä askelmäärällä Toinen yleinen strategia on syvyyshaku jos tila poikkeaa tavoitteesta, niin generoidaan siinä sallittuja operaatioita käyttäen uudet tilat osaratkaisuksi valitaan uusista tiloista yksi jos tila on kielletty, siitä ei laajenneta uusia tiloja, vaan palataan edelliselle sellaiselle tasolle, jossa on auki oleva tila myös jos osaratkaisu on jo aiemmin saatu, siitä palataan edelliselle sellaiselle tasolle, jossa on auki oleva tila [kombinatorisen räjähdyksen hillitsemiseksi] Syvyyshaku (1) ullakin askeleella 1. generoidaan viimeiseksi aukaistusta solmusta kaikki mahdolliset paimenen venekuljetusten tulostilat 2. valitaan tiloista yksi seuraavaksi tilaksi. Jos tila on tavoitetilaksi tiedetty PLS niin haku päättyy. tarkistetaan onko tila kielletty, sellaisesta palataan taaksepäin lähimpään auki olevaan tutkimattomaan tilaan. tarkistetaan, onko tila tutkittu jo aiemmin, jos on, palataan taaksepäin lähimpään auki olevaan tutkimattomaan tilaan sillä jatkaminen johtaisi toistoon (sykliin) Alku LS P PLS L PS S PL LS P PS L PLS Jatkuu seuraavalla sivulla S PL Taso 1 PLS S PL Taso 2 Taso

6 Syvyyshaku (2) S PL P LS PLS PS L S PL PL S Taso L PS PL S L PS PL S PLS PLS Jatkuu seuraavalla sivulla Taso Taso Taso Syvyyshaku () PL S L PS PL PLS S PLS täyttää tavoitetilaehdon haku päättyi Taso Taso Tässä esimerkissä generoitiin 20 solmua, joista jouduttiin tutkimaan 1, joista kolme osoittautui aiemin nähdyksi ja viisi kielletyksi Vastaavalla tavalla ratkeava ongelma on mm. Hanoin tornit leluongelmako? Ei suinkaan... kappaleenkäsittelyssä on runsaasti vastaavia tosimaailman sovelluksia, joissa edellytyksenä on ongelman sopiva mallintaminen

7 Esimerkki reaalisovelluksesta (1) Leipomo toimii vanhoissa ahtaissa tiloissa ja joutuu välivarastoimaan tuotteensa rullakoissa kahdessa kapeassa välikössä. Tuotteet valmistetaan tilausjärjestyksessä, joka on usein myös toimitusjärjestys, mutta ei aina. uvassa on tyypillinen tilanne: tuotteet ovat valmistuneet järjestyksessä A,B,C,D ja ne ovat vastaavassa järjestyksessä välivaraston siiloissa leipomo hankkii robotin R, joka R pystyy tarttumaan yhteen rullakkoon kerrallaan ja siirtämään sen joko luovutusalueelle tai siltä välikköön tehtäväsi on valita esitystapa, jonka pohjalta ratkaisun voisi kehittää miten etenet? A B C D F E luovutusalue lastaussilta Esimerkki reaalisovelluksesta (2) Ratkaisun ydin on ajatella robotti älykkääksi agentiksi, joka 1. tuntee alkutilansa eli välivaraston rullakoiden paikat 2. ja sillä on käytössään operaatiot, joilla paikkoja muutetaan vaikkapa rullakko kerrallaan. Seurauksena. agentin tila päivitetään ja. tavoitetilan saavuttaminen tunnistetaan Tilan esitystapa esim. lista, jossa on kolme alilistaa, joista kaksi ensimmäistä kuvaa siiloja ja kolmas luovutusaluetta. Alilistojen sisällöt ovat rullakkojen koodeja [ [A C F] [B D E] [ ]] Operaatiot siirtävät toisen alilistan viimeisen rullakon luovutusalueen alilistaan tai päinvastoin; samalla tila päivitetään [ [ACF] [BDE] [] ] [ [AC ] [BDE] [F] ] rajoitteena on, että siiloon ei mahdu kuin kolme rullakkoa Tavoitetila esim. [ [FCA] [EDB] [ ] ] tai [ [CBA] [FED] [ ] ] Millaiseen algoritmiin järjestelmätoimittajana päätyisit?

8 Hakustrategiat () Syvyyshaku soveltuu käyttöön, kun muistitilaa on rajoitetusti ratkaisujen tiedetään löytyvän pitkien hakupolkujen päästä ja melkein jokaisen polun päästä löytyvän ratkaisu ja jos pystytään käyttämään tutkintajärjestystä, jossa jokin ensimmäisistä valinnoista on aina parhaasta päästä Toisaalta huonommin käy, jos Poluilla voi olla äärettömiä pituuksia tai varsinaiset ratkaisut löytyvät lyhyiltä hakupoluilta, mutta ensin saatetaan joutua kaivelemaan pidempiä Leveys ja syvyyshauissa ei hyödynnetty monesti tarjolla olevaa tietoa tavoitteen sijainnista tarkastelussa olevaan tilaan verrattuna Monissa sovelluksissa uusien tilojen generointien hinta voi vaihdella, esim. antureilla hankittavan tiedon vaatiman laskennan vuoksi monesti suositaan halvimmalla saatavan uuden solmun tutkimista ensin Heuristiset hakustrategiat (1) Heuristiikat ovat ns. peukalosääntöjä, jotka usein nopeuttavat ongelmien ratkaisemista hidastamalla kombinatorista räjähdystä ohjaavat valitsemaan seuraavan tilan jäljellä olevaa hakuavaruutta todennäköisesti parhaiten rajoittavaksi heuristiikat eivät välttämättä ole aina tehokkaita Tyypillisiä heuristiikkoja ovat ennakkoarviot tilasiirtymien kustannuksista, vaikkapa jäljellä olevasta matkasta määränpäähän tai aiemmin opittujen ns. oikopolkujen tai osaratkaisujen hyödyntäminen (pokeri, shakki, yms.) toisinaan heuristiikkojen vaihtoehtona käytetään Monte Carlo hakua (mm. monet videopelit) ja yhä useammin heuristiikan oppimisen roolissa nähdään neuraalilaskentaa 8

9 Heuristiset hakustrategiat (2) Esimerkki yksinkertaisen heuristiikan käytöstä 8 puzzle, heuristinen funktio tilassa x, h(x) = oikeilla paikoilla olevien laattojen lukumäärä, pyritään valitsemaan uusi tila h(x) maksimoiden tavoitetila 1 2 h(x) = 9 8 lähtötila h(x) = generoidaan uudet tilat mahdollisten siirtojen tuloksena, valitaan uudeksi tila, jolla h(x)= (> ) Huom: heuristisen funktion arvo ei aina joka vaiheessa pienene, mutta hakuavaruus rajautuu silti voimakkaasti h(x) = h(x) = 1 h(x) = h(x) = 2 8 näiden heuristisen funktion arvot ovat samoja, valitaan toinen esim. satunnaisesti laajennettu aiemmin, ei tehdä uudelleen Heuristiset hakustrategiat () Esimerkki oikopolun/osaratkaisun käytöstä 8 puzzle, tunnetaan tiettyjen tilanteiden väliset siirrot etukäteen esim. opittuna simulaatioiden kautta aiemmin oppimattomiin tiloihin sovelletaan heuristista funktiota (ed. sivun tapaan) todetaan ympyröidystä tilasta siirrot tavoitteeseen tunnetuiksi oikopolku = haku päättyy valmiin tiedon käyttöön tavoitetila Rubikin kuution ratkaiseminen on tunnettu esimerkki vastaavien heuristiikkojen käytöstä vapaaehtoista luettavaa: orf, R.E. (199) Finding Optimal Solutions to Rubik's Cube Using Pattern Databases, vapaasti saatavilla linkistä 9

10 Heuristiset hakustrategiat () A* ("A star, A tähti) on ehkä tunnetuin ja suosituin heuristiikkaa hyödyntävä hakualgoritmi varsin tehokas, optimaalinenkin tietyin ehdoin laajasti sovellettu reitinhakuongelmissa A* algoritmin olemassaolo usein ollut motiivi tavoitella ongelmille graafiesitystapaa alunperin kehitetty mobiilirobotin reitinhakuun esteitä sisältävissä tiloissa graafisanastoa: tila solmu (state node) A* hakualgoritmin idea tarkastellaan aukaistuja solmuja x i heuristiiikan f(x i )=g(x i )+h(x i ) avulla g(x i ) on tunnettu hinta/työ jolla saavutettu solmu x i h(x i ) on arvio hinnalle/työlle solmusta x i tavoitesolmuun f(x i ) estimoi hintaa nykyisestä solmusta x i :n kautta tavoitteeseen A* haun optimaalisuusehto: jos h(x i ):n on oltava optimistinen (ts. h(x i ) ei saa koskaan yliarvioida hintaa/työtä tavoitesolmuun) Heuristiset hakustrategiat () Tarkastellaan lyhimän reitin hakuongelmaa eräässä Linnanmaan tulevassa modernissa tilaratkaisussa nimeltä opintopolku käytämme A* algoritmia, tavoitteen koordinaatit tunnetaan kunkin ruudun numero on etäisyys lähdöstä, lyhin reitti jäljitettävissä seuraamalla tavoitteesta taaksepäin aina pienimpään numeroon siirtyen alla on lopputulos, mutta entä miten haku on edennyt??

11 Heuristiset hakustrategiat () 0 Tarkastellaan A* hakualgoritmin kriittistä komponenttia h(x i ) olkoot ns. city block etäisyysmitta sokkelon keskustaan, korttelin pituus = 1 f(x i )=g(x i )+h(x i ) valintahetkillä haarautumismahdollisuus, laajennetaan kaksi seuraavaa solmua, niihin molempiin etäisyys 1 (siis lähdöstä ) Etäisyysesimerkkilaskelma: tässä molempien laajennettujen solmujen cityblock etäisyys keskustaan h(x i ) =, saadaan f(x i )=g(x i )+h(x i ) =+= Olemme edenneet 12 askelta lähdöstä ja saavumme kolmen polun haaraumaan, josta laajennamme uudet solmut vasen h(x i ) = 2, oikea h(x i ) =, alas h(x i ) = 2 Saadaan lyhimmän reitin estimaatiksi f(x i )=1+2 = 1, valinta siis vasemmalle tai alas, oikealle estimaatti on f(x i )=1+ = Heuristiset hakustrategiat () un jonkin aiemmin hylätyn reitin arvioitu pituus on lyhyempi kuin nyt saadun arvion, niin vaihdetaan ao. lyhyemmän reitin solmuun alla heuristisen funtion arvot jokaiselle sokkelon ruudulle g(x i ) etäisyys reittiä myöten lähtöpisteestä h(x i ) city block etäisyys tavoitesolmuun f(x i )=g(x i )+h(x i ) reitin odotettu pituus kussakin reitin pisteessä

12 Heuristiset hakustrategiat (8) A* haulle ongelma kuvataan tavallisesti graafina tavoite esim. hakea lyhin tai nopein ajomatka (navigaattori) tai vaikkapa projektille nopein tai halvin toteutuspolku uvataan edellinen sokkelo yksinkertaisena graafina, jonka solmut osuvat tärkeimpiin risteyskohtiin huom: edellinenkin ratkaisu on oikeastaan graafiin A perustuva, mutta jokinen ruutu oli graafin solmu A B D C B D C H G E F H 2 G F E Heuristiset hakustrategiat (9) Tehtävänä on hakea lyhin reitti lähtösolmusta A tavoitesolmuun f(x i )=g(x i )+h(x i ) valintahetkillä Tämän esitystavan jokaiselle solmulle voi alkuperäisen sokkelon pohjalta määrittää esim city block etäisyyden pohjalta optimistiset (aliarvioivat, max oikeat) estimaatit tavoitesolmuun oletetaan yksinkertaisuuden vuoksi neljällä ensimmäisella tasolla pienevä h(x i )=,,2,1 (käytännössä ei pidä olla vakio, vaan muuttuu tilan mukaisesti! Vakioarvo esim. 0 ns. Dijkstran algoritmi) Solmussa A: laajennetaan solmuihin C ja B, h(x i )= solmun C tapauksessa f(x i )=+=8 solmun B tapauksessa f(x i )=+= valitaan B, joka ennustaa lyhyempää matkaa Solmussa B: laajennetaan solmuihin C ja D, h(x i )= solmun C tapauksessa f(x i )=(+)+=11 solmun D tapauksessa f(x i )=(+)+=11 valitaan sattumalta D Solmussa D: laajennetaan solmuun E, h(x i )=2 solmun E tapauksessa f(x i )=(++)+2=1 todetaan solmun C kautta kulkevan reitin ennuste lyhyemmäksi, joten valitaan seuraavaksi C H C 2 G A F E B D 12

13 Heuristiset hakustrategiat (10) Solmussa C: laajennetaan solmuun H, h(x i )= (lähtötason vuoksi) solmun H tapauksessa f(x i )=(+)+=1 todetaan solmun E kautta kulkevan reitin ennustetta pidemmäksi; joten valitaan seuraavaksi E A B Solmussa E: laajennetaan solmuihin G ja F, h(x i )=1 C solmun G tapauksessa f(x i )=(+++)+1=18 solmun F tapauksessa f(x i )=(+++)+1=1 valitaan seuraavaksi H, koska sen kautta reittiennuste 1 Solmussa H: laajennetaan solmuihin ja G solmun G tapauksessa f(x i )=(++2)+2=1 H solmun tapauksessa f(x i )=(++)+2=18 mutta nyt todetaan saavutetun tavoitesolmu! 2 etäisyys lähtösolmusta 1 eli sama kuin sokkeloa suoraan mallina käyttäen solmujen G ja F kautta optimistinen ennuste on 18, joten jos heuristinen funktio on optimistinen, niiden kautta ei voi kulkea yhyempää reittiä G E F D Heuristiset hakustrategiat (11) A* haun rinnalla toinen usein vastaan tuleva heuristinen hakustrategia on Branch and Bound jokaisella askeleella laajennetaan tähänastista lyhintä/halvinta reittiä vrt. A* laajentaa reittiä, jolle ennustettu pituus/hinta lähtösolmusta tavoitesolmuun on pienin Branch and bound löytää aina lyhimmän/halvimman reitin A* löytää lyhimmän/halvimman reitin, jos h(x) on aina optimistinen A* on yleensä tehokkaampi C A B D Miten Branch and Bound toimii oheiselle graafille? onko tässä tapauksessa eroa A* hakuun? H 2 G F E 1

14 Heuristiset hakustrategiat (12) A* hakualgoritmi takaa, että ensimmäinen löydetty ratkaisu on optimaalinen, joten sen jälkeen ei tarvitse enää jatkaa hakua! Toisaalta jo mm. 1 puzzle kokoisilla ongelmilla A* haun rajat tulevat vastaan paljon solmuja/tiloja suunnaton muistin tarve muistia säästävämpiä algoritmeja ovat mm. branch and bound syvyyshaku ja pelitoteutuksissa käytetty IDA* (Iterative Deepening A) Olennaista on ongelman saattaminen ensin graafiesitykseksi ja optimistisen heuristisen funktion valinta uriositeetti: oikealla ns. mikrohiiri vuodelta 1981, jonka tehtävänä oli mahdollisimman nopeasti löytää 1x1 sokkelon keskustaan Mahdollisia esitystapoja ja hakualgoritmivalintoja Pakettien kokoaminen kuormalavalle volyymimalli tai vastaava graafi, A* haku (etäisyys tavoitteeseen voidaan arvioida, minimoidaan tyhjää tilaa, kun paketit tunnetaan, solmuja voidaan generoida esim. Monte Carlo tyyliin) Sääntöpohjaisen asiantuntijajärjestelmän päättelykoneen toteutus taulukkoesitys tietokannassa, hakuun tarjolla esim. rete algoritmit Paketinkuljetusrobotin tai jakeluauton reitinsuunnittelu graafiesitys, (kyseessä erityinen optimointiongelma, johon on olemassa omia algoritmeja) Ostosten poiminta kaupassa, parkkipaikan hakeminen graafiesitys, syvyyshaku Robottien yhteistoiminta volyymimalli tai vastaava graafi, A* haku Sudoku matriisiesitys, syvyyshaku Mitä muuta tulee nopeasti mieleen? opintopolun optimointi? Palapelit? 1

15 Nollassummapelien hakualgoritmit: alkuesimerkki (1) Tarkastellaan yksinkertaisin säännöin pelattavaa kahden pelaajan peliä, jossa on kaikkiaan kuusi tikkua riveittäin pelaaja valitsee rivin ja poimii siltä haluamansa määrän tikkuja, mutta aina vähintään yhden. viimeisen tikun poimija häviää pelin ( saat aloittaa, joka voitosta saat euron )) Esimerkki: alkutila pelaaja 1 pelaaja 2 pelaaja 1 pelaajan 2 poimi 2 tikkua poimi tikun poimi tikun poiminta jättää i 1:lle viimeisen tikun! Mutta eikö pelaajalla 1 ollut alunperin yliote, koska sai aloittaa? Olisiko hän voinut pelata kuvionsa toisin? Lähdemme analysoimaan tätä peliä määrittämälla sen tiloille sopivan esitystavan todetaan alkutilaksi ja vastaavasti tilaksi = 12 = 011 Nollassummapelien hakualgoritmit: alkuesimerkki (2) Tämän pelin hakupuu on molemmille pelaajille (osa alla) kummankin pejaajan kannattaa tehdä valintoja, joilla lopputuloksena ei ole häviö Pelaajan 1 vaihtoehdot (eli valitseejonkin näistä pelaajalle 2) 12 (joskin juuri tässä pelissä aloittaja 1 ei voi voittaa, ellei vastustaja töppää!) Pelaajan 2 vaihtoehdot Pelaajan 1 vaihtoehdot Pelaajan 2 vaihtoehdot Pelaajan 1 vaihtoehdot Pelaajan 2 vaihtoehdot ei varmasti valitse tätä 00 jos 2 valitsee tämän, niin valitsee ei varmasti valitse tätä ei varmasti halua tätä

16 Nollassummapelien hakualgoritmit (1) Tikkupelin hakupuu on pieni, joten se pystytään tuntemaan täydellisesti tulos on kaksiarvoinen: voitto tai häviö (nollasummapeli = toisen voitto on toisen tappio) molemmat pelaajat pyrkivät maksimoimaan oman ja minimoimaan vastustajan edun minimax strategia: max solmussapelaaja1 yrittäämaksimoidaetunsaja min solmussa pelaaja 2 pyrkii minimoimaan pelaajan 1 edun Menettely: 1. rakennetaan pelin hakupuu 2. jäljitetään lehtisolmuista taaksepäin: maksimoidaan max solmuissa ja minimoidaan min solmuissa Ongelma: lehtisolmuista lähtevänä tämä analyysi vaatii koko hakupuun generoinnin, mikä ei aina ole mahdollista ratkaisu: pyritään karsimaan hakupuuta menettämättä optimaalisuutta Nollassummapelien hakualgoritmit (2) Minimax strategian päättelyt: tasan (T), häviö (H), voitto (V), arvot vaikkapa 1,0,+1 kuhunkin solmuun merkitty siitä saavutettava minimi tai maksimi Pelin eteneminen tästä solmusta on mahdollista päästä vähintään tasapeliin vastustaja valitsee siten, että minimissään häviö, ettei aloittaja pääse valitsemaan voittoa Max: T vastustaja pystyy pakottamaan häviöön, jos valitaan tämä haara tästä haarasta seuraa korkeintaan häviö Min: T Min: H Min: H min solmun arvo on alempien minimi maksimitulos on tasapeli Max: V Max: T Max: H Max: V Max: H Max: V max solmun arvo on alempien maksimi voitto häviö tasan häviö häviö voitto häviö häviö voitto Tärkeä huomautus: minimax strategia ei ole rajoitettu kaksi (tai kolmi ) arvoisiin tilanteisiin, vaan lehtisolmujen arvot voivat vaihdella mielivaltaisella välillä [min, max]. Esimerkki tällaisesta seuraavalla sivulla. 1

17 Nollassummapelien hakualgoritmit () Esimerkki: lehtisolmuilla numeroarvot tis for tat peli (vaikkapa DJT vs. muu maailma) lehtisolmujen arvot DJT:n arvioituja fiilislukuja, joiden hillitseminen korreloi talousvakauden kanssa DJT on tässä maksimoiva pelaaja tullimuurit Max: 8 entisellään TTIP sopimus EU:n kanssa WTO käsittely Min: 8 Min: Min: 2 CETA2 EU:n tullit TTIP2 harrikoille TPP2 Max: 8 Max: 10 Max: Max: Max: 2 Max: 9 globaali sopimus kahdenkeskiset sopimukset ei lisätullit lisätullit ei reaktiota EU:n Saksan reaktiota lisätullit autoille autoille lisätullit TPP maille anadalle Nollassummapelien hakualgoritmit () Oletetaan edellisessä esimerkissä hakupuun tarkastelun tapahtuvan syvyyshaulla joka etenee vasemmanpuolimmaisista haaroista oikealle Max: 8 * Min: 8 Min: Min: 2 Max: 8 Max: 9 Max: Max: Max: 2 Max: 9 A B C Toteamme, että haaroja A, B ja C ei tarvitse tutkia, mikä hillitsee hakupuun kasvua minimointisolmu * valitsee allaan olevista arvoista pienimmän (8), eikä mikään haarasta A löytyvä arvo muuta minimoinnin antamaa tulosta samantyylinen analyysi on tehtävissä myös haarojen B ja C kohdalla tällaista puun osan haun välttämismenettelyä kutsutaan alpha beta karsinnaksi huomaa, että lehtisolmut voivat edustaa haussa alipuita alpha beta karsinta mahdollistaa usein hakusyvyyden kaksinkertaistamisen tila avaruuden kasvun rajoittuessa, mutta pahimmassa tapauksessa ei säästä mitään 1

18 Stokastinen haku (1) Generoi ja testaa strategia: 1. tuotetaan vaihtoehdot tarkasteltavaksi satunnaisprosessilla 2. karsitaan kielletyt vaihtoehdot. valitaan jäljellä olevista sallituista ratkaisuista jollain kriteerillä paras Tarkastellaan ns. kauppamatkustajan ongelmaa löydettävä lyhin järjestys käydä vain kerran kussakin kaupungissa rajoitteena tiestön reititys A B Tarkastellaan viereistä karttaa, jossa on yhdeksän kaupunkia, joista osan välillä on tie lähtökaupunki on, johon reitin myös on päätyttävä: reitti on siis 1 2 8, missä numerot ilmoittavat kunkin kaupunkikäynnin järjestysnumeron teiden vuoksi mikä tahansa kaupunki ei voi seurata toista kukin kaupunki voi olla listassa vain kerran C H 2 G E F D Stokastinen haku (2) aupunkien sallitut järjestykset (data/tietämys) H, H, G, G, GH, HG, HC, CH, CA, AC, CB, BC, AB, BA, BD, DB, DE, ED, EF, FE, EG, GE, FG, GF etäisyydet: AB, DE, EF, GF, EG, G, HG 2, H, HC, CA CB C A B D generoidaan satunnaiset ratkaisut (tila avaruus) esim. GFACEDHB, GAFCEDHB, GFADECHB, HGFEDBAC, HCBADEFG, karsitaan kiellettyjä siirtymiä sisältävät, jäljelle jäävät HCABDEFG ja GFEDBACH, joiden molempien pituudeksi saadaan 0 tässä nimenomaisessa esimerkki tapauksessa sallittuja ratkaisuja on vain kaksi H 2 G F E olisiko tämä ongelma mahdollista ratkaista sääntöpohjaisella järjestelmällä? Miten silloin menettelisit? 18

19 Lopuksi: syntaksit, semantiikat ja ontologiat (1) Määritettäessä ja kehitettäessä tietoteknisiä ratkaisuja tosimaailman ongelmiin tärkeitä ovat 1. syntaksi: tarvitaan ihmiselle että koneelle ymmärrettävien rakenteellisten kuvausten laatimiseen. Esim. miten vaikkapa tilat ja säännöt kuvataan [kielioppi, grammar] 2. semantiikka: syntaktisia sääntöjä noudattaen määritellään kielen konstruktioiden merkitys. Esim. sääntöpohjaisessa järjestelmässä säännössä oleva operaatio voidaan suorittaa, jos siinä määritellyt ennakkoehdot ovat tosia. ontologia: tietämysrakenne, joka kuvaa käsitteet ja niiden väliset suhteet. äsitteitä ovat mm. esineet, asiat, ideat ja niiden yhteydet ns. semanttinen web: merkityskontekstiltaan yhteinen kieli, jonka kautta koneet voivat automaattisesti yhdistellä tietoa vapaaehtoista luettavaa Symboliikalla on iso merkitys tietämyksen esittämisessä ja tietämysjärjestelmien toteuttamisessa, jos koneiden on osattava/kyettävä perustelemaan ratkaisunsa Lopuksi: syntaksit, semantiikat ja ontologiat (2) miksi tämä on koneille niin kovin vaikeaa? (Nykyinen) tekoäly ei kykene yleistämään aiemmin opittuja esitystapoja hyödynnettäväksi uusissa tilanteissa kuin hyvin rajoitetusti Sen sijaan ihmiset kykenevät vaivatta luomaan ja käyttämään invariantteja esitystapoja sama esine kyetään tunnistamaan monesta näkökulmasta ja osin peittyneenäkin, vaikka se olisi nähty vain kerran, samoin puhe ja puhuja pystytään tunnistamaan melussa ja samoin musiikki Mikään nykyinen tekoälytoteutus ei kykene lukemaan vaikkapa lieden käyttöohjetta ja sitten toimimaan sen mukaisesti keittiössä. Eli miten sanat ja koneaistien havainnot yhdistyvät? useiden tietolähteiden ja operaatioiden yhdistäminen tavoitehakuiseksi toiminnaksi on ylivoimaista ilman niiden suhteiden ja yhteyksien ymmärrystä ; pelkkä yksisuuntainen hahmontunnistus ei riitä 19

20 Mikä onkaan tärkeintä: data & esitystavat vai algoritmit? (Muna vai kana?) Aivan alkuun palaten: Solving a problem simply means representing it so as to make the solution transparent, Herbert A. Simon, The Sciences of the Artificial, 198 If I were given one hour to save the planet, I would spend minutes defining the problem, and minutes for the solution, Albert Einstein(?) joten mitä ehkä varsinaisesti on tekoälyalgoritmien menestyksen takana? tiedon tallentamisen ja haun teknologioiden merkittävä muutos! rakenteellisesti heikon (ja sekalaisen) datan tehokas tallennus, haku ja käsittely on mahdollistunut = kuvat, puhe, musiikki, teksti, biosignaalit mikä tahansa tavallinen data (NoSQL ) aivan keskeinen IoT (Internet of Things) mahdollistaja: little data big data toisaalta tekoälyteknologioita on vaikea täysin erottaa tiedon tallentamisen ja haun ratkaisuista 20

Hakumenetelmät ja ongelmanratkaisu

Hakumenetelmät ja ongelmanratkaisu 7 Hakumenetelmät ja ongelmanratkaisu Älykkään järjestelmän odotetaan ratkaisevan ongelmia, jotka olisivat muutoin ihmiselle kuuluvia päätöksenteko, kun pohjatiedot esim. antureilta ovat olemassa toimenpiteiden

Lisätiedot

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

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2013-2014 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2013-2014 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

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

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2012-2013 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2012-2013 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen 1 Kognitiivinen mallintaminen 1 Uutta infoa: Kurssin kotisivut wikissä: http://wiki.helsinki.fi/display/kognitiotiede/cog241 Suorittaminen tentillä ja laskareilla (ei välikoetta 1. periodissa) Ongelmanratkaisu

Lisätiedot

Johdatus verkkoteoriaan 4. luento

Johdatus verkkoteoriaan 4. luento Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

Kognitiivinen mallintaminen I

Kognitiivinen mallintaminen I Kognitiivinen mallintaminen I Symbolinen mallintaminen: 2. luento Ongelmanratkaisu Ongelmanratkaisu Rationaalinen agentti Ongelma-avaruus Hakustrategiat ongelma-avaruudessa sokea haku tietoinen haku heuristiikat

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (21.4.2015) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s. t. g(x) 0 h(x) = 0 x X olevan optimointitehtävän Lagrangen duaali on missä max θ(u, v) s. t.

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta jälkiosasta IV Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden aikakompleksisuus

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta 811312A Tietorakenteet ja algoritmit 2018-2019 Kertausta jälkiosasta V Hashtaulukot ja binääriset etsintäpuut Hashtaulukot Perusajatus tunnettava Tiedettävä mikä on tiivistefunktio Törmäysongelman hallinta:

Lisätiedot

j n j a b a c a d b c c d m j b a c a d a c b d c c j

j n j a b a c a d b c c d m j b a c a d a c b d c c j TEKNILLINEN KORKEAKOULU Tietoliikenne- ja tietoverkkotekniikan laitos S-38.115 Liikenneteorian perusteet, Kevät 2008 Demonstraatiot Luento 12 29.2.2008 D12/1 Tarkastellaan verkkoa, jossa on solmua ja linkkiä.

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

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

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Äärellisten mallien teoria

Äärellisten mallien teoria Äärellisten mallien teoria Harjoituksen 5 ratkaisut (Hannu Niemistö) Tehtävä 1 OlkootGjaG neljän solmun verkkoja Määritä, milloing = 2 G eli verkot ovat osittaisesti isomorfisia kahden muuttujan suhteen

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

Lisätiedot

Aki Taanila LINEAARINEN OPTIMOINTI

Aki Taanila LINEAARINEN OPTIMOINTI Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien

Lisätiedot

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

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 6 24.4.2017 Tehtävä 1 Määritelmän (ks. luentomonisteen s. 107) mukaan yleisen muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on min θ(u,v)

Lisätiedot

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto

4 Heuristinen haku. Eero Hyvönen Helsingin yliopisto 4 Heuristinen haku Eero Hyvönen Helsingin yliopisto Strategioita: - Breath-first - Uniform-cost - Depth-first - Depth-limited - Iterative deepening - Bidirectional Tekoäly, Eero Hyvönen, 2004 2 Heuristisen

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 18.1.2016-6.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ

Lisätiedot

Geneettiset algoritmit

Geneettiset algoritmit Geneettiset algoritmit Evoluution piirteitä laskennassa Optimoinnin perusteet - Kevät 2002 / 1 Sisältö Geneettisten algoritmien sovelluskenttä Peruskäsitteitä Esimerkkejä funktion ääriarvon etsintä vangin

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

Syötteen ensimmäisellä rivillä on kokonaisluku n, testien määrä (1 n 10). Tämän jälkeen jokaisella seuraavalla rivillä on kokonaisluku x (0 x 1000).

Syötteen ensimmäisellä rivillä on kokonaisluku n, testien määrä (1 n 10). Tämän jälkeen jokaisella seuraavalla rivillä on kokonaisluku x (0 x 1000). A Summat Tehtäväsi on selvittää, monellako tavalla luvun n voi esittää summana a 2 + b 2 + c 2 + d 2. Kaikki luvut ovat ei-negatiivisia kokonaislukuja. Esimerkiksi jos n = 21, yksi tapa muodostaa summa

Lisätiedot

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto) 811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

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.

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. Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta

Lisätiedot

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0. Ääriarvon laatu Jatkuvasti derivoituvan funktion f lokaali ääriarvokohta (x 0, y 0 ) on aina kriittinen piste (ts. f x (x, y) = f y (x, y) = 0, kun x = x 0 ja y = y 0 ), mutta kriittinen piste ei ole aina

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama

Lisätiedot

Nollasummapelit ja bayesilaiset pelit

Nollasummapelit ja bayesilaiset pelit Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 16.1.2017-3.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ

Lisätiedot

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2 HY / Matematiikan ja tilastotieteen laitos Vektorianalyysi I, syksy 018 Harjoitus Ratkaisuehdotukset Tehtävä 1. Olkoon f : R R f(x 1, x ) = x 1 + x Olkoon C R. Määritä tasa-arvojoukko Sf(C) = {(x 1, x

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU ACTIVATOR 1 ACTIVATOR 2 PELIPUU ACTIVATOR 1 ACTIVATOR 2 -1 0 1 PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu)) v = for each Lapsi in

Lisätiedot

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Duaalisuus kokonaislukuoptimoinnissa Mat-2.4191, Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki Sisältö Duaalisuus binäärisissä optimointitehtävissä Lagrangen duaalisuus Lagrangen

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

S BAB ABA A aas bba B bbs c

S BAB ABA A aas bba B bbs c T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU -1 0 1 PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))!

Lisätiedot

Tutkimustiedonhallinnan peruskurssi

Tutkimustiedonhallinnan peruskurssi Tutkimustiedonhallinnan peruskurssi Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo hannu.toivonen, marko.salmenkivi, inkeri.verkamo@cs.helsinki.fi Helsingin yliopisto Hannu Toivonen, Marko Salmenkivi,

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

Lisätiedot

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Kurssikoe on maanantaina 29.6. Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla. HY / Avoin ylioisto Johdatus yliopistomatematiikkaan, kesä 201 Harjoitus 7 Ratkaisut palautettava viimeistään perjantaina 26.6.201 klo 16.00. Huom! Luennot ovat salissa CK112 maanantaista 1.6. lähtien.

Lisätiedot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen) TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta

Lisätiedot

Sisällysluettelo. 1. Johdanto

Sisällysluettelo. 1. Johdanto Säännöt Sisällysluettelo 1. Johdanto 3 2. Sisältö 4 3. Alkuvalmistelut 5 4. Pelin aloitus ja kulku 6 5. Pelin lopetus 9 6. Vaikea peli ja muut pelimuunnelmat 10 1. Johdanto Pelilauta on 25 ruudusta muodostuva

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

MS-C2105 Optimoinnin perusteet Malliratkaisut 5

MS-C2105 Optimoinnin perusteet Malliratkaisut 5 MS-C2105 Optimoinnin perusteet Malliratkaisut 5 Ehtamo Demo 1: Arvaa lähimmäksi Jokainen opiskelija arvaa reaaliluvun välillä [0, 100]. Opiskelijat, joka arvaa lähimmäksi yhtä kolmasosaa (1/3) kaikkien

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Optimaalisuus: objektiavaruus f 2 min Z = f(s) Parhaat arvot alhaalla ja vasemmalla

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.

Lisätiedot

0. 10. 017 a b c d 1. + +. + +. + + 4. + + + 5. + 6. + P1. Lehtipuiden lukumäärä olkoon aluksi n, jolloin havupuiden määrä on 1,4n. Hakkuiden jälkeen lehtipuiden määrä putoaa lukuun n 0,1n = 0,88n ja havupuiden

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 7. Kombinatoriikka 7.1 Johdanto Kombinatoriikka tutkii seuraavan kaltaisia kysymyksiä: Kuinka monella tavalla jokin toiminto voidaan suorittaa? Kuinka monta tietynlaista

Lisätiedot

Firmaliiga Högbacka

Firmaliiga Högbacka Firmaliiga 16.5.2017 Högbacka Analyysi reittihärvelipiirrosten pohjalta A-rata 3-4: Pitkä väli, jossa oli useita eri reitinvalintavaihtoehtoja. Haasteita oli rastilta lähdössä ja toteutuksen sujuvuudessa.

Lisätiedot

5. Rajoitelaskenta (Constraint Satisfaction)

5. Rajoitelaskenta (Constraint Satisfaction) 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

Lisätiedot

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2 Uolevin reitti Kuvaus Uolevi on ruudukon vasemmassa ylänurkassa ja haluaisi päästä oikeaan alanurkkaan. Uolevi voi liikkua joka askeleella ruudun verran vasemmalle, oikealle, ylöspäin tai alaspäin. Lisäksi

Lisätiedot

0, niin vektorit eivät ole kohtisuorassa toisiaan vastaan.

0, niin vektorit eivät ole kohtisuorassa toisiaan vastaan. Tekijä Pitkä matematiikka 4 9.1.016 168 a) Lasketaan vektorien a ja b pistetulo. a b = (3i + 5 j) (7i 3 j) = 3 7 + 5 ( 3) = 1 15 = 6 Koska pistetulo a b 0, niin vektorit eivät ole kohtisuorassa toisiaan

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 25.4.2017 Timo Männikkö Luento 11 Peruutusmenetelmä Osajoukon summa Pelipuut Pelipuun läpikäynti Rajoitehaku Kapsäkkiongelma Algoritmit 2 Kevät 2017 Luento 11 Ti 25.4.2017 2/29

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 9..7 Luento Kokonaislukuoptimoinnin algoritmeja (kirja.-.) Lineaarinen ohjelmointi - Syksy 7 / Luentorunko Gomoryn leikkaava taso Branch & Bound Branch & Cut Muita menetelmiä

Lisätiedot

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy? Ongelma : Mistä jihinkin tehtäviin liittyvä epädeterminismi syntyy? 0-0 Lasse Lensu Ongelma : Miten vidaan pelata algritmisesti? 0-0 Lasse Lensu Ongelma : Onk mahdllista pelata ptimaalisesti? 0-0 Lasse

Lisätiedot

Search space traversal using metaheuristics

Search space traversal using metaheuristics Search space traversal using metaheuristics Mika Juuti 11.06.2012 Ohjaaja: Ville Mattila Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla. Muilta osin kaikki

Lisätiedot

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS 1 3 1 3 4 3 2 3 4 3 2 3 1 2 3 4 122 31 4 3 1 4 3 1 122 31........ X.... X X 2 3 1 4 1 4 3 2 3 2 4 1 4 JOHDATUS TEKOÄLYYN TEEMU ROOS 2. ETSINTÄ JA PELIT LEVEYSSUUNTAINEN HAKU 1 9 3 2 5 4 6 7 11 16 8 12

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 10 1 Funktion monotonisuus Derivoituva funktio f on aidosti kasvava, jos sen derivaatta on positiivinen eli jos f (x) > 0. Funktio on aidosti vähenevä jos sen derivaatta

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin.

Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin. Peruskoulun matematiikkakilpailu Loppukilpailu perjantaina 1.2.2013 OSA 1 Ratkaisuaika 30 min Pistemäärä 20 Tässä osassa ei käytetä laskinta. Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin.

Lisätiedot

1 Ratkaisuja 2. laskuharjoituksiin

1 Ratkaisuja 2. laskuharjoituksiin 1 1 Ratkaisuja 2. laskuharjoituksiin Tehtävä 1. (a) Yksinkertainen reeksiagentti ei voi toimia rationaalisesti tässä tilanteessa, eli maksimoida suoriutumismittaansa (performance measure). Yksinkertainen

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat Luento 2. Kieli merkitys ja logiikka 2: Helpot ja monimutkaiset Helpot ja monimutkaiset ongelmat Tehtävä: etsi säkillinen rahaa talosta, jossa on monta huonetta. Ratkaisu: täydellinen haku käy huoneet

Lisätiedot

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua A Lista Sinulle on annettu lista, joka sisältää kokonaisluvut 1, 2,, n jossakin järjestyksessä. Tehtäväsi on järjestää luvut pienimmästä suurimpaan käyttäen seuraavia operaatioita: S: siirtää listan ensimmäisen

Lisätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä

Lisätiedot

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa.

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa. ( 1 ) Hannu Särön lautapelien ohjeita pelaajille - ( 1 ) - Sisältö. ( 2 ) - Jätkänshakki. ( 3 ) - Reversi. ( 4 ) - Tammi. ( 5 ) - Mylly. ( 6 ) - Shakki. ( 7 ) - Shakki, uudet napit ja uudet laudat. Ohjeet

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45 MS-A3/A5 Matriisilaskenta Laskuharjoitus 2 / vko 45 Tehtävä (L): Hahmottele kompleksitasoon ne pisteet, jotka toteuttavat a) z 2i = 2, b) z 2i < 2, c) /z

Lisätiedot

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

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko, Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.

Lisätiedot

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly Bayesin pelit Kalle Siukola MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly 12.10.2016 Toistetun pelin esittäminen automaatin avulla Ekstensiivisen muodon puu on tehoton esitystapa, jos peliä

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016

Lisätiedot

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.

Lisätiedot