Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4

Størrelse: px
Begynne med side:

Download "Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4"

Transkript

1 Kunstig intelligens (MNFIT-272) Forelesning 4 Emner: Problemløsning som søking (forts.) -Heuristisk søk, generelt -Søking i spill Søkekontroll -Produksjonssystem -Blackboard system Heuristisk søking (kap. 4) Kunnskapogsøking Bakkeklatring Best-først søk Evalueringsfunksjoner Søking i spill

2 Heuristisk søking Søkemetode som begrenser mulige valg ved å benytte kunnskap om problemet som skal løses Nødvendig når - problemet har en eksakt løsning, men løsningsrommet er for stort - problemet har ingen eksakt løsning - kun en mer eller mindre god løsning Poenget er å bruke kunnkap om problemet til å lede søkingen langs den mest 'lovende' søkeveien Heuristisk søking er 'informert gjetting' Kan gi suboptimal - og til og med mindre god - løsning Heuristiske metoder To deler: 1. Søkestrategien (søkealgoritmen) 2. Selve heuristikken(e) Enkelt eksempel: Tic-tac-toe - basis søkestrategi er bredde først med symmetri-reduksjon - heuristikk: plasser X der hvor det gir flest åpne linjer

3 Søkestrategier Enkel søkestrategi: Bakkeklatring (hill climbing) Uttømmende søk søk gir for interessante problemer altfor store søkerom, og for tidkrevende søk. Den motsatte ytterlighet: Velg den veien som ser best ut sett fra der du nå står, og ikke tenk på 'totalbildet'. Effektivt hvis søkerommmet har en enkel struktur og heuristikken er god (tic-tac-toe), men fører ellers til at andre og bedre løsninger overses (8-puzzle). Problemet er at metoden kun finner lokale maksima, ikke de mer globale. Best-først søking Skiller seg fra bredde- og dybde-først ved at nodene på open listen sorteres før neste node velges. Sorteringen bestemmes av en evalueringsfunskjon der heuristikk(er) utgjør en sentral del. Den sorterte listen kalles often enprioritets-kø. Informasjon om løsningsveien tas normalt vare på, og hele løsningsveien returneres ved suksessfylt søk. Hvis alternative veier til en node finnes, velges den korteste.

4 Stråle-søking (beam search) Søker innefor en begrenset del av søkerommet. En mellomting mellom bakke-klatring og best-først. Lagrer kun de N beste noder på open, etter at sorteringen er gjort (N er strålebredden) Heuristikker Å finne gode heuristikker innvolverer - analyse av problemet - design av en problemløsningsstrategi - oppbygging av heuristikkene - som kan innbære alt fra å definere en enkel metrikk eller funksjon til å bygge opp en omfattende kunnskapsbase Enkelt eksempel: 8-puzzle. Alternative heuristikker: a) minimer antall brikker på feil plass b) minimer total distanse fra mål-tilstanden for feiplasserte brikker c) ta hensyn til plassbytte for nabobrikker i b)

5 Evalueringsfunksjoner Funksjoner for sortering av noder påopen listen under heuristisk søking Bør ta hensyn til - aktuelle noders avstand til slutt-tilstanden - aktuelle noders avstand fra start-tilstanden Generell form: f(n) = g(n) + h(n) - g(n) er reell avstand fra start-noden -h(n)erestimert avstand til slutt-noden f(n) estimerer total kostnad av veien fra starttilstanden gjennom n til slutt-tilstanden Kunnskapsbaserte systemer Fra forenklede 'leke'-problemer til anvendelser av heuristisk søk på reelle, komplekse problemer. Søkerommet er tilstander i problemløsningsprosessen, der en node er beskrevet av et sett med fakta. Heuristikken som bestemmer videre veivalg ligger i en kunnskapsbase. Kunnskapbasen inneholder i prinsippet alle heuristikker for alle noder, og for én enkelt node vil kun en del av kunnskapen være relevant. Admissibility En søkealgoritm er admissible hvis den garantert finner Korteste vei, der hvor en slik vei fins.

6 A* algoritmen Gitt evalueringsfunksjonen for estimering av løsningsveiens kostnad: f(n) = g(n) + h(n) Algoritmen som benytter f(n) som evalueringsfunksjon i best-først søk, kalles Algoritme A. For å vurdere i hvilken grad en optimal løsningsvei kan finnes, defineres: f*(n) = g*(n) + h*(n) der g*(n) er kostnad av korteste vei fra start til n, og h*(n) er reell kostand forkorteste veifrantil løsningstilstanden. Aloritme A* er algoritmen som fås når algoritme A benytter en estimert h(n) som for enhver node er mindre eller lik kostnad h*(n). A* - egenskaper Algoritme A* vil alltid finne den optimale veien, såsant en slik fins. Mao.: Algortime A* er admissible A* forutsetter ikke at g(n) = g*(n), dvs. at optimal vei er funnet så langt. For to heuristikker, hvis h 1(n) < h(n)foralle 2 noder n, er h2 mer informert enn h 1. Jo mer informert en heuristikk er, dessto mindre kan søkerommet gjøres. Men prosesseringskostnadene kan øke betydelig.

