Kvalitetssikring ved Ifi. Undervisningsplan

Like dokumenter
Søking i strenger. Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen

Turingmaskiner.

Stein Krogdahl, Dino Karabeg, Petter Kristiansen. Kenneth A. Berman and Jerome L. Paul.

Velkommen. Velkommen. Undervisningsplan. Kvalitetssikring ved Ifi. Forelesere: Gruppelærer: Lærebok: Obliger: Andre, nærliggende kurs: Hvem

INF 4130 / / Dagens foiler hovedsakelig laget av Petter Kristiansen Foreleser Stein Krogdahl Obliger:

Velkommen INF 3/4130. Velkommen. Algoritmer: Design og effektivitet. Kvalitetssikring ved Ifi. Forelesere: Lærebok: Gruppelærer: Obliger:

Oppgave 1 (25 %) 100 e = = R = ln R = 0.020, dvs. spotrenten for 1 år er 2,0 % 100 e = e e

Flere utfordringer til kapittel 1

Generelt format på fil ved innsending av eksamensresultater og emner til Eksamensdatabasen

Oppgave 1 (25 %) 100 e = = R = ln R = 0.025, dvs. spotrenten for 1 år er 2,5 % e e. 100 e = 94.74

Grafer og trær. MAT1030 Diskret matematikk. Eksempel. Eksempel. Forelesning 28: Grafer og trær, eksempler

med en mengde korrelasjoner mellom delmengdene. Det er her viktig a fa med

Generell info vedr. avfallshåndtering ved skipsanløp til Alta Havn

Tillatt utvendig overtrykk/innvendig undertrykk

PEDAL. Trykksaker. Nr. 4/2011. Organ for NORSK T-FORD KLUBB NORSK T-FORD KLUBB BOKS 91 LILLEAKER, N-0216 OSLO

Dans Dans Dans. Danseprosjektet i. Midsund kommune. Våren Dans i skolene Dans i klubbene Dans i fritida Dans i hverdagen

Oppgaver fra boka: Oppgave 12.1 (utg. 9) Y n 1 x 1n x 2n. og y =

Dans i Midsund. Danseprosjektet i. Midsund kommune. Våren Dans i skolene Dans i klubbene Dans i fritida Dans i hverdagen

INF Algoritmer og datastrukturer

Retningslinjer for klart og tydelig språk i Statens vegvesen

april 2017 En av norges artigste cuper! GRATIS PIZZA GRATIS HOTELL - GRATIS DISCODANCEPARTY

Pattern matching algorithms. INF Algoritmer og datastrukturer. Lokalisering av Substrenger. Brute force

110 e = = R = ln R = 0.03, dvs. spotrenten for 1 år er 3 % = R = dvs. spotrenten for 2 år er 3.

Søknad om Grønt Flagg på Østbyen skole

