• Nie Znaleziono Wyników

Analiza zªo»ono±ci czasowej

W dokumencie Index of /rozprawy2/11034 (Stron 62-66)

3.5 Zªo»ono±¢ automatu F DP LLA(k)

3.5.1 Analiza zªo»ono±ci czasowej

Zaczniemy od oszacowania zªo»ono±ci czasowej. Warto przypomnie¢, i» dziaªanie auto-matu F DP LLA(k) jest opisane diagramem stanów (rys. 3.7 na str. 59). Przetworzenie ka»dego z prymitywów rozmytych skªadaj¡cych si¦ na wej±ciowe sªowo rozmyte, b¦-dzie oznaczaªo dla automatu przej±cie kolejne przez stany Q1, Q2, Q5 lub Q3, Q4, Q6

docelowa). Wystarczy wi¦c oszacowa¢ i zsumowa¢ koszty dziaªania automatu w sta-nach Q1, Q2, Q5 dla wybranego prymitywu rozmytego. Nast¦pnie nale»y tak uzyskane oszacowania zsumowa¢ dla wszystkich prymitywów rozmytych skªadaj¡cych si¦ na wej-±ciowe sªowo rozmyte.

Rozwa»my wariant dziaªania automatu w stanach Q1, Q2, Q5 dla ustalonego pry-mitywu rozmytego ai wymiaru ki. Zaªó»my, »e na ta±mie ¹ródªowej zapisano dane nast¦puj¡cych procesów analizy pr1, ..., prq.

3.5.1.1 Dziaªanie automatu F DP LLA(k) w stanie Q1

(rozpoznanie pojedynczego prymitywu rozmytego wymiaru ki) W stanie Q1 dziaªanie automatu polega na iteracyjnym powtarzaniu nast¦puj¡cych czynno±ci:

1. czynno±¢ 1: przydziaª zada« parserom z puli P P A,

2. czynno±¢ 2: przetworzenie przydzielonych zada« przez parsery,

3. czynno±¢ 3: zapisanie wyników dziaªania parserów na ta±m¦ docelow¡

M EM.T 2.

Kolejno b¦dziemy szacowa¢ koszt wykonania ka»dej z tych czynno±ci w ka»dej z iteracji.

1. Czynno±¢ 1: Polega, na przeczytaniu ta±my P ST od lewej do prawej. Dla par-serów, których status ma warto±¢ I przydzielane s¡ zadania wywodu. Przydziaª ka»dego zadania b¦dzie wi¡zaª si¦ z przepisaniem do bie»¡cej komórki ta±my P ST nast¦puj¡cych informacji:

a) symbolu do wywodu (z ta±my IT ),

b) wska¹nika do danych procesowych (z odpowiedniej ta±my MEM.T 1 lub

M EM.T 2).

Jest to czynno±¢ o koszcie staªym, oznaczmy go l. W pojedynczej iteracji proce-dura ta b¦dzie powtórzona co najwy»ej p razy, a wi¦c koszt pojedynczej iteracji czynno±ci 1 nie b¦dzie przekraczaª l ∗ p = O(p).

2. Czynno±¢ 2: Skopiowanie danych procesów analizy i przetworzenie zada« analizy przez parsery DP LL(k):

a) Skopiowanie danych jest czynno±ci¡ polegaj¡c¡ na przepisaniu w nowy obszar pami¦ci danych procesu znajduj¡cych si¦ w obszarze pami¦ci okre±lonym przez odpowiedni wska¹nik. Wymaga to przepisania sko«czonej liczby sªów, których dªugo±¢ jest co najwy»ej rz¦du O(n). Operacja ta kosztuje wi¦c równie» O(n). b) Przetworzenie przydzielonych zada« analizy. Zgodnie z prac¡ [28] wykonanie zadania wywodu pojedynczego symbolu przez parser klasy DP LL(k) wymaga wykonania O(n) operacji. Do tego nale»y doda¢ koszt obliczenia warto±ci funk-cji steruj¡cej wynosz¡cy nie wi¦cej ni» O(n) (jednokrotnie dla ka»dego z par-serów z puli P P A). Realizacja tej czynno±ci b¦dzie wi¦c wymaga¢ wykonania co najwy»ej p ∗ O(n) + p ∗ O(n) = O(p ∗ n). Je±li chodzi o zªo»ono±¢ czasow¡, b¦dzie to przekªada¢ si¦ na liczb¦ O(p ∗ n).

Razem wszystkie etapy czynno±ci 2, b¦d¡ wi¡zaªy si¦ z wykonaniem O(p ∗ n) operacji.

3. Czynno±¢ 3: Zapisanie wyników dziaªania parserów na ta±m¦ docelow¡

M EM.T 2. Polega, na przeczytaniu ta±my od lewej do prawej. Dla parserów, któ-rych status ma warto±¢ T lub C konieczne jest wypisanie danych procesu na wyj-±cie automatu lub zapisanie wska¹nika do danych w pami¦ci P DS(odpowiednio) na jednej z ta±m MEM.T 1 lub MEM.T 2. Pierwsza z nich wymaga nakªadu rz¦du O(n) (jedna z wªa±ciwo±ci procesu analizy tj. przeczytany ci¡g znaków mo»e mie¢ dªugo±¢ n). Druga czynno±¢ wi¡»e si¦ z kosztem staªym (zapis jednej warto±ci na jednej z ta±m MEM.T 1 lub MEM.T 2). W ka»dym przypadku koszt ten nie b¦dzie przekraczaª rz¦du O(n).

