Del A: Diskret optimering og heuristiske metoder Leksjon 7

Størrelse: px
Begynne med side:

Download "Del A: Diskret optimering og heuristiske metoder Leksjon 7"

Transkript

1 Del A: Diskret optimering og heuristiske metoder Leksjon 7 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur iboende parallellitet skjema, vokabular robusthet gode mekanismer for intensifisering mangler noe diversifisering Hybrid med lokalsøk: Memetic algorithms TMA Geir Hasle - Leksjon 7 2 1

2 "#! $%& Mer direkte representasjon av løsninger mer naturlig enkoding av løsning spesielle krysnings- og mutasjonsoperatorer Mer intensifisering lokalsøk til lokalt optimum (spesielle mutasjonsoperatorer) Memetiske algoritmer TMA Geir Hasle - Leksjon 7 3 %'( )! *%# +,* - Introdusert av Dorigo, Maniezzo & Colorni 1992 Populasjonsbasert metaheuristikk Hver maur i populasjonen konstruerer en løsning Når alle er ferdige oppdateres et minne (kunstig feromon) Løsningskonstruksjon og minneoppdatering repeteres inntil stoppkriterium er oppfylt TMA Geir Hasle - Leksjon 7 4 2

3 #,'- Virker bare sånn passe... Biologisk analogi delvis forlatt 3 videreutviklinger Ant Colony System (ACS, Maurkolonioptimering) Max-Min Ant System Rank Based Ant System Alle inkluderer lokalsøk for å forbedre løsning Ant Colony System Modifisert global og lokal oppdatering Globalt og lokalt feromon Elitisme: kun beste maur får oppdatere globalt feromon Endret randomisering, sannsynlighet i to trinn velge grådig velge probabilistisk blant alle tillatte alternativer TMA Geir Hasle - Leksjon 7 5.&/! Genetiske algoritmer (GA) inspirert av biologisk evolusjon populasjon av løsninger (kromosomer) rekombinering ved krysning mutasjon, seleksjon Øvrige populasjonsbaserte metoder Memetiske algoritmer ( GA+lokalsøk ) Maurkolonioptimering TMA Geir Hasle - Leksjon 7 6 3

4 .&0! Konstruktive heuristikker Multi-start baserte metaheuristikker Variabelt nabolagssøk (VND/VNS) Grådig Adaptivt Randomisert Søk (Greedy Randomized Adaptive Search, GRASP) Iterert lokalsøk (Iterated Local Search, ILS) Kategorisering av metaheuristikker GUT (Grand Unifying Theory)? Hyperheuristikker TMA Geir Hasle - Leksjon Grådig konstruksjon grad av lokalitet i beslutningene informerte valg vs. regnetid Rekkefølge-basert konstruksjon Kritikalitet Statisk vs. dynamisk evaluering Parallell vs. sekvensiell konstruksjon Sæd (seeds) Kombinasjon med søk lokalsøk systematisk Squeaky Wheel optimering TMA Geir Hasle - Leksjon 7 8 4

5 $%%! Tilfeldig restart (Random Restart, RR) Lokalsøk (f. eks. med Steepest Descent) Iterasjon Tilfeldig startløsning Når virker RR bra? TMA Geir Hasle - Leksjon 7 9 %.%234(53 Procedure Local_Search_SD(init_sol,N,f) current:=init_sol new_current:=best_neighbor(current,n,f) */ Assuming Best_Neighbor returns current */ if there is no improving move while not f(new_current)=f(current) do current:=new_current new_current:= Best_Neighbor(current,N,f) od return current ; Local optimum TMA Geir Hasle - Leksjon

6 %'%, Procedure Random_Restart (S,N,f,Stop_Criterion) current=init_solution(s) incumbent:=current */ best solution until now while not Stop_Criterion() do local_optimum:=local_search_sd(current,n,f) if f(local_optimum) < f(incumbent) then incumbent:= local_optimum fi current:=random_init_solution(s) od return incumbent */ best solution until now TMA Geir Hasle - Leksjon ) #6+45 Variant av Tilfeldig restart (RR) Konstruksjon med tilfeldighet Ligner Maurkoloni-optimering (ACO) Begrenset kandidatliste for utvidelse av del-løsning TMA Geir Hasle - Leksjon

7 64) Procedure GRASP (Max_Iterations) incumbent:=bad_solution() for k:=1 to Max_Iterations do current:=local_search(... Greedy_Randomized_Construction(...)) if f(current) < f(incumbent) then incumbent:= current fi od return incumbent */ best solution until now TMA Geir Hasle - Leksjon )7 6+*5 Procedure Greedy_Randomized_Construction(...) partial_solution := Empty_Solution() while not Complete(solution) do Restricted_Candidate_List :=Evaluate_Incremental_Costs(solution) partial_solution:=extend_solution(partial_solution,rando m_element(restricted_candidate_list)) od return solution TMA Geir Hasle - Leksjon

