A = B = T = Merkkijonon A osamerkkijono A[i..j]: n merkkiä pitkä merkkijono A:

Samankaltaiset tiedostot
1. Luvut 1, 10 on laitettu ympyrän kehälle. Osoita, että löytyy kolme vierekkäistä

Monte Carlo -menetelmä

Tchebycheff-menetelmä ja STEM

3.5 Generoivat funktiot ja momentit

6. Stokastiset prosessit (2)

ABTEKNILLINEN KORKEAKOULU

1, x < 0 tai x > 2a.

1 0 2 x 1 a. x 1 2x c b 2a c a. Alimmalta riviltä nähdään että yhtälöyhmällä on ratkaisu jos ja vain jos b 3a + c = 0.

Mat /Mat Matematiikan peruskurssi C3/KP3-I Harjoitus 2, esimerkkiratkaisut

Merkkijonotäsmäyksestä. Heikki Hyyrö

Mat Lineaarinen ohjelmointi

7. Keko. Tarkastellaan vielä yhtä tapaa toteuttaa sivulla 162 määritelty tietotyyppi joukko

Kanoniset muunnokset


Pikaopas. Valmistelu ja esitäyttö

11. Merkkijonot. 11. luku 560

Viiteopas. 2 Kokoa ja kiinnitä uusi natronkalkkikolonni. 1 Poista vanha natronkalkki. Esitäyttö esiliitetyn letkuston avulla

Jaksolliset ja toistuvat suoritukset

Taustaa. Sekventiaalinen vaikutuskaavio. Päätöspuista ja vaikutuskaavioista. Esimerkki: Reaktoriongelma. Johdantoa sekventiaalikaavioon

Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin

Tilastollisen fysiikan luennot

Markov-prosessit (Jatkuva-aikaiset Markov-ketjut)

Yrityksen teoria. Lari Hämäläinen S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

FYSA220/2 (FYS222/2) VALON POLARISAATIO

Tomita-tyylisistä yleistetyistä LR-jäsentäjistä. Jaakko Korpela

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 7: Lagrangen kertojat. Pienimmän neliösumman menetelmä.

3 Tilayhtälöiden numeerinen integrointi

Käyttövarmuuden ja kunnossapidon perusteet, KSU-4310: Tentti ma

Johdatus tekoälyn taustalla olevaan matematiikkaan

Jaetut resurssit. Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit. Mitä voi mennä pieleen? Resurssikilpailu ja estyminen

Reaaliarvoinen funktio f : on differentioituva pisteessä x, jos f:lle on siinä voimassa kehitelmä. h h. eli. Silloin

Puupintaisen sandwichkattoelementin. lujuuslaskelmat. Sisältö:

9. Jakojärjestelmät. Sisältö. Puhdas jakojärjestelmä. Yksinkertainen liikenneteoreettinen malli

10.5 Jaksolliset suoritukset

KOKONAISRATKAISUT YHDESTÄ PAIKASTA

9. Jakojärjestelmät. Sisältö. Puhdas jakojärjestelmä. Yksinkertainen liikenneteoreettinen malli

Galerkin in menetelmä

AB TEKNILLINEN KORKEAKOULU

BL20A0600 Sähkönsiirtotekniikka

Rahastoonsiirtovelvoitteeseen, perustekorkoon ja vakuutusmaksukorkoon liittyvät laskentakaavat ja periaatteet

Mittausvirhe. Mittaustekniikan perusteet / luento 6. Mittausvirhe. Mittausepävarmuus ja siihen liittyvää terminologiaa

Jäykän kappaleen liike

VERKKOJEN MITOITUKSESTA

Tehtävä 2: Loppuosataulukko

ELÄKEKASSAN LASKUPERUSTEET TYÖNTEKIJÄN ELÄKELAIN MUKAISTA ELÄKETURVAA VARTEN

Työllistääkö aktivointi?

Valtuustoon nähden sitovat mittarit

Yksikköoperaatiot ja teolliset prosessit

Palkanlaskennan vuodenvaihdemuistio 2014

Mat Sovellettu todennäköisyyslasku A

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

11. Vektorifunktion derivaatta. Ketjusääntö

Aamukatsaus

Tavoitteet skaalaavan funktion lähestymistapa eli referenssipiste menetelmä

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

Mat Lineaarinen ohjelmointi

