262080484

262080484



2. Rozwiązanie problemu dużej złożoności obliczeniowej algorytmu redukcji w programie PROTON

Ze względu na dużą złożoność obliczeniową zastosowałem nietypową strukturę danych. Wszystkie dane pośrednie w programie są przechowywane w 32 bitowym słowie. Umożliwia to szybkie operacje porównania całych wierszy i kolumn w jednym cyklu maszynowym procesora, co znacznie przyspieszyło program.

2.1. Wyznaczenie minimalnych pokryć M w programie PROTON

Wyznaczenie minimalnych pokryć M jest bardzo pracochłonne ponieważ trzeba sprawdzić wszystkie kombinacje kolumn, dlatego też zastosowałem optymalizację, która umożliwia pominięcie bardzo wielu porównań. W poniższym przykładzie zaczynamy wyznaczanie minimalnego pokrycia od kolumny a, która na trzeciej pozycji (wierszu) ma wartość zero. Do następnego etapu brane są tylko te kolumny, które mają jedynkę na trzeciej pozycji. Kolumny te są następnie łączone z kolumną a przy użyciu funkcji OR, a następnie sprawdzane jest czy kolumna składa się wyłącznie z jedynek, jeśli nie w następnym kroku dokładana jest kolumna, która ma jedynkę w brakującym miejscu. Jeśli wynik sklejania kolumn składa się z samych jedynek to minimalnym pokryciem są kolumny które zostały sklejone. Tak wyznaczone pokrycia kolumn trzeba jeszcze porównać z innymi wyszukanymi dla tej samej tablicy, ponieważ pojawia się dużo powtórzeń albo wyników z większym pokryciem.

Tabela 12 Przeszukiwane macierzy M w celu wyznaczenia minimalnych pokryć Źródło: opracowanie własne

a

b

c

d

e

f

9

h

i

j

i

i

0

0

0

1

0

i

0

0

i

0

0

0

0

1

0

0

i

0

0

0

1

0

i

0

0

0

0

1

0

0

1

0

0

1

0

0

1

0

0

0

1

0

0

1

0

1

0

0

18



Wyszukiwarka

Podobne podstrony:
Resize of I Kolokwium ze Złożoności Obliczeniowej Algorytmów ..    • • • • o 5-3
Resize of: Kolokwium ze Złożoności Obliczeniowej Algorytmów 1 czerwca 2002 Nazwisko Imię Ocena [ Uwa
60610 zdj7 Kilka zadań z C ł ros c policzyć złożoność obliczeniową następującego fragmentu programu
Złożoność algorytmu •    Na złożoność obliczeniową algorytmu składają się: -
Algorytmy > Złożoność i efektywność. Złożoność obliczeniowa algorytmu zależy od liczby
Resize of Kolokwium ze Złożoności Obliczeniowej Algorytmów Nazwisko Imięyc 1 czerwca 2002 Ocena [ U
Resize of* Kolokwium ze Złożoności Obliczeniowej Algorytmów Wypełnij 2-1
Resize of+ Kolokwium ze Złożoności Obliczeniowej Algorytmów 1 czerwca 2CC2
Resize of; Kolokwium ze Złożoności Obliczeniowej Algorytmów 1 czerwca 2002
Bez tytułu (5) Analiza Porównawcza algorytmów - złożoność obliczeniowa algorytmów. Złożoność algoryt
Kolokwium ze Złożoności Obliczeniowej 26 kwietnia 2003 Kolokwium ze Złożoności Obliczeniowej 26 kwie
Kolokwium ze Złożoności Obliczeniowej 17 kwietnia 2003 Kolokwium ze Złożoności Obliczeniowej 17 kwie
IMGB10 (4) Średnicę wsadu można obliczyć z zależności:(8.4) gdzie: m l/d przyjmuje się ze względów
I. Języki programowaniaKrótki przegląd języków programowania Podział ze względu na tzw. paradygmat

więcej podobnych podstron