Matti Järvisalo. Constraint Reasoning and Optimization group Tietojenkäsittelytieteen laitos Helsingin yliopisto Complexity theory SAT

Koko: px
Aloita esitys sivulta:

Download "Matti Järvisalo. Constraint Reasoning and Optimization group Tietojenkäsittelytieteen laitos Helsingin yliopisto Complexity theory SAT"

Transkriptio

1 Moderni näkökulma logiikkaan tekoälytutkimuksessa Matti Järvisalo Constraint Reasoning and Optimization group Tietojenkäsittelytieteen laitos Helsingin yliopisto Complexity theory Formal logic SAT Algorithm design Real-world applications Efficient implementation Matti Järvisalo (HY) Logiikka ja tekoäly / 34

2 Ei ainoastaan koneoppimista Matti Järvisalo (HY) Logiikka ja tekoäly / 34

3 Aihepiirit modernissa tekoälytutkimuksessa IJCAI & AAAI: AI-tutkimuksen pääkonferenssit maailmanlaajuisesti Konferenssien aihealueet: Planning and Scheduling Agent-based and Multi-agent systems Combinatorial & Heuristic Search Constraints & Satisfiability Knowledge Representation, Reasoning and Logic Machine Learning Natural Language Processing Robotics and Vision Uncertainty in AI Matti Järvisalo (HY) Logiikka ja tekoäly / 34

4 Aihepiirit modernissa tekoälytutkimuksessa IJCAI & AAAI: AI-tutkimuksen pääkonferenssit maailmanlaajuisesti Konferenssien aihealueet: Planning and Scheduling Agent-based and Multi-agent systems Combinatorial & Heuristic Search Constraints & Satisfiability Knowledge Representation, Reasoning and Logic Machine Learning Natural Language Processing Robotics and Vision Uncertainty in AI Matti Järvisalo (HY) Logiikka ja tekoäly / 34

5 Aihepiirit modernissa tekoälytutkimuksessa IJCAI & AAAI: AI-tutkimuksen pääkonferenssit maailmanlaajuisesti Konferenssien aihealueet: Planning and Scheduling Agent-based and Multi-agent systems Combinatorial & Heuristic Search Constraints & Satisfiability Knowledge Representation, Reasoning and Logic Machine Learning Natural Language Processing Robotics and Vision Uncertainty in AI Matti Järvisalo (HY) Logiikka ja tekoäly / 34

6 Aihepiirit modernissa tekoälytutkimuksessa IJCAI & AAAI: AI-tutkimuksen pääkonferenssit maailmanlaajuisesti Konferenssien aihealueet: Planning and Scheduling Agent-based and Multi-agent systems Combinatorial & Heuristic Search Constraints & Satisfiability Knowledge Representation, Reasoning and Logic Machine Learning Natural Language Processing Robotics and Vision Uncertainty in AI Matti Järvisalo (HY) Logiikka ja tekoäly / 34

7 Aihepiirit modernissa tekoälytutkimuksessa IJCAI & AAAI: AI-tutkimuksen pääkonferenssit maailmanlaajuisesti Konferenssien aihealueet: Planning and Scheduling Agent-based and Multi-agent systems Combinatorial & Heuristic Search Constraints & Satisfiability Knowledge Representation, Reasoning and Logic Machine Learning Natural Language Processing Robotics and Vision Uncertainty in AI applikaatiot applikaatiot yhteydet applikaatiot applikaatiot applikaatiot applikaatiot Matti Järvisalo (HY) Logiikka ja tekoäly / 34

8 Eksakteja ratkaisuja vaikeisiin ongelmiin Matti Järvisalo (HY) Logiikka ja tekoäly / 34

9 Tarve eksakteille ratkaisuille Useissa tapauksissa hyödyllistä: todistaa että ei ratkaisua, tai löytää mahdollisimman hyvä ratkaisu. Esimerkkejä: Find a shortest path/plan/execution/... to a goal state I Planning, model checking,... Find a smallest explanation I Debugging, configuration,... Find a least resource-consuming schedule I Scheduling, logistics,... Find a most probable explanation (MAP) I Probabilistic inference,... Matti Järvisalo (HY) Logiikka ja tekoäly / 34

10 Eksaktiuden tärkeys Annetaan periksi? The problem is NP-hard, so let s develop heuristics / approximation algorithms. Ei! Eksaktiuden hyötyjä: Resurssisäästöt I Aika, raha, ihmistyö Tarkkuus $$$ vs Haaste: skaalautuminen erittäin isoihin ongelmiin Matti Järvisalo (HY) Logiikka ja tekoäly / 34

11 Eksaktiuden välttämättömyys Ei vain testausta (software testing), vaan oikeellisuuden todistamista Logiikkapiirit, mikroprosessorit,... Ohjelmistot, laiteajurit Sulautetut järjestelmät Turvallisuuskriittiset järjestelmät I Lentokoneet, raideliikenne, sairaalalaitteet,... Keskiössä: automatisoitu looginen päättely SAT: lauselogiikan toteutumisongelma Propositional satisfiability, Boolean satisfiability Matti Järvisalo (HY) Logiikka ja tekoäly / 34

12 Eksaktiuden välttämättömyys Ei vain testausta (software testing), vaan oikeellisuuden todistamista Logiikkapiirit, mikroprosessorit,... Ohjelmistot, laiteajurit Sulautetut järjestelmät Turvallisuuskriittiset järjestelmät I Lentokoneet, raideliikenne, sairaalalaitteet,... Keskiössä: automatisoitu looginen päättely SAT: lauselogiikan toteutumisongelma Propositional satisfiability, Boolean satisfiability Matti Järvisalo (HY) Logiikka ja tekoäly / 34

13 SAT-ongelma Matti Järvisalo (HY) Logiikka ja tekoäly / 34

14 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

15 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

16 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. (EI solmio) TAIpaita 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

17 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. (EI solmio) TAIpaita 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. solmio TAI paita 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

18 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. (EI solmio) TAIpaita 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. solmio TAI paita 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. (EI solmio) TAI(EIpaita) Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

19 Esimerkki: Luennoijan pukukoodiongelma Kolme rajoitetta jotka tulee toteuttaa: 1 Selvästikään ei tule käyttää solmiota ilman paitaa. (EI solmio) TAIpaita 2 On epäkohteliasta olla sekä ilman solmiota että ilman paitaa. solmio TAI paita 3 Sekä solmioon että paitaan pukeutuminen on liioittelua. (EI solmio) TAI(EIpaita) Muuttujat solmio ja paita ovat binaarisia: voivat saada arvon 1 (tosi) tai 0 (epätosi) Voidaanko kaikki rajoitteet toteuttaa yhtäaikaisesti? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