Eräs Vaikutuskaavioiden ratkaisumenetelmä

SU/Vakuutusmatemaattinen yksikkö (6)

HASSEN-WEILIN LAUSE. Kertausta

Painotetun metriikan ja NBI menetelmä

SUOMEN MATKAILIJAYHDISTYS MATKAILUMAJAT TALVELLA

MUODONMUUTOKSET. Lähtöotaksumat:

d L q i = V = mc 2 q i 1 γ = = p i. = V = γm q i + QA i. ṗ i + Q A i + Q da i t + j + V + Q φ

ler-modern isaatio * d *r n ax* *neäemw & rffi rffi # Sch ind Schindler {4ssxisä tu\*vmisu a**r3 \mj**nt rei

Muistio tehostamiskannustimen kahdeksan vuoden siirtymäajan vaikutuksista

Segmentointimenetelmien käyttökelpoisuus

Webbihaku /indeksointi

T p = 0. λ n i T i B = Käytetään kohdan (i) identiteetin todistamiseen induktiotodistusta. : Oletetaan, että väite on totta, kun n = k.

menetelmän laskennalliset tekniikat Epäkäyvän kantaratkaisun parantaminen

SU/Vakuutusmatemaattinen yksikkö (5)

Esitä koherentin QAM-ilmaisimen lohkokaavio, ja osoita matemaattisesti, että ilmaisimen lähdöstä saadaan kantataajuiset I- ja Q-signaalit ulos.

r i m i v i = L i = vakio, (2)

Geneettiset algoritmit ja luonnossa tapahtuva mikroevoluutio

Tilastollinen mekaniikka. Peruskäsitteitä Mikro- ja makrotilat Maxwell-Boltzmann jakauma Bose-Einstein jakauma Fermi-Dirac jakauma Jakaumafunktiot

VATT-TUTKIMUKSIA 124 VATT RESEARCH REPORTS. Tarmo Räty* Jussi Kivistö** MITATTAVISSA OLEVA TUOTTAVUUS SUOMEN YLIOPISTOISSA

Hallin ilmiö. Laatija - Pasi Vähämartti. Vuosikurssi - IST4SE. Tekopäivä Palautuspäivä

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö

on määritelty tarkemmin kohdassa 2.3 ja pi kohdassa 2.2.

4. MARKKINOIDEN TASAPAINOTTUMINEN 4.1. Tasapainoperiaate Yritysten ja kuluttajien välinen tasapaino

Raja-arvot. Osittaisderivaatat.

HAVERIN JÄTE: RAEKOKOJAKAUfvIA JA SEULAFRAKTIOIDEN KEMIALLI NEN KOOSTUMUS

Yrityksen teoria ja sopimukset

Asennus- ja käyttöohjeet. Videoterminaali

PUTKIKELLON SUUNNITTELU 1 JOHDANTO 2 VÄRÄHTELEVÄN PALKIN TEORIAA. dm Q dx = (1) Matti A Ranta

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

Usean muuttujan funktioiden integraalilaskentaa

Hyrynsalmen kunta, jäljempänä kunta. Laskutie 1, HYRYNSALMI. Kohde sijaitsee Hallan Sauna- nimisessä kiinteistössä.

Kuntoilijan juoksumalli

Palkanlaskennan vuodenvaihdemuistio 2017

SMG-1100: PIIRIANALYYSI I

1. YLEISKATSAUS MYYNTIPAKKAUKSEN SISÄLTÖ. ZeFit USB -latausklipsi Käyttöohje. Painike

Leikkijunan kunto toimiva ei-toimiva Työvuoro aamuvuoro päivävuoro iltavuoro

Matematiikan ja tilastotieteen laitos Johdatus diskreettiin matematiikkaan (Syksy 2008) 4. harjoitus Ratkaisuja (Jussi Martin)

ELÄKEKASSAN LASKUPERUSTEET TYÖNTEKIJÄN ELÄKELAIN MUKAISTA ELÄKETURVAA VARTEN

5. KVANTTIMEKANIIKKAA

Viherlassilan kevätlehdestä saat ilmaiset VINKIT ja myymälästämme ILMAISET NEUVOT kaupanpäälle! i t. t ä. o k. ...ja maailmasi kasvaa

Uuden eläkelaitoslain vaikutus allokaatiovalintaan

