i paskaita 2014 (p170b121)

Upload: pinokis123

Post on 07-Mar-2016

52 views

Category:

Documents


2 download

DESCRIPTION

AA

TRANSCRIPT

  • Algoritm sudarymas ir analiz

    P170B121

    doc. Dalius Makackas (teorija, laboratoriniai)

    doc. Vytautas Pilkauskas (laboratoriniai)

  • Orientacinis tem turinys

    Eil. Nr. Pavadinimai

    1. Algoritm analizs pagrindai

    1.1 Algoritmas ir jo darbo efektyvumo vertinimas

    1.2 Funkcij augimo greiiai

    1.3 Rekurentins formuls

    1.4 Tikimybin algoritm analiz

    2. Rikiavimo algoritm analiz

    2.1 Rikiavimas burbuliuko ir terpimo metodais

    2.2 Piramids ir greito rikiavimo metodai

    2.3 Optimalus rikiavimas

    2.4 Rikiavimo metodai, kuri darbo laikas auga tiesikai

    3. Heavimo lentels

    3.1 Heavimas grandinli metodu

    3.2 Heavimo funkcijos

  • Eil. Nr. Pavadinimai

    3.3 Atviro adresavimo heavimas

    4. Irinkimo algoritmai

    4.1 Binariniai paiekos mediai

    4.2 Raudonai juodi mediai

    Koliokviumas

    5. Algoritm sudarymo principai ir j sudtingumo vertinimas

    5.1 Dinaminis programavimas

    5.2 Gods algoritmai

    5.3 Amortizacin analiz

    6. Algoritmai darbui su grafais

    6.1 Grafo apraymo duomen struktros

    6.2 Paieka gyl ir plot

    6.3 Topologinis rikiavimas ir stipriai susieti komponentai

  • Eil. Nr. Pavadinimai

    6.4 Minimals dengiantys mediai. Kruskalo ir Prima algoritmai

    6.5 Trumpiausi keliai. BelmanoFordo ir Dikstra algoritmai

    6.6 Dionsono ir FloidoVaralo algoritmai

    6.7 Sraut tinklai. FordoFalkersono metodas

    6.8 Maksimalaus por skaiiaus radimo udavinys

    7. Udaviniai neturintys sprendimo algoritmo

    8. N ir NP udaviniai

    Egzaminas

    Pagrindin literatra: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to algorithms. MIT Press (2009), 1312 pages, ISBN 0262033844 (II leidimas, galima naudoti ir III leidim)

  • Savarankiko darbo uduoi grafikas ir j taka galutiniam paymiui

    Ats

    isk

    ait

    y

    mo

    fo

    rma

    Te

    mo

    s

    Va

    l. s

    k.

    ta

    ka

    (%

    ) Uduoties pateikimo (*) ir

    atsiskaitymo savait (o)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17-

    20

    Laboratorinio darbo

    gynimas

    1-8 8 40 * 0 0

    Egzaminas 1-8 12 30 * 0

    Koliokviumas 1-8 12 30 * 0

    I viso - 32 100

  • Vertinimas

    I laboratorinis 20% (uduotys bus pateiktos 4 savait) II laboratorinis 20% (uduotys bus pateiktos atsiskaiius

    I lab. darb) (Kiekviena vlavimo savait baudiama 1 balu, iki 5 bal;

    t. y. naudojant formul [

    7] + 1)

    Koliokviumas 30% (bus vykdomas ratu) Egzaminas 30%

    Galutinis paymys gaut vertinim suma.

  • Kaip suprasime algoritm

    Algoritmas tai bet kuri korektikai apibrta skaiiavimo procedra, kuriai perduodama reikm ar reikmi rinkinys (jimas), o jos vykdymo rezultatas yra reikm ar reikmi rinkinys (ijimas).

    Korektikas algoritmas jei kiekvienai jimo duomen rinkiniui skaiiavimo procedra grina korektik rezultat.

  • Ar reikia studijuoti algoritmus?

    Tarkime turime begalini resurs (greitaveikos ir atminties) kompiuterius

    Tarkime turime realius Ribota greitaveika Ribota atmintis

  • Pavyzdys:

    A variantas B variantas

    A algoritmas (n2) B algoritmas (n lg n)

  • A variantas B variantas

    A algoritmas (n2) B algoritmas (n lg n)

    1000 000 000 instrukcij 1000 000 instrukcij

    Realizacija c1=2 (2n2) Realizacija c2=50 (n lg n)

    Rikiuojame 1000 000

    skaii Rikiuojame 1000 000 skaii

    Darbo laikas

    s

    skomandos

    komandos2000

    10

    1029

    26

    Darbo laikas

    sskomandos

    komandos100

    10

    10lg10506

    66

    Kai n=10 000 000 2,3 dienos

    Kai n=10 000 000 20 min

  • Rib skaiiavimas

    Liopitalio taisykl:

    xgxf

    xg

    xf

    nn

    limlim , jei yra

    ar

    0

    0.

  • Diferencijavimas

    xf xf

    a 0

    ax 1aax

    xe xe

    xa xax ln

    xln

    x

    1

    xalog

    ax ln

    1

  • xx xxx ln1

    xvxu xvxu

    xvxu xvxuxvxu

    xvu xvxvu