8 64) 7 65*. Restriksjon kan være Kardinalitetsbasert ( de 10 beste alternativene ) Verdibasert ( alle elementer med inkrementell kostnad ikke større enn gitt verdi ) ( ) [ ] + α α min min max min c(e) c, c c c, 0,1 Reaktiv GRASP: automatisk justering Perturbasjon av kostnadsfunksjon (noising) Utvidelse med Path Relinking Preprosessor til GA TMA Geir Hasle - Leksjon #9% +3 I en pipende maskin smøres først de deler som piper Basert på konstruktiv heuristikk der Løsning bygges opp ved suksessiv utvidelse med elementer Sekvens av elementer er viktig (prioritet av elementer) Mål på hvor fornøyd et element er i den endelige løsning Endring av rekkefølgen av elementer Repetisjon TMA Geir Hasle - Leksjon

9 48#9% + Procedure Squeaky_Wheel_Optimization(f) Element_Priority_List :=Determine_Element_Priorities() ; Static prioritization incumbent:=some_feasible_solution() while not Stop_Criterion() do solution:= Empty_Solution() while not Complete(solution) do solution:=augment_solution(solution, Element_Priority_List) od if f(solution)< f(incumbent) then incumbent:=solution Element_Priority_List :=Update_Element_Priorities(Element_Priority_List,solution) od return solution TMA Geir Hasle - Leksjon 7 17 :;%;%2,:"4- Lokalt optimum er relativt til nabolag Et lokalt optimum m.h.t. ett nabolag er ikke nødvendigvis lokalt optimum m.h.t et annet Et globalt optimum er et lokalt optimum for alle nabolag Lokale optima er ofte nær hverandre Grunnleggende idé i VNS: Systematisk variasjon av nabolag Nabolagsstruktur N k, k = 1, k max Gjerne ordnet etter størrelse TMA Geir Hasle - Leksjon

