ALGORİTMA ANALİZİ - ceng1.cumhuriyet.edu.trceng1.cumhuriyet.edu.tr/edelibas/lectures/AAL_02_Asimptotik.pdf · Temel hesap birimi olarak, programlama dilindeki deyimler seçilebildiği

  • Upload
    voque

  • View
    243

  • Download
    4

Embed Size (px)

Citation preview

  • ALGORTMA ANALZCumhuriyet niversitesi

    Bilgisayar Mhendislii Blm

  • Yrtme Zaman (Running Time)

    Algoritmann belirli bir ileme veya eyleme ka

    kez gereksinim duyulduunu gsteren bantdr

    ve T(n) ile gsterilir.

    Temel hesap birimi olarak, programlama

    dilindeki deyimler seilebildii gibi dng says,

    toplama ilemi says, atama says, dosyaya

    erime says gibi iler de temel hesap birimi

    olarak seilebilir.

    Algoritma Analizi - Asimptotik

    2

  • Yrtme Zaman (Running Time)

    Yrtme zaman bants fiziksel geree yakn

    bir sonu verir, ancak sapmalar da olabilir.

    Kabul edilen temel hesap birimi tm hesaplar

    iin ayn olmayabilir.

    R: Bir tam say sayacn bir artrlmasyla iki

    gerel saynn arpm maliyeti farkl olabilir veya

    iki tam sayy karlatrmak ile iki diziyi

    karlatrma maliyetleri farkl olur.

    Algoritma Analizi - Asimptotik

    3

  • Yrtme Zaman (Running Time)

    R: Aadaki kodun yrtme zaman bantsn belirleyiniz.float bulorta( float A[], int n)

    {

    float ortalama, toplam=0;

    int k;

    for (k=0; k

  • Yrtme Zaman (Running Time)

    R: Aadaki kodun yrtme zaman bantsn belirleyiniz.void toplamMatris(A, B, C)

    int A[n][m], B[n][m], C[n][m];

    {

    int i,j;

    for (i=0; i

  • Karmaklk

    Algoritmalar karlatrabilmek iin bir

    algoritmann zorluk derecesi lmne

    Computational Complexity denir.

    Computational complexity bir algoritmann

    gerekletirilmesi iin gereken maliyeti veya

    abay ifade eder. Maliyet veya aba zaman

    (time) ve kullanlan alan (space) ile ifade edilir.

    Algoritma Analizi - Asimptotik

    6

  • Asimptotik Karmaklk

    Algoritmalarda t (sre) ve n (giri boyutu) arasndaki iliki

    ou zaman ok karmaktr.

    Fonksiyon ierisindeki nemsiz ksmlar ve katsaylar atlarak

    basitletirilir ve gerek fonksiyona gre yaklak bir deer

    bulunur.

    Elde edilen bu yeni etkinlik lmne Asymptotic

    Complexity denir.

    Genellikle giriin bymesine bal olarak fonksiyonun

    bymesinde en byk etkiye sahip olan parametre alnr.

    Algoritma Analizi - Asimptotik

    7

  • Asimptotik Karmaklk

    n t(n)=60n2+5n+1 60n2

    10 6.051 6.000

    100 600.501 600.000

    1.000 60.005.001 60.000.000

    10.000 6.000.050.001 6.000.000.000

    Algoritma Analizi - Asimptotik

    8

  • Asimptotik Karmaklk

    Algoritma Analizi - Asimptotik

    9

  • Asimptotik Analiz

    Ama: detaylardan kurtularak alma sresi analizini basitletirmek

    Saylar iin rounding ilemi:1,000,001 1,000,000

    Fonksiyonlar iin rounding ilemi: 3n2 n2

    Niteliini belirlemek (Capturing the essence): belirlenen limit ierisinde giriin boyutuna gre algoritmann alma sresinin nasl arttnn bulunmas

    Algoritma Analizi - Asimptotik

    10

  • Asimptotik Analiz

    Algoritmalarn best, worst ve average case alma sreleri bir fonksiyonla

    ifade edilebilir.

    Ancak kesin srenin hesaplanmas olduka zor ve karmaktr.

    Algoritma Analizi - Asimptotik

    11

  • Asimptotik Notasyonlar

    big-O O-ifadesi

    asymptotic upper bound

    f(n) = O(g(n)), eer sabit bir c ve n0 deeri iin

    f(n) c.g(n) btn n n0deerleri iin doruysa

    f(n) ve g(n) pozitif deere sahip fonksiyonlardr.

    worst-case analiz iin kullanlr

    Algoritma Analizi - Asimptotik

    12

  • Asimptotik Notasyonlar Big O

    Algoritma Analizi - Asimptotik

    13

  • Asimptotik Notasyonlar Big O

    rnek:

    3n2+2n+5 = O(n2) olduunu gsteriniz.

    10 n2 = 3n2 + 2n2 + 5n2

    3n2 + 2n + 5 , n 1

    c = 10, n0 = 1

    Algoritma Analizi - Asimptotik

    14

  • Asimptotik Notasyonlar Big O

    O-ifadesi iin genellikle en basit forml kullanlr.

    rnek:

    3n2+2n+5 = O(n2)

    Aadaki rneklerde dorudur ancak genellikle kullanlmazlar.

    3n2+2n+5 = O(3n2+2n+5)

    3n2+2n+5 = O(n2+n)

    3n2+2n+5 = O(3n2)

    Algoritma Analizi - Asimptotik

    15

  • Asimptotik Notasyonlar Big W

    Big-Omega W ifadesi

    Asymptotic Lower Bound

    f(n) = W (g(n)), eer sabit bir c ve n0 deeri iin

    c.g(n) f(n) btn n n0

    deerleri iin doruysa

    best-case alma sresi veya lower bound tanmlamasnda kullanlr.

    Algoritma Analizi - Asimptotik

    16

  • Asimptotik Notasyonlar Big W

    Algoritma Analizi - Asimptotik

    17

  • Asimptotik Notasyonlar Big W

    Basit kural: Kk dereceden terimler ve sabitler

    atlr.

    50 n log n ifadesi O(n log n) eklinde gsterilir.

    7n - 3 ifadesi O(n)

    8n2 log n + 5n2 + n ifadesi O(n2 log n) eklinde ifade

    edilir.

    Algoritma Analizi - Asimptotik

    18

  • Asimptotik Notasyonlar Big-

    Big-Theta fadesi

    asymptotic tight bound

    f(n) = (g(n)), eer sabit

    c1, c1 , ve n0 , deerleri iin

    c1 g(n) f(n) c2 g(n)

    btn n n0 deerleri iin

    doruysa.

    Algoritma Analizi - Asimptotik

    19

  • Asimptotik Notasyonlar Little-o

    "Little-o" ifadesi f(n)=o(g(n)) rn: 2n = o(n2)

    Her c>0 iin, bir n0 deeri vardr ve

    0 f(n) c . g(n)

    ifadesi btn n n0 deerleri iin dorudur.

    alma srelerinin karlatrlmas iin kullanlr. Eer

    f(n)=o(g(n)), ise g(n), f(n) fonksiyonundan daha

    arlkldr (dominates).

    Algoritma Analizi - Asimptotik

    20

  • Asimptotik Notasyonlar - Little-

    "Little-omega" ifadesi f(n)= (g(n)) rn: n2/2 =

    (n)

    Her c>0 iin, bir n0 deeri vardr ve f(n) > c.g(n)

    0 ifadesi btn n n0 deerleri iin dorudur.

    alma srelerinin karlatrlmas iin kullanlr.

    Eer f(n)= (g(n)), ise f(n), g(n) fonksiyonundan

    daha arlkldr. (dominates).

    Algoritma Analizi - Asimptotik

    21

  • Asimptotik Notasyonlar

    f(n) = O(g(n)) gerekte f(n) O(g(n)) anlamndadr.

    Algoritma Analizi - Asimptotik

    22