7 Søking i to-persons spill Spesiell situasjon: - det fins en motstander med uforutsigbare tilstandsoverganger (trekk i spillet). Søkerommet har typisk en tre-struktur. Noder i søkerommet representerer situasjoner i spillet hvor en av spillerne er i trekket. Lenker mellom nodene er trekk i spillet Søking går ut på å finne det beste neste trekket, gitt motstanderens mulige neste trekk, samt mulige etterfølgende trekk fra begge spillerne. Noder der systemet er i trekket kalles MAX-noder Noder der motstanderen er i trekket kalles MIN-noder. MINIMAX Søkestrategi for maksimere egen posisjon ved å minimere motsanderens. Det antas at motstanderen velger sitt beste trekk, utifra en felles evaluaringsfunksjon. Det trekket velges som minimerer verdien av motsanderens beste neste trekk. Verdien av posisjoner bestemmes for en tilstand et visst antall trekk framover, og forplantes så tilbake til nåværende tilstand. Kan benyttes både i uttømmende søk - bredde først - og med en eller annen form form avgrensing: - vurdering av et fast antall trekk framover (horisont effekt) - heuristisk avgrensing, vurder bare de beste n trekk videre - evalueringsfunksjon: - posisjons-styrke - brikke-antall - brikke-styrke -...

8 Alfa-beta søk Dybde-først søking med kutting av greiner i søketreet som ikke har mulighet til å forbedre resultatet. Prinsipp: Alfa-verdier tilknyttes MAX noder, og kan ikke avta. Beta-verdier tilknyttes MIN noder, og kan ikke øke. For MAX tilstander kan en se bort fra noder med lavere verdier enn den største til nå. Omvendt for MIN noder Kompleksitet 120 Eksempel: Sjakk har tilnærmet 10 mulige tilstander i et spill av normal lengde. Forgreningsfaktoren fra nivå til nivå er kritisk faktor. Gjelder i alle søkestrategier, når det gjelder tidsforbruk. Gode heuristikker - kunnskapsbasert, velinformert søk - er eneste veien ut, for komplekse, reelle problemer.

9 Heuristisk søking (oppsummert) Søkemetode som begrenser mulige valg ved å benytte kunnskap om problemet som skal løses Nødvendig når - problemet har en eksakt løsning, men løsningsrommet er for stort - problemet har ingen eksakt løsning - kun en mer eller mindre god løsning Poenget er å bruke kunnkap om problemet til å lede søkingen langs den mest 'lovende' søkeveien Heuristisk søking er 'informert gjetting' Kan gi suboptimal - og til og med mindre god - løsning Søkesystemer Helhetlige systemer for problemløsning basert på søking i tilstandsrom, ofte kalt problemrom. Har basis i generelle søkemetoder (uttømmende eller heuristiske): - Løsning av problemet er en sammenhengende vei fra starttilstanden til sluttilstanden. - Løsningen finnes ved å søke langs alternative veier i problemrommet - Bactracking gjør det mulig å 'ta seg inn igjen' etter et mindre heldig forsøk på å finne en løsningsvei.

10 Søkesystemer (forts.) I prinsippet utnyttes basismetodenenes underliggende strukturer for søking: - Benytter to slags lister til å ta vare på tilstander under søket: - open lagrer påtrufne tilstander som ikke er testet ennå - closed lagrer uttestede tilstander - tilbakelagt vei lagres som forelder-barn par - Ved bredde-først søk er open en stakk (LIFO liste). Ved dybde-først søk er open en kø (FIFO liste). Ved best-først søk er open en prioritetskø (sortert liste). Strukturene er ofte implementert som andre strukturer enn eksplisitte open og closed lister. Produksjons-system - generelt Tar utgangspunkt i problemløsning som søk i tilstandsrom. Generell komputasjonell modell, som er basert på formell teori, og er Turing-maskin ekvivalent. Danner basis for programmeringsspråket OPS-5 bl.a. brukt til implementasjon av regelbaserte ekspertsystemer. Også generell kognitiv modell, som er basert på psykologiske teorier og eksperimenter. Danner basis for helhetlige kognitive arkitekturer, og komputasjonelle modeller av disse, som f.eks. systemene ACT*, og SOAR. Dessuten for MHP - som er basis for GOMS metoden innen menneske-maskin interaksjon.

