34
Studiepraktik algoritmik øvelser Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet

Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

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

“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

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

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

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
Page 7: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 8: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 9: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 10: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 11: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

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

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
Page 14: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

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

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

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

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

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
Page 20: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

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

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

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

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

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

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
Page 27: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 28: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige

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
Page 30: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 31: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 32: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 33: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige
Page 34: Gymnasiepraktik algoritmik øvelser - Aarhus Universitettildeweb.au.dk/au121/slides/gymnasiepraktik12.pdfBevis: Modspiller strategi x y Svar $ flytning 0$ 0$ Konsistent med hidtige