Š¡czna zªo»ono±¢ czasowa przetworzenia pojedynczej iteracji czynno±ci 1, 2, 3 b¦dzie wynosiªa:

T C1,2,3= O(p) + O(p ∗ n) + O(n) = O(p ∗ n).

Zada« analizy jest q ∗ ki, st¡d przetworzonych zostanie co najwy»ej dq ∗ ki/pe itera-cji zestawu czynno±ci 1, 2, 3. W zwi¡zku z tym koszt przetworzenia wybranego i-tego

prymitywu rozmytego w stanie Q1 b¦dzie wynosiª:

T CQ1 =dq ∗ ki/pe ∗ O(p ∗ n) ¬ O(q ∗ ki/p) ∗ O(p ∗ n) =

=O(q ∗ ki∗ n) ¬ O(m ∗ σ ∗ n)

3.5.1.2 Dziaªanie automatu F DP LLA(k) w stanie Q2, Q5

(rozpoznanie pojedynczego prymitywu rozmytego wymiaru ki) W stanach Q2 oraz Q5 dziaªanie automatu polega przetworzeniu nast¦puj¡cych czyn-no±ci:

1. Czynno±¢ 1: Przetworzenie przydzielonych zada« przez parsery P P A.

2. Czynno±¢ 2: Zapisanie wyników dziaªania parserów na ta±m¦ docelow¡

M EM.T 2 przez automat P ST .

3. Czynno±¢ 3: Powtórna werykacja ta±my P ST i zmiana stanu Q2 na Q3.

Analizuj¡c teraz ka»d¡ czynno±¢ z osobna mamy:

1. Czynno±¢ 1: Przetworzenie przydzielonych zada« przez parsery. Zgodnie z prac¡ [28] wykonanie zadania wywodu pojedynczego symbolu przez parser klasy

DP LL(k)wymaga wykonania O(n) operacji. Do tego nale»y doda¢ koszt oblicze-nia warto±ci funkcji stopu analizy wynosz¡cy nie wi¦cej ni» O(n) (jednokrotnie dla ka»dego z parserów z puli P P A). Realizacja tej czynno±ci b¦dzie wi¦c wyma-ga¢ wykonania co najwy»ej p ∗ O(n) + p ∗ O(n) = O(p ∗ n) operacji.

2. Czynno±¢ 2: Zapisanie wyników dziaªania parserów na ta±m¦ docelow¡

M EM.T 2. Czynno±¢ ta polega, na przeczytaniu ta±my od lewej do prawej przez automat P SA. Dla parserów, których status ma warto±¢ T lub C, konieczne jest wypisanie danych procesu na wyj±cie automatu lub zapisanie wska¹nika do da-nych w pami¦ci P DS na jednej z ta±m MEM.T 1 lub MEM.T 2 (odpowiednio). Pierwsza z nich wymaga nakªadu rz¦du O(n) (jedna z wªa±ciwo±ci procesu analizy tj. przeczytany ci¡g znaków mo»e mie¢ dªugo±¢ n). Druga czynno±¢ wi¡»e si¦ z kosztem staªym (zapis jednej warto±ci na jednej z ta±m MEM.T 1 lub MEM.T 2). W ka»dym przypadku koszt ten nie b¦dzie przekraczaª rz¦du O(n).

3. Czynno±¢ 3: polega na przeczytaniu ta±my P ST i zmianie stanu. Koszt wyko-nania nie b¦dzie przekraczaª O(p).

Czynno±ci te wykonywane s¡ w danej iteracji co najwy»ej raz. Š¡czny koszt oblicze-niowy przetworzenia czynno±ci 1, 2, 3 b¦dzie wynosiª:

T C1,2,3 = T CQ2,Q5 = O(p ∗ n) + O(n) + O(p) = O(p ∗ n). 3.5.1.3 Dziaªanie automatu F DP LLA(k) w stanie Q1, Q2, Q5

(rozpoznanie pojedynczego prymitywu rozmytego wymiaru ki) Podsumowuj¡c koszt obliczeniowy analizy prymitywu rozmytego ai wymiaru ki w sta-nach Q1, Q2, Q3 wynosi:

T CQ1,Q2,Q5 = O(m ∗ σ ∗ n) + O(p ∗ n) = O(max(m ∗ σ ∗ n, p ∗ n)) = O(m ∗ σ ∗ n). 3.5.1.4 Dziaªanie automatu F DP LLA(k) w stanie Q1− Q6

(analiza caªego sªowa)

Ostatecznie (sumuj¡c te koszty dla wszystkich prymitywów rozmytych, które buduj¡ dane sªowo), otrzymujemy koszt obliczeniowy analizy sªowa rozmytego w o dªugo±ci n. Wynosi on:

T Cw = O(n ∗ m ∗ σ ∗ n) = O(m ∗ σ ∗ n2).

UWAGA 3.1 Pesymistyczna zªo»ono±¢ czasowa analizy sªowa rozmytego w o dªugo±ci

n przez automat F DP LLA(k) wynosi O(n2).

W dokumencie Index of /rozprawy2/11034 (Stron 62-66)

Powiązane dokumenty