11 Produksjons-system - definisjon Består av 3 deler: 1. Et sett produksjoner. Dvs.regler der hver regel inneholder en betingelses-del og en aksjons-del. Et slikt "condition-action" par utgjør en enhet kunnskap, der - betingelsesdelen er et symbol-mønster som matches mot en tilstand, og som derved avgjør om regelen kan fyres, - aksjonsdelen utføres hvis regelen fyrer, og 'produserer' derved en ny tilstand. 2. Et arbeidsminne (working memory) som inneholder en beskrivelse av nåtilstanden. Beskrivelsen er i form av symbol-mønstre, som kan matches mot produksjonsreglene. Dersom en regel fyrer, vil det normalt medføre en endring av innholdet i arbeidsminnet (dvs. endring av nåtilstanden). Produksjons-system - definisjon (forts.) 3. En "recognize-act" syklus som utgjør basiskomponenten i styrings-strukturen for et produksjons-system. Recognize: Betingelsesdelen av reglene matches mot innholdet av arbeidsminnet. Derved aktiveres et subsett av reglene, kalt konflikt-settet. Act: En av reglene i konflikt-settet velges, og fyres. Derved utføres aksjonene spesifisert i aksjonsdelen, og arbeidsminnet oppdateres. Syklusen gjentas med det nye innholdet av arbeidsminnet. Prosessen stopper når Recognize mislykkes, dvs. når ingen regler matcher innholdet i arbeidsminnet. Valg av regelen som skal fyres kalles konflikt-løsning (conflict resolution).

12 Styring av søk i produksjons-systemer Søkekontroll i praktiske systemer betsemmes av data-drevet vs. mål drevet strategi - evt. en kombinasjon konfliktløsnings-metoden (f.eks. heuristisk) backtracking når Recognize mislykkes regelformen - representasjon i produksjonssystem har prosedural semantikk, i motsetning til deklarativ semantikk for predikatlogikk Viktige egenskaper ved produksjonssystemer Klart skille mellom domenekunnskap og søkekontroll Enkel mapping til tilstandsrom-søking Regel-representasjon gir modularitet Mønster-rettet (del-)styring av søkingen Flere måter for heuristisk styring av søkingen Enkel (etter-)sporing av søket Uavhengig av implementasjons-språk og underliggende representasjonsformalismer Plausibel modell for menneskers problemløsning

13 Blackboard systemer Arkitektur bestående av flere uavhengige kunnskapskilder som arbeider mot et felles arbeidsminne Selve blackboardet (tavlen) er et globalt arbeidsminne for informasjonsutveksling mellom uavhengige kunnskapskilder En kunnskapskilde er en separat kunnskapsbasert prosess En agenda-struktur (scheduler) styrer problemløsningsprosessen og aktiverer de aktuelle kunnskapskildene etter behov Systemene er karakterisert ved - stor grad av fleksibilitet i problemløsningen - multiple partielle løsninger kan bearbeides samtidig - arbeidsminnet kan organiseres i moduler Eksempel: Hearsay Hearsay II et system for talegjenkjenning, der forskjellige kunnskapstyper inngår på forskjellige nivå i gjenkjenningsprosessen Alle nivåene er aktive samtidig, og resultater fra tolkningsprosessen på ett nivå (lavere eller høyere) kan medføre at tolkningesprosessen på et hvilket som helst annet nivå kan fortsette Hearsay III har kontrollstruktur i form av et separat blackboard system, og kan betraktes som et generelt verktøy for utvikling av komplekse kunnskapsbaserte systemer. Videreutviklet i BBS (blackboard shell).

MNFIT-272 Kunstig intelligens Forelesning 4.

MNFIT-272 Kunstig intelligens Forelesning 4. MNFIT-272 Kunstig intelligens Forelesning 4. Emner: Søkesystemer - styring og kontroll av søk - søkesystemer i praksis Produksjonssystemer - regelbasert søking - som generell problemløsningsmodell - praktiske

Detaljer

Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4

Heuristisk søking (kap. 4) Emner: Kunstig intelligens (MNFIT-272) Forelesning 4 Kunstig intelligens (MNFIT-272) Forelesning 4 Emner: Problemløsning som søking (forts.) - Heuristisk søk, generelt - Søking i spill AI språk - Generelt -Prolog -Lisp Heuristisk søking (kap. 4) Kunnskap

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Gruppe(r): Tillatte hjelpemidler: Ingen Kunstig intelligens Antall sider (inkl. forsiden): 5 Emnekode: LV 145A Dato: 04.05.05 Antall oppgaver: 3 Faglig

