09 15 id 53452 Nieznany (2)

background image

Klasyfikacja złożoności

obliczeniowej

background image

Złożoność czasowa

Definicja 1.

Złożoność obliczeniowa (czasowa)

algorytmu A jest to związek między rozmiarem danych,
a czasem wykonywania algorytmu.

Miarą czasu algorytmu może być:

liczba instrukcji,

liczba operacji arytmetycznych,

liczba wywołań rekurencyjnych funkcji (oraz czasu
ich działania),

liczba porównań.

background image

log(n)- złożoność
logarytmiczna

n - złożoność liniowa

nlog(n) - złożoność
liniowo-logarytmiczna

n

2

- złożoność

kwadratowa

n

k

- złożoność

wielomianowa

2

n

- złożoność

wykładnicza

n! - złożoność
wykładnicza, ponieważ
n!>2

n

już od n=4

background image

Klasy złożoności algorytmów

Klasa P, to problem decyzyjny, dla którego rozwiązanie
można znaleźć w czasie wielomianowym.

Klasa NP, to klasa, do której należą wszystkie problemy
decyzyjne, które rozwiązuje niedeterministyczny

algorytm wielomianowy,

Klasa NP-zupełne, czyli problem zupełny w klasie NP ze
względu na redukcje wielomianowe, to problem, który

należy do klasy NP oraz dowolny problem należący do
NP może być do niego zredukowany w czasie

wielomianowym.

Klasa NP-trudny - problem równie trudny, jak problemy
NP-zupełne, jednak niekoniecznie należący do klasy NP

background image

Problem komiwojażera

Problem komiwojażera jest to zagadnienie z teorii
grafów, polegające na znalezieniu minimalnego cyklu
Hamiltona w pełnym grafie ważonym.

Jest to przykład problemu NP-zupełnego.

background image

Problem optymalizacyjnego

szeregowania zadań

Mamy daną skończoną liczbę prac, składających się z
łańcucha operacji, skończoną liczbę maszyn, każda
maszyna potrafi obsługiwać jedną operację w danym
momencie. Wiedząc, że każda operacja ma być
przetwarzana na danej maszynie nieprzerwanie, przez
czas o określonej długości, znaleźć taki podział prac by
wszystkie prace zostały wykonane w jak najkrótszym
czasie.

JSS (Job Shop Scheduling) problem należy do klasy NP.

background image

Problem SAT

Problem spełnialności to pytanie rachunku zdań - czy
dla danej formuły logicznej istnieje takie podstawienie
(wartościowanie) zmiennych zdaniowych, żeby formuła
była prawdziwa.

Problem spełnialności jest rozstrzygalny - można
wypróbować wszystkich podstawień których jest 2

N

,

gdzie N to liczba zmiennych w formule. Metoda ta ma
więc złożoność wykładniczą.

Problem SAT, jest problemem NP-zupełnym.

background image

Problem plecakowy

Problem plecakowy jest jednym z

najczęściej poruszanych problemów
optymalizacyjnych. Nazwa

zagadnienia pochodzi od
maksymalizacyjnego problemu

wyboru przedmiotów, tak by ich
sumaryczna wartość była jak

największa i jednocześnie mieściły się
w plecaku. Przy podanym zbiorze

elementów o podanej wadze i
wartości, należy wybrać taki podzbiór

by suma wartości była możliwie jak
największa, a suma wag była nie

większa od danej pojemności plecaka.

background image

Definicja formalna: mamy do dyspozycji plecak o maksymalnej pojemności
B oraz zbiór N elementów {x

1

,x

j

,...,x

N

}, przy czym każdy element ma

określoną wartość c

j

oraz wielkość w

j

.

Dyskretny problem plecakowy (ang. 0-1 knapsack problem)

formalnie problem może być zdefiniowany:

zmaksymalizuj

przy założeniach:

Problem plecakowy, w którym liczba elementów danego typu jest
ograniczona przez podaną wartość (ang. bounded knapsack problem).

Formalnie:

zmaksymalizuj

przy założeniach:

Można rozważać także przypadek w którym nie ma wartości ograniczającej liczbę elementów danego typu (ang. unbounded knapsack problem).

background image

Problem plecakowy

Problem plecakowy jest NP-trudny i nie jest dla niego
znany algorytm wielomianowy (gdyby istniał
oznaczałoby to, ze P=NP). Znany jest jednak algorytm
pseudowielomianowy dla tego problemu oparty na
programowaniu dynamicznym.

background image

Pojęcie redukcji

Definicja 2:
Mówimy ze B redukuje się do A, jeżeli istnieje
transformacja R, w wyniku której dla każdego
przykładu x problemu B powstaje równoważny mu
przykład R(x).

background image

Problem stopu

Problemem stopu nazywamy sytuację, gdy dla
danego algorytmu należy stwierdzić, czy program
realizujący dany algorytm zatrzyma się. Pytanie może
odnosić się albo do konkretnych danych wejściowych,
albo do wszystkich możliwych danych. Jeśli program
zatrzymuje się dla wszystkich danych, to mówimy, że
ma własność stopu.
Problem stopu

nie jest rozstrzygalny

, co oznacza, że

nie istnieje uniwersalny algorytm rozstrzygający o
innych algorytmach, czy mają własność stopu.

background image

Problem stopu

Do w ó d ni er oz wi zy w aln o ci: z a ó my, z e m a m y d o dy s p o zy cji

ą

ś

ł ż

al g oryt m S roz strzy g aj cy pr o bl e m st o pu (zwr a c a 1 g dy si e

ą

z atrzy m uj e, 0 g dy ni e).

U yj my g o d o n a pis a ni a inn e g o pr o gr a m u:

ż

program T(P)

if S(P, P) == 1

wejdź w nieskończoną pętle

else

zakończ program

Pytani e „czy T z atrzy m uj e si , g dy d o st a ni e jak o ar g u m e nt si e bi e

ę

s a m e g o” pr o w a dzi d o s prz e c z n o ci, a wi e c S ni e m o e istni e .

ś

ż

ć


Document Outline


Wyszukiwarka

Podobne podstrony:
IS wyklad 14 15 01 09 MDW id 22 Nieznany
IS wyklad 14 15 01 09 MDW id 22 Nieznany
IMG 15 id 211090 Nieznany
36 15 id 36115 Nieznany (2)
ei 2005 09 s004 id 154186 Nieznany
PIF2 2007 Wykl 09 Dzienne id 35 Nieznany
Zestaw 15 3 id 587996 Nieznany
cennik 09 2013 id 109720 Nieznany
IMG 15 id 211078 Nieznany
Cwiczenie nr 15 id 125710 Nieznany
47 3 1 15 id 39027 Nieznany (2)
cw1 15 id 122742 Nieznany
Homines2011 09 Walkowiak id 205 Nieznany
kol1, kol2, sem 3, 09 10 id 239 Nieznany
ei 2005 09 s144 id 154191 Nieznany
E 15 id 148852 Nieznany
41 15 id 38540 Nieznany
IMG 15 id 211140 Nieznany
IMG 15 id 211155 Nieznany

więcej podobnych podstron