Uuden opettajan opas

Tietojen laskentahetki λ α per ,15 0,18 per ,15 0,18 per tai myöhempi 0,20 0,18

Transkriptio:

Merkkjonot (strngs) n merkkä ptkä merkkjono : T T T G T n = 18 kukn merkk [], mssä 0 < n, kuuluu aakkostoon Σ, jonka koko on Σ esm. bttjonot: Σ = {0,1} ja Σ = 2, DN: Σ = {,T,,G} ja Σ = 4 tetokoneen aakkosto (merkstökoodaus): perntesest SII (mm. /++:n char), nykyään Uncode (mm. Java:n char) Tetorakenteet, syksy 2007 1 Merkkjonot (strngs) [..j] on loppulte (suffx), jos j = n 1 j T T T G T Merkkjonojen =[0..n-1] ja B=B[0..m-1] katenaato: peräkkän lttämnen (concatenaton): B=B[0..n+m-1] = [0..n-1]B[0..m-1] 0 1 2 3 = B = B = 5 6 7 8 G T G T Tetorakenteet, syksy 2007 3 Merkkjonot (strngs) Merkkjonon osamerkkjono [..j]: j T T T G T merkkjonon merkt ndeksstä ndeksn j = [0..n-1] el oman tsensä osamerkkjono [..j] on ato (proper), jos [..j] [..j] on etulte (prefx), jos = 0 j T T T G T Tetorakenteet, syksy 2007 2 Merkkjonohaku (strng matchng) Merkkjonohaku: annettu hahmo [0..m-1], tekst T[0..n-1] tehtävä: tutk esntyykö hahmo tekstssä T onko olemassa sellanen ndeks, jossa T[..+m-1] = = T = T T T G T :n esntymä Tetorakenteet, syksy 2007 4

Raa an voman (brute-force) merkkjonohaku Nav (brute-force) merkkjonohaku: T T T G T verrataan hahmoa kuhunkn mahdollseen esntymskohtaan tekstssä tekstnkohtaa ja hahmoa verrataan merkkpar kerrallaan jos merkkpar e täsmää el hahmo e esnny nykykohdassa, srretään hahmoa tekstssä askel eteenpän ja yrtetään uudelleen Tetorakenteet, syksy 2007 5 Raa an voman (brute-force) merkkjonohaku Nav (brute-force) merkkjonohaku: T T T G T hahmo täsmäs kohdassa = 11: Tetorakenteet, syksy 2007 7 Raa an voman (brute-force) merkkjonohaku Nav (brute-force) merkkjonohaku: T T T G T Tetorakenteet, syksy 2007 6 Raa an voman (brute-force) merkkjonohaku T T T G T Työn määrä pahmmassa tapauksessa? kokeltava kohta n m + 1= O(n) kussakn kohdassa pahmmllaan m merkkvertalua El haun kokonastyö pahmmassa tapauksessa O(n) O(m) = O(mn) Tetorakenteet, syksy 2007 8

Raa an voman (brute-force) merkkjonohaku T T T G T Työn määrä keskmääräsessä tapauksessa? tyypllnen (epätarkka) oletus: kahden merkn täsmäyksen todennäkösyys = 1 Σ todennäkösyys tehdä k peräkkästä täsmäävää merkkvertalua: = 1 Σ k erlasa m-merkn vertalukohta q = Σ m Raa an voman (brute-force) merkkjonohaku T T T G T 1 Σ k q erlasta vertalukohtaa, jossa tehdään k. peräkkänen täsmäys kakken erlasten kohten kästtely: täsmätään Σ m k=1 (q 1 Σ k ) merkkpara keskarvo: em. lukumäärä jaettuna arvolla q: Σ m k=1 ( 1 Σ k ) Σ m k=1 ( 1 2 k ) = 1 1 2 m = O(1) El akavaatvuus keskmäärn O(n) O(1) = O(n) Tetorakenteet, syksy 2007 9 Knuth-Morrs-ratt (KM) KM algortm: hyödynnetään tetoa stä, mkä tekstn osa on jo täsmännyt hahmon osan kanssa T T T G T f(x): psn etultteen [0..x] ato loppulte, joka myös [0..x]:n alkulte (f(x) = ptuus) y x loppuosa 0 x-y alkuosa f(x) = x y + 1 [y..x] = [0..x-y] Tetorakenteet, syksy 2007 11 Tetorakenteet, syksy 2007 10 Knuth-Morrs-ratt (KM) T y j-1 j loppuosa 0 j-y-1 alkuosa T[-j...-1] = [0..j-1] j f(j-1) = j y [y..j-1] = [0..j-y-1] = T[-(j-y)..-1] KM:n peraate verrattaessa merkkejä T[] ja [j]: esoletus: täsmäys T[-j..-1] = [0..j-1] on maksmaalnen jos T[] [j], pävtetään j f(j-1), jollon täsmäys T[-j..-1] = [0..j-1] on seuraavaks psn mahdollnen jos T[] = [j], on löydetty maksmaalnen täsmäys T[-j..] = [0..j] Tetorakenteet, syksy 2007 12