Convex hull. Konveks innhylling. La P være en mengde punkter i et k-dimensjonalt rom, P R k. (Vi skal for enkelthets skyld bare se på k = 2.

Elevtallsgrunnlag Verdal kommune Jon Marius Vaag Iversen Trainee Innherred Samkommune

KONTINUASJONSEKSAMEN I EMNE TDT4195 BILDETEKNIKK MANDAG 6. AUGUST 2007 KL LØSNINGSFORSLAG - GRAFIKK

ISE matavfallskverner

lindab prisliste rektangulært Prisliste Rektangulære kanaler og detaljer

LSNINGSFORSLAG TIL EKSAMEN I FAG TORSDAG 14. AUGUST Subjektdomenen bestar av mennesker, fysiske entiteter, ideer, mal, aktrer og aktiviteter

Brukerhåndbok. Elektronisk målesystem. KPR 2000 Versjon 01/2011

HJEMMEEKSAMEN FYS2160 HØSTEN Kortfattet løsning. Oppgave 1

16 x = 2 er globalt minimumspunkt og x = 4 er lokalt maksimumspunkt.

Tjen penger til klassekassen.

Tjen penger til klubbkassen.

BLOcks SUbstitution Matrices. Substitusjonsmatrisen BLOSUM og tilfeldig gange. Blokk. Eksempel på fire av blokkene fra Heinkoff & Heinkoff s database

ENKELT, TRYGT OG LØNNSOMT!

Ukens tilbudsavis fra

Visma Flyt skole. Foresatte

Klart vi skal debattere om skum!!

Tjen penger til klubbkassen.

KRAVFIL TIL KREDITORFORENINGEN [Spesialrapport]

Traversering av grafer

Fag: Menneskef maskin - interaksjon. Fagnr: LV "'i3a. Faglig veileder: Ann-Mari Torvatn. Gruppe(r): 3AA -3AB- 3AC,3AD,3AE.

MA1102 Grunnkurs i analyse II Vår 2014

Mer øving til kapittel 1

Notater. Anne Sofie Abrahamsen. Analyse av revisjon Feilkoder og endringer i utenrikshandelsstatistikken. 2005/10 Notater 2005

Tjen penger til klassekassen.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

16 Integrasjon og differensiallikninger

DELTAKERINFORMASJON FEMUNDLØPET 2015

Tekstalgoritmer. Søk etter delstrenger i array

LØSNING AV EKSAMEN I EMNE TKT 4123 MEKANIKK 2

Konkurransen starter i august og avsluttes i månedsskiftet mai/juni hvert år.

Emnenavn: Eksamenstid: Faglærer: Christian F Heide

Deres ref Vår ref Dato. Oppdragsbrev - etterbruk og salg av statens eiendom på Adamstuen -

Kino. KulTur. Nattevandring Akvariet

TMA4240 Statistikk Høst 2013

TILBAKEBLIKK JORDBÆR SEPTEMBER ICDP: Tema 2: Juster deg til barnet og følg dets initiativ.

KRAVFIL TIL KREDINOR [Spesialrapport]

VG2 Naturbruk Hest Stalldrift

Oppgave 1 (15%) KANDIDAT NR.:

Detaljregulering for Greåkerveien i Sarpsborg kommune, planid Varsel om oppstart av planarbeid.

Etter vår oppfatning er innhentet bevis tilstrekkelig og hensiktsmessig som grunnlag for vår konklusjon.

LANDSOMFATTENDE UNDERSØKELSE 22. JANUAR - 6. FEBRUAR ============================= Respons

ARSPLAN. Stavsberg barnehage

Tilkobling. Windows-instruksjoner for en lokalt tilkoblet skriver. Hva er lokal utskrift? Installere programvare ved hjelp av CDen

mot mobbing Manifest

hvor A er arealet på endeflaten. Ladningen innesluttet av den valgte Gaussflaten: Q.E.D.

UTPLUKK/UTSKRIFT AV SELVAVLESNINGSKORT

Oppgaver MAT2500. Fredrik Meyer. 10. september 2014

Løsningsforslag til eksamen

FYS2140 Kvantefysikk, Oblig 10. Sindre Rannem Bilden,Gruppe 4

TDT4195 Bildeteknikk

Byen vår. Kino. KulTur

Påskestemningen. Frokosten. Din lokale gartner. Plukk & den gode. er servert! Gjør deg klar for våren se side 6. finner du hos Bogrønt TILBULD!

Notater til INF2220 Eksamen

INF Algoritmer og datastrukturer

EKSAMEN Løsningsforslag

åpningstider 9-20 (9-17) COOP MEGA 9-21 (9-19) amfi.no kanelbollefrokost skattejakt pallesalg mars

hele egg, verken med reduserte fysiske, sensoriske eller mentale evner, eller mangel

norsk høst -30% Nygrillet kylling fra varmeskapet SPAR 33% Pizza Grandiosa g, stort utvalg Gjelder fnrsadag Lettsaltet torsk

Langnes barnehage 2a rsavdelinga. Ma nedsbrev & plan for april 2016.

Løsningsforslag til eksamen i MAT 1100, 8/12-04 Del 1

VT 261

Våre Vakreste # & Q Q Q A & Q Q Q - & Q Q Q.# arr:panæss 2016 E A A 9 A - - Gla- ned. skjul F Q m. ler. jul. eng- da- jul. ler.

Mer øving til kapittel 1


FAGKONFERANSE KONTROL L OG TILSYN GARDERMOEN JUNI A RSMØTE I FORU M FO R KONTROLL OG TILSYN 5. JUN I 2013

Felt P, Budor Nord. byggeklare tomter i vakre omgivelser

TILBAKEBLIKK JORDBÆR AUGUST 2018

Wavin Kabelvern Wavin Kabelvern

Vedlegg 3 Rapportskjema

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller

Fagevaluering FYS Klassisk mekanikk og elektrodynamikk

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer

Christiania Spigerverk AS, Postboks 4397 Nydalen, 0402 Oslo BYGNINGSBESLAG

JT 369

Transkript:

Forsr: Vkommn Dino Karabg, Stin Krogdah, Pttr Kristiansn dino@ifi.uio.no stinkr@ifi.uio.no pttkr@ifi.uio.no Gruppærr: Vkommn Dg? post@studnt.matnat.uio.no Lærbok: Agorithms: Squntia, Para, and Distributd, Knnth A. Brman and Jrom L. Pau. Ti sags i bokhandn. (Sørg for å få boka md copyright 2005.) Obigr: Tr stykkr, som må godkjnns. Andr, «næriggnd» kurs: INF-MAT 3370 Linær optimring INF-MAT 5360 Matmatisk optimring Kvaittssikring vd Ifi Undrvisningspan Som studnt har du rtt og pikt ti å bidra ti kvaittssikringn av studit ditt. Dtt gjør du først og frmst gjnnom å dta i undrvisningsvauring. Fagærr vi ta initiativ ti å stt i gang undrvisningsvauringn for hvrt nkt mn. Undrvisningsvauringn gir dg muight ti å komm md tibakmdingr og innspi på undrvisningn i øpt av smstrt, sik at forbdringr kan gjørs undrvis. 27/08 pk Søking i strngr (kap. 20) 03/09 pk Dynamisk programmring (kap. 9) 10/09 sk Fyt / matching (kap. 14) 17/09 dk Kompksittstori (introduksjon, ubrgnbarht) 24/09 dk Kompksittstori (umdgjøright, g NP-kompttht) 01/10 08/10 Du finnr mr informasjon om dtt på hovdsidn ti Institutt for informatikk, undr Annt Kvaittssikring, t ik i r vd å føg dnn inkn: http://www.ifi.uio.no/studinf/kvaittssikring/studntr. 12/12 Eksamn (09:00, 3 timr, std ikk fastsatt)

Søking i strngr Dfinisjonr Vanig søkagoritmr (on-in-søk) Prfiks-søking Naiv agoritm Knuth-Morris-Pratt-agoritmn Suffiks-søking Boyr-Moor-agoritmn Hash-basrt Et afabt r n mngd symbor A = {a 1, a 2,, a k }. En strng S = S[0:n-1] av ngd n r n skvns av symbor fra A. (Vi kan s på strngn S båd som t array S[0:n-1] og som n skvns av symbor S=s 1 s 2 s n-1.) Indksring av tkst Datastrukturr Tri-trær Suffiks-trær 0 1 2 n -1 (Tkst) P [0:m -1] (Pattrn) Søkr forovr Vindu Naiv agoritm Naiv agoritm 0 1 2 n -1 0 1 2 n-m n -1 P [0:m -1] P [0:m -1] function NaivStringMatchr (P [0:m -1], ) for s 0 to n - m do } if T [s :s + m -1] = P thn}for-økka kskvrs n m + 1 gangr. rturn(s) Hvr sjkk innti m symbosammnikningr. }O(nm) kjørtid (worst cas) ndfor rturn(-1) nd NaivStringMatchr