10 Procedure VND (N[1..kmax]) incumbent:=initial_solution() ; best solution until now while not Stop() do restart: for k:=1 to kmax do local_optimum:=some_local_search(n(k),incumbent) ; Variants: First Improve, Best Neighbor, SA, TS... if f(local_optimum)< f(incumbent) then incumbent:=local_optimum if not Stop() goto restart fi fi od od return incumbent TMA Geir Hasle - Leksjon 7 19 :;%";(5,:"(- :;%";45,:"4- Procedure VNS (N[1..kmax]) incumbent:=initial_solution() while not Stop() do restart: for k:=1 to kmax do current:=random_element(n(k),incumbent) local_optimum:=some_local_search(n(k),current) ; Variants: First Improve, Best Neighbor, SA, TS, VND... if f(local_optimum)< f(incumbent) then incumbent:=local_optimum if not Stop() goto restart fi od od return incumbent TMA Geir Hasle - Leksjon

11 :"4 Lokalsøk i VNS kan byttes ut med VND VNS er beregningskrevende for store instanser Redusert lokalsøk: VNDS Hybridisering Tabusøk GRASP... TMA Geir Hasle - Leksjon 7 21 <%%2 Basert på (variant av) lokalsøk Lokalsøk gir avbildning LS : S Sˆ Iterasjon med ulike startløsninger gir ulike lokale optima Tilfeldig restart Hvorfor ikke rekursjon ˆ LS : S Sˆ TMA Geir Hasle - Leksjon

12 <%%2 Prøver å iterere slik at vi unngår å restarte i samme Basin of attraction Gjør dette ved perturbasjon av beste løsning Diversifisering TMA Geir Hasle - Leksjon 7 23 <%%2 Procedure Iterated_Local_Search(N,f) incumbent:=current:=local_search(initial_solution(),n,f) while not Stop_Criterion() do new_start:=perturbation(current,history) new_local_optimum:= Local_Search(new_start,N,f) if f(new_local_optimum)<f(incumbent) then incumbent:=new_local_optimum fi if Accept(new_local_optimum,incumbent,history) then current:= new_local_optimum fi od return incumbent TMA Geir Hasle - Leksjon

13 <%%2!);& Flytt i høyordens nabolag Fjerning og gjenoppbygging Ruin and Recreate (NB! patentert i USA!) Tilfeldig perturbasjon Fokusert perturbasjon Noising endre problem og finn lokalt optimum Distansemål sjekke avstand til tidligere startløsninger sjekke distanse til lokale optima TMA Geir Hasle - Leksjon 7 25 <%%2 Hvor stor skal perturbasjonen være? for liten perturbasjon: fare for å havne i samme Basin of attraction for mye perturbasjon: Random restart variabel perturbasjon Ruin and Recreate Very Large Neighborhood Search TMA Geir Hasle - Leksjon

14 1 Individ vs. populasjon Probabilistiske vs. deterministiske Minneløse vs. minnerike Modifikasjon av kostnadsfunksjon Nabolagsbaserte vs. Multi-start baserte TMA Geir Hasle - Leksjon 7 27 ";%; %!; Nabolagsbaserte Essensielt varianter av lokalsøk SA, TS (grunnleggende), GLS Multi-start baserte Iterativ generering av startløsninger for lokalsøk Startløsningene tas videre med lokalsøk GA, Evolusjonsalgoritmer, Memetic Algorithms Maurkolonialgoritmer, ACO GRASP Variabelt nabolagssøk Iterert lokalsøk TMA Geir Hasle - Leksjon

15 3 =3'5> Hvilke mekanismer virker? lokalsøk restart tilfeldighet oppoverflytt minne straff diversifisering populasjon... Hva med å lage en universell metaheuristikk? No free lunch -teoremet TMA Geir Hasle - Leksjon "?.53!,9%@56#A- Uformell beskrivelse: Når vi midler over alle probleminstanser i et gitt søkerom så har alle søkealgoritmer samme gjennomsnittlige ytelse. For enhver algoritme, så betales enhver fordel m.h.t. løsning av en klasse av problemer med tilsvarende ulempe for en annen klasse. TMA Geir Hasle - Leksjon

16 Når vi midler ytelsen til en søkealgoritme over alle mulige søkelandskap, så har den ikke bedre ytelse enn tilfeldig søk For å få god ytelse må en søkealgoritme benytte domenekunnskap, struktur, kunnskap om søkelandskap TMA Geir Hasle - Leksjon 7 31 =' Det er liten vits i å sause sammen alle metaheuristikker til en metode Opportunistisk resonnering analyse av problemet / problemløsningsstatus valg av aktuell teknikk læring styring av søkeprosess etter kjølvannet TMA Geir Hasle - Leksjon

17 B# Metaheuristikker er ikke generelle Det fins ingen beste metaheuristikk No free lunch -teoremet Hyperheuristikker Generelle søketeknikker Basert på (meta)heuristikker Bruk av (meta)heuristikker for å velge (meta)heuristikk under søk bruker ikke domenekunnskap TMA Geir Hasle - Leksjon 7 33 B# Hyperheuristikk Domenebarrière h1 h2 h3 h4 h5 h6 Evalueringsfunksjon TMA Geir Hasle - Leksjon