Detaljer

INF 3/ oktober : Avslutte Branch and Bound 23.6: Trær og strategier for spill med to spillere

INF 3/ oktober : Avslutte Branch and Bound 23.6: Trær og strategier for spill med to spillere INF 3/4130 18. oktober 2007 Dagens forelesning: Kapittel 23 i hovedboka 23.5: Avslutte Branch and Bound 23.6: Trær og strategier for spill med to spillere Oblig 2 har ligget ute en stund. Frist 26 oktober.

Detaljer

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Lørdag 8. august 2009, kl

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Lørdag 8. august 2009, kl Side 1 av 6 KONTINUASJONSEKSAMEN I EMNE TDT4136 Logikk og resonnerende systemer Lørdag 8. august 2009, kl. 09.00 13.00 Oppgaven er utarbeidet av Tore Amble, og kvalitetssikret av Lester Solbakken. Kontaktperson

Detaljer

Et t ilst andsrom er en representasjon av en problemløsningsstruktur.

Et t ilst andsrom er en representasjon av en problemløsningsstruktur. Kunstig intelligens (MNFIT-272) Forelesning 3 Emner: Problemløsning som søking - generell søk - heuristisk søk AI språk - egenskaper generelt - Prolog -Lisp TILSTANDSROM måltilstander mellomtilstander

Detaljer

INF oktober Stein Krogdahl. Kap 23.5: Trær og strategier for spill med to spillere