Knuth-Morris-Pratt-agoritmn Knuth-Morris-Pratt-agoritmn Dt r, agoritmtortisk stt, rom for forbdringr av dn naiv agoritmn. Dn fyttr vindut/pattrnt bar tt hakk i hvrt stg. Kan vi kanskj fytt mr nn bar tt stg? 0 0 1 0 0 1 0 0 2 0 2 i - d j i 0 0 1 0 0 1 0 0 2 0 2 1 j -1 j 0 j -2 j j - d j d j d j r ngdn av ngst suffix av P [1 : j -1] som også r prfix av P [0 : j -2] Vi vt nå at vi kan fytt P j - d j stg. Og vi vt at P [0 : d j -1] matchr T, så vi kan start å sammnikn md P [d j : m-1]. function KMPStringMatchr (P [0:m -1], ) i 0 // indks i T j 0 // indks i P CratNxt(P [0:m -1], Nxt [n -1]) whi i < n do if P [ j ] = T [ i ] thn if j = m 1 thn rturn(i m +1) j j + 1 s j Nxt [ j ] if j = 0 thn if T [ i ] P [0] thn ndwhi rturn(-1) nd KMPStringMatchr Knuth-Morris-Pratt-agoritmn O(n) Knuth-Morris-Pratt-agoritmn function CratNxt (P [0:m -1], Nxt [0:m -1]) Nxt [ 0 ] Nxt [ 1 ] 0 i 2 j 0 whi i < m do if P [ j ] = P [ i -1] thn Nxt [ i ] j +1 j j +1 s if j > 0 thn j Nxt [ j ] (Trykkfi i boka) s Nxt [ i ] 0 ndwhi nd CratNxt