18 B# Informasjon til hyperheuristikk fra hver (meta)heuristikk CPU-tid brukt Endring i objektfunksjon Effektivitet Hvor lenge siden er det siden heuristikken sist ble kalt TMA Geir Hasle - Leksjon 7 35 B# Kvalifisert valg av heuristikk for å løse delproblem Læring under søk Probabilistisk valg av heuristikk Rulett-seleksjon TMA Geir Hasle - Leksjon

19 ' Events Constructors Blackboard with Solutions Manager Analyzers Repairmen Improvers Agentbasert Mapping problemkarakteristikk del-løser Mapping problemløsningstilstand - Dynamisk, opportunistisk kontroll av søk Testbenk TMA Geir Hasle - Leksjon 7 37.&0! Kategorisering av metaheuristikker Konstruktive heuristikker Multi-start baserte metaheuristikker Tilfeldig Restart (Random Restart, RR) Variabelt nabolagssøk (VND/VNS) Grådig Adaptivt Randomisert Søk (Greedy Randomized Adaptive Search, GRASP) Iterert lokalsøk (Iterated Local Search, ILS) GUT (Grand Unifying Theory)? Hyperheuristikker TMA Geir Hasle - Leksjon

20 .&! Eksakte metoder Branch and Bound Dynamisk programmering Lagrange-relaksering Prosjektoppgave TMA Geir Hasle - Leksjon 7 39 Del A: Diskret optimering og heuristiske metoder Leksjon 7 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo 20

21 )& =2%?%&%# n n max v x s.a. j= 1 j j= 1 i,j j i { } j j c x C i = 1,,m x 0,1 j = 1,, n Implementere metaheuristikk Sammenlignende undersøkelser på testeksempler Rapport ca. 4 sider 1-3 studenter pr. besvarelse Frist 1. mars, epost Geir.Hasle@sintef.no På vinterferie TMA Geir Hasle - Leksjon

22 Sett bestående av 9 klasser 100,250,500 objekter 5,10,30 dimensjoner 30 instanser i hver Ikke nødvendig å bruke alle! n m 0 0 a line with the n obj.func. coefficients a line for each m; n coefficients for <= constraints a line with rhs of <= constraints TMA Geir Hasle - Leksjon kan være kortfattet, men skal stå på egen hånd og gi en beskrivelse av: problemstilling de valg som ble tatt algoritmebeskrivelser planlegging og gjennomføring av eksperimentell undersøkelse resultater, konklusjon og mulig videre arbeid kode for optimeringsalgoritme som vedlegg TMA Geir Hasle - Leksjon

Hybrid med lokalsøk: Memetic algorithms

Hybrid med lokalsøk: Memetic algorithms Leksjon 7 ! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur iboende parallellitet skjema, vokabular robusthet gode mekanismer for intensifisering

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 7 GA - Oppsummering Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur

Detaljer

INF-MAT 5380 - Geir Hasle - Leksjon 3 2

INF-MAT 5380 - Geir Hasle - Leksjon 3 2 Leksjon 3 !"#$ Eksempler på DOP Alternative representasjoner Definisjon nabolag, -operator Lokalsøk Definisjon lokalt optimum Eksakt nabolag Prosedyre for lokalsøk Traversering av nabolagsgraf Kommentarer,

Detaljer

!"# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer

!# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer Leksjon 8 !"# $%&' Finnes overalt operasjonsanalyse kunstig intelligens mønstergjenkjenning geometri Er som regel ikke effektivt løsbare kompleksitetsteori P NP NP \ P NP-harde problemer vi kan antakelig

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 3 Leksjon 2 - Oppsummering Eksempler på DOP Alternative formuleringer Definisjon nabolag, -operator Lokalsøk Definisjon lokalt

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

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 5 Leksjon 4 - Oversikt Tabusøk INF-MAT 5380 - Geir Hasle - Leksjon 5 2 Tabusøk - Sammendrag Inspirert fra matematisk optimering

Detaljer

Styrt lokalsøk (Guided Local Search, GLS)

