Listopad 2010

  • Upload
    ilana

  • View
    37

  • Download
    2

Embed Size (px)

DESCRIPTION

Definicja. Historia. Najstarszy algorytm. Spis treści. ALGORYTMY. Klasyfikacja algorytmów. Listopad 2010. Rekurencja. Iteracja. Zadanie. Definicja. Historia. Algorytm opisuje krok po kroku rozwiązanie jakiegoś problemu lub osiągnięcie wyznaczonego celu. - PowerPoint PPT Presentation

Citation preview

  • Listopad 2010ALGORYTMY

  • Algorytm opisuje krok po kroku rozwizanie jakiego problemu lub osignicie wyznaczonego celu.

    Algorytmem nazywamy skoczony cig czynnoci, przeksztacajcych zbir danych wejciowych na zbir danych wyjciowych (wynikw).Definicja

  • Od pocztkw swojego istnienia czowiek zawsze upraszcza swoje czynnoci i dziaania. Zwykle, pierwszym zamierzeniem w nowym dziaaniu jest osignicie wyznaczonego celu w jakikolwiek sposb.

    Gdy ju potrafimy co zrobi zastanawiamy si, jak to mona zrobi prociej. Przez wieki tworzono opisy rozwizywania rnych problemw, ktre dzisiaj nazywamy algorytmami.

    Historia algorytmw

  • Za najstarsze algorytmy uznawane s:

    algorytm Heronaalgorytm Euklidesaalgorytm Horneraalgorytm Huffmana Najstarsze algorytmy

  • algorytmy proste rozgazione (nie wystpuj albo wystpuj rozgazienia),algorytmy cykliczne mieszane (z powrotami albo bez powrotw),algorytmy rwnolege sekwencyjnesekwencyjne algorytmy, w ktrych instrukcje wykonywane s w porzdku, w jakim zostay wprowadzone;niesekwencyjne (rwnolege, wspbiene) algorytmy, w ktrych nastpstwo midzy pewnymi operacjami nie jest okrelone.algorytmy numeryczne - nienumeryczne (wykonywanie oblicze lub przetwarzanie danych),algorytmy rekurencyjne iteracyjneiteracyjne rodzaj algorytmu i programu, w ktrych wielokrotnie wykonuje si pewne instrukcje, dopki nie zostanie speniony okrelony warunek;rekurencyjne takie procedury, ktre w swojej definicji posiadaj wywoanie samej siebie;Klasyfikacja algorytmw

  • Algorytm prosty a rozgaziony

  • Algorytm cykliczny a mieszany

  • Algorytm rwnolegy a sekwencyjny

  • Algorytm iteracyjny a rekurencyjny

  • Rekurencja albo rekursja (ang. recursion, z ac. recurrere, przybiec z powrotem) to w logice, programowaniu i w matematyce odwoywanie si np. funkcji lub definicji do samej siebie. Wbrew prbom rozrnienia terminw rekursja i rekurencja w rzeczywistoci sowa te maj identyczne znaczenieRekurencja polega na rozwizywaniu problemu w oparciu o rozwizania tego samego problemu dla danych o mniejszych rozmiarach.W informatyce rekurencja jest to sposb rozwizania problemu z zastosowaniem algorytmu rekurencyjnego. Jego realizacj s obliczenia, w ktrym wydzielony podprogram wywouje siebie samego. Rekurencja jest z powodzeniem stosowana w najefektywniejszych algorytmach sortowania.Rekurencja

  • Rekurencyjny opis oblicze jest na og bardziej zwarty ni opis tych samych oblicze bez uycia rekurencji. Taki opis jest stosowany np. przy opisie fraktali, ktre s nawet definiowane jako twory podobne do swoich czci. Zwartoci opisu rekurencyjnego nie zawsze odpowiada jednak efektywno komputerowych realizacji algorytmw.Rekurencja skada si z podania wartoci brzegowej (pocztkowej) i z rwnania wyraajcego ogln warto za pomoc wartoci wczeniejszych wyrazw.Rekurencja

  • W informatyce moemy realizowa szczeglny rodzaj powtrze bez koniecznoci stosowania ptli technik rekurencji.Z technik t spotykamy si w yciu codziennym, jej przykadem jest odbicie w lustrze: jeli popatrzymy w lustro, a za sob odpowiednio ustawimy drugie, to zauwaymy, e odbija si w nim obraz z lustra, ktre mamy przed sob.Kolejnym przykadem moe by obraz, w ktrym wkomponowany jest ten sam obraz.W kadym z tych przykadw dany obraz jest czci samego siebie.Przykadem rekurencji moe by Wiea Hanoi, lub rekurencyjny algorytm Euklidesa, cig Fibonacciego.Rekurencja w naszym otoczeniu

  • Wiee z Hanoi to ciekawe zadanie z algorytmiki. Rozwizanie jest czsto spotykanym modelem mylenia rekurencyjnego, dlatego warto je pozna.Mamy n krkw o malejcych rednicach. Kady z nich posiada wydron dziurk i jest "nadziany" na pierwszy z trzech drkw jakie posiadamy. Pozostae drki s puste.Zadanie polega na przeniesieniu wszystkich krkw z pierwszego drka na drugi przy uyciu trzeciego. Trzeba to jednak zrobi przy dwch zaoeniach:wolno przenosi krki tylko pojedynczo ani przez moment krek wikszy nie moe lee na krku mniejszym Zagadka Wie Hanoi staa si znana w XIX wieku dziki matematykowi douardowi Lucasowi, ktry proponowa zagadk dla 8 krkw. Do sprzedawanego zestawu bya doczona (prawdopodobnie wymylona przez Lucasa) tybetaska legenda, wedug ktrej mnisi w wityni Brahmy rozwizuj t amigwk dla 64 zotych krkw. Legenda mwi, e gdy mnisi zakocz zadanie, nastpi koniec wiata. Zakadajc, e wykonuj 1 ruch na sekund, uoenie wiey zajmie 2641 = 18 446 744 073 709 551 615 (blisko 18 i p tryliona) sekund, czyli okoo 584542 miliardw lat. Dla porwnania: Wszechwiat ma okoo 13,7 mld lat.

    Wiea Hanoi

  • Oznaczmy podstawki przez A, B, Cniech n oznacza liczb krkwponumerujmy krki od najmniejszego u gry do najwikszego u dou

    W celu przeniesienia n krkw z A do B naley:przenie n-1 krkw z A do C wwczas n-ty dysk samotnie pozostaje w Aprzenie n-ty (najwikszy) krek z A do Bprzenie n-1 krkw z C do B

    Wiea Hanoi- algorytm rekurencyjny

  • Iteracja jest jednym z najwaniejszych narzdzi zarwno praktycznego, jak i teoretycznego badania problemw liniowych i nieliniowych. Iteracja (z aciskiego "iteratio", powtarzanie), czyli kolejne przyblianie, oznacza powtarzanie pewnej wzorcowej czynnoci lub procesu. Iteracja w tym sensie wystpuje wtedy, gdy wielokrotnie stosuje si jaki proces numeryczny - by moe bardzo zoony i zawierajcy wiele przykadw uycia iteracji w wszym sensie - po to, aby stopniowo ulepsza wczeniejsze wyniki.Iteracja

  • W informatyce iteracja to czynno powtarzania (najczciej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w ptli. Mianem iteracji okrela si take operacje wykonywane wewntrz takiej ptli. W odrnieniu od rekurencji, ktra dziaa "od gry", iteracja do obliczenia n+1-szej wartoci wykorzystuje poprzedni, n-t iteracj. Rekurencja dla obliczenia n-tej wartoci potrzebuje zejcia a do pierwszej wartoci.Wystpowanie iteracji jest cech charakterystyczn wielu algorytmw.Iteracja

  • Iteracje moemy podzieli na dwa rodzaje:iteracje ograniczone kiedy wiemy od razu ile razy pewne czynnoci bd powtarzane. Stosowane s jeeli zbir jest okrelony poprzez podanie jego liczebnoci. Iteracje te odbywaj si wedug schematu:powtrz operacje A dokadnie n razyiteracje warunkowe (nieograniczone) kiedy nie wiemy z gry ile razy pewne czynnoci bd powtarzane. Stosowane s jeeli okrelenie koca zbioru odbywa si poprzez wartownika. Schemat wedug ktrego odbywaj si iteracje wyglda nastpujco:dopki speniony jest warunek Q wykonuj operacje Apowtarzaj operacje A, a zostanie speniony warunek QIteracja

  • Iteracje maj szerokie zastosowanie przy tworzeniu fraktali. Przykadem mog by zbiory Julii. W zalenoci od "punktu startu" moemy w wyniku iteracji otrzyma cig, ktry bdzie bd nieograniczony (jego elementy opuszcz kady okrg ze rodkiem w centrum ukadu wsprzdnych) bd te bdzie ograniczony (czyli taki, dla ktrego istnieje okrg - o rodku w centrum ukadu wsprzdnych - jakiego elementy cigu nigdy nie opuszcz).Zbiory takich "punktw startu" w obu przypadkach nazywa si odpowiednio zbiorem uciekinierw lub zbiorem winiw. Oba te zbiory s niepuste i dopeniajce si na paszczynie zespolonej, zatem istnieje tylko jedna - wsplna - ich granica.Przedstawiony przykad dotyczy zbioru rzdu drugiego (gdy iterowany zosta wielomian stopnia drugiego).

    Iteracja

  • Iteracje wykorzystywane s take do projektowania parkietw czy posadzek. Problem ten, dla przypadku pytek w ksztacie wieloktw foremnych, jest ju znany od czasw staroytnych. Ca paszczyzn dzieli si na stykajce si w wierzchokach wielokty foremne, tak aby w kadym wierzchoku stykay si wszystkie przystajce do wybranych wielokty. Poniewa wielokt o n bokach posiada kt o mierze (n - 2) * 1800/ n, a suma miar wszystkich poczonych w wierzchoku ktw wynosi 3600, std przykadowo dla trzech wieloktw (o iloci bokw n1, n2, n3) mamy warunek

    a dla czterech wieloktw (o iloci bokw n1, n2, n3 ,n4)

    Przykadowe projekty parkietw zostan przedstawione na kolejnych slajdach. Mona je zrealizowa w edytorach grafiki (np. Power Point).Iteracja

  • Rozwi doczony test.

    Swoj prac wylij w formie zacznika na [email protected]

    Dzikuj Barbara Kocz

    rdo: www.szkolnictwo.plZadanie

    ********************