studiepraktik a lgoritmik øvelser
DESCRIPTION
Studiepraktik a lgoritmik øvelser. Gerth Stølting Brodal Institut for Datalogi Aarhus Universitet. - PowerPoint PPT PresentationTRANSCRIPT
Studiepraktikalgoritmik øvelser
Gerth Stølting BrodalInstitut for DatalogiAarhus Universitet
“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.”
Dagens formål
• Illustrere algoritmiske problemstillinger• Finde algoritmer for simple problemstillinger• Få en følelse med kompleksiteten af algoritmer
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
Fisk
Andre paknings problemer
Find et tal
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. □
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) Minimumkandidater
(II) Udelukkede
(III) Maximumkandiater
(IV) Ikke sammenlignede
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
III
II/IIIIII 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) Minimumkandidater
(II) Udelukkede
(III) Maximumkandiater
(IV) Ikke sammenlignede
Modspiller strategi
Find minimum & næst mindsteSæ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. □
Stable marriage
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
Korteste veje (i Vest-Europa)• 18.029.721 knuder• 42.199.587 orienterede kanter
Google’s PageRank algoritme
Internettet
Random Walk
Sandsynlighedsfordeling
Skridt 1 2 3 4 5 60 1.000 0.000 0.000 0.000 0.000 0.0001 0.028 0.861 0.028 0.028 0.028 0.0282 0.039 0.109 0.028 0.745 0.039 0.0393 0.039 0.432 0.028 0.118 0.338 0.0444 0.039 0.299 0.028 0.388 0.077 0.1695 0.039 0.406 0.028 0.277 0.189 0.0606 0.039 0.316 0.028 0.366 0.143 0.1077 0.039 0.373 0.028 0.291 0.180 0.0878 0.039 0.342 0.028 0.339 0.149 0.1039 0.039 0.361 0.028 0.313 0.169 0.09010 0.039 0.348 0.028 0.329 0.158 0.09811 0.039 0.357 0.028 0.318 0.165 0.09412 0.039 0.351 0.028 0.325 0.160 0.09613 0.039 0.355 0.028 0.320 0.163 0.09414 0.039 0.352 0.028 0.323 0.161 0.09615 0.039 0.354 0.028 0.321 0.163 0.09516 0.039 0.353 0.028 0.323 0.162 0.09517 0.039 0.354 0.028 0.322 0.162 0.09518 0.039 0.353 0.028 0.322 0.162 0.09519 0.039 0.353 0.028 0.322 0.162 0.09520 0.039 0.353 0.028 0.322 0.162 0.09521 0.039 0.353 0.028 0.322 0.162 0.09522 0.039 0.353 0.028 0.322 0.162 0.09523 0.039 0.353 0.028 0.322 0.162 0.09524 0.039 0.353 0.028 0.322 0.162 0.09525 0.039 0.353 0.028 0.322 0.162 0.095
1 hvis0
1 hvis10
v
vpv
Evu
iu
iv u
pp),(
1
)udgrad(
1
6
5
6
1
6
1
ivp = sandsynligheden for at være i knude v efter i skridt
Sortering…Øvelser fra introduktionskurset
Perspektiverende Datalogi