Styrt lokalsøk (Guided Local Search, GLS) Leksjon 6 !!"# Styrt lokalsøk (Guided Local Search, GLS) Martin Stølevik, SINTEF INF-MAT 5380 - Geir Hasle - Leksjon 6 2 $!%&!'%!($')! *+ GENET (neural network) Prosjekt for løsing av Constraint Satisfaction

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 6 Leksjon 5 - Oversikt Styrt lokalsøk (Guided Local Search, GLS) INF-MAT 5380 - Geir Hasle - Leksjon 6 2 Guided Local Search

Detaljer

Styrt lokalsøk (Guided Local Search, GLS)

Styrt lokalsøk (Guided Local Search, GLS) Del A: Diskret optimering og heuristiske metoder Leksjon 6 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!"# Styrt lokalsøk (Guided Local Search, GLS) TMA 4198 - Geir Hasle - Leksjon 6 2 1 $ %&'%($

Detaljer

INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/

INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 8 Diskrete optimeringsproblemer (DOP) Finnes overalt operasjonsanalyse kunstig intelligens mønstergjenkjenning geometri økonomi

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 2 Leksjon 1: Oppsummering Kursinformasjon Motivasjon Operasjonsanalyse Kunstig intelligens Optimeringsproblemer (diskrete) Matematisk

Detaljer

Del A: Diskret optimering og heuristiske metoder Leksjon 4. Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo

Del A: Diskret optimering og heuristiske metoder Leksjon 4. Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo Del A: Diskret optimering og heuristiske metoder Leksjon 4 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!"# Tilfeldig søk Simulert herding Terskelakseptanse Record-to-Record-Travel TMA 4198 -

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 4 Leksjon 3 - Oversikt Tilfeldig søk Simulert størkning Terskelakseptanse INF-MAT 5380 - Geir Hasle - Leksjon 4 2 SA - Oppsummering

Detaljer

Tilfeldig søk Simulert størkning Terskelakseptanseteknikker. INF-MAT Geir Hasle - Leksjon 4 2

Tilfeldig søk Simulert størkning Terskelakseptanseteknikker. INF-MAT Geir Hasle - Leksjon 4 2 Leksjon 4 !!"# Tilfeldig søk Simulert størkning Terskelakseptanseteknikker INF-MAT 5380 - Geir Hasle - Leksjon 4 2 $!"% Inspirert av statistisk mekanikk - nedkjøling Metaheuristikk lokalsøk tilfeldig nedstigning

Detaljer

Epost: Tlf. SINTEF Mob

Epost: Tlf. SINTEF Mob Del A: Diskret optimering og heuristiske metoder Leksjon Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!" Epost: Geir.Hasle@sintef.no Tlf. SINTEF 22 06 78 87 Mob. 930 58 703 TMA 498 - Geir Hasle

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

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

!!!" " # $ Leksjon 1

!!!  # $ Leksjon 1 !!!"" # $ Leksjon 1 %# Studenten skal etter seminaret ha en grunnleggende forståelse av hvordan moderne heuristiske metoder basert på lokalsøk og metaheuristikker kan brukes for å finne approksimerte løsninger

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

Overview. Heuristic search 1. Target function and optimization. Minimum vertex cover

Overview. Heuristic search 1. Target function and optimization. Minimum vertex cover Overview Heuristic search Combinatorial optimization Local search and simulated annealing Population-based search Principles and methods Pål Sætrom Traveling sales person (TSP) Combinatorial optimization

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen 1. september 2003 Deloppgave a I denne oppgaven skal vi ta for oss isomorfismer mellom grafer. To grafer G og H

Detaljer

INF-MAT Lokalsøk og meta-heuristikker i kombinatorisk optimering

INF-MAT Lokalsøk og meta-heuristikker i kombinatorisk optimering INF-MAT-5380 Lokalsøk og meta-heuristikker i kombinatorisk optimering http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 1 Mål med kurset Studenten skal etter kurset ha en grunnleggende forståelse

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå hvorfor vi trenger løkker i programmering Ha kjennskap to ulike typer løkker (while-løkke, for-løkke) Og vite