INF oktober Stein Krogdahl. Kap 23.5: Trær og strategier for spill med to spillere INF 4130 1. oktober 2009 Stein Krogdahl Dagens program: Første time: Kap 23.5: Trær og strategier for spill med to spillere Andre time, gjesteforelesning: Rune Djurhuus: Om sjakkspillende programmer (Ikke

Detaljer

6. oktober Dagens program: Første time: Andre time, gjesteforelesning: Uavgjørbarhet. Stein Krogdahl. (Ikke pensum, egne foiler legges ut)

6. oktober Dagens program: Første time: Andre time, gjesteforelesning: Uavgjørbarhet. Stein Krogdahl. (Ikke pensum, egne foiler legges ut) Dagens program: Første time: INF 4130 6. oktober 2011 Stein Krogdahl Kap 23.5: Spilltrær og strategier for spill med to spillere Andre time, gjesteforelesning: Rune Djurhuus: Om sjakkspillende programmer

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 21, ordinær eksamen 14. september 23 Innledning En klikk i en graf G er en komplett subgraf av G. Det såkalte maksimum-klikk problemet består

Detaljer

Notat for oblig 2, INF3/4130 h07

Notat for oblig 2, INF3/4130 h07 Notat for oblig 2, INF3/4130 h07 Dag Sverre Seljebotn 15. oktober 2007 Jeg har skrivd et noe langt notat for oblig 2 som interesserte kan se på. Merk at dette er kun for å gi et par tips (for oppgave 3

Detaljer

PG4200 Algoritmer og datastrukturer Forelesning 10

PG4200 Algoritmer og datastrukturer Forelesning 10 PG4200 Algoritmer og datastrukturer Forelesning 10 Lars Sydnes, NITH 9. april 2014 NOE Å STUSSE PÅ? Quadratic probing i Hash-tabell: ( ) 2 i + 1 p = p + ( 1) i+1 2 Underforstått forutsetning: Heltallsaritmetikk

Detaljer

MNFIT 272. Kunstig intelligens (AI) 2002

MNFIT 272. Kunstig intelligens (AI) 2002 MNFIT 272 Kunstig intelligens (AI) 2002 Fagansvarlig: Professor Agnar Aamodt Institutt for datateknikk og informasjonsvitenskap, IT Vest, Rom 322, Email agnar.aamodt@idi.ntnu.no Kunstig intelligens (MNFIT-272)

Detaljer

Dagens tema: Regulære språk og uttrykk

Dagens tema: Regulære språk og uttrykk IN 2 Programmeringsspråk Dagens tema: Regulære språk og uttrykk Ulike typer språk (Kompendium 47: 23) Hvorfor er regulære uttrykk så interessante? Ulike representasjoner av regulære språk (Kompendium 47:

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 5: Prioritetskø og Heap Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 5 1 /

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:

Detaljer

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Onsdag 6. august 2008 Tid: kl. 09.00 13.00

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Onsdag 6. august 2008 Tid: kl. 09.00 13.00 Side 1 av 6 Faglig kontakt under eksamen: Tore Amble (94451) BOKMÅL KONTINUASJONSEKSAMEN I EMNE TDT4136 Logikk og resonnerende systemer Onsdag 6. august 2008 Tid: kl. 09.00 13.00 Hjelpemidler D: Ingen

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning

Detaljer

IT 272. Kunstig intelligens (AI) 2000

IT 272. Kunstig intelligens (AI) 2000 IT 272 Kunstig intelligens (AI) 2000 Fagansvarlig: Professor Agnar Aamodt Institutt for datateknikk og informasjonsvitenskap, Seksjon Lade, Rom 459, Email agnar@idi.ntnu.no Kunstig intelligens (MNFIT-272)

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 00, ordinær eksamen 1. september 003 Innledning Vi skal betrakte det såkalte grafdelingsproblemet (graph partitioning problem). Problemet kan

Detaljer

Obligatorisk oppgave 2 i INF 4130, høsten 2009

Obligatorisk oppgave 2 i INF 4130, høsten 2009 Obligatorisk oppgave 2 i INF 410, høsten 2009 Leveringsfrist 2. oktober Generelt for alle oppgavene Samme reglement gjelder som for obligatorisk oppgave 1. Det kan komme presiseringer og forandringer i

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49

Detaljer

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Definisjon av en graf Grafvarianter Intern representasjon

Detaljer

Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!

Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)! Repetisjon: Binære søketrær Dagens plan: Rød-svarte trær (kap. 12.2) B-trær (kap. 4.7) bstrakte datatyper (kap. 3.1) takker (kap. 3.3) For enhver node i et binært søketre gjelder: lle verdiene i venstre

Detaljer

Heuristiske søkemetoder II

Heuristiske søkemetoder II Heuristiske søkemetoder II Lars Aurdal Intervensjonssenteret Lars.Aurdal@labmed.uio.no 4. september 23 Plan Hva er en heuristisk søkealgoritme? Hvorfor heuristiske søkealgoritmer framfor tilbakenøsting?

Detaljer

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Tirsdag 4. desember 2007 Tid: kl. 09.00 13.00

EKSAMEN I EMNE. TDT4136 Logikk og resonnerende systemer. Tirsdag 4. desember 2007 Tid: kl. 09.00 13.00 Side 1 av 6 Faglig kontakt under eksamen: Tore Amble (94451) En engelsk versjon av oppgaven er vedlagt. Oppgaven kan besvares på engelsk eller norsk. BOKMÅL EKSAMEN I EMNE TDT4136 Logikk og resonnerende

Detaljer

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap.

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap. Søk i tilstandsrom Backtracking (Kap. 10) DFS i tilstandsrommet. Trenger lite lagerplass. Branch-and-bound (Kap. 10) BFS Trenger mye plass: må lagre alle noder som er «sett» men ikke studert. Kan også

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning

Detaljer

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L Representasjon av tall på datamaskin Kort innføring for MAT-INF00L Knut Mørken 3. desember 204 Det er noen få prinsipper fra den første delen av MAT-INF00 om tall som studentene i MAT-INF00L bør kjenne

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori

Detaljer

EKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Tysdag 4. desember 2007 Tid: kl

EKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Tysdag 4. desember 2007 Tid: kl Side 1 av 6 Fagleg kontakt under eksamen: Tore Amble (94451) Ein engelsk versjon av oppgåva er vedlagt. Oppgåva kan besvarast på engelsk eller norsk. NYNORSK EKSAMEN I EMNE TDT4136 Logikk og resonnerande

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

MAT1030 Forelesning 22

MAT1030 Forelesning 22 MAT1030 Forelesning 22 Grafteori Roger Antonsen - 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) Introduksjon Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt rundt oss!

Detaljer

Grunnleggende Grafalgoritmer II

Grunnleggende Grafalgoritmer II Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først

Detaljer

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen

Introduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen MAT1030 Diskret Matematikk Forelesning 22: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Introduksjon 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) MAT1030 Diskret Matematikk

Detaljer

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf Introduksjon MAT13 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 28 Vi skal nå over til kapittel 1 & grafteori. Grafer fins overalt rundt

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 2008 Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt

Detaljer

Uke 5 Disjunkte mengder

Uke 5 Disjunkte mengder Uke 5 Disjunkte mengder MAW, kap.. 8 September 19, 2005 Page 1 Hittil Forutsetninger for og essensen i faget Metodekall, rekursjon, permutasjoner Analyse av algoritmer Introduksjon til ADT er Den første