Knuth-Morris-Pratt-agoritmn Boyr-Moor-agoritmn (Horspoo) Dn naiv agoritmn, og Knuth-Morris-Pratt r prfiksbasrt (fra vnstr mot høyr). Boyr-Moor-agoritmn (og variantr) r suffiksbasrt (fra høyr mot vnstr). 0 0 1 0 0 1 0 0 2 0 2 B M m a t c h r _ s h i f t x Linær agoritm, O(n) kjørtid worst cas. Boyr-Moor-agoritmn (Horspoo) Dn naiv agoritmn, og Knuth-Morris-Pratt r prfiksbasrt (fra vnstr mot høyr). Boyr-Moor-agoritmn (og variantr) r suffixbasrt (fra høyr mot vnstr). B M m a t c h r _ s h i f t x function HorspooStringMatchr (P [0:m -1], ) i 0 CratShift(P [0:m -1], Shift [ A - 1]) whi i < n m do j m 1 whi j 0 and T [ i+j]=p [ j ] do j j -1 ndwhi if j = 0 thn rturn( i ) i i + Shift[ T[i+m -1] ] ndwhi rturn(-1) nd HorspooStringMatchr Boyr-Moor-agoritmn (Horspoo) O(mn) kjørtid worst cas (som dn naiv agoritmn). Sub-inær ( n) i gjnnomsnitt O(n og A m / m).