Detaljer

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP Approksimering av Travling Salesman Problem er her illustrert vha. en genetisk algoritme (GA). Den grunnlegge metaforen for en genetisk algoritme er evolusjon

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

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

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen 14. september 2003 Deloppgave a 50-års jubileet for simulert størkning: I juni 1953 publiserte fire amerikanske fysikere,

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

Trust region methods: global/local convergence, approximate January methods 24, / 15

Trust region methods: global/local convergence, approximate January methods 24, / 15 Trust region methods: global/local convergence, approximate methods January 24, 2014 Trust region methods: global/local convergence, approximate January methods 24, 2014 1 / 15 Trust-region idea Model

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

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 50-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å

Detaljer

Discrete Optimization Methods in Maritime and Road-based Transportation

Discrete Optimization Methods in Maritime and Road-based Transportation Discrete Optimization Methods in Maritime and Road-based Transportation Forskningsprosjekt med støtte fra Norges Forskningsråd Samarbeidspartnere Norges Teknisk-Naturvitenskapelige Universitet Institutt

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

Forelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann - 14. januar 2008. Vi som skal undervise. Hva er diskret matematikk?

Forelesning 1. Algoritmer, pseudokoder og kontrollstrukturer. Dag Normann - 14. januar 2008. Vi som skal undervise. Hva er diskret matematikk? Forelesning 1 Algoritmer, pseudokoder og kontrollstrukturer Dag Normann - 14. januar 2008 Vi som skal undervise Dag Normann Roger Antonsen Christian Schaal Robin Bjørnetun Jacobsen http://www.uio.no/studier/emner/matnat/math/mat1030/v08/

Detaljer

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process INF 329 Web-teknologier Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process Navn: Bjørnar Pettersen bjornarp.ii.uib.no Daniel Lundekvam daniell.ii.uib.no Presentasjonsdato:

Detaljer

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder

Grådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder Grådige Algoritmer Lars Vidar Magnusson 12.3.2014 Kapittel 16 Grådige algoritmer Aktivitetvelgingsproblemet Huffmankoder Ideen bak Grådige Algoritmer Ideen bak grådige algoritmer er å løse optimaliseringsproblem

Detaljer

Læringsmål og pensum. Algoritmeeffektivitet

Læringsmål og pensum. Algoritmeeffektivitet 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå

Detaljer

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2 LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2 Vi tar siste runde om (MKS): minimum kost nettverk strøm problemet. Skal oppsummere algoritmen. Se på noen detaljer. Noen kombinatorisk anvendelser

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Velkommen til MAT1030!

Velkommen til MAT1030! MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo Velkommen til MAT1030! 13. januar 2009 (Sist oppdatert:

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. januar 2009 (Sist oppdatert: 2009-01-14 16:44) Velkommen

Detaljer

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

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

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Del A: Diskret optimering og heuristiske metoder Leksjon 3

Del A: Diskret optimering og heuristiske metoder Leksjon 3 Del A: Dskret optmerng og heurstske metoder Leksjon 3 Sjefsforsker Ger Hasle SINTEF Anvendt matematkk, Oslo!"# Eksempler på DOP Alternatve formulernger Defnsjon nabolag, -operator Lokalsøk Defnsjon lokalt

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

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP og dynamisk Matrisemultiplikasjomultiplikasjon programmering Matrise- Åsmund Eldhuset og Dette er to ganske like teknikker for å lage algoritmer De kan brukes på svært mange tilsynelatende forskjellige

Detaljer

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Roger Antonsen

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Roger Antonsen MAT1030 Diskret Matematikk Forelesning 25: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 25 29. april 2009 (Sist oppdatert: 2009-04-29 00:28) MAT1030 Diskret Matematikk

Detaljer

Vi som skal undervise. MAT1030 Diskret matematikk. Hva er diskret matematikk? Hva er innholdet i MAT1030?

Vi som skal undervise. MAT1030 Diskret matematikk. Hva er diskret matematikk? Hva er innholdet i MAT1030? Vi som skal undervise MAT1030 Diskret matematikk Forelesning 1: Algoritmer, pseudokoder og kontrollstrukturer Dag Normann Matematisk Institutt, Universitetet i Oslo 14. januar 2008 Dag Normann Roger Antonsen

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

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer

Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå, og kunne bruke, algoritmer

Detaljer

7) Radix-sortering sekvensielt kode og effekten av cache