20 Luennoijan pukukoodi formaalimmin 1 (EI solmio )TAI paita 2 solmio TAI paita 3 (EI solmio )TAI (EI paita ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

21 Luennoijan pukukoodi formaalimmin 1 (EI solmio )TAI paita 2 solmio TAI paita 3 (EI solmio )TAI (EI paita ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

22 Luennoijan pukukoodi formaalimmin 1 (EI s )TAI paita 2 solmio TAI paita 3 (EI solmio )TAI (EI paita ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

23 Luennoijan pukukoodi formaalimmin 1 (EI s )TAI paita 2 s TAI paita 3 (EI solmio )TAI (EI paita ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

24 Luennoijan pukukoodi formaalimmin 1 (EI s )TAI paita 2 s TAI paita 3 (EI s )TAI (EI paita ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

25 Luennoijan pukukoodi formaalimmin 1 (EI s )TAI p 2 s TAI p 3 (EI s )TAI (EI p ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

26 Luennoijan pukukoodi formaalimmin 1 (EI s )TAI p 2 s TAI p 3 (EI s )TAI (EI p ) Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

27 Luennoijan pukukoodi formaalimmin 1 s TAI p 2 s TAI p 3 s TAI p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

28 Luennoijan pukukoodi formaalimmin 1 s TAI p 2 s TAI p 3 s TAI p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

29 Luennoijan pukukoodi formaalimmin 1 s _ p 2 s _ p 3 s _ p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

30 Luennoijan pukukoodi formaalimmin 1 s _ p 2 s _ p 3 s _ p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: ( s _ p), (s _ p), ( s _ p) Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

31 Luennoijan pukukoodi formaalimmin 1 s _ p 2 s _ p 3 s _ p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: ( s _ p), (s _ p), ( s _ p) Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

32 Luennoijan pukukoodi formaalimmin 1 s _ p 2 s _ p 3 s _ p Muuttujat s (solmio) ja p (paita) EI: negaatio TAI: disjunktio _ Rajoitteet: ( s _ p), (s _ p), ( s _ p) Asetetaan arvot s =0jap =1 ) jokainen rajoitteista toteutuu ) arvojakelu s = 0, p = 1 on ongelman ratkaisu Esimerkki lauselogiikan toteutuvuusongelman instanssista ja sen ratkaisusta Matti Järvisalo (HY) Logiikka ja tekoäly / 34

33 Lauselogiikan toteutuvuusongelma (SAT) Rajoitteet muotoa (l 1 _ _l k ), missä k 1 I Kukin li on joko jokin binaarimuuttuja x tai sen negaatio x I Kukin muuttuja voi saada totuusarvon 1 (tosi) tai0(epätosi) Tulkinta (semantiikka): I x on tosi joss muuttuja x on epätosi I Rajoite (l1 _ _l k ) toteutuu kun jokin l i on tosi Lauselogiikan toteutuvuusongelma hakuongelmana Syöte: joukko rajoitteita, eli SAT-instanssi Ratkaisu: Arvojakelu joka toteuttaa jokaisen annetuista rajoitteista (jos olemassa) muuten ei Matti Järvisalo (HY) Logiikka ja tekoäly / 34

34 Lauselogiikan toteutuvuusongelma (SAT) Rajoitteet muotoa (l 1 _ _l k ), missä k 1 I Kukin li on joko jokin binaarimuuttuja x tai sen negaatio x I Kukin muuttuja voi saada totuusarvon 1 (tosi) tai0(epätosi) Tulkinta (semantiikka): I x on tosi joss muuttuja x on epätosi I Rajoite (l1 _ _l k ) toteutuu kun jokin l i on tosi Lauselogiikan toteutuvuusongelma hakuongelmana Syöte: joukko rajoitteita, eli SAT-instanssi Ratkaisu: Arvojakelu joka toteuttaa jokaisen annetuista rajoitteista (jos olemassa) muuten ei Matti Järvisalo (HY) Logiikka ja tekoäly / 34

35 Lauselogiikan toteutuvuusongelma (SAT) Rajoitteet muotoa (l 1 _ _l k ), missä k 1 I Kukin li on joko jokin binaarimuuttuja x tai sen negaatio x I Kukin muuttuja voi saada totuusarvon 1 (tosi) tai0(epätosi) Tulkinta (semantiikka): I x on tosi joss muuttuja x on epätosi I Rajoite (l1 _ _l k ) toteutuu kun jokin l i on tosi Lauselogiikan toteutuvuusongelma hakuongelmana Syöte: joukko rajoitteita, eli SAT-instanssi Ratkaisu: Arvojakelu joka toteuttaa jokaisen annetuista rajoitteista (jos olemassa) muuten ei Matti Järvisalo (HY) Logiikka ja tekoäly / 34

36 SAT ja laskennallinen vaativuus n muuttujaa, kukin voi saada arvon 1 tai 0 ) 2 n mahdollista ratkaisuehdokasta x1 =0 x1 =1 x3 =0 x4 =0 x2 =0 x2 =1 x2 =0 x2 =1 x3 =1 x3 =1 x3 =0 x3 =1 n muuttujaa 2 n mahdollista ratkaisua SAT yksi tunnetuimmista NP-täydellisistä ongelmista Polynomiaikaista ratkaisualgoritmia ei tunneta Kääntöpuolena: useita reaalimaailman ongelmia voidaan kuvata kompaktisti SAT-ongelmana Matti Järvisalo (HY) Logiikka ja tekoäly / 34

37 SAT ja laskennallinen vaativuus n muuttujaa, kukin voi saada arvon 1 tai 0 ) 2 n mahdollista ratkaisuehdokasta x1 =0 x1 =1 x3 =0 x4 =0 x2 =0 x2 =1 x2 =0 x2 =1 x3 =1 x3 =1 x3 =0 x3 =1 n muuttujaa 2 n mahdollista ratkaisua SAT yksi tunnetuimmista NP-täydellisistä ongelmista Polynomiaikaista ratkaisualgoritmia ei tunneta Kääntöpuolena: useita reaalimaailman ongelmia voidaan kuvata kompaktisti SAT-ongelmana Matti Järvisalo (HY) Logiikka ja tekoäly / 34

38 SAT teoriassa Keskeinen ongelma Cook-Levin -teoreema I NP-täydellisyys I Polynomiaikaiset reduktio Keskeinen P vs NP -kysymyksen suhteen I Yksi Clay Instituten Millenium -ongelmista I Ongelman tarkaisusta luvassa $ 1 miljoonan palkinto Matti Järvisalo (HY) Logiikka ja tekoäly / 34

39 Toteutuvuustarkastus käytännössä Yksi modernin tietojenkäsittelytieteen menestystarinoista Satoja käytännön sovelluksia: Hardware model checking, Automated Planning Software model checking; Termination analysis of term-rewrite systems; Test pattern generation (testing of software & hardware); Model finding; Symbolic trajectory evaluation; Knowledge representation; Games (n-queens, sudoku, etc.); Haplotype inference; Pedigree checking; Equivalence checking; Delay computation; Fault diagnosis; Digital filter design; Noise analysis; Cryptanalysis; Inversion attacks on hash functions; Graph coloring; Traveling salesperson; van der Waerden numbers; itemset mining; etc. etc. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

40 Toteutuvuustarkastus käytännössä Yksi modernin tietojenkäsittelytieteen menestystarinoista Satoja käytännön sovelluksia: Hardware model checking, Automated Planning Software model checking; Termination analysis of term-rewrite systems; Test pattern generation (testing of software & hardware); Model finding; Symbolic trajectory evaluation; Knowledge representation; Games (n-queens, sudoku, etc.); Haplotype inference; Pedigree checking; Equivalence checking; Delay computation; Fault diagnosis; Digital filter design; Noise analysis; Cryptanalysis; Inversion attacks on hash functions; Graph coloring; Traveling salesperson; van der Waerden numbers; itemset mining; etc. etc. Polynomial-time reductions meet the real world! Matti Järvisalo (HY) Logiikka ja tekoäly / 34

41 SAT ja Teollisuudesta kumpuavat ongelmat SAT-solverit keskeisessä osassa monenlaisissa teollisissa logiikkapiiri- ja ohjelmistoverifiointiongelmissa Epäsuorasti vaikuttamassa jokapäiviseen elämäämme! Examples: Intel core I7 processor designed with the help of SAT solvers [Kaivola et al, CAV 2009] Windows 7 device drivers verified using SAT related technology [De Moura and Bjorner, IJCAR 2010] The Eclipse open platform uses SAT technology for resolving dependencies between components [Le Berre and Rapicault, IWOCE 2009] Matti Järvisalo (HY) Logiikka ja tekoäly / 34

42 SAT-pohjainen ongelmanratkaisuvuo ongelma (instanssi) 1. SAT kuvaus (ongelmakohtainen) 2. SAT instanssi (a _ x 2 ), (x 7 _ x 3 _ b), (c), ( b _ x 5 _ x 6 ), ( a _ x 2 _ x 1301 _ g), SAT ratkaisin (geneerinen) 4. ratkaisu a =0,b =1, c =0,x 3 =0,... 1 Kuvaus: ratkaistava ongelma esitetään SAT-instanssina I SAT-instanssin ratkaisujen tulee vastata alkuperäisen ongelman ratkaisuja 2 SAT-instanssi syötetään SAT-ratkaisimelle I Algoritmi SAT-ongelmalle 3 SAT-ratkaisin joko (a) tulostaa SAT-instanssin ratkaisun, tai (b) todistaa että SAT-instanssilla ei ole ratkaisuja 4 Mahdollinen ratkaisu tulkitaan alkuperäisen ongelman ratkaisuksi Ei tarvetta kehittää erityisalgoritmia jokaiselle ratkaistavalle ongelmalle Matti Järvisalo (HY) Logiikka ja tekoäly / 34

43 SAT-pohjainen ongelmanratkaisuvuo ongelma (instanssi) 1. SAT kuvaus (ongelmakohtainen) 2. SAT instanssi (a _ x 2 ), (x 7 _ x 3 _ b), (c), ( b _ x 5 _ x 6 ), ( a _ x 2 _ x 1301 _ g), SAT ratkaisin (geneerinen) 4. ratkaisu a =0,b =1, c =0,x 3 =0,... 1 Kuvaus: ratkaistava ongelma esitetään SAT-instanssina I SAT-instanssin ratkaisujen tulee vastata alkuperäisen ongelman ratkaisuja 2 SAT-instanssi syötetään SAT-ratkaisimelle I Algoritmi SAT-ongelmalle 3 SAT-ratkaisin joko (a) tulostaa SAT-instanssin ratkaisun, tai (b) todistaa että SAT-instanssilla ei ole ratkaisuja 4 Mahdollinen ratkaisu tulkitaan alkuperäisen ongelman ratkaisuksi Ei tarvetta kehittää erityisalgoritmia jokaiselle ratkaistavalle ongelmalle Matti Järvisalo (HY) Logiikka ja tekoäly / 34

44 SAT-ratkaisimien tehokkuudesta SAT-ratkaisimet tekevät SAT-pohjaisen lähestymistavan erittäin kilpailukykyiseksi monille vaikeille laskennallisille ongelmille Huikea kehitys viimeisten 20 vuoden aikana 100 muuttujasta ja 200 rajoitteesta jopa >10,000,000 muuttujaan ja 50,000,000 rajoitteeseen Grasp 96 zcha 01 Minisat 03 Lingeling 11 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

45 SAT-solvereista Matti Järvisalo (HY) Logiikka ja tekoäly / 34

46 SAT-solverin käyttöesimerkki Instance: aaai10-planning-ipc5-tpp-21-step11.cnf c Lingeling SAT Solver c Copyright (C) Armin Biere JKU Linz Austria. c read variables, clauses, literals in 0.00 seconds... sunsatisfiable... c % preprocessing 2% c % inprocessing 98% c================================== c % simplifying c % search c================================== c % all c decisions, decisions/sec c conflicts, conflicts/sec c propagations, 5.3 megaprops/sec c seconds, 42.1 MB Matti Järvisalo (HY) Logiikka ja tekoäly / 34

47 DPLL: klassinen syvyyssuuntainen haku (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) y =0 z =1 x =0 x =1 y =1 z =1 y =0 z =1 y =1 z =1 Esimerkissä: Jokaisessa haarassa asetettava kahden muuttujan arvo haarautumalla kolmannen muuttujan arvo päätellään yksikköpropagaatiolla Matti Järvisalo (HY) Logiikka ja tekoäly / 34

48 Yksikköpropagaatio unit propagation Matti Järvisalo (HY) Logiikka ja tekoäly / 34

49 DPLL-esimerkki Katsotaan vasemmanpuoleisinta haaraa Ensimmäinen klausuuli propagoi z = 1 Toinen klausuuli propagoi ristiriidan z = 0 (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) y =0 z =1 x =0 Perääntyvä haku (backtracking) Undo y = 0, z =1 Aseta y = 1 (toinen haara muuttujalle y) Matti Järvisalo (HY) Logiikka ja tekoäly / 34

50 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) y =0 z =1 x =0 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

51 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) decision! decision unit prop!! conflict! x =0 y =0 z =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

