9752256896

9752256896



-    da> j, ponieważ a znajduje się na pozycji j w 7tj,

-    db > i, ponieważ b znajduje się na pozycji j w 717.

Liczba zadań z I fi J rozmieszczonych na różnych pozycjach w 7rj i nowym ciągu 7r/ zmniejszyła się o co najmniej 1. Iterując postępowanie otrzymujemy tezę.

Ad.2. Rozważmy dowolną pozycję i, na której różnią się tt\ oraz tt'j.

Zauważamy, że zarówno tt'j jak i 7t'j mają na tej pozycji umieszczone jakieś zadanie, nazwijmy je a i b odpowiednio. Gdyby bowiem 7t'j miało tę pozycję wolną, to moglibyśmy umieścić na niej a otrzymując ciąg wykonalny dla J U {a}, co przeczy optymalności J. Z drugiej strony, gdyby 7rj miało tę pozycję wolną to algorytm zachłanny umieściłby b w rozwiązaniu.

Wystarczy teraz pokazać, że ga = 9b-

-    gdyby ga < <&, to algorytm zachłanny rozpatrywałby wcześniej b niż a; ponieważ zbiór I \ {a} fi {b} jest wykonalny (a więc wykonalny jest także i ten jego podzbiór, który był skonstruowany w momencie rozpatrywania 6), więc zostałoby dołączone do rozwiązania.

-    gdyby ga > gb, to J \ {6} fi {a} dawałby większy zysk niż J?!

Pozostaje problem: jak można ustalać czy dany zbiór J złożony z k zadań jest wykonalny (oczywiście sprawdzanie wszystkich k\ ciągów nie jest najlepszym pomysłem). Poniższy prosty lemat mówi, że wystarczy sprawdzać wykonalność tylko jednego ciągu.

Lemat 1 Niech J będzie zbiorem k zadań i niech o = (si, S2 ■ ■ ■ Sfc) będzie permutacją tych zadań taką, źe dSl < dS2 < ... < dSk. Wówczas J jest wykonalny iff a jest wykonalny.

7.2.3    Prosta implementacja

Zakładamy, źe zadania ułożone są według malejących zysków, tj. g\ > <72 > • • • > 9n-Prosta implementacja polega na pamiętaniu skonstruowanego fragmentu wykonywalnego ciągu zadań w początkowym fragmencie tablicy. Zadania umieszczane są tam według rosnących wartości terminów w sposób podobny jak w procedurze sortowania przez wstawianie.

Fakt 1 Taka implementacja działa w czasie Q(n2).

7.2.4    Szybsza implementacja

Kluczem do szybszej implementacji jest następujący lemat.

Lemat 2 Zbiór zadań J jest wykonalny iff następująca procedura ustawia wszystkie zadania z J w ciąg wykonalny:

Vjj ustaw i-te zadanie na pozycji t, gdzie t jest największą liczbą całkowitą, taką źe 0 < t < min(n, di) i na pozycji t nie ustawiono jeszcze żadnego zadania.

12



Wyszukiwarka

Podobne podstrony:
IMAG0284 Mapa 5055 (2007) 1.    O godz. 1000/95,8 statek znajduje się na pozycji (p=5
AGHKod Hamminga Główny algorytm Przyjmijmy, że bity parzystości znajdują się na pozycjach będących
Nr 1-2 PRZEGLĄD GÓRNICZY Ponieważ wyrobisko to znajduje się na skraju calizny i wciąż się przemieszc
DSC02804 CZŁOWIEK W TEATRZE ŻYCIA CODZIENNEGO 57 dostarcza Orwell, opisując kelnerów z pozycji znajd
DSC07465 (2) Operacje na bitach testowanie (sprawdzanie) bitu znajdującego się na danej pozycji0011
Ekonomika turystyki R Łazarek (29) człowieka, należą do dóbr wyższego rzędu, ponieważ zaspokajają
IS Strona Uruchomienie silnika Ustaw kluczyk w stacyjce w pozycji „ON”. Upewnij się, że motorocykl
Slajd13 <PRZEKAZYWANIE POBUDZENIA WZDŁUŻ WŁÓKNAZMIELINIZO WANEG O > A Ponieważ wzgórek znajduj
File0499 Pomaluj obrazki. Powiedz jakie figury geometryczne znajdują się na obrazkach przedstawiając
fizyka003 2dynamika2.3. Tarcie 1.    Na klocek o masie m = 10 kg, znajdujący się na p
foto8 Oo orientowania się w regulacji naprężenia nici służę oznaczenia numerowe znajdujące się na
Zdj?cie0878 GŁÓWNY KOMPLEKS ZGODNOŚCI TKANKOWEJ (MHC) Znajduje się na krótkim ramieniu chromosomu 6
zdj?cie1377 BMP2 gen wykryty w Islandii znajduje się na 20-tym chromosomie w pobliżu genów

więcej podobnych podstron