7) Radix-sortering sekvensielt kode og effekten av cache ) Radix-sortering sekvensielt kode og effekten av cache Dels er denne gjennomgangen av vanlig Radix-sortering viktig for å forstå en senere parallell versjon. Dels viser den effekten vi akkurat så tilfeldig

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 7. desember, 06 Eksamenstid

Detaljer

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen TABELLPARSING 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk Oppgave 1.1 MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Modifiser algoritmen fra 1.2.1 slik at

Detaljer

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf

KORTESTE STI. Vektede Grafer. Korteste Sti. Dijkstra s Algoritme. Vektet Urettet Graf Vektet Urettet Graf KORTESTE STI Finn: fra en Enkel Kilde til Alle Noder. (Engelsk: Single Source Shortest Path - SSSP) Vektede Grafer vekter på kanter representerer f.eks. avstand, kostnad, båndbredde...

Detaljer

Kapittel 3: degenerasjon.

Kapittel 3: degenerasjon. LP. Leksjon 3 Kapittel 3: degenerasjon. degenerasjon eksempel på sirkling den leksikografiske metoden andre pivoteringsregler fundamentaleoremet i LP LP. Leksjon 3: #1 of 15 Repetisjon simpleksalgoritmen:

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Oppgave 1.1 Modifiser algoritmen fra 1.2.1 slik at

Detaljer

Dynamisk programmering Undervises av Stein Krogdahl

Dynamisk programmering Undervises av Stein Krogdahl Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

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

NP-komplett, hva nå?

NP-komplett, hva nå? NP-komplett, hva nå? Anta vi har klart å vise at problemet vårt er NP-komplett eller NP-hardt. Hva betyr det? Såfremt P NP (de fleste tror det) har ikke problemet noen polynomisk algoritme. Hva skal vi

Detaljer

Hvordan løse problemer med programmering?

Hvordan løse problemer med programmering? Start screencast!! (tidlig..) Ha klar glass med linser Lukk programmer, untatt Atom, Keynote, Terminal Hvordan løse problemer med programmering? Problemløsning, løkker, og funksjoner med parametre IN1000,

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen 14. september 2003 Innledning Vi skal betrakte det såkalte maksimum-kutt problemet (maximum cut problem). Problemet

Detaljer

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist)

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

Detaljer

Sensitivitet og kondisjonering

Sensitivitet og kondisjonering Sensitivitet og kondisjonering Gitt en lineær likningssystem Ax = b vi skal studere effekten av perturbasjoner av input data: 1/19 på output data: Man kan A, b x perturbere bare b perturbere b og A samtidig.

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

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Stephan Oepen Universitetet i Oslo 30. mars 2017 Forrige forelesning 2 Mer om (prosedyre)navn, bindinger, og verditilordning Nok en ny abstrakt

Detaljer

Datastrukturer. Stakker (Stacks) Hva er en datastruktur? Fordeler / Ulemper. Generelt om Datastrukturer. Stakker (Stacks) Elementære Datastrukturer

Datastrukturer. Stakker (Stacks) Hva er en datastruktur? Fordeler / Ulemper. Generelt om Datastrukturer. Stakker (Stacks) Elementære Datastrukturer Hva er en datastruktur? Datastrukturer Elementære Datastrukturer En datastruktur er en systematisk måte å lagre og organisere data på, slik at det er lett å aksessere og modifisere dataene Eksempler på

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og

Detaljer

LP. Leksjon 3. Kapittel 3: degenerasjon.

LP. Leksjon 3. Kapittel 3: degenerasjon. LP. Leksjon 3. Kapittel 3: degenerasjon. degenerasjon eksempel på sirkling den leksikografiske metoden andre pivoteringsregler fundamentaleoremet i LP 1 / 23 Repetisjon simpleksalgoritmen: sekvens av pivoteringer

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

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen INF2820 Datalingvistikk V2011 TABELLPARSING Jan Tore Lønning & Stephan Oepen 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk

Detaljer

Fra krav til objektdesign

Fra krav til objektdesign Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer Plan Tema: Ulike arkitekturer og avbildninger 1. asynkron arkitektur med felles variable 2. synkron arkitektur med felles variable 3. distribuert arkitektur med kanal-kommunikasjon 4. program-skjemaer

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.

Detaljer

Steg 1: Regneoperasjoner på en klokke

Steg 1: Regneoperasjoner på en klokke Diffie-Hellman nøkkelutveksling Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Du har tidligere

Detaljer

Dagens tema: Kjøresystemer II

Dagens tema: Kjøresystemer II Dagens tema Kjøresystemer II En kort repetisjon (Ghezzi&Jazayeri 2.7.3) Språk med blokker (Ghezzi&Jazayeri 2.7.4) Dynamisk allokering (Ghezzi&Jazayeri 2.7.5) Parametre (Ghezzi&Jazayeri 2.7.7) Ark 1 av

Detaljer

FASIT/LF FOR EKSAMEN TMA4140, H07

FASIT/LF FOR EKSAMEN TMA4140, H07 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 5 FASIT/LF FOR EKSAMEN TMA440, H07 Oppgave (0%) Benytt matematisk induksjon til å vise at for alle heltall n. n i i!

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon

INF2810: Funksjonell Programmering. Dataabstraksjon og Trerekursjon INF2810: Funksjonell Programmering Dataabstraksjon og Trerekursjon Stephan Oepen & Erik Velldal Universitetet i Oslo 15. februar, 2013 Tema 2 Forrige uke Høyere-ordens prosedyrer: Prosedyrer som argumenter

Detaljer

Hashing: Håndtering av kollisjoner

Hashing: Håndtering av kollisjoner Hashing: Håndtering av kollisjoner Innsetting av dataelement i hashtabell Algoritme: 1. Bruk en hashfunksjon til å beregne hashverdi basert på dataelementets nøkkelverdi 2. Sett inn dataelementet i hashtabellen

Detaljer

Pensum: fra boken (H-03)+ forelesninger

Pensum: fra boken (H-03)+ forelesninger Pensum: fra boken (H-03)+ forelesninger unntatt kursorisk tema KAP. 1 KAP. 2 KAP. 3 JAVA I-110 (ikke gjennomgått) OO + ABSTRAKSJON /GENERISK PROGRAMMERING REKURSJON ALGORITME-TIDSANALYSE; O-NOTASJON KAP.

Detaljer

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 5-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å gjøre.)

Detaljer

Øvingsforelesning 3 Python (TDT4110)

Øvingsforelesning 3 Python (TDT4110) Øvingsforelesning 3 Python (TDT4110) For og While-løkker Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av øving 1 Programmering for Øving 3 2 Studasser og Piazza Studasser er der for å hjelpe

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Løsningsforslag til eksamen i INF103

Løsningsforslag til eksamen i INF103 Løsningsforslag til eksamen i INF03 Kjell Åge Bringsrud (oppgave 4 og 5) Dag Langmyhr (oppgave 2 og 3). desember 2003 Sigbjørn Næss (oppgave og 6) Boolsk algebra Sannhetsverditabellen er vist i tabell

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Kap. 4: Ovenfra-ned (top-down) parsering

Kap. 4: Ovenfra-ned (top-down) parsering Kap. 4: Ovenfra-ned (top-down) parsering Dette bør leses om igjen etter kapittelet: First og Follow-mengder Boka tar det et stykke uti kap 4, vi tok det først (forrige foilbunke) LL(1)-parsering og boka

Detaljer

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15.desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden LP. Leksjon 4 Kapittel 4: effektivitet av simpleksmetoden hvordan måle effektivitet? verste tilfelle analyse, Klee-Minty kuben gjennomsnittsanalyse og i praksis 1 / 18 Status Hvor langt er vi kommet i

Detaljer