Løsningsforslag - Parallellitet og repetisjon

Like dokumenter
Løsningsforslag - Korteste vei

Løsningsforslag - Floyd-Warshall

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2

Oppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b

EKSAMENSOPPGAVE. IAI20102 Algoritmer og datastrukturer

INF2220: Time 12 - Sortering

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3

Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

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

Øvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy

Det er frivillig å delta i spørreundersøkelsen, ingen skal vite hvem som svarer hva, og derfor skal du ikke skrive navnet ditt på skjemaet.

Norges Informasjonsteknologiske Høgskole

Fortelling 3 ER DU MIN VENN?

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

Øvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Bruk av oppgaver og grupper i

Ekstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

TDT4105 Informasjonsteknologi, grunnkurs

QED 1 7. Matematikk for grunnskolelærerutdanningen. Bind 2. Fasit kapittel 1 Tallenes hemmeligheter

ITF20006 Algoritmer og datastrukturer Oppgavesett 7

UNIVERSITETET I OSLO

Om Kurset og Analyse av Algoritmer

Rekursiv programmering

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

Definisjon av binært søketre

Algoritmeanalyse. (og litt om datastrukturer)

Læringsmål og pensum. Algoritmeeffektivitet

Algoritmer - definisjon

Etterarbeid til forestillingen «stor og LITEN»

Logaritmiske sorteringsalgoritmer

Quicksort. Lars Vidar Magnusson Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort

Brukerveiledning. For student hjemmeeksamen

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Algoritmer og Datastrukturer

Kompleksitetsanalyse Helge Hafting Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder

Veileder for søknad om lisens for fiske i annet lands sone - Altinn

Først litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda

Niels Henrik Abels matematikkonkurranse

Brukerundersøkelse om medievaktordningen. Januar 2011

Niels Henrik Abels matematikkonkurranse Løsninger

20. mai 2015 Hvem kan det søkes timer til i grunnleggende norsk og morsmål?... 3

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8

SIF8010 ALGORITMER OG DATASTRUKTURER

Kokebok for å oppdatere språk og innhold i tekster

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

LO118D Forelesning 6 (DM)

Brukerveiledning for student skoleeksamen HIST Oppdatert 27. oktober 2014

INF Algoritmer og datastrukturer

Studentnummer: Side 1 av 1. Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005


Vennskap. Noen tema for samtaler om vennskap Klassemøtet

MRAND consulting. Kurset SLANKEHODET KLARGJØRING OG BEVISSTGJØRING TIL ENDRINGPROSESS. Kontaktinformasjon: telefon nr. og epost

Heapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer

MED TIDESTIMATER Løsningsforslag

I D. N R K I D S C R E E N S P Ø R R E S K J E M A

Arbeid med sosiometrisk undersøkelse.

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

MAT1030 Forelesning 30

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1

Algoritmer Teoribok, kapittel 5. Algorithms

Veiledning og tilleggsoppgaver til kapittel 8 i Her bor vi 2

Øvingsforelesning 3: Splitt og hersk. Daniel Solberg

ALGORITMER OG DATASTRUKTURER

Matematisk julekalender for trinn, fasit

Kapittel 12: Rekursjon

Ordliste. Obligatorisk oppgave 1 - Inf 1020

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Matematisk julekalender for trinn, 2009

SENSORVEILEDNING FOR EKSAMENSOPPGAVEN I SVSOS107 VÅREN 2002

Bruk av testverktøyet i

Tekst til lytteøvelser. Kapittel 4. Norsk på Lærer-cd. Cappelen Damm

Administrasjon av kataloger - Oversikt over innstillinger på kataloger

København 20 Stockholm

ALGORITMER OG DATASTRUKTURER

Læringsfellesskap i matematikk utvikling og forskning i samarbeid.

MAT1140: Kort sammendrag av grafteorien

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

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

EKSAMENSOPPGAVE NFUT0006 NORSK FOR UTLENDINGER KORTKURS. Kandidatnummer:

deeegimnoorrrsstt Sjette forelesning

INF oktober Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

Løsningsforslag til obligatorisk innlevering 3.

Eksamen i Algoritmer og Datastrukturer Torsdag 12. januar 1995, Kl

Bispen. Trollstigen. Bispen (1462 moh) er den mest tilgjengelige av de tre høye toppene på vestre side av Trollstigen. Her sett fra Isterdalen.

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Anvendelser av grafer

MAT1030 Diskret Matematikk

TIPS OG RÅD TIL DEG SOM SKAL SØKE LÆREPLASS

Kommunikasjonsstil. Andres vurdering. Navn på vurdert person: Ole Olsen. Utfylt dato:

Et eksempel: Åtterspillet

Korteste vei i en vektet graf uten negative kanter

OPPSETT FASITEN. Feltagenter. Spionmestere