Detaljer

)RUVNQLQJVPHWRGLNNLQQHQ.XQVWLJLQWHOOLJHQV

)RUVNQLQJVPHWRGLNNLQQHQ.XQVWLJLQWHOOLJHQV .XQVWLJLQWHOOLJHQV01),7 )RUHOHVQLQJ Emner: )RUVNQLQJVPHWRGLNNLQQHQ.XQVWLJLQWHOOLJHQV - Revidert definisjon - AI som empirisk vitenskap - Kognitiv vitenskap som metodisk tilnærming - Epistemologiske problemer

Detaljer

Heuristiske søkemetoder I: Simulert størkning og tabu-søk

Heuristiske søkemetoder I: Simulert størkning og tabu-søk Heuristiske søkemetoder I: Simulert størkning og tabu-søk Lars Aurdal Norsk regnesentral lars@aurdalweb.com Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.1/141 Hva er tema for disse forelesningene?

Detaljer

Det første grafteoretiske problem: Broene i Königsberg

Det første grafteoretiske problem: Broene i Königsberg Dagens plan: INF0 - Algoritmer og datastrukturer HØSTEN 007 Institutt for informatikk, Universitetet i Oslo INF0, forelesning 6: Grafer Denisjon av en graf (kap. 9.1) Grafvarianter Intern representasjon

Detaljer

Stack. En enkel, lineær datastruktur

Stack. En enkel, lineær datastruktur Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning 5 1 / 55

Detaljer

Live life and be merry

Live life and be merry Om grådighet og først litt mer DP. Live life and be merry Ellevte forelesning for tomorrow you may catch some disgusting skin disease. [Edmund Blackadder] 1 2 g i t k i s K o rt Grådighet All form for

Detaljer

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Laurdag 8. august 2009, kl. 09.00 13.00

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Laurdag 8. august 2009, kl. 09.00 13.00 Side 1 av 6 KONTINUASJONSEKSAMEN I EMNE TDT4136 Logikk og resonnerande system Laurdag 8. august 2009, kl. 09.00 13.00 Oppgåva er laga av Tore Amble, og kvalitetssikret av Lester Solbakken. Kontaktperson

Detaljer

GRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6

GRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6 IN Algoritmer og datastrukturer GRAER Dagens plan: Kort repetisjon om grafer Korteste, en-til-alle, for: uektede grafer (repetisjon) ektede rettede grafer uten negatie kanter (Dijkstra, kapittel 9..) ektede

Detaljer

MAT1030 Forelesning 17

MAT1030 Forelesning 17 MAT1030 Forelesning 17 Rekurrenslikninger Roger Antonsen - 18. mars 009 (Sist oppdatert: 009-03-18 19:3) Forelesning 17 Forrige gang ga vi en rekke eksempler på bruk av induksjonsbevis og rekursivt definerte

Detaljer

IN Algoritmer og datastrukturer

IN Algoritmer og datastrukturer IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 3: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 10 1 / 27

Detaljer

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner

Dagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Definisjon av binær relasjon Definisjon av ekvivalens

Detaljer

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136)

EKSAMEN I LOGIKK OG RESONNERENDE SYSTEMER (TDT4136) Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 5 Faglig kontakt under eksamen: Lester Solbakken (73594465) EKSAMEN I LGIKK G RESNNERENDE SYSTEMER

Detaljer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø rodsjo@stud.ntnu.no Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner,

Detaljer

Algoritmer og teknikker for sjakkprogrammer - teori og praksis

Algoritmer og teknikker for sjakkprogrammer - teori og praksis A Microsoft Subsidiary Algoritmer og teknikker for sjakkprogrammer - teori og praksis Rune Djurhuus, stormester i sjakk 22. oktober 2008 Innhold Sjakkspillets kompleksitet Historien til computersjakk Søketre

Detaljer

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006

Løsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006 Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om

Detaljer

Definisjon av binært søketre

Definisjon av binært søketre Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større

Detaljer

Disjunkte mengder ADT

Disjunkte mengder ADT Binære relasjoner A A = {(x, y) x, y A}: mengden av ordnede par over A. Disjunkte mengder ADT Weiss kap. 8.1 8.5 Løser ekvivalensproblemet Lett og rask implementasjon Vanskelig tidsforbrukanalyse Ark 1

Detaljer

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013

NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013 NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel

Detaljer

Forelesning 30: Kompleksitetsteori

