Professional Documents
Culture Documents
e-mail: Zbigniew.Tarapata@wat.edu.pl
http:// tarapata.strefa
tarapata.strefa.pl
.pl//p_obliczenia_rownolegle /
PLAN REFERATU
n Zloz ono
onosc
sc algorytmu a zlozonosc problemu (zadania);
n Zlozonosc pesymistyczna
pesymistyczna, zlozonosc oczekiwana ,
wrazzliwo
wra liwosc
sc algorytmów;
n Klasy zl
zloz ono
onossci obliczeniowej problemów;
n Dowodzenie przynalez
przynalez no
nossci problemu do klasy zl
zloz ono
onossci
ci;
1
ALGORYTM - przypomnienie podstawowych pojec
ZLOZONOSC ALGORYTMU
A ZLOZONOSC PROBLEMU (ZADANIA)
n Zloz ono
onosc
sc algorytmu – liczba kroków algorytmu
(czas) potrzebna na rozwiazanie danego
problemu dla najgorszego przypadku danych
ustalonego rozmiaru;
2
OPTYMALNOSC W SENSIE ZLOZONOSCI,
OPTYMALNOSC W SENSIE DOKLADNOSCI
S(A(Z)) ≤ ε ⋅ S(Z)
gdzie S(A(Z)) – wartosc rozwiazania problemu Z przez algorytm
A, S(Z) – wartosc optymalnego rozwiazania problemu Z;
UWAGA!
Optymalnosc algorytmu ze wzgledu na dokladnosc oraz zlozonosc
nie musi sie pokrywac !!!
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 5
PESYMISTYCZNA ZLOZONOSC
OBLICZENIOWA
Niech:
Dn - zbiór danych rozmiaru n dla rozwazanego
problemu;
t( I ) - liczba operacji podstawowych wykonanych
przez algorytm na danych I∈Dn;
W (n ) = max {t ( I ) : I ∈ Dn }
3
OCZEKIWANA ZLOZONOSC
OBLICZENIOWA
Niech:
p( I ) -prawdopodobienstwo wystepowania danych I∈Dn;
X n- zmienna losowa o wartosciach t ( I ) i rozkladzie p(I );
A(n ) = ∑ p ( I ) t (I ) = E ( X n )
I ∈Dn
WRAZLIWOSC PESYMISTYCZNA
I OCZEKIWANA ALGORYTMÓW
Wrazliwosc pesymistyczna:
∆ (n ) = max{t( I1 ) − t (I 2 ) : I1 , I 2 ∈ Dn }
Wrazliwosc oczekiwana:
δ (n ) = Var( X n ) = ∑ p (I ) ⋅ (t ( I ) − E( X ))
2
n
I ∈Dn
4
DEFINICJE RZEDÓW ZLOZONOSCI
OBLICZENIOWEJ
Niech R* =R +∪{0}.
Mówimy, ze funkcja f(x):R*→R* jest rzedu O(g(x) g(x)))
(g(x):R*→R*), jesli istnieje taka stala c>0 oraz x0∈R*,
ze dla kazdego x≥x0 zachodzi f(x)≤c⋅g(x) (f nie rosnie
szybciej niz g).
y
f(x)=O(g(x))
cg(x)
f(x)
x
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 x0 9
Niech R* =R +∪{0}.
Mówimy, ze funkcja f(x):R*→R* jest rzedu Ω (g(x) g(x)))
(g(x):R*→R*), jesli istnieje taka stala c>0 oraz x0∈R*,
ze dla kazdego x≥x0 zachodzi g(x)≤c⋅f(x) (f nie rosnie
wolniej niz g).
y
f(x)=Ω (g(x)
(x)=Ω g(x)))
cf(x)
g(x)
x
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 x0 10
5
DEFINICJE RZEDÓW ZLOZONOSCI
OBLICZENIOWEJ, c.d.
Niech R* =R +∪{0}.
Mówimy, ze funkcja f(x):R*→R* jest rzedu Θ (g(x) g(x)))
(g(x):R*→R*), jesli istnieja takie stale c1, c2>0 oraz
x0∈R*, ze dla kazdego x≥x0 zachodzi
c1 g(x)≤f(x)≤c2g(x) (f rosnie tak samo jak g).
y
f(x)=Θ (g(x)
(x)=Θ g(x))) c2g(x)
f(x)
c 1g(x)
x
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 x0 11
subliniowa
polilogarytmiczna Θ(log log n ) , Θ (log 2 n )
liniowa Θ(n ) , Θ(n(1+ 1 / n )n )
quasi-liniowa Θ (nlog n ) , Θ(n log log n )
wielomianowa n
kwadratowa ( )
Θ n 2 ,Θ
2
superwielomianowa ( ) , Θ(e )
Θ n lg n
n
superwykladnicza Θ(2 ) , Θ (n )
n n n
6
Wplyw wzrostu predkosci komputera na
maksymalny rozmiar zagadnienia, które
mozna rozwiazac w jednostce czasu
Algorytm Maksymalny rozmiar zagadnienia
przed wzrostem po 100-krotnym
Symbol Zlozonosc
predkosci wzroscie predkosci
A5 Θ(n ) N5 100N 5
A4 ( )
Θn 2
N4 10 N4
Θ(n ) 3
A3 N3 4.64 N3
A2 Θ(n ) 5
N2 3.5 N2
A1 Θ(2 ) n
N1 6.64+N 1
A0 Θ (n log n ) N0 100N 0 dla N 0 >> 1
N42 = 1h , c4 N 4 ( )2
= 1h ⋅ 100 ⇒ c4 = 100 = 10
7
SZACOWANIE ZLOZONOSCI
OBLICZENIOWEJ
Metody szacowania zlozonosci algorytmów
Aby oszacowac zlozonosc algorytmu zlicza sie tzw. operacje
podstawowe dla badanego problemu lub klasy rozwazanych
algorytmów, tj. takie, które sa najczesciej wykonywane
(ignorujac pozostale operacje pomocnicze, takie jak
instrukcje inicjalizacji, instrukcje organizacji petli itp.).
Tabela 1 Przyklady operacji podstawowych dla typowych
problemów obliczeniowych
Lp. Problem Operacja Zalety zliczania operacji
1. Znalezienie x na liscie Porównanie x z pozycja na podstawowych:
nazwisk. liscie.
- Uniezale znienie sie od
2. Mnozenie dwóch macierzy Mnozenie dwóch macierzy rodzaju i liczby
liczb rzeczywistych. liczb typu real (lub mnozenie procesorów ;
i dodawanie). - Mozliwosc przewidywania
zachowania sie algorytmu
3. Porzadkowanie liczb. Porównanie dwóch liczb
dla róznych danych;
(lub porównanie i zamiana).
- Swoboda wyboru operacji
4. Wyznaczanie drogi Operacja na wskazniku listy. podstawowej;
najkrótszej w grafie zadanym
w postaci
Z.Tarapata, listyrównolegle,
Obliczenia sasiadów. wyklad nr 1 15
Czy moz
mozemy zapisac
zapisac, ró wniezz Ω (n) ?
r ó wnie TAK
8
SZACOWANIE ZLOZONOSCI OBLICZENIOWEJ
Przykllady praktyczne mierzenia z lozono
Przyk onos
s ci obliczeniowej – Przyk lad 5
9
SZACOWANIE ZLOZONOSCI OBLICZENIOWEJ
Przykllady praktyczne mierzenia z lozono
Przyk onos
s ci obliczeniowej – Przyk lad 6, c.d.
10
SZACOWANIE ZLOZONOSCI OBLICZENIOWEJ
Przykllady praktyczne mierzenia z lozono
Przyk onos
s ci obliczeniowej – Przyk lad 7
Insertion-Sort(A)
koszt liczba wykonan
wykona n
1. for j:=2 to length[A] c1 n
2. do key:=A[i] c2 n-1
3. i:= j-1 c3 n-1
n
4. while i>0 i A[i] > key c4 ∑t j
j =2
n
5. do A[i+1] := A[i] c5
∑ (t j −1)
j =2
6. i:= i-1 c6 n
∑ (t j −1)
j =2
7. A[i+1] := key c7 n-1
11
SZACOWANIE ZLOZONOSCI OBLICZENIOWEJ
Przyk lady praktyczne mierzenia zl
z lozono
onos
s ci obliczeniowej – Przyk lad 7, c.d.
n n n
T ( n) = c1n + c2 ( n − 1) + c3 ( n − 1) + c4 ∑ t j + c5 ∑ (t j − 1) + c6 ∑ (t j − 1) + c7 ( n − 1)
j= 2 j =2 j= 2
n n(n + 1) n n(n − 1)
∑j= −1 ∑ ( j − 1) =
j= 2 2 j= 2 2
n(n + 1) n( n − 1) n( n − 1) + c (n − 1) =
T (n ) = c1n + c2 ( n − 1) + c3 ( n − 1) + c4 − 1 + c5 + c6 7
2 2 2
c c c c c c
= 4 + 5 + 6 n 2 + c1 + c2 + c3 + 4 − 5 − 6 + c 7 n − (c2 + c3 + c4 + c7 )
2 2 2 2 2 2
T ( n) = an 2 + bn + c = O( n 2 )
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 23
12
SPOSOBY BADANIA OPTYMALNOSCI
ALGORYTMÓW
Przyklad
13
SPOSOBY BADANIA OPTYMALNOSCI
ALGORYTMÓW, PRZYKLAD C.D.
Algorytm_2
Oszacowanie dolne: Przypuscmy, ze nie
Dane: L, n, gdzie L jest tablica ma dwóch jednakowych liczb w L.
n-elementowa . Zalozenie takie jest dopuszczalne,
Wyniki: max, najwiekszy element poniewaz dolne oszacowanie w tym
szczególnym przypadku jest równiez
w L.
dolnym oszacowaniem w przypadku
begin ogólnym. Gdy mamy n róznych liczb, to
1. max:= L[1]; n-1 z nich nie sa najwiekszymi. Ale zeby
stwierdzi c, ze jakis element nie jest
2. for index:= 2 to n do maksymalny, trzeba go porównac z
3. if max < L[index] then przynajmniej jednym z pozostalych.
max:= L[index] Zatem n-1 elementów musi byc
wyeliminowanych droga porównania z
end; pozostalymi. Poniewaz w kazdym
porównaniu biora udzial tylko 2
elementy, wiec trzeba wykonac
Oszacowanie gó
g órne
rne: Przypuscmy, ze przynajmniej n-1 porównan. Zatem
liczby zapisane s a w tablicy L. Poró wnania s a F(n)=n-1 jest poszukiwanym dolnym
realizowane w linii 3, która jest wykonywana n-1 oszacowaniem i na tej podstawie
razy. Zatem n-1 jest g órna granica liczby wnioskujemy, ze algorytm_2 jest
porównan koniecznych do znalezienia optymalny.
maksimum w najgorszym przypadku danych.
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 27
Przyklad
Problem: Dane sa dwie macierze A = aij B = bij
rozmiaru n × n . Obliczyc macierz C = A × B.
Klasa algorytmów: Algorytmy wykonujace
dodawania, odejmowania, mnozenia i dzielenia na
elementach macierzy.
Operacja podstawowa: Mnozenie.
Oszacowanie górne: Jak wiadomo, zwykly algorytm
wykonuje n3 mnozen, zatem n3 jest oszacowaniem
z góry.
Oszacowanie dolne: Jak wiadomo, zlozonosc
pamieciowa wynosi 2n2 , wiec Ω n 2 mnozen jest ( )
niezbednych.
14
SPOSOBY BADANIA OPTYMALNOSCI
ALGORYTMÓW, PRZYKLAD C.D.
15
PROBLEM DECYZYJNY
A PROBLEM OPTYMALIZACYJNY
Problem decyzyjny – taki, dla którego odpowiedz brzmi „tak” albo „nie”.
Problem optymalizacyjny – polega na wyznaczaniu takiego elementu
zbioru rozwiazan dopuszczalnych, dla którego funkcja celu osiaga
ekstremum na tym zbiorze.
Przyklad
Optymalizacyjny problem zaladunku mozna
sformulowac nastepujaco:
{
wyznaczyc x* ∈ S ⊂ Bn = x ∈ En : x j ∈ {0,1}, j = 1, n } Zwiazany z tym problemem problem decyzyjny
taki, ze
sformulujemy w postaci
(c, x ) = max (c, x ) = m ax ∑ c
n
*
j xj
x ∈S x∈S
j =1 b) czy istnieje x∈ Bn spelniajacy ograniczenia
gdzie
(c,x ) ≥ y, x ∈S
n
S = x ∈ B n : ∑ a jx j ≤ d
j= 1
oraz
c j - wartosc towaru typu j , j = 1, n ,
a j - objetosc towaru typu j , j = 1, n ,
d - pojemnosc srodka transportu.
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 31
WIELOMIANOWA
TRANSFORMOWALNOSC
(SPROWADZALNOSC) PROBLEMÓW
Definicja
Problem decyzyjny Π 1 jest wielomianowo transformowalny
(sprowadzalny, redukowalny) do problemu decyzyjnego Π2
(co zapisujemy Π 1 α Π2 ) jesli dla dowolnego lancucha danych x
problemu Π 1 mozna w wielomianowym czasie (wielomian zalezy
od x ) zbudowac lancuch y danych problemu Π 2 taki, ze x jest
lancuchem danych konkretnego problemu Π 1 z odpowiedzia „tak”
wtedy i tylko wtedy, gdy y jest lancuchem danych konkretnego
problemu Π2 z odpowiedzia „tak”.
16
KLASY ZLOZONOSCI OBLICZENIOWEJ
PROBLEMÓW
Definicja
Klasa P nazywamy klase wszystkich problemów decyzyjnych, których zlozonosc
obliczeniowa jest wielomianowa tzn. takich, które DTM rozwiazuje w czasie
ograniczonym od góry przez wielomian.
Definicja
Klasa NP nazywamy klase wszystkich problemów de cyzyjnych, które sa
rozwiazywalne w czasie wielomianowym przez NDTM.
lub równowaznie
Definicja P ⊂ NP
Mówimy, ze problem decyzyjny Π nalezy do NP jesli istnieje wielomian p(n) od
rozmiaru tego problemu oraz algorytm α (algorytm weryfikacji potwierdzenia)
takie, ze dla kazdego konkretnego problemu z ∈ D? z odpowiedzia „tak”
i lancuchem danych x(z) istnieje lancuch (potwierdzenie) c(x) symboli alfabetu
wejsciowego Σ taki, ze:
- c ( x( z ) ) ≤ p ( x (z )),
- algorytm α po otrzymaniu na wejsciu sekwencji x (z )# c(x (z )) (# oznacza koniec
danych i poczatek potwierdzenia) dochodzi do odpowiedzi „tak” po nie wiecej
niz p(x (z )) krokach.
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 33
17
KLASY ZLOZONOSCI OBLICZENIOWEJ
PROBLEMÓW, PRZYKLAD 2
Przyklad
Zadanie komiwojazera: dla sieci o n = V wierzcholkach
i odleglosciach miedzy wierzcholkami zadanymi
calkowitoliczbowa macierza d = (dij )n x n zbadac czy istnieje cykl
Hamiltona o dlugosci mniejszej lub równej zadanej liczbie L
(calkowitej).
Dla konkretnego zadania z odpowiedzia „tak” wystarczajacym
potwierdzeniem bedzie kod cyklu Hamiltona spelniajacy
wymagana dlugosc.
Przy pomocy algorytmu wielomianowego α mozna sprawdzic czy:
- n, L, d = (d ij ) poprawne dane,
- kod przedstawia cykl Hamiltona,
- dlugosc cyklu Hamiltona jest mniejsza lub równa L.
Przyklad
Problem SPELNIALNOSCI: czy istnieje wektor x ∈ B n , dla
którego formula alternatywno – koniunkcyjna jest równa 1.
Dla konkretnego zadania z odpowiedzia „tak” dobrym
potwierdzeniem jest wlasnie kod wektora x, dla którego ta
formula przyjmuje wartosc 1.
Algorytm α w czasie wielomianowym sprawdza czy:
- formula zawiera n zmiennych,
- wyrazenie jest w poprawnej formie,
- formula przyjmuje wartosc 1.
18
KLASY ZLOZONOSCI OBLICZENIOWEJ
PROBLEMÓW, PROBLEMY NP-ZUPELNE
Wazna podklasa problemów w NP jest klasa problemów
NP – zupelnych, które maja miedzy innymi taka wlasnosc, ze jeesli
kktórrykoollwiieek zz nicch miiaalbbyy w wiielloommiiannow
wyy ((nna D DT
TMM) aalgoorryttm
m
rroozw i az an ia, t o
wi z n , to istni lb is tni alb y w iel om ia n
l ma w ag row y a lg or y tm d
dl k zdego
l a k az de g
pproobbllemu nnaalleezzacceegoo doo NNPP.
Definicja
Problem ? ∈ NP nazywamy NP – zupelnym jesli dla kazdego
? ′ ∈ NP zachodzi ? ′ ∝ ? .
19
DOWODZENIE NP-ZUPELNOSCI
PROBLEMÓW
Glówna technika dowodzenia NP-zupelnosci problemów jest technika
ograniczania.
W celu wykazania, ze rozpatrywany problem ? 1 ∈ NP jest
NP-zupelny nalezy zgodnie z ta technika udowodnic, ze zawiera on w
sobie znany NP-zupelny problem Π2 jako przypadek szczególny
problemu Π 1 .
Przyklad (najdluzsza droga w grafie)
Dany jest graf G = (V, E ) i liczba naturalna k < V .
Problem Π 1 : czy graf G zawiera droge prosta (kazdy wierzcholek
tylko raz moze wystapic) zawierajaca nie mniej niz k galezi.
Przyjmujac k = V − 1 otrzymujemy jako przypadek szczególny
problem Π2 w postaci drogi Hamiltona, który jest NP-zupelny.
Zauwazmy ponadto, ze ? 1 ∈ NP gdyz sprawdzalnym wielomianowo
potwierdzeniem moze byc kod takiej drogi.
Zachodzi równiez ? 2 ∝ ? 1 co uzyskujemy ograniczajac problem Π 1 do
tych z ∈ D? 1 dla których k = V − 1.
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 39
DOWODZENIE NP-ZUPELNOSCI
PROBLEMÓW, c.d.
Przyklad (konstrukcja niezawodnej sieci )
Dane sa dwie symetryczne macierze
d = (d ij )nxn - macierz odleglosci miedzy wierzcholkami,
r = (rij ) - macierz wielokrotnosci polaczen miedzy
nxn
wierzcholkami .
Problem Π1: czy istnieje siec zawi erajaca n-wierzcholków, w
której suma odleglosci jest nie wieksza od L, taka ze miedzy i-tym
oraz j-tym wierzcholkiem istnieje nie mniej niz rij rozlacznych
wierzcholkowo dróg.
Przyjmujac L = n, d ij = 1, rij = 2 dla wszystkich r ≠ j , jedynym grafem z n
wierzcholkami, w którym miedzy dwoma dowolnymi wierzcholkami
istnieja dwie nie majace wspólnych wierzcholków drogi, jest cykl z n
wierzcholkami. Zatem szczególny przypadek problemu Π1 jest problemem
Π2 sprowadzajacym sie do pytania o istnienie cyklu Hamiltona w sieci
n-wierzcholkowej z d ij = 1, rij = 2 . Problem Π2 jest NP-zupelny. Ponadto
? 1 ∈ NP oraz ? 2 ∝ ? 1.
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 40
20
DOWODZENIE NP-ZUPELNOSCI
PROBLEMÓW, c.d.
Wsród problemów NP-zupelnych mozemy zaobserwowac takie,
których szczególne przypadki staja sie problemami „latwymi”
i takie, które pozostaja „trudne” równiez dla szczególnych
przypadków.
1 0. Przypadki „latwe”
Przyklad
Maksymalna klika w grafie planarnym moze miec nie wiecej niz 4
wierzcholki. W takim szczególnym grafie mozna podac algorytm
wyznaczania kliki maksymalnej o zlozonosci O V 4 czyli ( )
„planarna klika” nalezy do P.
Do klasy P nalezy równiez zadanie tzw.”2-SPELNIALNOSCI”
tzn. zadanie, w którym kazdy czynnik zawiera tylko 2 literaly
(x i lub x i ) .
WNIOSEK: problemó problemów nie nalez nale zy formul
formulowa
owac c zbyt ogó
og ólnie, gdyz
gdyz wtedy jest
szansa, ze zadanie moz moze miec
mie c wielomianowy algorytm rozwia
rozwiazania, mimo
ze jego
Z.Tarapata, uog
uogó
Obliczenia ó lnienie
równolegle, wyklad nr 1nalez
nale zy do klasy NP-
NP - zupe
zupellnych. 41
Zbuduj efektywny
Xd ∈ P? ↔ Xd ∈ NPC
NPC??
algorytm dla X
Wielomianowe algorytmy:
Tak
• przybli
przyblizzone Zadowalajaa nas przybliz
Zadowalaj przybli zenia?
• schematy aproksymacyjne Nie
Brak
Okre s l satysfakcjonuja
Okres satysfakcjonujaca
• Ma
Malle dane: szukanie wyczerpuja
wyczerpujace (branch
(branch & bound
bound)) restrykcjee zagadnienia X
restrykcj
• Heurystyki: tabu search
search,, algorytmy genetyczne, ...
Z.Tarapata, Obliczenia równolegle, wyklad nr 1 42
21
Dziekuje za uwage
22