Algorithms and Architectures II Jens Myrup Pedersen (JMP), Rasmus Løvenstein Olsen (RLO)
|
|
- Caroline Knudsen
- 7 år siden
- Visninger:
Transkript
1 Algorithms and Architectures II Jens Myrup Pedersen (JMP), Rasmus Løvenstein Olsen (RLO) Mm3: Algorithm examples: Advanced backtracking, min-max, algorithms for task scheduling - February 23, 2009
2 Algorithms and Architectures II 1. Processor and Storage Architecture (JMP) 2. Vehicular on-board networks and applications (RLO) 3. Algorithm examples: Advanced backtracking, min-max, task scheduling (RLO) 4. Complexity and complexity classes (RLO) 5. Complexity and complexity classes 2 + algorithms for task scheduling (RLO) 6. Advanced data structures 1 (JMP) 7. Advanced data structures 2 (JMP) 8. Graph algorithms 1 (JMP) 9. Graph algorithms 2 (JMP) 10. Guest Lecture by Rasmus H. Nielsen: Complex Problems in Network Planning
3 Dagens program Binære træer og min/max søgning Backtracking Spanning tree Task skedulering Opgaver
4 Binære træer Formindskede nøgletal Forøgede nøgletal Egenskaber ved binære træer: Lad x være et knudepunkt i et binært søge træ Hvis y er en knude i det venstre deltræ af x, så er key[y] key[x]. Hvis y er en knude i det højre deltræ af x, så er key[x] key[y]
5 Intern data repræsentation af binære træer A D B E C A B C D E Ved anvendelse af (dobbelt) linked lister kan man simpelt repræsentere binære træer Eksempelvis til søgning af data elementer
6 Operationer på binære træer; indsæt en knude Flyt knuden ned og sammenlign key x med key[y] indtil der ikke er flere undertræer tilbage Det indsatte element er derefter en underknude
7 Operations on binary trees Delete node
8 Brugs eksempel - Opdeling af areal i datastruktur 1. A er roden af træet og hele polygonet 2. A splittes ind i B og C 3. B splittes ind i D og E. 4. D splittes ind i F og G, der er konvekse og derfor bliver blade i træet
9 Forespørgsler i binære træer Lede efter en specifik knude (key[y]) ved brug af nøgle x Hvis key x = key[y] så stop; knuden er fundet Hvis key x < key[y] så søg i venstre undertræ Hvis key x > key[y] så søg i højre undertræ Hvis der ikke er flere undertræer tilbage, så er der intet resultat Søgningen kan foretages på O(h) tid (h er højden af træet) Maximum og minimum søgninger Minimum søgning: Følg træets venstre side intil slutningen Maximum søgning: Følg træets højre side indtil slutningen Søgningen kan foretages på O(h) tid (h er højden af træet)
10 Dagens program Binære træer og min/max søgning Backtracking Spanning tree Task skedulering Opgaver
11 Backtracking Hvad er problemet? Hvad nu hvis vi ikke har nogen nøgler der tillader os at udøve søgning i et binært træ F.eks. Et problem er blevet nedbrudt i et sæt af mulige løsninger, og nu har vi behov for at finde den bedste løsning givet et sæt af begrænsinger
12 Eksempel: Dronninge problemet Betragt et n x n skakbræt, og placeringen af dronningen q på brættet uden at denne truer andre dronninger allerede på brættet: Ø Ø ØØ Ø Ø En dronning truer mange felter Løsningsrummet er givet ved {1,2,3,,n} n Efterprøvning af alle mulige løsninger giver n n muligheder, men ved at indse at to dronninger ikke kan være i samme række/kolonne reducerer det til n! muligheder.
13 Eksempel: Convex hull (Graham s Scan) Problemet går ud på at konstruere den korteste polygon der sammenlukker et givet sæt at punkter i et plan Gennegå punkter i en eller anden orden, tilføj dem til en partiel løsning ved at lave et knæk på mindre end 180 grader, og backtracke løsningen når der laves et knæk der er større Gennemgå nu mulige løsninger Intuitivt Start med ekstreme punkter Algoritmen kræver O(nLog(n)) tid for at sortere punkterne, og O(n) tid til at udvælge et passende undersæt
14 Backtracking En potentiel løsning er givet ved et sæt S={v 1,v 2,..,v n } Try(S) Is S a solution Yes Return S No For each v in S, do: No Is {v 1,v 2,..,v n, v} Acceptable? Yes Try {v 1,v 2,..,v n, v} Yes Is S!= Ø Return S No
15 Karakteristika ved backtracking Backtracking er anvendeligt ved gennenmgang i et løsningsrum Identifikation af problemet, er den vigtigste del i løsningen Beskrivelse og identifikation af regler er nødvendige, men ikke nødvendigvis nemt! Gode regler kan nem reducere antallet af iterationer der er nødvendige for at udføre proceduren
16 Dagens program Binære træer og min/max søgning Backtracking Spanning tree Task skedulering Opgaver
17 Graph definitions En graf er defineret ved G=(V,E) V: sæt af linjer E VxV: Sæt af kanter Ensrettet graf: (v 1,v 2 ) E (v 2,v 1 ) E Basale operationer på grafer På linjer: Add/Delete/Find På kanter: Add/Delete/Find En sti er defineret ved := En sekvens af kanter P(v 1 ->v n )={(v 1,v 2 ), (v 2,v 3 ), (v 3,v 4 ),.., (v n-1,v n )} Sti længden er n Applikationseksempler Routing i computer netværk Repræsentation og manipulation af (endelige) automataer (fortolkere, compilers) Repræsentation af semantiske relationer
18 Et ord om grådige algoritmer Grådige algoritmer vælger altid den mulighed der ser bedst ud på et givet tidspunkt De leder ikke altid til en optimal løsning, men i mange tilfælge gør de
19 Minimum spanning tree Problemet er at forbinde et træ med mindst mulig pris w( T ) = ( u, v) T w( u, v) a b h i 2 6 c g d f e Eksempel på applikationer: Printudlæg for elektronik hardware, Planlægning af netværk Rutning i netværk
20 At gro et spanning tree A er et undersæt af et spanning tree, T Generiske algoritmer til at genere et minimums spanning tree 1 A Ø 2 while A does not form a spanning tree 3 do find an edge (u,v) that is safe for A 4 A A {(u,v)} 5 return A Problemet er at finde en kant der er sikker for A Kruskal s algorithm Prim s algorithm
21 Kruskal s algorithm Brute force metode til at konstruere et spanning tree Ideen er at bygget et sæt af kanter E ved grådighed ( lokale beslutninger) Algoritmen ser således ud 1 A Ø 2 for each vertex v V[G] do MAKE-SET(v) 3 sort edges of E into increasing cost by w 4 for each edge (u,v) E do if FIND-SET(u) FIND-SET(v) then A A {(u,v)} UNION(u,v) 5 return A a b h i 2 6 c g d f e
22 Prim s algorithm Brute force metode der vokser en løsning Alle kanter der ikke befinder sig i et træ, er placeret i en min-prioritets kø, Q A = {( v, π[ v]) : v V { r} Q} Slutmålet med algoritmen opnås når flg. krav er opnået A = {( v, π[ v]) : v V { r}} a b h i 2 6 c g 7 1 for each u V[G] do key[u] π[u] NIL 2 key[r] 0 3 Q V[G] 4 while Q Ø do u EXTRACT-MIN(Q) for each v Adj[u] do if v Q and w(u,v)<key[v] then π[v] u key[v] w(u,v) 2 4 d f e
23 Egenskaber ved de to algoritmer Udførselstid for de to algoritmer Kruskal s algorithm O(E log V) Prim s algorithm (afhængig af hvordan Q er implementeret) Adjacency matrix: O(V 2 ) Binær heap: O(E log V) Fibonacci heap: O(E+V log V) Prim s algorithm indeholder et træ under hele udførslen, mens Kruskal s algoritme ikke gør
24 Dagens program Binære træer og min/max søgning Backtracking Spanning tree Task skedulering Opgaver
25 Task skedulering Introduktiont til problemstillingen Basale strategier for job planlægning og eksekvering Realtids planlægning Job interaktion og kommunikation Multi processor job planlægning
26 Introduktion til task schedulering Anvendelse af computer systemer idag kræver vi At der kan køre mere end en proces ad gangen At de bliver kørt fornuftigt, så det virker som parrallelitelt (pseudo parralellitet ved enkelt CPU systemer) Ved netværk har vi efterhånden også samme krav Vi vil gerne have oplevelsen af et enkelt system udfører vores opgaver
27 Løsningen er operativ systemer Hvorfor har vi et behov for operativ systemer? At eksekvere flere applikationer/services på en enkelt computer er ikke muligt uden nogen form for kontrol af CPU en Hvad gør det godt for? Job håndtering Hukommelsesstyring Diskette og fil system Device drivers Netværk Sikkerhed Grafiske bruger flader Eksempler på eksisterende OS Windows, MacOS, Unix, Linux, Solaris, TinyOS, og mange flere Basalt set: Et OS er en ressource manager, med CPU en som den vigtigste ressource!
28 Et ord om response tider Decisekunder Forventede response tider ved reaktion fra tryk på keyboard Interaktion med en mus og skærm Brøkdele af sekunder Bestemte typer af tankekrævende arbejde, f.eks. grafik design eller spil Mindre end to sekunder Tilfælde hvor brugeren skal huske information i mellemliggende applikations interaktioner Mellem 2 og 4 sekunder Kræver høj koncentration af brugeren; kan måske være acceptabelt i nogle situationer Mere end 4 sekunder Generelt ikke acceptabelt, og vil typisk lede til frustrationer hos brugeren Mere end 15 sekunder Utolerable, men der er nogle situationer hvor det er ok, f.eks. i et skak program Brugeren bør generelt gives en chance for at gøre andre ting imens Source: Martin, J., Principles of Data Communication. Englewood Cliffs, NJ: Prentice Hall, 1988
29 Planlægningsproblem af opgaver At en opgave skal udføres, betyder IKKE at vi kan vente i uendelighed Blød realtid: Bruger interaktion, video, audio Hård realtid: Kontrol og styre systemer til f.eks. biler, robotter,... Et sæt af enhedsopgaver, S={a 1, a 2, a 3,., a n } Et sæt af deadlines D={d 1, d 2,., d n } Hver deadline overholder: 1 d i n Job a i er defineret ved d i Et sæt af positive vægtninger, straffe eller prioriteringer W={w 1, w 2,, w n } En straf w i er givet hvis Job a i ikke overholder deadline d i Problemet er nu, i hvilken orden af opgaver S skal de enkelte jobs udføres?
30 Eksempel på job planlægning a i d i w i Ved at anvende den grådige algoritme, GREEDY, kan vi finde et svar 1. A Ø 2. Sort S[M] into monotonically decreasing order by weight 3. for each x S[M] do if A {x} l[m] then A A {x} 4. return A a 5 og a 6 vil blive afvist, og udførelsesordenen vil blive <a 2, a 4, a 1, a 3, a 7, a 5, a 6 > Prisen for at afvise a 5 og a 6 bliver a 5 +a 6 =50
31 Job planlægning, et eksempel Task 1 Task 2 Task 3 Task 4 Time Task running Dispatcher Task ready Task Blocked Task not started
32 En model af et programs tilstand i et OS Admit Dispatch New Ready Running Exit Time-out Release Event occurs Blocked Event wait
33 Proces context og contex skift En proces er beskrevet af en blok af data, der typisk indeholder bl.a. Et ID nummer der identificerer processen Pointere til programmets lokation og hvor processoren er kommet til Register indhold Tilstand af forskellige flag og switche Pointere til øvre og nedre grænser af hukommelse krævet for processen En list af åbne filer af processen Prioriteten af processerne Status af alle I/O enheder krævet af processen Ved hvert job skifte, skal processoren på en eller anden måde også hente disse informationer frem
34 Performance parametre for planlæggere Bruger orienterede parametre Turnaround tid: Tid mellem job instantiering og færddiggørelse Response tid: Tid fra en forespørgsel er sendt, til et svar er givet Deadlines: Antallet af deadlines der bliver mødt (bør være så høj som muligt, evt. udtrykt som antal nåede deadlines ud af antal deadlines eller jobs) Forudsigelighed: Et givet job skal bruge ca. samme udførselstid uanset hvor stor belastning der er på systemet -> jitter
35 Performance metrics for schedulers System orienterede parametre Throughput: Mængden af jobs der bliver færdige per tidsenhed Processor udnyttelse: Procentandelen af tid processoren er optaget af at udføre et job Fairness: Uden bruger indflydelse, bør jobs behandles ens, og have lige lang CPU tid; job tid versus gennemsnitlig job tid bør være ens Prioritetsopfølgelse: Prioriterede jobs bør have mere CPU tid; job tid versus gennemsnitlig job tid bør være større end lavere prioriterede jobs Balance mellem resourcer: Planlæggeren bør holde forskellige resourcer i balanceret brug (f.eks. ved multiprocessorer holde alle processorer rimelig balancerede i brug)
36 Task skedulering Introduktiont til problemstillingen Basale strategier for job planlægning og eksekvering Realtids planlægning Job interaktion og kommunikation Multi processor job planlægning
37 Basalt job eksekvering - enkelt processor system Start program CPU Exit program Preemption Blocked queue w = time spent in system, including waiting and executing e = time spent in execution s = total service time required by the task, including e.
38 Hændelses differencerings kø enkelt processor Start program CPU Exit program Preemption Blocked queue Event 1 queue Event n queue w = time spent in system, including waiting and executing e = time spent in execution s = total service time required by the task, including e.
39 Prioritetsbaserede kø systemer single processor RQ-0 CPU Exit program RQ-1 Start program RQ-n Blocked queue Preemption w = time spent in system, including waiting and executing e = time spent in execution s = total service time required by the task, including e.
40 Basalt job eksekvering og livscyklus multi processor CPU Start program CPU Exit program CPU Preemption Ikke blot et spørgsmål om at have jobs kørende på forskellige CPU er Inter proces synkronisering er svært Hukommelsesstyring er svært Overbelastning og uens belastning kan forekomme Et sted skal det besluttet hvilken CPU jobbet skal afvikles på
41 Nonpreemptive planlægning En planlægningsdisciplin er non-preemptive hvis først en proces er blevet tildelt en CPU, så kan den ikke tages væk fra CPU en Følgende er karakteriserende ved non-preemptive planlæggere Korte jobs er sat til at vente på længere jobs, men den gennemsnitlige behandling af jobs er fair Response tider er mere forudsigelige fordi indkommende høj prioritetsjobs ikke kan udskifte ventende jobs En planlægger eksekverer jobs i de følgende to situationer Når et job skifter fra en løbende tilstand til en ventende tilstand Når et job terminerer
42 Preemptive planlægning En planlægningsdisciplin er pre-emptive hvis først et job er blevet tildelt en CPU, så kan den flyttes Denne strategi tillader jobs der er logisk kørbare at blive midlertidig suspenderet i en såkaldt pre-emptive planlægning, og er en kontrast til kør indtil færdig metoden Round Robin planlægninsdisciplinen er pre-emptiv (for hvert tidsstykke) og derfor er den effektiv i et tidsdelt miljø der skal kunne garantere rimelige response tider til interaktive brugere.
43 First-Come-First-Served (FC-FS) planlægger #Tasks Task 4 Task 3 Task 2 Task 1 Effektivt Time Simpel politik: First task der ankommer i buffer, bliver først serviceret Normaliseret round-trip tid: t η = queue + t serving serving 1 FC-FS er normalt ikke nogen god job planlægger, da den typisk favoriserer processor bundne opgaver t
44 Round robin planlægger #Tasks Task 4 Task 3 Task 2 Task 1 Effektivt Time Fair tilgang da den tillader forskellige jobs et minimum af CPU tid Processor bundne opgaver har en tendens til at få mere CPU tid end andre opgaver der f.eks. skal vente på I/O hændelser Udvælgelse af eksekverings tider er ikke nødvendigvis trivielt Hvis valgt for kort, bliver RR metoden ineffektive pga. alt for mange proces context skift per tidsenhed Hvis valg for høj, risikerer man at opgaverne får høj response tid
45 Mindste opgave næste opgave - planlægger #Tasks Task 4 Task 3 Task 2 Task 1 Effektivt Time En non-preemptive metode Eksekverer de hurtige opgaver i en kø, før de længerevarende opgaver Leder til uforudsigelige response tider Kræver job udvikleren giver et estimat af eksekveringstiden, ellers må kernen understøtte løbende estimering af eksekveringstider Følsom overfor fejl/bugs/program typer som While(true);
46 Mindste tid tilbage - planlægger #Tasks Task 4 Task 3 Task 2 Task 1 Effektivt Time En pre-emptive version af den korteste opgave planlægger Så snart mindre opgaver ankommer i køen, gives disse prioritet Giver generelt en bedre turnaround time ydelse i forhold til den korteste opgave planlægger
47 Højest response forhold næste - planlægger En non-preemptive disciplin Prioritet bestemmes af den estimerede eksekveringstid, og den tid opgaven allerede har haft ventende på CPU tilgang tqueue + tˆ execution R = = 1+ tˆ execution queue execution Når en opgave er slut, eller blokeret, er opgaven med højest rankering R givet tilgang til CPU en Favoriserer små opgaver, men sikrer på samme tid at opgaver ikke venter ekstremt lang tid, og dermed leder til relativt lavere response tider for alle opgaver t tˆ
48 Feedback planlægger Start program RQ-0 CPU Exit program RQ-1 CPU Exit program RQ-n CPU Exit program I stedet for at estimere den tilbageværende service tid, er fokus på den allerede spenderede eksekveringstid Efterhånden som opgaver kræver forøget processeringstid, bliver de sat i lavere prioritetskøer
49 Kombinationer af de forhenværende metoder Er muligt med f.eks. FC-FS med Round Robin eller andre kombinationer Giver dog forøget kompleksitet der er uønsket Betragt kompleksitet af implementering af en metode versus den opnåede fleksibilitet og muligheder Forøget kompleksitet af en planlægningsalgoritme, leder til Forøget kode Højere sandsynlighed for fejl Højst sandsynligvis også højere context skift tid Tiden for at skifte opgave, context skift, bør holdes på et minimum, og ikke være mere end 5-10% af den samlede eksekveringstid
50 Task skedulering Introduktiont til problemstillingen Basale strategier for job planlægning og eksekvering Realtids planlægning Job interaktion og kommunikation Multi processor job planlægning
51 Realtids planlægning To typer af planlægningskrav Blød realtidskrav Er karakteriseret ved Det er ikke kritisk at møde en deadline, men ønskværdig Det giver mening at fortsætte eksekvering, selvom deadlines ikke er mødt Eksempel Bruger programmer som Power Point Log system Hård realtidskrav Er karakteriseret ved Det er absolut kritisk at en opgave nås til dens deadline Hvis en deadline ikke er overholdt, kan der ske fatale fejl, og det giver ingen mening at fortsætte eksekvering Eksempel Kontrol algoritmer for f.eks. Satellite retnings kontrol, atomkraftværk, robotter, Bilers bremsesystemer.
52 Karakteristika ved realtids OS Deterministiske Operationer kan udføres på forudsete tider eller med forudsete tidsinterval Ydelse i form at OS s evne til at minimisere jitter og delay i eksekvering af periodiske og tidskritiske operationer Svært at opnå i et multi processor system Respons evne Evnen for et OS til at instantiere en Interrupt Håndteringssmekasnisme Evnen til at foretage hurtige proces skifte (context skift) Udfordringer er hovedsagligt fokuseret omkring indlejrede interrupt og interrupt håndteringer
53 Karakteristika ved realtids OS Bruger kontrol For realtids OS er det en vigtig feature at kunne tillade brugere (her tænkes der applikationsudviklere) at have god kontrol over nøjagtigheden af opgave prioritering Fokus er på evnen til at Sætte opgave prioritet niveau (inkl. Hård/blød realtidskrav) Kontrol af interupts/atomiske operationer Politikker til at håndtere opgaver med ens prioritet Stabilitet og sikkerhed For realtidsapplikationer, er det absolut kritisk (for nogle mere end andre) at opgaverne bliver eksekveret Redundans på multikerne processorer, eller systemer kan være løsninger, men introducerer yderligere kompleksitet
54 Forskellige strategier ved realtids planlægning Request for RT operation Schedule RT activity on next time slice Clock tick Task 1 Task 2 Task n RT-Task A) Round Robin preemptive scheduler Request for RT operation Task 1 RT-Task Task 2 b) Priority driven nonpreemptive FCFS scheduler
55 Forskellige strategier ved realtids planlægning Request for RT operation Task 1 RT-Task Task 1 Task 2 c) Priority driven nonpreemptive FCFS scheduler, with deterministic preemption points Request for RT operation Task 1 RT-Task Task 1 Task 2 d) Priority driven nonpreemptive FCFS scheduler, with imidiate preemption points
56 Eksempel: RealTime Linux (RT-Linux) User space, Lowest priority... User app User app User app User app Kernel Space Low priority RT task Linux kernel Kernel modules in RT-Linux space RT Task RT Task RT Task RT Task RT-Linux kernel Hardware platform FIFO pipes or shared memory (controlled by the RT-Linux kernel) can be used for communication between RT Warning: a high priority RT Task should always at some time release CPU to other tasks!!!
57 Generelt for realtids kerner Evne til hurtige opgave skift Små i kode størrelse (især for indlejrede systemer) Evne til at svare hurtigt på eksterne interrupts (HW/SW) Multitasking med interproces kommunikationsmuligheder såsom semaforer, signaler og hændelser (events) Brug af speciel sekventielle filer, der kan akkumulere data ved hurtige hastigheder Pre-emptive planlægning baseret på prioritet Minimering af interval hvorimellem interrupts er afbrudt Primitiver til at udsætte opgaver i et givet stykke tid, og til at ændre tilstande på opgaver mellem f.eks. pause/fortsætte Specielle alarmer og time-outs (f.eks. watch dog timers)
58 Task skedulering Introduktiont til problemstillingen Basale strategier for job planlægning og eksekvering Realtids planlægning Job interaktion og kommunikation Multi processor job planlægning
59 Beskyttelse af resourcer Beskyttelse af resourcer er kritisk, men hvordan gøres dette fair? There is a group of philosophers (usually 5) who eat together at a round table. There are forks placed between the philosophers. Philosophers spend their time either thinking or eating. In order to eat, a philosopher must pick up exactly two forks, one on his immediate left, and the other on his immediate right. When he is done eating, he will put his forks down so that his neighbors may use them, and he thinks again. Diskution: Ville det hjælpe med en tjener? Vil en beskidt gaffel hjælpe og hvordan? Philosophers dining problem
60 Race condition Betragt to jobs; A, B der hver udfører flg. 1. Read X 2. Do X=X+1 3. Write X back Hvis eksekveret sekventielt, vil X blive 2 når A og B er færdige Task A Task B Integer X Read X X = X+1 Write X=1 Read X X = X+1 Write X=2 I et pseudo parrallelt miljø, kan X blive 1!! Time Task A Read X X = X+1 Write X=1 Time Task B Read X X = X+1 Write X=1
61 Deadlocks Når to tog nærmer sig hinanden ved et kryds, skal begge stoppe og ingen skal køre videre før at det andet tog har passeret
62 Hændelser og inter proces kommunikation #Tasks Task 4 Task 3 Task 2 Task 1 Processer har potentielt behov for at Kommunikere med hinanden, f.eks. Udveksle data objekter/informationer Vente på hinanden, f.eks. Ved beregning af et resultat, eller eksterne hændelser (HW/SW interrupts) Benytte samme ressourcer, såsom Diskette drev/filsystem Hukommelse Keyboard Time
63 Job synkronisering Typiske operationer som tråde/processer kan anvende Semaphores og/eller mutexes: Til at undgå inkonsistens mellem resourcer og data Signaler: Dedikerede beskeder anvendt til at indikere andre jobs at de skal udføre et eller andet, f.eks. Stop eksekvering, pause, vent,... Hændelse (event): At notificere et job om at et eller andet er sket, f.eks. Jeg har beregnet X, Y har forespurgt om Z IEEE definerer en standard for job interaktion (IEEE Std , Posix), se også online på
64 Task skedulering Introduktiont til problemstillingen Basale strategier for job planlægning og eksekvering Realtids planlægning Job interaktion og kommunikation Multi processor job planlægning
65 Multiprocessor planlægning I nogle systemer er der mere end en CPU til rådighed for at eksekvere en applikation Klasser af multiprocessor systemer Løst koblet eller distribuerede multiprocessors: En samling af relativt autonome processorer med hver deres egen hukommelse og I/O Funktionelt specialiserede processorer: I/O processorer til f.eks. Grafik, lyd, filsystem m.f. Tæt koblet multiprocessors: Et sæt af processorer der deler en fælles hukommelse og som er under kontrol af et OS
66 Distribuering af jobs Job deling: De enkelte opgaver er ikke associerede til en enkelt processor. En global kø af eksekverbare jobs er vedligehold, og hver processor vælger og eksekverer et job fra denne kø. Gruppe planlægning: Et sæt af relaterede jobs, f.eks. Tæt interagerende processer planlægges at køre på samme processor på samme tid, på et ettil-et basis Dedikeret processor tilvalg: Hvert proces er allokeret et antal af processorer lig med antallaet af tråde det genererer. Hver tråd køres på en seperat processor. Dynamisk planlægning: Virker på samme måde som den dedikerede processor tilvalg, men eftersom antallet af tråde der generes af en proces kan variere over tid, er tråde tildelt processor dynamisk
67 Dagens program Binære træer og min/max søgning Backtracking Spanning tree Task skedulering Opgaver
68 Opgaver Diskuter anvendelsen af job planlægning i jeres projekt Hvilke planlægningsmetoder kan være anvendelige for jeres projekt? Hvordan skal de kommunikere med hinanden? Er der flere processorer involveret, eventuelt over netværk? Hvordan håndterer man distribuerede opgaver efter de viste principper? Tidskrav Hvad er jeres tidskrav? Hvordan finder i frem til dem? Hvad er konsekvenser for i ikke kan nå jeres opgaver til tiden?
69 Opgaver Projekt Diskussion (15min): Diskuter potential anvendelse af grafer i jeres projekt Hvad type graf kan være anvendelig (direkte/indirekte) og hvad form for kant-markering kan være brugbar? Hvilken type job/algoritme skal i bruge i jeres projekt for at arbejde med disse grafer? Hvor mange dronninger kan man sætte sikker på et 4x4 felt stort skakbræt? 8x8 felt stort skakbræt? 16x16 felt stort skakbræt? Hvordan vil det være hvis man puttede f.eks. En bonde ind på brættet? Hvordan vil det være hvis man tog en anden brik, f.eks. Et tårn eller en springer?
Schedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) list af processer i ready_a tilstand. dopsys 2 Re: Schedulering af processer.. administration af CPU-resursen.
Læs mereMm4: Greedy algorithms, backtracking and more recurrences - October 21, 2008
Algorithms and Architectures I Rasmus Løvenstein lsen (RL), Jimmy Jessen Nielsen (JJE) Mm4: Greedy algorithms, backtracking and more recurrences - ctober 21, 2008 Algorithms and Architectures II 1. Introduction
Læs mereSchedulering. dopsys 1
Schedulering dopsys 1 Re: Schedulering af processer.. administration af CPU-resursen. Ready List (RL) processer i ready_a, ready_s, eller running tilstand. dopsys 2 Re: Schedulering af processer.. administration
Læs mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs merePlanen for idag. Datalogi 1F Forår 2003. Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?
Datalogi 1F Forår 2003 OS[2]: Processor, tråde og skedulering Jørgen Sværke Hansen Planen for idag Processer: Procesbegrebet Processkift Processers familieliv Kommunikerende processer Tråde En lettere
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mereDeadlocks dopsys 1 onsdag den 8. december 2010
Deadlocks dopsys 1 En deadlock! When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone. Lov - the Kansas Legislature
Læs mereImplementation af Koordinering. dopsys 1
Implementation af Koordinering dopsys 1 Oversigt: Impl. af koordinering Begreber: Kritiske regioner Gensidig udelukkelse Synkroniseringsprimitiver: Binære semaforer / mutexes Tællesemaforer Betingelsesvariabler
Læs mereResource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.
System Model Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances. Each process utilizes a resource as follows: request use e.g., request
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.
Læs mereSchedulering. dopsys
Schedulering Schedulering Ide: tag beslutning om fordeling af resurser på parter Resurse kan tildeles, fratages Bestemte situationer muliggør beslutninger 2 Designvalg i schedulering Beslutningsform: hvornår
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille (priority-queues). Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX():
Læs mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereScheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet
Scheduling 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Tråde og deres indbyrdes forhold Sidste gang så vi på, hvorledes tråde kan skabes, og hvordan man kan skifte imellem dem I dag ser
Læs merePrioritetskøer. Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering. Philip Bille
Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer på hobe Hobkonstruktion Hobsortering Philip Bille Prioritetskøer Prioritetskøer Træer og hobe Repræsentation af hobe Algoritmer
Læs mereUniprocessor Scheduling
Uniprocessor Scheduling Chapter 9 E&CE 354: Processes 0 Processor Scheduling Main OS concern: allocation of resources to processes CPU is a key resource; processor scheduling is concerned with its allocation
Læs merePrioritetskøer. Prioritetskøer. Prioritetskøer. Prioritetskøer
Philip Bille. Vedligehold en dynamisk mængde S af elementer. Hver element x er tilknyttet en nøgle x.key og satellitdata x.data. MAX(): returner element med største nøgle. EXTRACTMAX(): returner og fjern
Læs merePrioritetskøer og hobe. Philip Bille
Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af
Læs mereDatastrukturer (recap)
Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang
Læs mereMm6: More sorting algorithms: Heap sort and quick sort - October 29, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm6: More sorting algorithms: Heap sort and quick sort - October 9, 008 Algorithms and Architectures II. Introduction
Læs mereProcesser og tråde. dopsys 1
Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys
Læs mere1 Operativsystemer oversigt
1 Operativsystemer oversigt Hvorfor OS virtualisering Abstraktion (processer, virtual hukommelse, filer) Kernel mode og user mode Systemkald (slide 31) Interrupts At levere en simplere model af computeren
Læs mereBinære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille
Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs merePrincipper for Samtidighed og Styresystemer
Principper for Samtidighed og Styresystemer kursusintroduktion og Introduktion til Styresystemer René Rydhof Hansen Februar 2008 PSS 08 (Forelsning 00) Kursus intro./intro. styresystemer Februar 2008 1
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereIntervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereMm7: A little bit more about sorting - and more times for exercises - November 4, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm: A little bit more about sorting - and more times for exercises - November 4, 2008 1 Algorithms and Architectures
Læs mereDatastrukturer (recap) Datastruktur = data + operationer herpå
Dictionaries Datastrukturer (recap) Datastruktur = data + operationer herpå Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data (ofte underforstået, også
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs mereMinimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træer
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs merePlanen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.
Planen for idag Synkroniseringsmekanismer Kritiske regioner Semaforer: Binære semaforer Tællesemaforer Beskedsemaforer Prioritetsinvertering Låse (spinlocks) sikrer udelelig adgang Barrierer synkroniseringspunkt
Læs mereDanmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereGrådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Læs mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs mereDefinition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
Læs mereProject Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereKoordinering. dopsys
Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:
Læs mereDanmarks Tekniske Universitet
ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer
Læs mereKaraktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007
Karaktergivende opgave i Styresystemer og multiprogrammering (reeksamen) 13. august 2007 Den karaktergivende opgave i Styresystemer og multiprogrammering stilles mandag den 13. august 2007 klokken 9:00
Læs mereInvarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen.
Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af)
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereTitel: Barry s Bespoke Bakery
Titel: Tema: Kærlighed, kager, relationer Fag: Engelsk Målgruppe: 8.-10.kl. Data om læremidlet: Tv-udsendelse: SVT2, 03-08-2014, 10 min. Denne pædagogiske vejledning indeholder ideer til arbejdet med tema
Læs mereDanmarks Tekniske Universitet
side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereDatastrukturer (recap)
Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang
Læs mereBrug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.
Brug sømbrættet til at lave sjove figurer. Lav f: Et dannebrogsflag Et hus med tag, vinduer og dør En fugl En bil En blomst Få de andre til at gætte, hvad du har lavet. Use the nail board to make funn
Læs mereAlgorithms & Architectures II
Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer
Læs mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):
Læs mereA Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
Læs mereHelp / Hjælp
Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mere22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
Læs mereSpeciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereAlgoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm3: More about recurrences - October 10, 2008 1 Algorithms and Architectures II 1. Introduction to analysis and
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereGeometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter
Planfejning 1 Skæring 2 Geometrisk skæring Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter Løsningsmetoder: Rå kraft Planfejning (eng. plane sweep)
Læs mereQUICK START Updated: 18. Febr. 2014
QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get
Læs mereStyresystemer og tjenester
Styresystemer og tjenester Indhold: 1. Introduktion til styresystemer. 2. Processer og tråde. 3. Synkroniseringsmetoder og InterProcesCommunikation. 4. Memory management. 5. I/O og devicedrivere. 6. Filsystemer.
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereGrafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges).
Læs mereAlgoritmedesign med internetanvendelser ved Keld Helsgaun
Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.
Læs mereUdtømmende søgning 1
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer Find den korteste
Læs mereFart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16.
Fart på SAP HANA Sådan laver du analyser direkte på dine data i realtid 0 Flemming Grand Saphira Consulting Mobile: +45 30 78 45 86 Email: flemming.grand@saphiraconsulting.com Allan Christiansen Fujitsu
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs mereQUICK START Updated:
QUICK START Updated: 24.08.2018 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get started
Læs mereprogrammeringskonkurrencer implementation under tidspres
ACM/ICPC programmeringskonkurrencer g - algoritmisk problemløsning og algoritmisk problemløsning og implementation under tidspres Hvad er det? Programmeringsopgaver af algoritmisk natur. Kendskabet fra
Læs mereLUL s Flower Power Vest dansk version
LUL s Flower Power Vest dansk version Brug restgarn i bomuld, bomuld/acryl, uld etc. 170-220 m/50 g One size. Passer str S-M. Brug større hæklenål hvis der ønskes en større størrelse. Hæklenål 3½ mm. 12
Læs mereECE 551: Digital System * Design & Synthesis Lecture Set 5
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE
Læs mereDM507 - Algoritmer og datastrukturer
- Algoritmer og datastrukturer Køretid g(n) Udtryk Beskrivelse lim n f(n) o(f) Vokser langsommere end f = 0 O(f) Vokser højst så hurtigt som f < Θ(f) Vokser som f = c(c > 0) Ω(f) Vokser mindst så hurtigt
Læs mereDM02 Kogt ned. Kokken. Januar 2006
DM02 Kogt ned Kokken Januar 2006 1 INDHOLD Indhold 1 Asymptotisk notation 2 2 Algoritme analyse 2 3 Sorterings algoritmer 2 4 Basale datastrukturer 3 5 Grafer 5 6 Letteste udspændende træer 7 7 Disjunkte
Læs mereVejledning til at tjekke om du har sat manuel IP på din computer.
Indhold Vejledning til at, komme på nettet. (DANSK)... 2 Gælder alle systemer.... 2 Vejledning til at tjekke om du har sat manuel IP på din computer.... 2 Windows 7... 2 Windows Vista... 2 Windows XP...
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
Læs mereVina Nguyen HSSP July 13, 2008
Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between
Læs mereSider og segmenter. dopsys 1
Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den
Læs mereDanmarks Tekniske Universitet
side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.
Læs mereUdtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer ind den korteste rundtur
Læs merehow to save excel as pdf
1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,
Læs mere