Gymnasiepraktik algoritmik øvelser - Aarhus...
Transcript of Gymnasiepraktik algoritmik øvelser - Aarhus...
![Page 1: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/1.jpg)
Studiepraktik algoritmik øvelser
Gerth Stølting Brodal Institut for Datalogi
Aarhus Universitet
![Page 2: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/2.jpg)
“Algorithmics is more than a branch of computer science. It is the core of computer science, and, in all fairness, can be said to be relevant to most of
science, business, and technology.”
![Page 3: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/3.jpg)
Dagens formål
• Illustrere algoritmiske problemstillinger
• Finde algoritmer for simple problemstillinger
• Få en følelse med kompleksiteten af algoritmer
![Page 4: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/4.jpg)
Program
• Fisk (øvelser 1 - 3)
• Sammenligne tal (øvelser 4 - 5)
• Parringer (øvelse 6)
• Google (øvelse 7)
• Sammenligne flere tal (øvelser 8 - 12)
Grupper af 3 - 4 personer
![Page 5: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/5.jpg)
Fisk
![Page 6: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/6.jpg)
![Page 7: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/7.jpg)
![Page 8: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/8.jpg)
![Page 9: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/9.jpg)
![Page 10: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/10.jpg)
![Page 11: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/11.jpg)
Andre paknings problemer
![Page 12: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/12.jpg)
Find et tal
![Page 13: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/13.jpg)
![Page 14: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/14.jpg)
Find minimum
Sætning En algoritme der bestemmer minimum af n elementer laver mindst n-1 sammenligninger
Bevis: Alle elementer på nær minimum elementet skal have tabt mindst én sammenligning – ellers er de også kandidater til at være minimum. □
![Page 15: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/15.jpg)
Find minimum & maximum
Sætning En algoritme der bestemmer minimum & maximum af n elementer laver mindst 3/2·n - 2 sammenligninger (i værste tilfælde)
Bevis: Lav en modspiller strategi der tvinger algoritmen til at lave mange sammenligninger. Placer elementerne i grupper:
(I) Aldrig vundet, tabt mindst én gang
(II) Både tabt og vundet mindst én gang
(III) Aldrig tabt, vundet mindst én gang
(IV) Aldrig sammenlignet
(I) Minimum kandidater
(II) Udelukkede
(III) Maximum kandiater
(IV) Ikke sammenlignede
![Page 16: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/16.jpg)
Find minimum & maximum
• mindst n/2 sammenligninger involverende (IV)
• til sidst n - 2 (II)
• en sammenligning kan højst lave en ny (II) og en sådan involverer ingen (IV)
≥ n/2 + n – 2 sammenligninger □
x y Svar Gruppe flytning
I I x y Flyt y til II
III III x y Flyt x til II
I II
II/III III
x y (ingen)
I/II IV x y Flyt y til III
IV III x y Flyt x til I
IV IV x y Flyt x til I og y til III
II II Konsistent
med hidtige (ingen)
(I) Minimum kandidater
(II) Udelukkede
(III) Maximum kandiater
(IV) Ikke sammenlignede
Modspiller strategi
![Page 17: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/17.jpg)
Find minimum & næst mindste Sætning En algoritme der bestemmer minimum og det næst mindste element af n elementer laver mindst n + log2 n - 2 sammenligninger
Bevis: Modspiller strategi
x y Svar $ flytning
0$ 0$ Konsistent
med hidtige (ingen)
0$ ≥ 1$ x y (ingen)
X$ ≥ Y$ ≥ 1$ x y Flyt alle y’s $ til x
• Alle elementer får i starten 1$. • Element med ≥ 1$ minimum kandidat. • Minimum kandidat tabt k gange har
højst 2k $. • Til sidst har minimum elementet n$
tabt ≥ log2 n gange. • Af disse elementer har log2 n -1
elementer ud over at have vundet over minimum også vundet over et andet element for ikke at være kandidater til at være det næst mindste element.
• n-1 elementer vundet mindst én gang • log2 n -1 vundet over minimum og et
andet element. □
![Page 18: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/18.jpg)
Stable marriage
![Page 19: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/19.jpg)
![Page 20: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/20.jpg)
Andre variationer af parringer
• Maximal parring i to-delte grafer
• Stabil parring med flere A’er for hvert B (flere elever per sygehus)
• Vægtede parringer (hvert muligt par har en payoff værdi)
• Eksempler på graf problemer
![Page 21: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/21.jpg)
Korteste veje (i Vest-Europa)
• 18.029.721 knuder • 42.199.587 orienterede kanter
![Page 22: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/22.jpg)
Google’s PageRank algoritme
![Page 23: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/23.jpg)
Internettet
![Page 24: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/24.jpg)
Random Walk
![Page 25: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/25.jpg)
Sandsynlighedsfordeling
Skridt 1 2 3 4 5 6 0 1.000 0.000 0.000 0.000 0.000 0.000 1 0.028 0.861 0.028 0.028 0.028 0.028 2 0.039 0.109 0.028 0.745 0.039 0.039 3 0.039 0.432 0.028 0.118 0.338 0.044 4 0.039 0.299 0.028 0.388 0.077 0.169 5 0.039 0.406 0.028 0.277 0.189 0.060 6 0.039 0.316 0.028 0.366 0.143 0.107 7 0.039 0.373 0.028 0.291 0.180 0.087 8 0.039 0.342 0.028 0.339 0.149 0.103 9 0.039 0.361 0.028 0.313 0.169 0.090 10 0.039 0.348 0.028 0.329 0.158 0.098 11 0.039 0.357 0.028 0.318 0.165 0.094 12 0.039 0.351 0.028 0.325 0.160 0.096 13 0.039 0.355 0.028 0.320 0.163 0.094 14 0.039 0.352 0.028 0.323 0.161 0.096 15 0.039 0.354 0.028 0.321 0.163 0.095 16 0.039 0.353 0.028 0.323 0.162 0.095 17 0.039 0.354 0.028 0.322 0.162 0.095 18 0.039 0.353 0.028 0.322 0.162 0.095 19 0.039 0.353 0.028 0.322 0.162 0.095 20 0.039 0.353 0.028 0.322 0.162 0.095 21 0.039 0.353 0.028 0.322 0.162 0.095 22 0.039 0.353 0.028 0.322 0.162 0.095 23 0.039 0.353 0.028 0.322 0.162 0.095 24 0.039 0.353 0.028 0.322 0.162 0.095 25 0.039 0.353 0.028 0.322 0.162 0.095
1 hvis0
1 hvis10
v
vpv
Evu
i
u
i
vu
pp),(
1
)udgrad(
1
6
5
6
1
6
1
i
vp = sandsynligheden for at være i knude v efter i skridt
![Page 26: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/26.jpg)
![Page 27: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/27.jpg)
![Page 28: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/28.jpg)
Sortering… Øvelser fra introduktionskurset
Perspektiverende Datalogi
![Page 29: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/29.jpg)
![Page 30: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/30.jpg)
![Page 31: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/31.jpg)
![Page 32: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/32.jpg)
![Page 33: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/33.jpg)
![Page 34: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige](https://reader036.fdocuments.us/reader036/viewer/2022071416/6112a6a86f51600b1e453676/html5/thumbnails/34.jpg)