10. Satunnaisalgoritmit
|
|
- Harri Tuominen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Satunnaisalgoritmit Probabilistic algorithms, randomized algorithms Toinen tapa liiallisen laskennallisen vaativuuden kanssa toimeen tulemiseksi ovat satunnaisalgoritmit Jotkin ongelmat, joissa deterministinen algoritmi ei tahdo toimia, ovat helpohkosti ratkaistavissa kolikkoa heittämällä Satunnaisuus voi johtaa vinoumaan Kuitenkin eksaktin ratkaisun laskeminen voi olla liikaa aikaa vaativaa Esimerkiksi tilastotieteessä suosittu otantamenetelmä Sen sijaan, että äänestyskäyttäytyminen yritettäisiin kysyä kaikilta äänioikeutetuilta, ennuste perustetaan satunnaisesti valitun populaation antamiin vastauksiin 317 Luokka BPP Probabilistinen Turingin kone N on epädeterministinen kone, jossa jokainen epädeterministinen askel on kolikonheitto-askel Tällaisella askelella on kaksi mahdollista seuraajaa Kuhunkin laskentapuun haaraan b liitetään todennäköisyys Pr[b] = 2 -k missä k on haaraan liittyvien kolikonheittoaskelten lukumäärä (syötteellä w) Todennäköisyys, että N hyväksyy syötteen w on Pr[ N hyväksyy syötteen w] Pr[ b] b A missä A on hyväksyvien laskentahaarojen joukko 1
2 318 Pr[N hylkää syötteenw] = 1 Pr[N hyväksyy syötteen w] Tavalliseen tapaan Turingin kone tunnistaa kielen, jos se hyväksyy kieleen kuuluvat merkkijonot ja hylkää ne, jotka eivät siihen kuulu Paitsi, että probabilistiselle koneelle sallitaan pieni virheen todennäköisyys Kaikilla 0 < ½ sanomme, että N tunnistaa kielen A virhetodennäköisyydellä jos w A Pr[N hyväksyy w:n] 1 w A Pr[N hylkää w:n] 1 N:ää simuloimalla saaavan ratkaisun virhe on siis korkeintaan Virheen todennäköisyys voi olla myös syötteen pituudesta riippuva; esim. eksponentiaalisen pieni: = 2 -n 319 Määritelmä. BPP on niiden kielten luokka, jotka voidaan tunnistaa probabilistisella polynomiaikaisella Turingin koneella virhetodennäköisyydellä. Virhetodennäköisyydeksi kelpaisi :n sijaan mikä tahansa vakio väliltä ]0, ½[ Seuraavan vahvistuslemman (amplification lemma) perusteella virhetodennäköisyys voidaan aina ajaa eksponentiaalisen pieneksi Jos satunnaisalgoritmin virhetodennäköisyys on 2-100, niin se antaa virheellisen vastauksen paljon todennäköisemmin laitteistovirheen takia kuin siksi, että kolikonheitto on ollut epäsuotuisa. 2
3 320 Lemma Olkoon kiinnitetty vakio aidosti välillä 0 ja ½. Tällöin mille tahansa polynomille p(n), virhetodennäköisyyden puitteissa toimivalla probabilistisellä polynomiaikaisella Turingin koneella N 1 on olemassa ekvivalentti polynomiaikainen probabilistinen Turingin kone N 2, jonka virhetodennäköisyys on korkeintaan 2 -p(n). Todistus. (Ajatus) N 2 simuloi N 1 :tä suorittamalla sitä polynomisen määrän kertoja ja suorittamalla enemmistöäänestyksen. Virheen todennäköisyys pienenee eksponentiaalisesti suorituskertojen lukumäärän mukaan. 321 Alkuluvut Olkoon p+ = { 0,, p 1 } Jokainen kokonaisluku on ekvivalentti modulo p jonkin joukon p + alkion kanssa Fermat n pieni lause. Jos p on alkuluku ja a p+, niin a p 1 1 (mod p). Esimerkiksi = 2 6 = 64 ja 64 mod 7 = 1 kun taas = 2 5 = 32 ja 32 mod 6 = 2 joten 6 ei ole alkuluku Luvun 6 todetaan olevan yhdistetty ilman tekijöihin jakoa! 3
4 322 Fermat n pieni lause siis (melkein) antaa alkulukutestin Luvun p sanotaan selvittävän Fermat n testin pisteessä a, jos a p 1 1 (mod p) Luku p on pseudo-alkuluku, jos se selvittää Fermat n testin kaikilla itseään pienemmillä luvuilla a s.e. a ja p ovat keskenään alkulukuja Vain harvinaiset ns. Carmichaelin luvut ovat pseudo-alkulukuja olematta alkulukuja Jos luku ei ole pseudo-alkuluku, niin se selvittää Fermat n testin korkeintaan puolessa pisteitä Näin ollen saamme helposti eksponentiaalisen virhetodennäköisyyden omaavan pseudo-alkulukujen tunnistusalgoritmin 323 Pseudo-alkuluku(p) 1. Valitse satunnaiset a 1,,a k p + 2. Laske arvo a i p 1 mod p kullakin i 3. Jos kaikki lasketut arvot ovat 1 hyväksy, muuten hylkää Jos p ei ole pseudo-alkuluku, niin se selvittää kunkin satunnaisesti valitun testin korkeintaan todennäköisyydellä ½ Todennäköisyys selvitä kaikista k:sta testistä on siis 2 k Algoritmin aikavaativuus on polynominen syötteen pituuden suhteen Vielä pitäisi päästä eroon Carmichaelin luvuista 4
5 324 Luvulla 1 on täsmälleen neliöjuuret 1 ja -1modulo mikä tahansa alkuluku p Useilla yhdistetyillä luvuilla, varsinkin kaikilla Carmichaelin luvuilla, 1:llä on neljä tai useampia neliöjuuria Esimerkiksi ±1 ja ±8 ovat luvun 1 neljä neliöjuurta modulo 21 Saamme luvun 1 neliöjuuren jos p selvittää Fermat n testin pisteessä a sillä nyt a p 1 mod p 1, joten a (p 1)/2 mod p on 1:n neliöjuuri Voimme toistuvasti puolittaa eksponentin niin kauan kuin se pysyy kokonaislukuna 325 Alkuluku(p) % hyväksy = syöte p on alkuluku 1. Jos p on parillinen, niin hyväksy jos p = 2, muuten hylkää 2. Valitse satunnaiset a 1,,a k p + 3. Jokaiselle i { 1,, k } a) Laske a p 1 mod p ja hylkää jos erisuuri kuin 1 b) Olkoon p 1 = st, missä s on pariton ja t = 2 h on 2:n potenssi c) Laske arvot a i s 2 0, a i s 2 1,, a i s 2 h modulo p d) Jos jokin lasketuista arvoista on erisuuri kuin 1, niin valitse viimeinen niistä ja hylkää, jos se on erisuuri kuin 1 4. Kaikki testit on selvitetty, joten hyväksy 5
6 326 Lemma 10.7 Jos p on pariton alkuluku, niin Pr[Alkuluku hyväksyy p:n] = 1. Todistus. Jos p on alkuluku, niin yksikään laskentahaara ei hylkää: Hylkääminen askelessa 3a tarkoittaa, että (a p 1 mod p) 1, joten Fermat n pienen lauseen mukaan p on yhdistetty luku. Jos hylkäys tapahtuu askelessa 3d, niin on olemassa b p+ s.e. b ±1 (mod p) ja b 2 1 (mod p). Näin ollen, b (mod p). Tekijöimällä saadaan (b 1)(b + 1) 0 (mod p), jonka perusteella (b 1)(b + 1) = cp jollakin positiivisella kokonaisluvulla c. Koska b ±1 (mod p), niin sekä b 1ja b + 1 ovat välillä ]0, p[. Täten p on yhdistetty luku, koska alkuluvun monikertaa ei voi ilmaista kahden sitä pienemmän luvun tulona. 327 Seuraava lemma osoittaa, että algoritmi tunnistaa yhdistetyt luvut suurella todennäköisyydellä Lukuteorian yhden perustuloksen, kiinalaisen jäännöslauseen (Chinese remainder theorem), mukaan on pq :n ja ( p q ):n välillä on suora yhteys jos p ja q ovat keskenään alkulukuja: Jokainen r pq vastaa paria (a, b), missä a p ja b q s.e. r a (mod p) ja r b (mod q) 6
7 328 Lemma 10.8 Jos p on pariton yhdistetty luku, niin Pr[Alkuluku hyväksyy p:n] 2 k. Todistus. Sivuutetaan, hyödyntää kiinalaista jäännöslausetta. Olkoon ALKULUVUT = { n n on alkuluvun binääriesitys } Edellinen algoritmi ja sen analyysi antaa meille tuloksen Lause 10.9 ALKULUVUT BPP Huomattakoon, että alkulukujen satunnaisen tunnistaja-algoritmin virhe on yksipuolinen. Kun syöte hylätään, niin se on varmasti yhdistetty luku. Virhe voi tapahtua vain syöte hyväksyttäessä. 329 Virhe tapahtuu siis vain yhdistetyllä luvulla. Kaikilla alkuluvuilla algoritmi antaa oikean vastauksen. Yksisuuntainen virhe on niin yleinen satunnaisalgoritmien ominaisuus, että sille on olemassa oma vaativuusluokkansa RP Määritelmä RP on niiden kielten luokka, jotka ovat tunnistettavissa polynomiaikaisella probabilistisellä Turingin koneella s.e. kieleen kuuluvat merkkijonot hyväksytään vähintään todennäköisyydellä ½ ja kieleen kuulumattomat hylätään todennäköisyydellä 1. Edellä olevan perusteella siis YHDISTETYT RP 7
8 330 ALKULUVUT P Fermat n pienen lauseen seurauksena pätee: Lause A. Olkoot a ja p keskenään alkulukuja ja p > 1. p on alkuluku jos ja vain jos (x a) p (x p a) (mod p) x:llä ei tässä ole merkitystä, vain polynomin (x a) p kertoimet merkitsevät Polynomin (p 1):n keskimmäisen termin kertoimet ovat p:llä jaollisia kokonaislukuja, eli = 0 modulo p Jäljelle jää siis vain ensimmäinen termi x p ja viimeinen termi a p, joka on a modulo p Valitettavasti vain p:n alkulukuominaisuuden ratkaiseminen tämän perusteella vaatii eksponentiaalisen ajan 331 Agrawal (1999): riittää tarkastella polynomia (x a) p modulo x r 1 Jos r on riittävän suuri, ainoat testin läpäisevät yhdistetyt luvut ovat parittomien alkulukujen potenssit Luvun r siis tulisi olla riittävän suuri, mutta toisaalta riittävän pieni, jottei menetelmän vaativuus kasva liikaa Kayal & Saxena (2000): Todistamattomaan konjektuuriin perustuen r:n ei tarvitse olla suurempi kuin 4(log 2 p), jolloin testimenetelmän vaativuus on vain O(log 3 n) eli kuuluu P:hen Valitettavasti vain tulos perustuu todistamattomaan väitteeseen 8
9 332 Sophie Germain alkuluvut: sekä q että 2q + 1 ovat alkulukuja Agrawal, Kayal & Saxena (2002): Jos löytyy SG-alkulukujen pari q ja 2q + 1 s.e. q 4 2q 1 log p niin r:n ei tarvitse olla arvoltaan kuin korkeintaan 2q 1 log p 2 Valitettavasti tämä testi on rekursiivinen ja sen vaativuus on O(log 12 n) edellä mainitun O(log 3 n):n sijaan 333 Deterministinen-alkuluku(n) 1. if n on muotoa a b jollain b > 1 then hylkää; 2. r 2; 3. while r < n do a) if syt(n, r) 1 then hylkää; b) if Deterministinen-alkuluku(r) then % r > 2 i. Olkoon q (r 1):n suurin tekijä; ii. if q > 4sqrt(r) log n and n (r 1)/q 1 (mod r) then break; c) r r+ 1; 4. for a 1 to 2sqrt(r) log n do if (x a) n (x n a) (mod x r 1, n) then hylkää; 5. hyväksy syöte; 9
10 334 Rivin 1 testi poistaa Agrawalin (1999) testin edellytysten mukaisesti parittomien alkulukujen potenssit Rivin 3 silmukka etsii Sophie Germain alkulukuparin q ja r Rivi 3a) testaa lausetta A varten, että n ja r ovat keskenään alkulukuja Rivin 4 silmukka tutkii alkulukuominaisuuden lauseen A muunnoksella (Agrawal, 1999) arvoon 2sqrt(r) log n asti (AKS, 2002) Koska lause A pätee jos ja vain jos n on alkuluku, niin algoritmin antama päätös on korrekti Muut muutokset vaikuttavat vain algoritmin vaativuuteen, ei sen oikeellisuuteen 335 Yhteenveto Kaikille laskennallisille ongelmille ei ole ohjelmallista ratkaisua Deterministisellä äärellisellä automaatilla on yksikäsitteinen minimiautomaatti. Minimiautomaatin muodostaminen on suoraviivaista Epädeterministiset äärelliset automaatit ovat yhtä vahvoja kuin deterministisetkin Kieli on säännöllinen se voidaan tunnistaa äärellisellä automaatilla se voidaan kuvata säännöllisellä lausekkeella se voidaan tuottaa oikealle lineaarisella kieliopilla 10
11 336 Säännöllisen kielen merkkijonoja voidaan ''pumpata'' On olemassa mielekkäitä formaaleja kieliä, jotka eivät ole säännöllisiä Kontekstittomat kielet ovat säännöllisten kielten aito yliluokka Kieli on kontekstiton jos ja vain jos se voidaan tunnistaa pinoautomaatilla Churchin-Turingin teesin mukaan mikä tahansa tietokoneella ratkeava ongelma voidaan ratkaista Turingin koneella Turingin koneiden laajennukset - mukaan lukien epädeterministiset Turingin koneet - ovat laskentavoimaltaan ekvivalentteja standardimallisen yksinauhaisen koneen kanssa 337 Eri konevarianttien ''tehokkuudet'' vaihtelevat Rajoittamattomilla kieliopeilla tuotettavat kielet ovat ekvivalentteja Turingin koneilla tunnistettavien kielten kanssa Totaalinen Turingin kone pysähtyy kaikilla syötteillä Formaali kieli on RE-kieli, jos se voidaan tunnistaa Turingin koneella ja rekursiivinen, jos on olemassa totaalinen tunnistava kone A ja B rekursiivisia, A B ja A B rekursiivisia A,B RE (A B),(A B) RE A rekursiivinen A, RE A RE, ei rekursiivinen RE 11
12 338 D = { c { 0, 1 }* c L(M c ) } RE Esim. A DFA, E DFA ja EQ DFA ovat ratkeavia (rekursiivisia) kieliä U = { M, w w L(M) } RE, ei rekursiivinen = { M, w w L(M) } RE H = { M, w M(w) } RE, ei rekursiivinen = { M, w M(w) } RE Chomskyn kieliluokat: äärelliset säännölliset kontekstittomat kontekstiset rajoittamattomilla kieliopeilla tuotettavat kielet (= RE) 339 NE = { M M on Turingin kone ja L(M) } RE, ei rekursiivinen REG = { M M on Turingin kone ja L(M) on säännöllinen } ei ole rekursiivinen Ricen lause: kaikki Turingin koneiden epätriviaalit semanttiset ominaisuudet ovat ratkeamattomia Lineaarisesti rajoitettu automaatti (LRA) ei voi ottaa lisää työtilaa käyttöönsä A LRA on ratkeava, kun taas E LRA on ratkeamaton A * voidaan palauttaa rekursiivisesti B:hen, B *, merk. A m B, jos on olemassa rekursiivinen funktio f: * * s.e. x A f(x) B x * 12
13 340 A { 0, 1 }* on RE-täydellinen, jos 1.A RE ja 2.B m Akaikilla B RE Kieli U on RE-täydellinen Turingin koneiden vaativuusanalyysissä tarkastellaan pahinta tapausta tietyn pituisella syötteellä Vaativuusfunktioiden kertaluokat O,, o, Työnauhojen lukumäärä ei vaikuta oleellisesti Turingin koneen tehokkuuteen Deterministisen ja epädeterministisen koneen tehokkuusero sen sijaan on eksponentiaalinen 341 P = k 0 DTIME(n k + k) EXPTIME = k 0 DTIME(2 nk ) P:hen kuuluvat kielet, jotka voidaan tunnistaa syötteen pituuden suhteen polynomisessa ajassa Esim. suunnatun verkon polkuongelma PATH ja keskenään alkulukuja olevien lukuparien tunnistaminen ovat luokan P ongelmia Vastaavat epädeterministiset yhdisteluokat ovat NP ja NEXPTIME Esim. klikkiongelma ja osajoukkosumma ovat luokan NP ongelmia Luokan P ongelmat ovat käytännössä ratkeavia 13
14 342 P NP. Lisäksi NP:ssä on ongelmia, joille ei tunneta polynomista ratkaisualgoritmia A * voidaan palauttaa polynomisesti B:hen, B *, merk. A mp B, jos on olemassa polynomisessa ajassa laskettava funktio f: * * s.e. x A f(x) B x * A { 0, 1 }* on NP-täydellinen, jos 1.A NP ja 2.B mp Akaikilla B NP Kaikki luokan NP ongelmat voidaan palauttaa NP-täydelliseen ongelmaan polynomisesti. Jos jokin NP-täydellinen ongelma kuuluu P:hen, niin P = NP 343 Ongelman A NP todistaminen NP-täydelliseksi: 1. Valitse samankaltainen tunnetusti NP-täydellinen ongelma B 2. Muodosta polynominen palautus f: B mp A; lauseen 7.36 perusteella myös A on NP-täydellinen NP-täydellisiä ongelmia: SAT, CSAT, 3SAT, VC, IS, KLIKKI, Hamiltonin polku, TSP, Osajoukkosumma ja minsc PSPACE = k 0 DSPACE(n k ) NPSPACE = k 0 NSPACE(n k ) PSPACE P NP EXPTIME NPSPACE EXPSPACE NEXPTIME NEXPSPACE 14
15 344 TQBF on PSPACE-täydellinen Samoin shakin ja GOn "asymptoottiset" versiot L = DSPACE(log n) NL = NSPACE(log n) PATH NL on NL-täydellinen L =?= NL NL P Laskennallisesti vaativaa ongelmaa voidaan pyrkiä approksimoimaan tehokkaasti Solmupeiteongelmalla on tehokas 2-approksimointialgoritmi Joukkopeiteongelmalla on tehokas (ln m + 1)- approksimointialgoritmi 345 Satunnaisalgoritmit ovat toinen mahdollinen tapa toimia laskennallisesti vaativien ongelmien kohdalla Alkulukujen tunnistaminen satunnaisalgoritmilla on melko helppoa Nyttemmin on olemassa myös deterministinen polynomiaikainen algoritmi alkulukujen tunnistamiseksi 15
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
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
= 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
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
Säännöllisen kielen tunnistavat Turingin koneet
186 Säännöllisen kielen tunnistavat Turingin koneet Myös säännöllisen kielen hyväksyvien Turingin koneiden tunnistaminen voidaan osoittaa ratkeamattomaksi palauttamalla universaalikielen tunnistaminen
7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy
212 7. Aikavaativuus Edellä tarkasteltiin ongelmien ratkeavuutta kiinnittämättä huomiota ongelman ratkaisun vaatimaan aikaan Nyt siirrytään tarkastelemaan ratkeavien ongelmien aikavaativuutta Periaatteessa
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ää,
Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }
135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren
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
5.3 Ratkeavia ongelmia
153 5.3 Ratkeavia ongelmia Deterministisen äärellisten automaattien (DFA) hyväksymisongelma: hyväksyykö annettu automaatti B merkkijonon w? Ongelmaa vastaava formaali kieli on A DFA = { B, w B on DFA,
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
Muita vaativuusluokkia
Muita vaativuusluokkia Käydään lyhyesti läpi tärkeimpiä vaativuusluokkiin liittyviä tuloksia. Monet tunnetuista tuloksista ovat vaikeita todistaa, ja monet kysymykset ovat vielä auki. Lause (Ladner 1975):
Satunnaisalgoritmit. Antti Tanhuanpää. 25. maaliskuuta 2013
Satunnaisalgoritmit Antti Tanhuanpää 25. maaliskuuta 2013 Johdanto Satunnaisalgoritmit ovat algoritmeja, jotka hyödyntävät satunnaisuutta osana laskentaansa. Ensimmäisen tällaisen algoritmin kehitti Michael
3SAT-ongelman NP-täydellisyys [HMU ]
3SAT-ongelman NP-täydellisyys [HMU 10.3.4] erotukseksi yleisestä CNF-esityksestä, kaikilla kaavoilla ei ole 3-CNF-esitystä; esim. x 1 x 2 x 3 x 4 esitämme muunnoksen, jolla polynomisessa ajassa mielivaltaisesta
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).
3. Laskennan vaativuusteoriaa
3. Laskennan vaativuusteoriaa tähän asti puhuttu siitä, mitä on mahdollista laskea äärellisessä ajassa siirrytään tarkastelemaan laskemista kohtuullisessa ajassa vaihtoehtoisesti voidaan laskenta-ajan
on rekursiivisesti numeroituva, mutta ei rekursiivinen.
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
6.1 Rekursiiviset palautukset
6.1 Rekursiiviset palautukset Olk. = (Q, Σ, Γ, δ, q 0, q acc, q rej ) mv. standardimallinen Turingin kone ääritellään koneen laskema osittaisfunktio f : Σ Γ seur. u, jos q 0 w u q av, f (w) = q { q acc,
TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti
Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.
Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,
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
Pysähtymisongelman ratkeavuus [Sipser luku 4.2]
Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. maaliskuuta 2012 Sisällys Ongelma-analyysiä Sisällys Ongelma-analyysiä Hypoteettinen ongelma The Elite Bugbusters
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
Algoritmit 1. Luento 2 Ke Timo Männikkö
Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
2017 = = = = = = 26 1
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu
Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista
Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista Antti-Juhani Kaijanaho 15. maaliskuuta 2012 1 Apumääritelmä Määritelmä 1. Olkoon Σ merkistö, jolla on olemassa täydellinen järjestys ( ) Σ 2.
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015
ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:
Chomskyn hierarkia ja yhteysherkät kieliopit
Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien
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
M = (Q, Σ, Γ, δ, q 0, q acc, q rej )
6. LASKETTAVUUSTEORIAA Churchin Turingin teesi: Mielivaltainen (riittävän vahva) laskulaite Turingin kone. Laskettavuusteoria: Tarkastellaan mitä Turingin koneilla voi ja erityisesti mitä ei voi laskea.
Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja
581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen
Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja
582206 Laskennan mallit (syksy 2008) 2. kurssikoe 11.12., ratkaisuja Tehtävän 1 tarkasti Harri Forsgren, tehtävän 2 Joel Kaasinen ja tehtävän 3 Jyrki Kivinen. Palautetilaisuuden 19.12. jälkeen arvosteluun
3. Laskennan vaativuusteoriaa
3. Laskennan vaativuusteoriaa Siirrymme tarkastelemaan, mitä laskennallisia ongelmia voidaan ratkaista tehokkaalla algoritmilla [HMU luku 10]. Tämän luvun jälkeen opiskelija tuntee laskennallisen vaativuuden
Turingin koneen laajennuksia
Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k
Täydentäviä muistiinpanoja laskennan rajoista
Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}
6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = {c w pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti
LUKUTEORIA A. Harjoitustehtäviä, kevät 2013. (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että
LUKUTEORIA A Harjoitustehtäviä, kevät 2013 1. Olkoot a, b, c Z, p P ja k, n Z +. (a) Osoita, että jos niin Osoita, että jos niin (c) Osoita, että jos niin (d) Osoita, että (e) Osoita, että a bc ja a c,
Lisää pysähtymisaiheisia ongelmia
Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016
ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.
Rekursiiviset palautukset [HMU 9.3.1]
Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle
(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3
T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w
Kertausta 1. kurssikokeeseen
Kertausta. kurssikokeeseen. kurssikoe on to 22.0. klo 9 2 salissa A (tai CK2). Koealueena johdanto ja säännölliset kielet luentokalvot 3 ja nämä kertauskalvot harjoitukset 6 Sipser, luvut 0 ja Edellisvuosien.
Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia.
Satunnaisalgoritmien vaativuusteoriaa Formalisoidaan hieman täsmällisemmin, millaisia suoritustakuita satunnaisalgoritmeilta voidaan vaatia. Yksinkertaisuuden vuoksi tarkastellaan päätösongelmia. Useimmat
Algoritmin määritelmä [Sipser luku 3.3]
Algoritmin määritelmä [Sipser luku 3.3] Mitä algoritmilla yleensä tarkoitetaan periaatteessa: yksiselitteisesti kuvattu jono (tietojenkäsittely)operaatioita, jotka voidaan toteuttaa mekaanisesti käytännössä:
4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:
T-79.148 Kevät 2004 Tietojenkäsittelyteorian perusteet Harjoitus 12 Demonstraatiotehtävien ratkaisut 4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi: Hyväksyykö annettu Turingin kone
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. tammikuuta 2012 Sisällys Luennon pähkinä Millä tavalla voidaan rakentaa tietokoneohjelma (tai kirjasto), joka
Rajoittamattomat kieliopit
Rajoittamattomat kieliopit Ohjelmoinnin ja laskennan perusmalleista muistetaan, että kieli voidaan kuvata (esim.) kieliopilla joka tuottaa sen, tai automaatilla joka tunnistaa sen. säännölliset lausekkeet
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016
.. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. lokakuuta 2016 Sisällys. Turingin koneiden pysähtymisongelma. Lause Päätösongelma Pysähtyykö standardimallinen
6. Approksimointialgoritmit
6. Approksimointialgoritmit Tässä luvussa käsitellään lyhyesti approksimointiin liittyvät peruskäsitteet ja joitain keskeisiä approksimoituvuustuloksia. Tavoitteena on, että opiskelija näkee approksimointialgoritmien
Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. kesäkuuta 2013 Sisällys Aikataulumuutos Tämänpäiväinen demotilaisuus on siirretty maanantaille klo 14:15 (Ag Delta).
!""# $%&'( ' )' (*' " '' '( "! ' *'&' "! ' '( "!! )& "! # "! & "! ' "! $''!! &'&' $' '! $ & "!!" #!$ %! & '()%%'!! '!! # '&' &'!! &'&' *('(' &'!*! +& &*%!! $ & #" !!" "!!!" $ " # ' '&& % & #! # ' '&&
δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.
42 Turingin koneiden laajennuksia 1 oniuraiset koneet Sallitaan, että Turingin koneen nauha koostuu k:sta rinnakkaisesta urasta, jotka kaikki kone lukee ja kirjoittaa yhdessä laskenta-askelessa: Koneen
Pinoautomaatit. Pois kontekstittomuudesta
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 3. joulukuuta 2015 Sisällys Pinoautomaatti NFA:n yleistys automaatilla on käytössään LIFO-muisti 1 eli pino Pino
Shorin algoritmin matematiikkaa Edvard Fagerholm
Edvard Fagerholm 1 Määritelmiä Määritelmä 1 Ryhmä G on syklinen, jos a G s.e. G = a. Määritelmä 2 Olkoon G ryhmä. Tällöin alkion a G kertaluku ord(a) on pienin luku n N \ {0}, jolla a n = 1. Jos lukua
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
Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.
Ei-säännöllisiä kieliä [Sipser luku 1.4] Osoitamme, että joitain kieliä ei voi tunnistaa äärellisellä automaatilla. Tulos ei sinänsä ole erityisen yllättävä, koska äärellinen automaatti on äärimmäisen
Automaatit. Muodolliset kielet
Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten
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
Yhteydettömän kieliopin jäsennysongelma
Yhteydettömän kieliopin jäsennysongelma Yhteydettömän kieliopin jäsennysongelmalla tarkoitetaan laskentaongelmaa Annettu: yhteydetön kielioppi G, merkkijono w Kysymys: päteekö w L(G). Ongelma voidaan periaatteessa
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti
Algoritmit 2. Luento 14 Ke Timo Männikkö
Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan
Algoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4
Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin
Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.
Hahmon etsiminen syotteesta (johdatteleva esimerkki)
Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux
Ratkeavuus ja efektiivinen numeroituvuus
Luku 6 Ratkeavuus ja efektiivinen numeroituvuus Proseduurit Olkoon A aakkosto. Proseduuri aakkoston A sanoille on mikä hyvänsä prosessi (algoritmi) P, jolle annetaan syötteeksi sana w A, ja joka etenee
2. Laskettavuusteoriaa
2. Laskettavuusteoriaa Käymme läpi ratkeamattomuuteen liittyviä ja perustuloksia ja -tekniikoita [HMU luku 9]. Tämän luvun jälkeen opiskelija tuntee joukon keskeisiä ratkeamattomuustuloksia osaa esittää
vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters
4.3. Matemaattinen induktio
4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. syyskuuta 2016 Sisällys Neuvoja opintoihin tee joka päivä ainakin vähän uskalla mennä epämukavuusalueelle en
ALKULUKUJA JA MELKEIN ALKULUKUJA
ALKULUKUJA JA MELKEIN ALKULUKUJA MINNA TUONONEN Versio: 12. heinäkuuta 2011. 1 2 MINNA TUONONEN Sisältö 1. Johdanto 3 2. Tutkielmassa tarvittavia määritelmiä ja apulauseita 4 3. Mersennen alkuluvut ja
f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja
sekä muita TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. kesäkuuta 2013 Sisällys Chomskyn hierarkia (ja vähän muutakin) kieli säännöllinen LL(k) LR(1) kontekstiton
Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja
582206 Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja Tehtävän 1 tarkasti Juha Kärkkäinen, tehtävän 2 Jyrki Kivinen ja tehtävän 3 Esa Junttila. 1. (a) (b) S 0S1 UV U 1U ε V 0V ε Tehtävässä on sallittu
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
Chomskyn hierarkia. tyyppi 0 on juuri esitelty (ja esitellään kohta lisää) tyypit 2 ja 3 kurssilla Ohjelmoinnin ja laskennan perusmallit
Chomskyn hierarkia Noam Chomskyn vuonna 1956 esittämä luokittelu kieliopeille niiden ilmaisuvoiman mukaan tyyppi kieli kielioppi tunnistaminen 0 rekurs. lueteltava rajoittamaton Turingin kone 1 kontekstinen
Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen
Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen suhteen, eli jos kielet A ja B ovat säännöllisiä, niin myös A B on. Tätä voi havainnollistaa seuraavalla kuvalla: P(Σ ) Säännölliset
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 6. maaliskuuta 2012 Sisällys Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. kesäkuuta 2013 Sisällys Päätösongelmat Ongelma on päätösongelma (engl. decision problem), jos se on muotoa Onko
Lukuteorian kertausta
Lukuteorian kertausta Jakoalgoritmi Jos a, b Z ja b 0, niin on olemassa sellaiset yksikäsitteiset kokonaisluvut q ja r, että a = qb+r, missä 0 r < b. Esimerkki 1: Jos a = 60 ja b = 11, niin 60 = 5 11 +
(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =
JOHDATUS LUKUTEORIAAN (syksy 07) HARJOITUS 7, MALLIRATKAISUT Tehtävä Etsi seuraavien rationaalilukujen ketjumurtokehitelmät: (i) 7 6 (ii) 4 7 (iii) 65 74 (iv) 63 74 Ratkaisu Sovelletaan Eukleideen algoritmia
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT Tehtävä 1. (i) Olkoot n, d 1 ja d n. Osoita, että (k, n) d jos ja vain jos k ad, missä (a, n/d) 1. (ii) Osoita, että jos (m j, m k ) 1 kun
Primitiiviset juuret: teoriaa ja sovelluksia
TAMPEREEN YLIOPISTO Pro gradu -tutkielma Outi Sutinen Primitiiviset juuret: teoriaa ja sovelluksia Matematiikan, tilastotieteen ja filosofian laitos Matematiikka Huhtikuu 2006 Tampereen yliopisto Matematiikan,
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 6. Alkeislukuteoria 6.1 Jaollisuus Käsitellään kokonaislukujen perusominaisuuksia: erityisesti jaollisuutta Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,...
9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko
9.5. Turingin kone Turingin kone on järjestetty seitsikko TM = (S, I, Γ, O, B, s 0, H), missä S on tilojen joukko, I on syöttöaakkosto, Γ on nauha-aakkosto, I Γ, O on äärellinen ohjeiden joukko, O S Γ
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. marraskuuta 2015 Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4 a 5 00 k 11 i
Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää
Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää S AB CA... A CB...... ja kutsua Derives(S, abcde), niin kutsu Derives(B,
Algoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
LUKUTEORIA johdantoa
LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,
Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja
582206 Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja 1. Esitä tilakaaviona NFA N = (Q, Σ, δ, q 0, F ), missä Q = { q 0, q 1, q 2, q 3, q 4, q 5, q 6, q 7 }, Σ = { a, b, c }, F = { q 4 } ja δ on
ICS-C2000 Tietojenkäsittelyteoria
ICS-C2000 Tietojenkäsittelyteoria Luento 10: Lisää ratkeamattomuudesta Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016 Aiheet: Pysähtymisongelma Epätyhjyysongelma Rekursiiviset
uv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko
Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty
Kertaus K1. a) 72 = 2 36 = 2 2 18 = 2 2 2 9 = 2 2 2 3 3 = 2 3 3 2 252 = 2 126 = 2 2 63 = 2 2 3 21 = 2 2 3 3 7 = 2 2 3 2 7 syt(72, 252) = 2 2 3 2 = 36 b) 252 = 72 3 + 36 72 = 36 2 syt(72, 252) = 36 c) pym(72,
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