40 likes | 162 Views
Algoritmische problemen. Onbeslisbaar / niet-berekenbaar Geen algoritme mogelijk Tegel- of domino-problemen Woordcorrespondentie-probleem Syntactisch equivalentie probleem Onhandelbaar Geen redelijk algoritme mogelijk Aapjespuzzel 2-D rangschikkingen Kortste pad Hamilton pad
E N D
Algoritmische problemen • Onbeslisbaar / niet-berekenbaar • Geen algoritme mogelijk • Tegel- of domino-problemen • Woordcorrespondentie-probleem • Syntactisch equivalentie probleem • Onhandelbaar • Geen redelijk algoritme mogelijk • Aapjespuzzel • 2-D rangschikkingen • Kortste pad • Hamilton pad • (Les)rooster • Kleuren van grafen en kaarten • Handelbaar • Redelijk algoritme mogelijk
Algoritmische problemen • Wat is een redelijk algoritme ? • Gebruik van: • Tijd • Geheugenruimte • Samenhang tussen invoer en gebruik van tijd en ruimte • Complexiteit van algoritmen • Tellen van handelingen / vergelijkingen om van input naar gewenste output te komen • O - notatie (grote O notatie) • O(log n) : logaritmisch • O(n) : lineair • O(n2) :kwadratisch • O(2n) : exponentieel
Complexiteit • Lineair zoeken: • Array A met n namen; • X moet gezocht • Onbekend of array geordend is • X komt voor in het array • Met kans 1/n te viden op plek I • Hoe complex is dit probleem ? • Hoeveel vergelijkingen zijn er nodig ? • Als X op plek 1 staat -> 1 vergelijking • Als X op plek 2 staat -> 2 • Als X op plek n staat -> n • Algemeen: • (1+2+3+…+n)/n= • 0.5 n (n+1)/n = • 0.5 (n+1) -> O(n)
Complexiteit • Binair zoeken: • Array A met n namen; • X moet gezocht • Array is alfabetisch geordend • X komt voor in het array • Hoe complex is dit probleem ? • Hoeveel vergelijkingen zijn er nodig ? • Stel n = 2k - 1; k = 3, dan n = 7 • Stap 1: als X middelste element, -> 1 • Anders stap 2: Als X middelste -> 2 • Anders stap 3: Als X middelste -> 3 • In het algemeen: • (1x1 + 2x2 + 4x3 + 2k - 1 x k)/n = • ((k-1) x 2k - 1)/n = • (n+1)x(2log(n+1)-1)/n)+1/n = • 2log (n+1) - 1 -> O(log n)