Oppgave: BOW Bowling. Regler for Bowling. norwegian. BOI 2015, dag 1. Tilgjengelig minne: 256 MB

Algoritmer og Datastrukturer

Transkript:

Sist endret: 17.08.2010 Hovedside FAQ Beskjeder Timeplan Ukeplan Øvinger Gruppeøving Eksamensoppgaver Pensum Notater Kode/koding Ordliste Kontakt Eksterne ressurser IDI NTNU Utskriftsversjon Løsningsforslag - Parallellitet og repetisjon [Oppgave] [Levering] [Løsningsforslag] Innleveringsfrist: 02.12.2011 10:00 Du er logget inn og får derfor se om du har svart riktig/feil på de enkelte oppgavene. LF-svar er markert med grønt og feil svar er markert med rødt. Hvis dere er uenige i fasit, oppfordres dere til å diskutere dette på algdats nyhetsgruppe. Denne nyhetsgruppen har også et webgrensesnitt. Oppgave 1 Hva beskriver følgende: a) Tp: (3.4 %) Kjøretid med p prosessorer Totalt arbeid Kritisk sti(span) martme logget inn Poengoversikt b) T1: (3.4 %) Kjøretid med p prosessorer Totalt arbeid Kritisk sti(span) c) T : (3.4 %) Kjøretid med p prosessorer Totalt arbeid Kritisk sti(span) d) Hvilken av følgende beskrivelser av kritisk sti(span) er riktig? (6.8 %) Antall prosessorer som maksimalt kan arbeide samtidig Lengste sti der stegene ikke kan utføres parallelt 1 of 6 12/9/11 6:42 PM

En sti som oppstår mange ganger, og dermed kan kjøres av kun en prosessor en gang e) Hva kan man se ut av T1 <= Tp * P? (6.8 %) Parallelliteten til algoritmen er optimal. Den kritiske stien(span) er begrenset av antall prosessorer. Arbeidsmengden ved bruk a P prosessorer er ikke mindre enn ved bruk av 1. Oppgave 2 I denne oppgaven skal du analysere kjøretiden til små funksjoner. Funksjonen gjornoe() har kjoretid Θ(1). a) def funksjon1(n): for i in range(0, n): for j in range(0, n): for k in range(0,n/2): gjornoe() (5.1 %) T(n)=Θ(1) T(n)=Θ(n) T(n)=Θ(log(n)) T(n)=Θ(nlog(n)) T(n)=Θ(n 2.5 ) T(n)=Θ(n 3 ) T(n)=Θ(2 n ) T(n)=Θ(n!) b) def funksjon2(n): gjornoe() if n >= 1: funksjon2(n//4) (5.1 %) T(n)=Θ(1) T(n)=Θ(n) T(n)=Θ(log(n)) T(n)=Θ(nlog(n)) T(n)=Θ(n 2 ) T(n)=Θ(n 3 ) T(n)=Θ(2 n ) T(n)=Θ(n!) 2 of 6 12/9/11 6:42 PM

c) def funksjon3(n): gjornoe() if n > 0: funksjon3(n-1) funksjon3(n-1) funksjon3(n-1) (5.1 %) T(n)=Θ(1) T(n)=Θ(n) T(n)=Θ(log(n)) T(n)=Θ(n 3 log(n)) T(n)=Θ(2 n ) T(n)=Θ(3 n ) T(n)=Θ(4 n ) T(n)=Θ(n!) Oppgave 3 Ovenfor er det vist de første stegene av en partition, som er sentralt i quicksort. a) Hvordan ser arrayet ut etter neste iterasjon? (3.4 %) Nederste er korrekt b) Hvordan ser arrayet ut at partition er ferdig? (3.4 %) 3 of 6 12/9/11 6:42 PM

Nest nederste er korrekt c) Har Insertion Sort (n elementer) tidskompleksitet Ω(n)? (3.4 %) Ja Nei Støttes av en generell sats: Alle sorteringsalgoritmer basert påsammenligninger er Ω(n*log n). d) Er Quicksort Ω((n*log n)? (3.4 %) Ja Nei Støttes av en generell sats: Alle sorteringsalgoritmer basert påsammenligninger er Ω(n*log n). e) Kan Insertion Sort brukes i forbindelse med Quicksort? (5.1 %) Ja Nei Alt bør sorteres ved innsetting når de sorterte intervallene erblitt korte ( 10±). Enhver sorteringsalgoritme som flytter elementer kun 1 posisjon (til en naboposisjon) av gangen må ha tidskompleksitet minst lik Ω (n 2 ) for sin worst case. f) Er utsagnet over rett eller galt? (6.8 %) Rett Galt I verste tilfelle er listen stortert i motsatt rekkefølge. Da må element 1 flyttes n plasser, element 2 må flyttes n - 2 (fra posisjon 2 til posisjon n-1) osv. Kjøretiden blir da summen av en artimetisk rekke som er lik Ω(n 2 ) Oppgave 4 Hva slags problemer (eller variasjoner) blir presentert her? a) Det er klassefest, med n gutter og m jenter. En gitt gutt eller jente liker en delmengde av alle som er på festen. Du skal organisere bordkartet og vil gjerne matche flest mulig av personer med en de liker av motsatt kjønn. (5.1 %) 4 of 6 12/9/11 6:42 PM