Vi antar at strngn vår kommr fra t k-ært afabt A = {0, 1, 2,, k -1}. Hvrt symbo i A kan ss på som t siffr i k-tassystmt. Hvr strng S i A* kan ss på som ta S i k-tassystmt. Eks: k = 10, og A = {0,1, 2,, 9} (Dt vanig 10-tassystmt) Strngn 6832355 kan ss på som tat 6 832 355. Gitt n strng P [0:m -1], kan vi brgn dt korrspondrnd tat md m mutipikasjonr og m addisjonr (Hornrs rg): Gitt n tkststrng, og t hta s (start-indx), brukr vi T s som btgns på dstrngn T [s: s + m -1]. (Vi antar at pattrnt vårt har ngd m.) ) En agoritm basrt på Hornrs rg brgnr T 0, T 1, T 2, og sammniknr diss tan md tat P for pattrnt P. (Tisvarnd dn naiv agoritmn.) Gitt T s -1 og k m 1, kan vi rgn ut T s i konstant tid.! P = P [m -1] + k(p [m -1] + k(p [m -2] + + k(p [1] + kp [0])...)) Eks: 1234 = 4 + 10(3 + 10(2 + 10*1)) 0 1 2 s-1 s s + m -1 n -1 T s Grunnn ti at vi kan brgn T s i konstant tid når vi har T s -1 og k m 1, r føgnd rkurrnsrasjon: T s = k(t s -1 - k m 1 *T [s]) + T [s+m] s = 1,, n m Konstant, brgns n gang, kan gjørs i tid O(og m) Eks: k =10 10, A = {0,1, 2,, 9} (Dt vanig 10-tassystmt) og m =7 7. T s -1 = 7937245 T s = 9372458 T s = 10(7937245 (1000000 * 7)) + 8 Kan brgn T s i konstant tid når vi har T s -1 og k m 1. Atså kan vi brgn d n m + 1 tan T s, s = 0, 1,, n m og P i tid O(n). Vi kan atså, i torin, impmntr n søkagoritm md kjørtid O(n). Dssvrr vi tan T s og P i praksis vær for stor ti at agoritmn bir praktisk anvndbar. Trikst r å bruk moduo-aritmtikk. Vi gjør a brgningr moduo q (q t tifdig vagt primta, sik at kq akkurat passr i t 32/64 bits rgistr). Kan gjørs i konstant tid. Bar mutipikasjon og addisjon, vi antar diss oprasjonn kan gjørs i konstant tid.

Vi brgnr T (q) s og P (q), hvor T (q) s = T s mod q, P (q) = P mod q, } og sammniknr. Rstn i divisjonn, når vi dr på q: t ta i intrvat {0, 1,, q -1}. Vi kan ha T (q) T s = P (q) P, sv om T s P, n såkat spuriøs match. Har vi T (q) s = P (q), må vi atså gjør n nøyaktig sjkk av T s og P. Md stor nok q, r sannsynightn for spuriøs matchr av. function KarpRabinStringMatchr (P [0:m -1],, k, q) c k m -1 mod q P (q) 0 T (q) s 0 for i 1 to m do P (q) (k * P (q) + P [ i ]) mod q T (q) 0 (k * T (q) 0 + T [ i ]) mod q ndfor for s 0 to n - m do if s > 0 thn T (q) s (k * ( T (q) s -1 -T[ s ] * c) + T [ s + m ]) mod q if T (q) ) s = P (q) ) thn if T s = P thn rturn(s) ndfor rturn(-1) nd KarpRabinStringMatchr Lngst kjørtid for får vi når pattrnt P finns ht i suttn av strngn T. Sannsynightn for at T (q) s antar n spsifikk vrdi i intrvat {0, 1,, q-1} r uniform 1/q. (Vi antar strngn r uniformt fordt.) T (q) s, s = 0, 1,, n-m-1 vi atså gi opphav ti n spuriøs match md sannsynight 1/q. q La r vær dt forvntd anta spuriøs matchr. Hvr av diss innbærr innti m sammnikningr. I tigg må vi sjkk T (q) T n-m, hvor vi får match. Kjørtidn bir atså: (r + 1)m + (n m + 1) r r n binomiafordt i t stokastisk ti k variab. (Hvr skift r t forsøk, md suksssansynight 1/q, og vi gjør n-m forsøk) [Nå ansr vi spuriøs matchr som suksss ] E[r] = (n-m)/q. (Forvntning av binomiafordt variab.) n m + m q Totat får vi atså 1 + ( + 1) n m Forvntt kjørtid når matchn finns ht ti sutt i T. Hvis q < C, hvor C r n konstant, bir kjørtidn O(nm). MEN dt r rimig å anta q >> m, da bir kjørtidn O(n).

Tri-trær Tri-trær a i w Trykkfi i boka n o g o t b r a intr w r i t h m a n r t v w d gorithm n viw b ord ay t y Suffix-trær Div. Suffix tr for babbag a b g bbag g a bag bbag g