52 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y) decision! decision unit prop!! conflict! x =0 y =0 z =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

53 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y) decision! x =0 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

54 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y) decision unit prop!! unit prop! conflict! x =0 y =1 z =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

55 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y),(x) decision unit prop!! unit prop! conflict! x =0 y =1 z =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

56 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y), (x) unit prop! x =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

57 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y), (x) unit prop! decision! x =1 z =0 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

58 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y), (x),(z) unit prop! decision unit prop!! conflict! x =1 z =0 y =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

59 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y), (x), (z) unit prop! unit prop! unit prop! conflict! x =1 z =1 y =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

60 Conflict-Driven Clause Learning (CDCL) CDCL: modernien SAT-solvereiden implementoima algoritmi Oppiva hakumenetelmä (x _ y _ z) (x _ y _ z) (x _ y _ z) (x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) ( x _ y _ z) learned: (x _ y), (x), (z), ; unit prop! unit prop! unit prop! conflict! Termination: Learned the empty clause x =1 z =1 y =1 Matti Järvisalo (HY) Logiikka ja tekoäly / 34

61 SAT Solver Competitions See Matti Järvisalo (HY) Logiikka ja tekoäly / 34

62 SAT-solverien kehitys CPU Time (in seconds) Results of the SAT competition/race winners on the SAT 2009 application benchmarks, 20mn timeout Limmat (2002) Zchaff (2002) Berkmin (2002) Forklift (2003) Siege (2003) Zchaff (2004) SatELite (2005) Minisat 2 (2006) Picosat (2007) Rsat (2007) Minisat 2.1 (2008) Precosat (2009) Glucose (2009) Clasp (2009) Cryptominisat (2010) Lingeling (2010) Minisat 2.2 (2010) Glucose 2 (2011) Glueminisat (2011) Contrasat (2011) Number of problems solved Matti Järvisalo (HY) Logiikka ja tekoäly / 34