Knuth-Morrs-ratt (KM) T T T G T merkt T[] ja [j] evät täsmää (j = 3) tomnta kun brute-force algortmlla, mutta hahmon eteenpän srto: srrytään seuraavaan kohtaan, jossa hahmon alkuosa ja jo täsmätyn tekstnosan loppuosa täsmäävät el jos T[] [j], seuraava vertalu merkken T[] ja [f(j 1)] välllä (pats jos j = 0, srrytään askel eteenpän ja verrataan seuraavaks merkkejä T[ + 1] ja [0]) Tetorakenteet, syksy 2007 13 Knuth-Morrs-ratt (KM) T T T G T Työn määrä merkkvertalujen lukumäärä Kukn merkk T[] vo olla mukana täsmäävässä vertalussa korkentaan kerran täsmäävä vertaluja yhteensä O(n) Tetorakenteet, syksy 2007 15 Knuth-Morrs-ratt (KM) T T T G T T[] [j] ja f(j-1) = f(2) = 1, kun = 3, j = 3 T[6] [4], nyt f(j-1) = f(3) = 0 T[6] [0], joten askel eteenpän T[10] [4], f(j-1) = f(3) = 1 T[10] [1], f(0) = 0 T[6] [0], askel hahmo löyty: Kuvan värt: snnen: täsmätty krjan, vhreä: funkton f pohjalta täsmääväks tedetty alkuosa, e verrata uudelleen, punanen: epätäsmäys Tetorakenteet, syksy 2007 14 Knuth-Morrs-ratt (KM) T T T G T Jos vertalu T[] [j] ja j > 0 aemmn täsmätty [0..j 1] = T[-j..-1] verrataan seuraavaks T[] [f(j 1)] selväst f(j 1) j 1 < j, joten vmestään j epätäsmäyksen päästä vuorossa [0] j täsmäystä, korkentaan j epätäsmäystä tämä vertalutapaus korkentaan O(n) kertaa Tetorakenteet, syksy 2007 16

Knuth-Morrs-ratt (KM) T T T G T Epätäsmäävä vertaluja merkn T[] kohdalla? Jos vertalu T[] [0], epätäsmäyksen jälkeen asetetaan + 1 tämä vertalutapaus korkentaan O(n) kertaa Yhteenveto: Knuth-Morrs-ratt algortmn vertalujen lukumäärä ja ss akavaatvuus = O(n) Tetorakenteet, syksy 2007 17 Knuth-Morrs-ratt (KM) Funkton f alustus? sovelletaan Knuth-Morrs- ratt algortma tekstn [1..m 1] KM:n sääntö: onnstuneen vertalun T[] = [ + 1] = [j] jälkeen täsmäys T[-j..] = [+1-k...+1] = [0..j] on maksmaalnen el tedetään, että f( + 1) = j + 1 f( + 1) = 0, jos mllään j e tehdä täsmäystä T[] = [ + 1] = [j] f(0) = 0, ja muut arvot f(j) lasketaan, ennen kun KM käyttää ntä (koska ana + 1 > j) Tetorakenteet, syksy 2007 18 Knuth-Morrs-ratt (KM) = T 5 6 T = [1..m-1] T T T T T T T T T 5 alustus f(0) 0 f(1) 1, stten j f(0) = 0 f(2) 0, stten + 1 f(3) 1, f(4) 2 f(5) 3, f(6) 4 Funkton f alustuksen työmäärä? O(m), kun hahmon ptuus m Tetorakenteet, syksy 2007 19