b) Du har fått i oppdrag å bygge kjerrevei mellom flere landsbyer. Det er lite gjørme tilgjengelig, så veien må være kortest mulig, samtidig som det må være mulig å komme seg mellom alle landsbyene. (5.1 %) c) Du skal gå i Trondheim sentrum fra et sted til et annet. Desverre har du det problemet at du ikke kan gå forbi en kiosk uten å gå inn og kjøpe deg en brus. Brusprisen på alle kioskene er oppgitt. Hvilken vei skal du gå for å bruke minst mulig penger? (5.1 %) d) Alle barna til Indiana Jones skal over et nettverk av skrøpelige hengebruer. Hver av hengebroene tåler bare å bli gått over et gitt antall ganger (en person av gangen). Dette tallet er oppgitt for hver bro. Du vet ikke hvor mange barn Indiana Jones har (for han har vært over alt i verden), men du vet at han ikke ville sendt dem ut med mindre de alle hadde mulighet til å komme seg over i sikkerhet. Du vet også at Indiana har ordnet det slik at Nazi-Fritz, som vil fange barna, ikke skal klare å følge etter dem(han vil ikke klare å komme i mål). Hvor mange barn har Indiana Jones? (5.1 %) e) Anta at vi har et N*N brett der hver rute kan være enten hvit eller sort. Vi sier at to felt er naboer dersom de ligger ved siden av hverandre(og ikke på skrå). En sort sky består av ett eller flere sorte felter. Hvis et sort felt er med i en sky er også alle sorte naboer til feltet med i denne skyen. Vi vil finne antall skyer på brettet. (6.8 %) 5 of 6 12/9/11 6:42 PM

f) Nedover langs en stri elv ligger n utleiesteder for kano på rekke og rad. En kano kan leies på etthvert slikt sted og returneres på hvilket som helst annet utleiested lengre ned i elva. Det er ikke mulig å padle motstrøms. For hvilket mulig avgangssted i og ankomssted j er det gitt en leiepris P(i,j). Man skal lage en pristabell for å komme seg fra et hvilket som helst sted til et hvilket som helst sted. (6.8 %) Oppgave 5 Denne oppgaven er vanskelig og beregnet kun på de som vil ha en ekstra utfordring. For å gjøre øvingsarbeidet lettere for studentene har fagstaben i TDT4120 bestemt å dele studentene opp i arbeidsgrupper. Det er n >= 2 studenter, s(1) s(2)... s(n) som tar faget(anta at de er arrangert alfabetisk for enkelhetens skyld), fagstaben ønsker å dele opp studentene i k arbeidsgrupper, der 1 <= k <= n/2. Hver arbeidsgruppe skal inneholde minst 2 studenter. For å gjøre oppdelingen enkel vil fagstaben lage en alfabetisk sortert liste over studentene og deretter kutte listen i k-1 deler for å danne k arbeidsgrupper. Studentene vil som vanlig være litt vanskelige, og krever at arbeidsgruppene tar hensyn til hvem som kjenner hvem i klassen. De gir derfor fagstaben en liste med m vennepar. Vi betegner disse parene inn i listen med studenter(a 1,b 1 ),(a 2,b 2 ),(a m,b m ), slik at for 1 <= i <= m, student s(a i ) er en venn av student s(b i ). Et vennepar er respektert dersom begge vennene er i samme gruppe. Desverre så er fagstaben så opptatt av å finne på vanskelige oppgaver til studentene slik at de ikke har tid til å finne den optimale måten å dele opp studentene. Hjelp dem ved å finne en algoritme som finner M(n,k) - den partisjonen som deler n studenter opp i k grupper og maksimerer antall venner i hver gruppe. Gitt at T(i,j) betegner antall vennskap mellom studenter i rekken i...j. a) Hvordan skal den rekursive definisjonen til M se ut? (1.7 %) M(i,j) = max 2(j-1)<= L <=(i-2) {M(L,j)+T(L+1,j) M(i,j) = max 2(j-1)<= L <=(i-2) {M(L,j-1)+T(L+1,j) M(i,j) = max 2(j-1)<= L <=(i-2) {M(L,j-1)+T(L+1,j-1) M(i,j) = max 2(j-1)<= L <=(i-2) {M(L,j)+T(L+1,j-1) 6 of 6 12/9/11 6:42 PM