63 Mallintaminen Matti Järvisalo (HY) Logiikka ja tekoäly / 34

64 Verkon k-väritysongelma k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k (värit 1,...,k). Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritys: NP-täydellinen Jokaiselle solmulle v 2 V : v väritetään täsmälleen yhdellä värillä. Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. SAT-ratkaisimet käytännössä yksi tehokkaimpia tapoja värittää verkkoja Matti Järvisalo (HY) Logiikka ja tekoäly / 34

65 Verkon k-väritysongelma k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k (värit 1,...,k). Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritys: NP-täydellinen Jokaiselle solmulle v 2 V : v väritetään täsmälleen yhdellä värillä. Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. 3-väritys (1,2,3) SAT-ratkaisimet käytännössä yksi tehokkaimpia tapoja värittää verkkoja Matti Järvisalo (HY) Logiikka ja tekoäly / 34

66 Verkon k-väritysongelma k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k (värit 1,...,k). Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritys: NP-täydellinen Jokaiselle solmulle v 2 V : v väritetään täsmälleen yhdellä värillä. Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä.? 3-väritys (1,2,3) ei 2-väritystä SAT-ratkaisimet käytännössä yksi tehokkaimpia tapoja värittää verkkoja Matti Järvisalo (HY) Logiikka ja tekoäly / 34

67 Verkon k-väritysongelma k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k (värit 1,...,k). Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritys: NP-täydellinen Jokaiselle solmulle v 2 V : v väritetään täsmälleen yhdellä värillä. Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä.? 3-väritys (1,2,3) ei 2-väritystä SAT-ratkaisimet käytännössä yksi tehokkaimpia tapoja värittää verkkoja Matti Järvisalo (HY) Logiikka ja tekoäly / 34

68 3-värityksen kuvaus SAT-ongelmana 3-väritysongelma Syöte: VerkkoG =(V, E). Ratkaisu: G:n 3-väritys (jos olemassa), muuten ei Muuttujat: v i = solmu v väritetään värillä i 2{p, v, s} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v väritetään enintään yhdellä värillä. I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

69 3-värityksen kuvaus SAT-ongelmana 3-väritysongelma Syöte: VerkkoG =(V, E). Ratkaisu: G:n 3-väritys (jos olemassa), muuten ei 3-väritysongelman SAT-kuvaus annetulle verkolla G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{p, v, s} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v väritetään enintään yhdellä värillä. I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

70 3-värityksen kuvaus SAT-ongelmana 3-väritysongelma Syöte: VerkkoG =(V, E). Ratkaisu: G:n 3-väritys (jos olemassa), muuten ei 3-väritysongelman SAT-kuvaus annetulle verkolla G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{p, v, s} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v p _ v v _ v s v väritetään enintään yhdellä värillä. I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

71 3-värityksen kuvaus SAT-ongelmana 3-väritysongelma Syöte: VerkkoG =(V, E). Ratkaisu: G:n 3-väritys (jos olemassa), muuten ei 3-väritysongelman SAT-kuvaus annetulle verkolla G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{p, v, s} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v p _ v v _ v s v väritetään enintään yhdellä värillä. v p _ v v v p _ v s v v _ v s I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

72 3-värityksen kuvaus SAT-ongelmana 3-väritysongelma Syöte: VerkkoG =(V, E). Ratkaisu: G:n 3-väritys (jos olemassa), muuten ei 3-väritysongelman SAT-kuvaus annetulle verkolla G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{p, v, s} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v p _ v v _ v s v väritetään enintään yhdellä värillä. v p _ v v v p _ v s v v _ v s I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. v p _ u p v v _ u v v s _ u s Matti Järvisalo (HY) Logiikka ja tekoäly / 34

73 k värityksen kuvaus SAT-ongelmana k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k. Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritysongelman SAT-kuvaus annetulle verkolle G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{1,...,k} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v väritetään enintään yhdellä värillä. I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

74 k värityksen kuvaus SAT-ongelmana k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k. Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritysongelman SAT-kuvaus annetulle verkolle G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{1,...,k} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v 1 _ _v k v väritetään enintään yhdellä värillä. I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

75 k värityksen kuvaus SAT-ongelmana k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k. Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritysongelman SAT-kuvaus annetulle verkolle G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{1,...,k} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v 1 _ _v k v väritetään enintään yhdellä värillä. v i _ v j 8i 6= j 2{1,...,k} I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. Matti Järvisalo (HY) Logiikka ja tekoäly / 34

76 k värityksen kuvaus SAT-ongelmana k väritysongelma Syöte: VerkkoG =(V, E), kokonaisluku k. Ratkaisu: G:n k-väritys (jos olemassa), muuten ei k-väritysongelman SAT-kuvaus annetulle verkolle G =(V, E): Muuttujat: v i = solmu v väritetään värillä i 2{1,...,k} Rajoitteet: I Jokaiselle v 2 V : v väritetään täsmälleen yhdellä värillä. Toisin sanoen: v väritetään vähintään yhdellä värillä. v 1 _ _v k v väritetään enintään yhdellä värillä. v i _ v j 8i 6= j 2{1,...,k} I Jos kaari (v, u) 2 E, niinv ja u väritetään eri väreillä. v i _ u i 8i 2{1,...,k} Matti Järvisalo (HY) Logiikka ja tekoäly / 34

77 Optimointiongelman SAT-pohjainen ratkaiseminen: Verkon väritys mahdollisimman pienellä määrällä värejä Syöte: verkkog Kysymys: Pienin värien määrä k jolle G:lle on olemassa k väritys? Alustetaan värien määrä k := 1 k := k +1 "ei" verkko G, lukuk SAT kuvaus SAT instanssi SAT ratkaisin v 1 =0,v 2 =1, verkon optimaalinen k-väritys u 1 =0,u 2 =0,... Lähestymistapa soveltuu moniin optimointiongelmiin Mallintarkastus: Onko k:n mittaista suoritusta, joka vie ohjelman vikatilaan? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

78 Optimointiongelman SAT-pohjainen ratkaiseminen: Verkon väritys mahdollisimman pienellä määrällä värejä Syöte: verkkog Kysymys: Pienin värien määrä k jolle G:lle on olemassa k väritys? Alustetaan värien määrä k := 1 k := k +1 "ei" verkko G, lukuk SAT kuvaus SAT instanssi SAT ratkaisin v 1 =0,v 2 =1, verkon optimaalinen k-väritys u 1 =0,u 2 =0,... Lähestymistapa soveltuu moniin optimointiongelmiin Mallintarkastus: Onko k:n mittaista suoritusta, joka vie ohjelman vikatilaan? Matti Järvisalo (HY) Logiikka ja tekoäly / 34

79 Mallintarkastuksesta automaattiseen suunnitteluun: Transitiojärjestelmien tarkastelu SAT-ongelmana Hyvin yleinen ongelmanasettelu Annettuna: yhden askeleen tilasiirtymäfunktio R, alkutila I,maalitilaG. Kysymys: Onko G saavutettavissa I :sta siirtymillä R? Mallintarkastus: Paha tila G saavutettavissa? Suunnittelu: Etsi suunnitelma päästä maalitilaan Matti Järvisalo (HY) Logiikka ja tekoäly / 34

80 Mallintarkastuksesta automaattiseen suunnitteluun: Transitiojärjestelmien tarkastelu SAT-ongelmana Hyvin yleinen ongelmanasettelu Annettuna: yhden askeleen tilasiirtymäfunktio R, alkutila I,maalitilaG. Kysymys: Onko G saavutettavissa I :sta siirtymillä R? Transition at time k 1 Goal state G Transition relation R k 1 Mallintarkastus: Paha tila G saavutettavissa? Suunnittelu: Etsi suunnitelma päästä maalitilaan SAT-pohjainen ratkaisu k^ 1 Onko I 0 ^ R i ^ G k toteutuva? i=0 Ratkaisu kuvaa esim. virheellisen ohjelmasuorituksen! Ei ratkaisua ; oikeellisuus k askeleella Transition at time 1 Transition at time 0 Transition relation R 1 Transition relation R 0 Initial state I Matti Järvisalo (HY) Logiikka ja tekoäly / 34

81 Yhteenveto Matti Järvisalo (HY) Logiikka ja tekoäly / 34

82 Yhteenveto Moderni tekoälytutkimus Matti Järvisalo (HY) Logiikka ja tekoäly / 34

83 Yhteenveto Moderni tekoälytutkimus Ei ainoastaan koneoppimista Matti Järvisalo (HY) Logiikka ja tekoäly / 34

84 Yhteenveto Moderni tekoälytutkimus Ei ainoastaan koneoppimista Logiikka olennaissa osassa modernia tekoälytutkimus Lauselogiikan toteutuvuusongelma (SAT) Laskennallisesti haastava ongelma Useita laskennallisia ongelmia voidaan kuvata SAT-ongelmana SAT-solverit I Olennaisia työkaluja tekoäly- ja teollisten ongelmien ratkaisemisessa Complexity theory Formal logic SAT Algorithm design Real-world applications Efficient implementation Matti Järvisalo (HY) Logiikka ja tekoäly / 34

85 Constraint Reasoning and TKTL Constraint Reasoning and Optimization Group Tutkimusteemoja: SAT-solvereiden ja muiden rajoiteratkaisumenetelmien kehitys Teoreettisista tarkasteluista optimoituihin implementaatioihin Vaikeiden, olennaisten laskennallisten ongelmien uudet ratkaisumenetelmät I Useilla moderneilla tekoälytutkimuksen alueilla: machine learning and data analysis, argumentation, decision theory, computational social choice,... Matti Järvisalo (HY) Logiikka ja tekoäly / 34

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla

Lisätiedot

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

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI

Lisätiedot

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

Lisätiedot

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko 238 7.2 Luokka NP Luokka NP on: NP = { NTIME(t) t on polynomi } = k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko P NP Luokan NP ongelmista

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

Kierros 10: Laskennallisesti vaativampia ongelmia

Kierros 10: Laskennallisesti vaativampia ongelmia Kierros 10: Laskennallisesti vaativampia ongelmia Tommi Junttila Aalto University School of Science Department of Computer Science CS-A1140 Data Structures and Algorithms Autumn 2017 Tommi Junttila (Aalto

Lisätiedot

LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,

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

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna. q 0 x solmuina laskennan mahdolliset tilanteet juurena alkutilanne lehtinä tilanteet joista ei siirtymää,

Lisätiedot

STeP-90. Finnish Artifical Intelligence Symposium Suomen Tekoalytutkimuksen paivat University of Oulu, June 11-14,1990

STeP-90. Finnish Artifical Intelligence Symposium Suomen Tekoalytutkimuksen paivat University of Oulu, June 11-14,1990 T E K N O L O G I A K A U P U N K l O U L U STeP-90 Finnish Artifical Intelligence Symposium Suomen Tekoalytutkimuksen paivat University of Oulu, June 11-14,1990 Edited by Markus Djupsund, Petri Salonen,

Lisätiedot

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C.

T Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka ) A ( B C) A B C. T-79.3001 Logiikka tietotekniikassa: perusteet Kevät 2008 Laskuharjoitus 5 (lauselogiikka 6.1 7.2) 27. 29.2.2008 Ratkaisuja demotehtäviin Tehtävä 6.1 a) A (B C) Poistetaan lauseesta ensin implikaatiot.

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

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut T-79.5101 kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun juureen

Lisätiedot

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13

Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13 2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun {A 1,A 2,...,A n,b } 0, jatkoa jatkoa 1 / 13 2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin

Lisätiedot

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan

Lisätiedot

Lauselogiikan toteutuvuusongelman ratkaiseminen laskennallisessa gridissä

Lauselogiikan toteutuvuusongelman ratkaiseminen laskennallisessa gridissä Lauselogiikan toteutuvuusongelman ratkaiseminen laskennallisessa gridissä Antti E. J. Hyvärinen Teknillinen korkeakoulu Tietojenkäsittelyteorian laboratorio Antti.Hyvarinen@tkk.fi 1 Johdanto Laskennalliset

Lisätiedot

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos. TIE303 Formaalit menetelmät, kevät 2005 Logiikan kertausta Antti-Juhani Kaijanaho antkaij@mit.jyu.fi Jyväskylän yliopisto Tietotekniikan laitos TIE303 Formaalit mentetelmät, 2005-01-27 p. 1/17 Luento2Luentomoniste

Lisätiedot

NBE-E4510 Special Assignment in Biophysics and Biomedical Engineering AND NBE-E4500 Special Assignment in Human. NBE-E4225 Cognitive Neuroscience

NBE-E4510 Special Assignment in Biophysics and Biomedical Engineering AND NBE-E4500 Special Assignment in Human. NBE-E4225 Cognitive Neuroscience Neurotieteen ja lääketieteellisen tekniikan laitos Department of and Biomedical OPETUSOHJELMASTA POISTUNEET KURSSIT (Tfy-99, Becs-114, BECS, NBE)/päivitetty 16.5.2017 COURSES REMOVED FROM THE STUDY PROGRAMME

Lisätiedot

Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen

Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen Scheduling of Genetic Analysis Workflows on Grid Environments (valmiin työn esittely) Arttu Voutilainen 20.4.2015 Ohjaaja: FT Lauri Eronen (Biocomputing Platforms Ltd.) Valvoja: Prof. Harri Ehtamo Työn

Lisätiedot

Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä?

Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä? Ongelman vaativuuden rajat Onko algoritmiselle ongelmalle löydetty ratkaisualgoritmi riittävän hyvä? Olisiko mahdollista löytää asymptoottisesti tehokkaampi ratkaisu, vai onko algoritmi optimaalinen? Kysymyksiin

Lisätiedot

T Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut

T Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut T-79.146 Kevät 2005 Logiikka tietotekniikassa: erityiskysymyksiä I Kertausta Ratkaisut 1. Jokaiselle toteutuvalle lauselogiikan lauseelle voidaan etsiä malli taulumenetelmällä merkitsemällä lause taulun

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 8.5.2018 Timo Männikkö Luento 13 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys Kertaus ja tenttivinkit Algoritmit 2 Kevät

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

P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta

P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta Juha Nurmonen Matematiikan laitos Helsingin yliopisto Ajatellaanpa esimerkiksi kauppamatkustajan jokapäiväistä ongelmaa: Kauppamatkustajan

Lisätiedot

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi

-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -Matematiikka on aksiomaattinen järjestelmä -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei

Lisätiedot

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

Lisätiedot

SFS/SR315 Tekoäly Tekoälyn standardisointi

SFS/SR315 Tekoäly Tekoälyn standardisointi SFS/SR315 Tekoäly Tekoälyn standardisointi Meri Seistola Toiminnanjohtaja, Mediakasvatuskeskus Metka ry SR 315 Tekoäly - Puheenjohtaja: Jarkko Vesa 1 SC42 Artificial Intelligence ISO/IEC JTC1 SC42 Artificial

Lisätiedot

Verkon värittämistä hajautetuilla algoritmeilla

Verkon värittämistä hajautetuilla algoritmeilla Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)

Lisätiedot

TIETOJOHDETTU RAKENNUSPROJEKTI Niko Vironen Kehityspäällikkö Fira Group

TIETOJOHDETTU RAKENNUSPROJEKTI Niko Vironen Kehityspäällikkö Fira Group TIETOJOHDETTU RAKENNUSPROJEKTI Niko Vironen Kehityspäällikkö Fira Group Oy @NikoVironen niko.vironen@fira.fi CASE CAPELLA Tilaaja: Asumisoikeusyhdistys Suomen Omakoti Pääurakoitsija: Fira Oy Urakka-aika:

Lisätiedot

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

Sekalukuoptimointi. Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, Tietojenkäsittelytieteen laitos Helsingin Yliopisto Sekalukuoptimointi Lehtonen, Matti Matemaattisen ohjelmoinnin seminaari, 2000-10-11 Tietojenkäsittelytieteen laitos Helsingin Yliopisto 1 Tiivistelmä Seminaarin aihe käsittelee globaalin optimoinnin erästä

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Algoritmit 2. Luento 14 To Timo Männikkö

Algoritmit 2. Luento 14 To Timo Männikkö Algoritmit 2 Luento 14 To 2.5.2019 Timo Männikkö Luento 14 Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydelliset ongelmat Kertaus ja tenttivinkit Algoritmit

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E.

Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E. Propositiot: Propositiot ovat väitelauseita. Totuusfunktiot antavat niille totuusarvon T tai E. Perusaksioomat: Laki 1: Kukin totuusfunktio antaa kullekin propositiolle totuusarvoksi joko toden T tai epätoden

Lisätiedot

ICS. T-61 (Informaatiotekniikka)

ICS. T-61 (Informaatiotekniikka) Tietotekniikan tutkinto-ohjelma korvaavuusluettelo 2010-2014 Päivitetty 1.7.2016 Käyttöohje 1. Hae etsimäsi kurssi CTRL+F 2. Viimeisin sarake oikealla on voimassaoleva kurssi/ajankohtaisin tieto 3. Jos

Lisätiedot

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Jari Hast xx.12.2013 Ohjaaja: Harri Ehtamo Valvoja: Hari Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

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

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet 9.1 9.5) 30.11. 3.12.2004 1. Osoita lauselogiikan avulla oheisten ehtolausekkeiden ekvivalenssi. (a)!(a

Lisätiedot

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1 Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 11 Ratkaisut 1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen kahta yhdistämissääntöä. Perusfunktioita

Lisätiedot

NP-täydellisyys. Joonas Järvenpää ja Topi Talvitie. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

NP-täydellisyys. Joonas Järvenpää ja Topi Talvitie. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos NP-täydellisyys Joonas Järvenpää ja Topi Talvitie Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 Sisältö 1 Johdanto 1 2 Ongelman määrittely

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I)

Mallintarkastus. Mallin generointi. Esimerkki mallin SMV-kuvauksesta. Tila-avaruuden symbolinen esitys (I) / Kevät 2005 ML-10 1 Mallintarkastus / Kevät 2005 ML-10 3 Esimerkki mallin SMV-kuvauksesta Onko annettu lause P tosi annetussa mallissa M? Malli M: järjestelmän malli Saadaan järjestelmän kuvauksesta,

Lisätiedot

Logiikka 1/5 Sisältö ESITIEDOT:

Logiikka 1/5 Sisältö ESITIEDOT: Logiikka 1/5 Sisältö Formaali logiikka Luonnollinen logiikka muodostaa perustan arkielämän päättelyille. Sen käyttö on intuitiivista ja usein tiedostamatonta. Mikäli logiikka halutaan täsmällistää esimerkiksi

Lisätiedot

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rajoittamattomat kieliopit (Unrestricted Grammars) Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli

Lisätiedot

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri Enterprise Architecture TJTSE25 2009 Yrityksen kokonaisarkkitehtuuri Jukka (Jups) Heikkilä Professor, IS (ebusiness) Faculty of Information Technology University of Jyväskylä e-mail: jups@cc.jyu.fi tel:

Lisätiedot

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 5 Ratkaisuehdotukset 1. Päättele resoluutiolla seuraavista klausuulijoukoista: (a) {{p 0 }, {p 1 }, { p 0, p 2 },

Lisätiedot

WP3 Decision Support Technologies

WP3 Decision Support Technologies WP3 Decision Support Technologies 1 WP3 Decision Support Technologies WP Leader: Jarmo Laitinen Proposed budget: 185 000, VTT 100 000, TUT 85 000. WP3 focuses in utilizing decision support technologies

Lisätiedot

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen.

Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. 261 Lause (Cook-Levin) Kieli SAT = { on toteutuva lausekalkyylin kaava } on NP-täydellinen. Pitää osoittaa siis, että A mp SAT mielivaltaisella A NP Ainoa, mitä A:sta tiedetään on, että sillä on polynomisessa

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

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,

Lisätiedot

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Juho Andelmin 21.1.213 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Raimo P. Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 3. Logiikka 3.1 Logiikka tietojenkäsittelyssä Pyritään formalisoimaan terveeseen järkeen perustuva päättely Sovelletaan monella alueella tietojenkäsittelyssä, esim.

Lisätiedot

Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos...

Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos... 2 Logiikkaa Tässä luvussa tutustutaan joihinkin logiikan käsitteisiin ja merkintöihin. Lisätietoja ja tarkennuksia löytyy esimerkiksi Jouko Väänäsen kirjasta Logiikka I 2.1 Loogiset konnektiivit Väitelauseen

Lisätiedot

Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh

Yleisen PSCR-menetelmän toteutus ohjelmoitavalla näytönoh Yleisen n toteutus ohjelmoitavalla näytönohjaimella Mirko Myllykoski mirko.myllykoski@jyu.fi 15.2.2011 Mitä teen? Tarkoituksena toteuttaa (ja osin jo toteutettukin) stä versio ohjelmoitavalle näytönohjaimelle

Lisätiedot

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing 13.10.2010 Jan Nyman, jan.nyman@posintra.fi Background info STOK: development center for technology related to building automation

Lisätiedot

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010

Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010 kielenä 9. joulukuuta 2010 Historia kielenä Historia Sovelluksia kehitettiin vuonna 1972 Kehittäjinä ranskalaiset Pääkehittäjä Alain Colmerauer Philippe Roussel programmation en logique Robert Kowalski

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016 TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen

Lisätiedot

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM

kaikki kielet tunnistettavat A TM HALT TM { a n } { a n b n } { a n b n c n } TOTAL TM EQ TM Kurssi tähän asti: säännölliset yhteydettömät ratkeavat { a n } { a n b n } { a n b n c n } tunnistettavat A TM HALT TM kaikki kielet A TM HALT TM TOTAL TM TOTAL TM EQ TM EQ TM 277 5. Laskennan vaativuus

Lisätiedot

Epätäsmällisen tiedon esittäminen semanttisen webin ontologioissa

Epätäsmällisen tiedon esittäminen semanttisen webin ontologioissa Epätäsmällisen tiedon esittäminen semanttisen webin ontologioissa FinnOnto, 16.11.2005 Markus Holi (markus.holi@tkk.fi) Semantic Computing Research Group http://www.seco.tkk.fi/ UNIVERSITY OF HELSINKI

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

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely) Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely) Antti Salmela 03.03.2014 Ohjaaja: Harri Ehtamo Valvoja: Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.

Lisätiedot

DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko

DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko DMP / Kevät 2016 / Mallit Harjoitus 6 / viikko 13 / alkuviikko Alkuviikon tuntitehtävä 1: Montako kahdeksaan yhtäsuureen sektoriin leikattua pitsaa voidaan tehdä kolmesta täytteestä siten, että kukin sektori

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

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

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset

HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Etsi lauseen (p 0 (p 1 p 0 )) p 1 kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä

Lisätiedot

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla Juho Andelmin 21.01.2013 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Raimo P. Hämäläinen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

7 LOOGISET AGENTIT. (reasoning) maailman tilasta. Tämä on erityisen tärkeää osittain havaittavissa

7 LOOGISET AGENTIT. (reasoning) maailman tilasta. Tämä on erityisen tärkeää osittain havaittavissa 7 OOGIET GENTIT Tarkastelemme nyt tietämyskannan (knowledge base, K) omaavia agentteja, joita kutsumme tietämyspohjaisksi toimijoiksi (knowledge-based agents) Tietämyspohjaiset toimijat käyttävät tietämyskantaa

Lisätiedot

Smart City -ratkaisut

Smart City -ratkaisut Smart City ratkaisut Kaupungin rakennuskannan energialaskenta Pekka Tuominen Senior Scientist Pekka.Tuominen@vtt.fi +358407345580 06/10/2017 1 KASVIHUONEKAASUPÄÄSTÖT MUUT PÄÄSTÖT ENERGIA EKOSYSTEEMIVAIKUTUKSET

Lisätiedot

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III KOULUTUSTIEDOTE 1(5) ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III Kuvaus ja tavoite ISEB/ISTQB Foundation Certificate in Software Testing -sertifikaattiin valmentava koulutus (2,5 pv) ja sertifikaattikoe

Lisätiedot

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems Advanced Test Automation for Complex Software-Intensive Systems = Advanced Test Automation for Complex Software- Intensive Systems Pääteemana kompleksisten ja erittäin konfiguroitavien softaintensiivisten

Lisätiedot

C C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva:

C C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva: Lause 3SAT p m VC Todistus. Olk. φ = C 1 C C m 3-cnf-kaava, jossa esiintyvät muuttujat x 1,..., x n. Vastaava solmupeiteongelman tapaus G, k muodostetaan seuraavasti. G:ssä on solmu kutakin literaalia

Lisätiedot

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola jtoivola@iki.fi Historiaa Bayesin kaavan hyödyntäminen BN-ohjelmistoja ollut ennenkin Tanskalaisten Hugin

Lisätiedot

VBE2 Työpaketit Jiri Hietanen / TTY

VBE2 Työpaketit Jiri Hietanen / TTY VBE2 Työpaketit Jiri Hietanen / TTY 1 WP2.1 Technology review and VBE platform 2 Tavoitteet In In charge: charge: Method: Method: Jiri Jiri Hietanen, Hietanen, TUT TUT Analysis Analysis of of existing

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

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

Tekoäly muuttaa arvoketjuja

Tekoäly muuttaa arvoketjuja Tekoäly muuttaa arvoketjuja Näin kartoitat tekoälyn mahdollisuuksia projektissasi Harri Puolitaival Harri Puolitaival Diplomi-insinööri ja yrittäjä Terveysteknologia-alan start-up: Likelle - lämpötilaherkkien

Lisätiedot

TIEA382 Lineaarinen ja diskreetti optimointi

TIEA382 Lineaarinen ja diskreetti optimointi TIEA382 Lineaarinen ja diskreetti optimointi Jussi Hakanen Tietotekniikan laitos jussi.hakanen@jyu.fi AgC 426.3 Yleiset tiedot Tietotekniikan kandidaattiopintojen valinnainen kurssi http://users.jyu.fi/~jhaka/ldo/

Lisätiedot

2 Description of Software Architectures

2 Description of Software Architectures 2 Description of Software Architectures 2.1 Significance of architectural descriptions 2.2 Context of architectural descriptions 2.3 Levels of architectural descriptions 2.4 Viewpoints and types in architecture

Lisätiedot

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan

Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 2 Ratkaisuehdotukset 1. Olkoon totuusjakauma v sellainen että v(p i ) = 1 kaikilla i N ja A propositiolause, jossa

Lisätiedot

LOGIIKKA johdantoa

LOGIIKKA johdantoa LOGIIKKA johdantoa LUKUTEORIA JA TO- DISTAMINEN, MAA11 Logiikan tehtävä: Logiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat päättelyt

Lisätiedot

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely) Jani Laine 31.10.2017 Ohjaaja: DI Jimmy Kjällman Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Sisältö. ICS-C2000 Tietojenkäsittelyteoria. Kertausta edellisistä kerroista...

Sisältö. ICS-C2000 Tietojenkäsittelyteoria. Kertausta edellisistä kerroista... Sisältö ICS-C2000 Tietojenkäsittelyteoria Luento 11: Ricen lause ja rajoittamattomat kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Aiheet: Ricen lause Yleiset eli

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria

ICS-C2000 Tietojenkäsittelyteoria ICS-C2000 Tietojenkäsittelyteoria Luento 11: Ricen lause ja rajoittamattomat kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Sisältö Aiheet: Ricen lause Yleiset eli

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 1: 4.9.2014-17.10.2012 (7 VIIKKOA+KOE) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14

Lisätiedot

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Tuote Ohjelmisto Ulkoiset tekijät Sisäiset tekijät 2 Hissin ohjausjärjestelmä ohjelmistotuotteena

Lisätiedot

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola IoT-platformien vertailu ja valinta erilaisiin sovelluksiin 10.3.2017 / Jarkko Paavola Prosessi state-of-the-art -tilan määrittelemiseksi Vaatimusmäärittely platformille Arkkitehtuuri Valittiin IIC:n (http://www.iiconsortium.org/)

Lisätiedot

DIPLOMITYÖ ARI KORHONEN

DIPLOMITYÖ ARI KORHONEN DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja

Lisätiedot

Sulautettu tietotekniikka 2007 2013 Real World Real Time First Lives. DM xxxxxx 05-2007 Copyright Tekes

Sulautettu tietotekniikka 2007 2013 Real World Real Time First Lives. DM xxxxxx 05-2007 Copyright Tekes Sulautettu tietotekniikka 2007 2013 Real World Real Time First Lives www.tekes.fi/ubicom Julkiset T&K-rahoitusresurssit Ubicom-alueella EU FP7 ARTEMIS EUREKA ITEA2 Ubicom EAKR OSKEt Suomen Akatemia Yo/tutk.laitos

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa

Lisätiedot

Tekoäly ja alustatalous. Miten voit hyödyntää niitä omassa liiketoiminnassasi

Tekoäly ja alustatalous. Miten voit hyödyntää niitä omassa liiketoiminnassasi Tekoäly ja alustatalous Miten voit hyödyntää niitä omassa liiketoiminnassasi AI & Alustatalous AI Digitaalisuudessa on 1 ja 0, kumpia haluamme olla? Alustatalouden kasvuloikka Digitaalisen alustatalouden

Lisätiedot

Todistusteoriaa. Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan.

Todistusteoriaa. Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan. Todistusteoriaa Kun kielen syntaksi on tarkasti määritelty, voidaan myös määritellä täsmällisesti, mitä pätevällä päättelyllä tarkoitetaan. Todistusteoriassa annetaan joukko aksioomia ja päättely- sääntöjä,

Lisätiedot

Osallisuus ja tarinat kehitysyhteistyön arvioinnissa. Laura Lager 5/6/2013

Osallisuus ja tarinat kehitysyhteistyön arvioinnissa. Laura Lager 5/6/2013 Osallisuus ja tarinat kehitysyhteistyön arvioinnissa Laura Lager 5/6/2013 Miksi arvioidaan? Tili- ja vastuuvelvollisuus oppiminen ja toiminnan kehittäminen Rahoittajaan kohdistuvan tili- ja vastuuvelvollisuuden

Lisätiedot

Miksi ja millaisella muutoksella tulevaisuuteen? Sivistystoimen ja oppilaitosjohtamisen päivät Maarit Rossi

Miksi ja millaisella muutoksella tulevaisuuteen? Sivistystoimen ja oppilaitosjohtamisen päivät Maarit Rossi Miksi ja millaisella muutoksella tulevaisuuteen? Sivistystoimen ja oppilaitosjohtamisen päivät 13.9.2017 Maarit Rossi Maarit Rossi, maarit.rossi@pathstomath.com Osa 1: Voiko tulevaisuuteen mennä vanhoilla

Lisätiedot

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6)

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6) Tehtävä 1 Päättele resoluutiolla seuraavista klausuulijoukoista. a. {{p 0 }, {p 1 }, { p 0, p 2 }, {p 1, p 2, p 3 }, { p 2, p 3 }, {p 3 }}, b. {{ p 0, p 2 }, {p 0, p 1 }, {{ p 1, p 2 }, { p 2 }}, c. {{p

Lisätiedot

TIETOJENKÄSITTELYTEORIAN PÄÄAINEEN KORVAAVUUSPERIAATTEET

TIETOJENKÄSITTELYTEORIAN PÄÄAINEEN KORVAAVUUSPERIAATTEET Versiohistoria Ensimmäinen versio 14.3.2005 / Ilkka Niemelä Koulutusohjelmatoimikunnan kokouksessa 4.4.2005 esitetyt muutokset tehty 8.4.2005. TIETOJENKÄSITTELYTEORIAN PÄÄAINEEN KORVAAVUUSPERIAATTEET Tietojenkäsittelyteorian

Lisätiedot

Lineaaristen monitavoiteoptimointitehtävien

Lineaaristen monitavoiteoptimointitehtävien Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Jerri Nummenpalo 17.09.2012 Ohjaaja: TkT Juuso Liesiö Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.

Lisätiedot

PrinLab. Antti Berg Oulun seudun ammattikorkeakoulu, Tekniikan yksikkö 29.2.2012

PrinLab. Antti Berg Oulun seudun ammattikorkeakoulu, Tekniikan yksikkö 29.2.2012 PrinLab Painettavien antureiden kehityslaboratorio Antti Berg Oulun seudun ammattikorkeakoulu, Tekniikan yksikkö 29.2.2012 1. Tausta 2. PrinLabtavoitteet 3. PrinLablaboratorio 4. Kehityslaboratorion toiminta

Lisätiedot

Introduction to Machine Learning

Introduction to Machine Learning Introduction to Machine Learning Aki Koivu 27.10.2016 HUMAN HEALT H ENVIRONMENTAL HEALT H 2016 PerkinElmer Miten tietokone oppii ennustamaan tai tekemään päätöksiä? Historia tiivistettynä Machine Learning

Lisätiedot