Forelesning 30: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 30: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 30: Kompleksitetsteori 19. mai 2009 (Sist oppdatert: 2009-05-19

Detaljer

PG 4200 Algoritmer og datastrukturer Innlevering 2

PG 4200 Algoritmer og datastrukturer Innlevering 2 PG 4200 Algoritmer og datastrukturer Innlevering 2 Frist: Mandag 21.april 2014 kl 23.55 Utdelt materiale: Se zip-filen innlevering2.zip. Innlevering: Lever en zip-fil som inneholder følgende: PG4200_innlevering_2.pdf:

Detaljer

Heuristisk søk 1. Prinsipper og metoder

Heuristisk søk 1. Prinsipper og metoder Heuristisk søk Prinsipper og metoder Oversikt Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk Traveling sales person (TSP) Tromsø Bergen Stavanger Trondheim Oppdal Oslo

Detaljer

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing

Alg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner, hashtabeller Kollisjonshåndtering

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens

Detaljer

INF2220: Time 4 - Heap, Huffmann

INF2220: Time 4 - Heap, Huffmann INF0: Time 4 - Heap, Huffmann Mathias Lohne mathialo Heap (prioritetskø) En heap (også kalt prioritetskø) er en type binært tre med noen spesielle struktur- og ordningskrav. Vi har to typer heap: min-

Detaljer

Side om side. Trettende forelesning

Side om side. Trettende forelesning Side om side Trettende forelesning 1 Det finnes mange modeller for parallellitet. Her får dere en liten smak av én av dem som er ment å modellere trådbasert parallellitet/ multicoreprogrammering. Parallellitet

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer

Detaljer

IT Kunstig intelligens (AI) 2006

IT Kunstig intelligens (AI) 2006 IT 2702 Kunstig intelligens (AI) 2006 Fagansvarlig: Professor Agnar Aamodt Institutt for datateknikk og informasjonsvitenskap, IT Vest, Rom 322, Email agnar.aamodt@idi.ntnu.no Kunstig intelligens (IT-2702)

Detaljer

Oversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder

Oversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder Oversikt Heuristisk søk Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk Prinsipper og metoder Pål Sætrom Traveling sales person (TSP) Kombinatorisk optimering Trondheim

Detaljer

6. kurskveld Ila, 7. juni - 06 Statistikk og sannsynlighet

6. kurskveld Ila, 7. juni - 06 Statistikk og sannsynlighet . kurskveld Ila, 7. juni - 0 Statistikk og sannsynlighet Sannsynlighet og kombinatorikk Sannsynlighet er noe vi omgir oss med nesten daglig. Vi spiller Lotto og andre spill, og håper vi har flaks og vinner.

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

Definisjon: Et sortert tre

Definisjon: Et sortert tre Binære søketrær Definisjon: Et sortert tre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 27: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 4. mai 2010 (Sist oppdatert: 2010-05-04 14:11) Forelesning 27 MAT1030 Diskret Matematikk 4. mai 2010

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.

Detaljer

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal Oppgave 2 INF5110 oppgave 2 på eksamen v04 med teori rne Maus Ifi FirstMengder Def { terminal First () = { a finnes avledning * a α } Dessuten: Om er utnullbar, så er ε First() Eks. 4.9 eregning av First-mengde

Detaljer

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

MAT1030 Forelesning 22

MAT1030 Forelesning 22 MAT1030 Forelesning 22 Grafteori Dag Normann - 14. april 2010 (Sist oppdatert: 2010-04-14 12:45) Kombinatorikk Oppsummering av regneprinsipper Ordnet utvalg med repetisjon: n r Ordnet utvalg uten repetisjon:

Detaljer

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Kombinatorikk 14. april 2010 (Sist oppdatert: 2010-04-14 12:43) MAT1030 Diskret Matematikk 14.

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. april 2010 (Sist oppdatert: 2010-04-14 12:42) Kombinatorikk MAT1030 Diskret Matematikk 14.

Detaljer

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping: Hva er syntaks? En overskrift i en norsk avis: Fanger krabber så lenge de orker Dagens tema Grundig repetisjon og utdyping: Er det i C lov å skrive for (;;) { while () { Syntaks kontra semantikk for å

Detaljer

Lars Vidar Magnusson

Lars Vidar Magnusson Binære Søketrær Lars Vidar Magnusson 14.2.2014 Kapittel 12 Binære Søketrær Søking Insetting Sletting Søketrær Søketrær er datastrukturer som støtter mange dynamiske sett operasjoner. Kan bli brukt både

Detaljer

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker. INF3 Programmeringsspråk INF3 Programmeringsspråk Dagens tema Syntaks (Komp 47, kap 3 (og noe 4)) Repetisjon Regulære språk i klassisk NF Regulære språk i utvidet NF Regulære språk i jerbanediagrammer

Detaljer

Notater til INF2220 Eksamen

Notater til INF2220 Eksamen Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær

Detaljer

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk Regulære uttrykk og automataer Ulike typer språk Ulike representasjoner av regulære språk Endelige tilstandsmaskiner (FSM-er) Deterministiske

Detaljer

!"!#$ INF-MAT Geir Hasle - Leksjon 2 2

!!#$ INF-MAT Geir Hasle - Leksjon 2 2 Leksjon 2 !"!#$ Kursinformasjon Motivasjon Operasjonsanalyse Kunstig intelligens Optimeringsproblemer (diskrete) Matematisk program COP Definisjon DOP Anvendelser Kompleksitetsteori Eksakte metoder, approksimasjonsmetoder

Detaljer

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre Oversikt Branch-and-bound Pål ætrom Branch and bound Prinsipper Min Vertex cover B & B eksempler Median string TP Hvordan løse NP-hard kombinatorisk optimering? Kombinatorisk opt. Løsningsrom, C Målfunksjon

Detaljer

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon.

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon. :: :: Dynamisk programmering Eksamenskurs Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/dp.ppt Svært rask repetisjon Noen ganger (f.eks. ved utregning av Fibonaccitall) vil en rekursiv

Detaljer

Introduksjon til IN2010

Introduksjon til IN2010 Introduksjon til IN2010 Sjakkmotorer, Algoritmer og Datastrukturer 19. August, 2019 Institutt for Informatikk 1 Grunnleggende 2 Grunnleggende Regler 2 Grunnleggende Regler Kun stillingen på brettet har

Detaljer

INF3110 Programmeringsspråk

INF3110 Programmeringsspråk INF3 Programmeringsspråk Dagens tema Syntaks (Komp 47, kap 3 (og noe 4)) Repetisjon Regulære språk i klassisk BNF Regulære språk i utvidet BNF Regulære språk i jerbanediagrammer Regulære språk og automater

Detaljer

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28)

Forelesning 27. MAT1030 Diskret Matematikk. Bevistrær. Bevistrær. Forelesning 27: Trær. Roger Antonsen. 6. mai 2009 (Sist oppdatert: :28) MAT1030 Diskret Matematikk Forelesning 27: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 27 6. mai 2009 (Sist oppdatert: 2009-05-06 22:28) MAT1030 Diskret Matematikk 6.

Detaljer

Korteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei

Korteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei I Lars Vidar Magnusson 9.4.2014 Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei Problemet I denne forelesningen skal vi se på hvordan vi kan finne korteste

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

Kap 9 Tre Sist oppdatert 15.03

Kap 9 Tre Sist oppdatert 15.03 Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere

Detaljer

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede

GRAFER. Hva er en graf? Det første grafteoretiske problem: Broene i Königsberg. Grafer vi har sett allerede Dagens plan: GRAFER Definisjon av en graf (kapittel 9.) Grafvarianter Intern representasjon av grafer (kapittel 9..) Topologisk sortering (kapittel 9.) Korteste vei en-til-alle uvektet graf (kapittel 9..)

Detaljer

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 Algoritmer og datastrukturer GRAFER GRAFER Dagens plan: Definisjon av en graf (kapittel 9.1) Grafvarianter Intern representasjon av grafer (kapittel 9.1.1) Topologisk sortering (kapittel 9.2) Korteste vei, en-til-alle, for: uvektet graf

Detaljer

INF4170 Logikk. Forelesning 12: Automatisk bevissøk IV matriser og koblingskalkyle. Bjarne Holen. Institutt for informatikk, Universitetet i Oslo

INF4170 Logikk. Forelesning 12: Automatisk bevissøk IV matriser og koblingskalkyle. Bjarne Holen. Institutt for informatikk, Universitetet i Oslo INF4170 Logikk Forelesning 12: matriser og koblingskalkyle Bjarne Holen Institutt for informatikk, Universitetet i Oslo 11. mai 2010 Dagens plan 1 Institutt for informatikk (UiO) INF4170 Logikk 11.05.2010

Detaljer

Grunnleggende Datastrukturer

Grunnleggende Datastrukturer Grunnleggende Datastrukturer Lars Vidar Magnusson 7.2.2014 Kapittel 10 Stakker og køer Lenkede lister Pekere og objekter Trerepresentasjoner Datastrukturer Vi er i gang med tredje del av kurset hvor vi

Detaljer

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen A study of different matching heuristics Hovedfagspresentasjon Jan Kasper Martinsen (janma@ifi.uio.no) Terminologi: Graf teori En graf består av et sett med noder Nodene er tilknyttet hverandre ved hjelp

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer