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

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

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

Laskennan vaativuus ja NP-täydelliset ongelmat

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Kierros 10: Laskennallisesti vaativampia ongelmia


Algoritmit 1. Luento 1 Ti Timo Männikkö

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

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

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

5. Rajoitelaskenta (Constraint Satisfaction)

T kevät 2007 Laskennallisen logiikan jatkokurssi Laskuharjoitus 1 Ratkaisut

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

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

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Lauselogiikan toteutuvuusongelman ratkaiseminen laskennallisessa gridissä

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

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

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

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

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö

P? = NP Kysymys ratkaisun keksimisestä ja sen tarkistamisesta

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

7. Product-line architectures

SFS/SR315 Tekoäly Tekoälyn standardisointi

Verkon värittämistä hajautetuilla algoritmeilla

TIETOJOHDETTU RAKENNUSPROJEKTI Niko Vironen Kehityspäällikkö Fira Group

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

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

Algoritmit 2. Luento 14 To Timo Männikkö

7.4 Variability management

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

ICS. T-61 (Informaatiotekniikka)

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

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

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

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

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

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

Logiikka 1/5 Sisältö ESITIEDOT:

Rajoittamattomat kieliopit (Unrestricted Grammars)

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

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

WP3 Decision Support Technologies

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

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

811120P Diskreetit rakenteet

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

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

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

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

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

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

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Datatähti 2019 loppu

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

Laskennan teoria

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

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

Smart City -ratkaisut

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

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

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:

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola

VBE2 Työpaketit Jiri Hietanen / TTY

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Tekoäly muuttaa arvoketjuja

TIEA382 Lineaarinen ja diskreetti optimointi

2 Description of Software Architectures

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

LOGIIKKA johdantoa

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

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

ICS-C2000 Tietojenkäsittelyteoria

JOHDATUS TEKOÄLYYN TEEMU ROOS

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

DIPLOMITYÖ ARI KORHONEN

Sulautettu tietotekniikka Real World Real Time First Lives. DM xxxxxx Copyright Tekes

Laskennan teoria

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

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

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

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

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)

TIETOJENKÄSITTELYTEORIAN PÄÄAINEEN KORVAAVUUSPERIAATTEET

Lineaaristen monitavoiteoptimointitehtävien

PrinLab. Antti Berg Oulun seudun ammattikorkeakoulu, Tekniikan yksikkö

Introduction to Machine Learning

Transkriptio:

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

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

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 29.2.2016 3 / 34

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 29.2.2016 3 / 34

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 29.2.2016 3 / 34

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 29.2.2016 3 / 34

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 29.2.2016 3 / 34

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

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 29.2.2016 5 / 34

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 29.2.2016 6 / 34

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 29.2.2016 7 / 34

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 29.2.2016 7 / 34

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

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 29.2.2016 9 / 34

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 29.2.2016 9 / 34

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 29.2.2016 9 / 34

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 29.2.2016 9 / 34

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 29.2.2016 9 / 34

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 29.2.2016 9 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 34

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 29.2.2016 10 / 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 29.2.2016 11 / 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 29.2.2016 11 / 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 29.2.2016 11 / 34

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 29.2.2016 12 / 34

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 29.2.2016 12 / 34

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 29.2.2016 13 / 34

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 29.2.2016 14 / 34

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 29.2.2016 14 / 34

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 29.2.2016 15 / 34

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),... 3. 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 29.2.2016 16 / 34

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),... 3. 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 29.2.2016 16 / 34

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 29.2.2016 17 / 34

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

SAT-solverin käyttöesimerkki Instance: aaai10-planning-ipc5-tpp-21-step11.cnf c Lingeling SAT Solver c Copyright (C) 2010-2014 Armin Biere JKU Linz Austria. c read 99736 variables, 783991 clauses, 1708562 literals in 0.00 seconds... sunsatisfiable... c 2.344 1% preprocessing 2% c 140.829 30% inprocessing 98% c================================== c 143.173 31% simplifying c 320.824 69% search c================================== c 464.001 100% all c 4456232 decisions, 9603.9 decisions/sec c 1181243 conflicts, 2545.8 conflicts/sec c 2443039996 propagations, 5.3 megaprops/sec c 464.0 seconds, 42.1 MB Matti Järvisalo (HY) Logiikka ja tekoäly 29.2.2016 19 / 34

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 29.2.2016 20 / 34

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

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 29.2.2016 22 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

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 29.2.2016 23 / 34

SAT Solver Competitions See http://satcompetition.org/ Matti Järvisalo (HY) Logiikka ja tekoäly 29.2.2016 24 / 34

SAT-solverien kehitys CPU Time (in seconds) 1200 1000 800 600 400 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) 200 0 0 20 40 60 80 100 120 140 160 180 Number of problems solved Matti Järvisalo (HY) Logiikka ja tekoäly 29.2.2016 25 / 34

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

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 29.2.2016 27 / 34

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 29.2.2016 27 / 34

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 29.2.2016 27 / 34

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 29.2.2016 27 / 34

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 29.2.2016 28 / 34

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 29.2.2016 28 / 34

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 29.2.2016 28 / 34

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 29.2.2016 28 / 34

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 29.2.2016 28 / 34

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 29.2.2016 29 / 34

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 29.2.2016 29 / 34

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 29.2.2016 29 / 34

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 29.2.2016 29 / 34

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 29.2.2016 30 / 34

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 29.2.2016 30 / 34

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 29.2.2016 31 / 34

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 29.2.2016 31 / 34

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

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

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

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 29.2.2016 33 / 34

Constraint Reasoning and Optimization @ TKTL Constraint Reasoning and Optimization Group Tutkimusteemoja: http://www.hiit.fi/cosco/coreo/ 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 29.2.2016 34 / 34