Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach

Wielkość: px
Rozpocząć pokaz od strony:

Download "Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach"

Transkrypt

1 Wydział Matematyki i Informatyki Bartłomiej Przybylski Numer albumu: Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach Computational complexity of selected problems of scheduling unit execution time jobs on parallel processors Praca magisterska z matematyki napisana pod kierunkiem prof. UAM dr. hab. Stanisława Gawiejnowicza Poznań, czerwiec 2015 r.

2 Poznań, 23 czerwca 2015 r. Oświadczenie Ja, niżej podpisany Bartłomiej Przybylski, student Wydziału Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza w Poznaniu oświadczam, że przedkładaną pracę dyplomową pt: Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach napisałem samodzielnie. Oznacza to, że przy pisaniu pracy, poza niezbędnymi konsultacjami, nie korzystałem z pomocy innych osób, a w szczególności nie zlecałem opracowania rozprawy lub jej części innym osobom, ani nie odpisywałem tej rozprawy lub jej części od innych osób. Oświadczam również, że egzemplarz pracy dyplomowej w wersji drukowanej jest całkowicie zgodny z egzemplarzem pracy dyplomowej w wersji elektronicznej. Jednocześnie przyjmuję do wiadomości, że przypisanie sobie, w pracy dyplomowej, autorstwa istotnego fragmentu lub innych elementów cudzego utworu lub ustalenia naukowego stanowi podstawę stwierdzenia nieważności postępowania w sprawie nadania tytułu zawodowego. [TAK] wyrażam zgodę na udostępnianie mojej pracy w czytelni Archiwum UAM [TAK] wyrażam zgodę na udostępnianie mojej pracy w zakresie koniecznym do ochrony mojego prawa do autorstwa lub praw osób trzecich

3 Mojej Mamie. Pragnę serdecznie podziękować Panu Profesorowi Stanisławowi Gawiejnowiczowi, który z cierpliwością i wyrozumiałością wprowadził mnie w problematykę szeregowania zadań.

4 Streszczenie Praca poświęcona jest problemowi szeregowania zależnych zadań jednostkowych na równoległych procesorach. Z uwagi na NP-zupełność jego postaci decyzyjnej, rozważa się szczególne przypadki, w których ograniczeniu podlega liczba procesorów lub konstrukcja relacji częściowego porządku pomiędzy zadaniami. W pracy przedstawiono wybrane algorytmy wielomianowe rozwiązujące tak określone problemy. Rozważono także nowy przypadek, w którym czasy wykonania zadań opisane są przez dodatnią funkcję zależną od pozycji zadania w uszeregowaniu. Słowa kluczowe: szeregowanie zadań, równoległe procesory, jednostkowe czasy wykonywania, algorytm Hu, algorytm Coffmana-Grahama, zmienne czasy wykonywania, algorytmy wielomianowe, NP-zupełność, NP-trudność, ograniczenia kolejnościowe, złożoność obliczeniowa. Abstract This thesis is devoted to the problem of scheduling unit processing time jobs with precedence constraints on parallel processors. Due to NP-completeness of its decision version, some particular cases are considered. In these cases the number of processors or the relation of partial order between tasks are restricted. Selected polynomial algorithms for solving such problems are presented. The new case, where the processing times are described by a positive function depending on a position of a job in a schedule is also considered. Keywords: scheduling theory, parallel machines, unit processing times, Hu's algorithm, Coffman-Graham's algorithm, variable processing times, polynomial algorithms, NP-completeness, NP-hardness, precedence constraints, computational complexity.

5 Spis treści Wstęp Rozdział 1. Preliminaria Wybrane zagadnienia teorii grafów Grafy, wierzchołki, krawędzie Drogi, ścieżki, cykle Grafy spójne, grafy acykliczne, drzewa Grafy skierowane Długości, wysokości i grafy dualne Wybrane zagadnienia teorii algorytmów Problemy decyzyjne i optymalizacyjne Algorytmy i ich złożoność obliczeniowa Maszyna Turinga Klasy P i NP problemów Wybrane zagadnienia teorii szeregowania zadań Oznaczenia Notacja trójpolowa Przykłady Problem szeregowania zadań jednostkowych NP-zupełność problemu trójspełnialności NP-zupełność problemu szeregowania zadań jednostkowych Rozdział 2. Algorytm Hu Sformułowanie problemu Algorytm Hu i algorytmy pochodne Etykietowanie wierzchołków Algorytm Hu Algorytm HLF IV

6 Spis treści 2.3. Dowody optymalności Oryginalny dowód optymalności algorytmu Hu Dowód optymalności algorytmu HLF oparty na przekształceniach grafu ograniczeń kolejnościowych Dowód optymalności algorytmu Hu oparty o przekształcenia izotoniczne Przykład Przypadek drzewa Przypadek dowolnego grafu ograniczeń kolejnościowych Rozdział 3. Algorytm Coffmana-Grahama Sformułowanie problemu Algorytm Coffmana-Grahama Etykietowanie wierzchołków Algorytm Coffmana-Grahama Dowód optymalności Przykład Rozdział 4. Problem czasów zależnych od pozycji w uszeregowaniu Wprowadzenie Funkcje ϕ i Φ Przekształcenia uszeregowań naturalnych Przekształcenie Λ ϕ Przekształcenie Λ 1 ϕ Szeregowanie zadań o czasie zależnym od pozycji w uszeregowaniu Przypadki szczególne P in-tree, p j,r = φ(r) C max, gdy φ jest funkcją niemalejącą i niestałą P out-tree, p j,r = φ(r) C max, gdy φ jest funkcją niemalejącą i niestałą P in-tree, p j,r = p j φ(r) C max Spis rysunków Bibliografia Indeks pojęć V

7 Wstęp Szeregowanie zadań ma istotny wpływ na funkcjonowanie współczesnego świata, w którym optymalne wykorzystanie rozmaitych zasobów ma kluczowe znaczenie dla rozwoju gospodarki. Wyniki badań prowadzonych w tej gałęzi informatyki teoretycznej mogą być (i są) wykorzystywane nie tylko w projektowaniu wydajnych komputerów, ale także logistyce i w przemyśle choćby w planowaniu skomplikowanych procesów produkcyjnych. W wielu przypadkach można założyć, że czasy wykonywania zadań są identyczne. Jest tak, gdy rozważamy czynności bardzo zbliżone do siebie (np. umieszczanie przez robota różnych elementów układu scalonego na płytce drukowanej) lub istotnie różne, ale o niewielkich względnych różnicach w czasach wykonywania. Takim przypadkom poświęcona jest ta, podzielona na cztery rozdziały, praca. W rozdziale pierwszym przedstawione zostały wybrane zagadnienia dotyczące teorii grafów, teorii algorytmów oraz teorii szeregowania zadań. W szczególności wyjaśnione zostały pojęcia i symbole, które wykorzystywane są w dalszej części pracy. Przytoczono dowód faktu, że decyzyjna postać problemu szeregowania zależnych zadań jednostkowych jest problemem NP-zupełnym, co stanowi podstawę badania jego szczególnych przypadków. W rozdziale drugim rozważany jest przypadek, w którym liczba procesorów jest dowolna, a pomiędzy zadaniami występują ograniczenia kolejnościowe reprezentowane przez drzewo skierowane. Przedstawione zostały algorytmy Hu oraz HLF, które rozwiązują tak określony problem w wielomianowym czasie. Przytoczono różne dowody optymalności generowanych przez nie uszeregowań, wykorzystujące rozmaite metody dowodowe. W rozdziale trzecim rozważono przypadek dwóch równoległych procesorów wykonujących zadania o jednostkowych czasach wykonania i dowolnych ograniczeniach kolejnościowych. Dla tego problemu omówiono algorytm Coffmana-Grahama i przyto- 1

8 czono dowód faktu, że generowane przez niego uszeregowania są optymalne względem kryterium długości uszeregowania. W rozdziale czwartym przedstawione zostało uogólnienie problemu szeregowania zależnych zadań jednostkowych na przypadek, w którym czasy wykonywania zadań opisane są dodatnią funkcją zależną od pozycji zadania w uszeregowaniu. Wykazane zostały pewne własności tak określonego problemu, pozwalające na wyciągnięcie wniosku, że przy pewnych założeniach algorytmy rozwiązujące problemy z zadaniami jednostkowymi rozwiązują odpowiadające im problemy ze zmiennymi czasami zależnymi od pozycji zadania w uszeregowaniu. 2

9 1 Preliminaria W tym rozdziale wprowadzono pojęcia i definicje wykorzystywanej w dalszej części pracy. Obejmuje on wybrane zagadnienia z teorii grafów, teorii algorytmów oraz teorii szeregowania zadań, a także rozważania dotyczące problemu szeregowania zadań jednostkowych Wybrane zagadnienia teorii grafów Niektóre problemy szeregowania zadań zakładają istnienie ograniczeń kolejnościowych w postaci relacji częściowego porządku określonej na zbiorze zadań. Do reprezentacji tego typu zależności wykorzystuje się acykliczne grafy skierowane. To i inne pojęcia przedstawione w tym podrozdziale zostały przedstawione w oparciu o [9]. W tej pracy będziemy przyjmować, że graf ograniczeń kolejnościowych jest tożsamy z grafem redukcji relacji częściowego porządku określonej na zbiorze zadań (zob. [23]) Grafy, wierzchołki, krawędzie Definicja 1.1. Graf (graf prosty, graf nieskierowany) to uporządkowana para G = (V, E), taka że: V = {v 1, v 2,... } jest niepustym zbiorem, E jest pewną rodziną dwuelementowych podzbiorów zbioru V, to znaczy zachodzi E {{v, r} : v, r V, v r}. Zbiór V nazywać będziemy zbiorem wierzchołków, a jego elementy wierzchołkami grafu. Rodzinę E będziemy nazywać zbiorem krawędzi, a jej elementy krawędziami grafu. Dla zachowania jednolitości oznaczeń, krawędzie oznaczać będziemy symbolami e 1, e 2,.... 3

10 1.1. Wybrane zagadnienia teorii grafów v 1 e 1 v 2 e 3 e 2 e 4 v 3 v 4 Rysunek 1.1. Graf z czterema wierzchołkami i czterema krawędziami Aby uniknąć mnogości oznaczeń, będziemy w tej pracy stosować ogólnie przyjętą notację, zgodnie z którą wyrażenie x G będziemy interpretować jako x V, gdzie G = (V, E) jest grafem. Mówimy, że wierzchołek v i V jest związany z krawędzią e k E, jeżeli v i jest elementem krawędzi e k. Wierzchołki v i, v j V związane z krawędzią e k E nazywamy wierzchołkami końcowymi krawędzi e k. Zauważmy, że definicja 1.1 wyklucza możliwość istnienia krawędzi {v i, v i }, związanej tylko z jednym wierzchołkiem (pętli). Jest tak, ponieważ zakładamy, że elementami rodziny E są dwuelementowe podzbiory zbioru V. Jednocześnie, z definicji zbioru E jako rodziny podzbiorów zbioru V wynika, że nie mogą istnieć dwie krawędzie łączące te same wierzchołki. O ile w przypadku zbioru V zakładamy, że jest to zbiór niepusty, o tyle w przypadku rodziny E takie założenie nie występuje. Jeżeli zbiór E jest pusty, to graf z nim związany nazywamy zerowym. Jeżeli zbiór V jest skończony, to graf nazywamy grafem skończonym. Jak łatwo zauważyć, jeśli graf jest skończony, to zbiór jego krawędzi E też jest skończony. W tej pracy będziemy rozważali wyłącznie grafy skończone. Najpopularniejszym sposobem przedstawienia grafu prostego jest rysunek, na którym wierzchołki reprezentowane są na przykład przez punkty lub elipsy, a krawędzie przez odcinki (lub krzywe) łączące odpowiednie wierzchołki. Jeżeli wierzchołek v i jest wierzchołkiem końcowym krawędzi e j, to mówimy, że v i oraz e j są incydentne ze sobą (lub do siebie). Dwie krawędzie nazywamy przyległymi, jeżeli są one incydentne ze wspólnym wierzchołkiem. Na rysunku 1.1 krawędź e 1 jest incydentna z wierzchołkiem v 1, krawędzie e 1 i e 2 są przyległe, a krawędzie e 2 i e 3 nie. 4

11 1.1. Wybrane zagadnienia teorii grafów Liczbę krawędzi incydentnych do wierzchołka v i nazywamy stopniem tego wierzchołka i oznaczamy symbolem d(v i ). Wierzchołek, który nie jest incydentny z żadną krawędzią nazywamy wierzchołkiem izolowanym. Innymi słowy, wierzchołek izolowany to wierzchołek stopnia zerowego. Wierzchołek stopnia pierwszego nazywamy natomiast wierzchołkiem wiszącym Drogi, ścieżki, cykle Niech G = (V, E) będzie grafem skończonym. Rozważmy ciąg występujących naprzemiennie wierzchołków i krawędzi, rozpoczynający i kończący się wierzchołkiem: v i1, e j1, v i2, e j2,..., e jk 1, v ik. Jeżeli ciąg ten spełnia następujące warunki: każda krawędź w tym ciągu jest incydentna z wierzchołkiem poprzedzającym ją i następującym po niej, żadna krawędź nie pojawia się w tym ciągu więcej niż raz, to znaczy j p j q dla p q, gdzie p, q {1, 2,..., k 1}, to ciąg taki nazywamy drogą lub łańcuchem. Wierzchołki rozpoczynający i kończący drogę nazywamy wierzchołkami końcowymi drogi. Z każdym łańcuchem wiąże się pojęcie jego długości długość łańcucha to liczba krawędzi występujących w tym łańcuchu. Drogę, w której żaden wierzchołek nie pojawia się więcej niż raz, nazywamy ścieżką. Na rysunku 1.1 przykładowymi drogami pomiędzy wierzchołkami v 3 oraz v 2 są v 3, e 2, v 2 oraz v 3, e 2, v 2, e 4, v 4, e 3, v 1, e 1, v 2. Zauważmy, że pierwsza ze wskazanych dróg jest także ścieżką. Droga rozpoczynająca się i kończąca się w tym samym wierzchołku nazywana jest drogą zamkniętą. Drogą otwartą nazywamy drogę, która nie jest zamknięta. Drogę zamkniętą, w której żaden z wierzchołków (z wyjątkiem początkowego i końcowego) nie pojawia się więcej niż jeden raz, nazywamy cyklem Grafy spójne, grafy acykliczne, drzewa Graf G nazywamy spójnym, jeżeli istnieje co najmniej jedna ścieżka pomiędzy każdą parą różnych wierzchołków w tym grafie. Jeśli warunek ten nie jest spełniony, to graf G nazywamy niespójnym. 5

12 1.1. Wybrane zagadnienia teorii grafów v 1 e 1 e 3 e 5 v 2 v 4 v 6 e 2 e 4 v 3 v 5 Rysunek 1.2. Przykład grafu będącego drzewem Grafem acyklicznym nazywamy taki graf, który nie zawiera cykli. Graf przedstawiony na rysunku 1.1 nie jest grafem acyklicznym, gdyż zawiera cykl v 2, e 4, v 4, e 3, v 1, e 1, v 2. Acykliczny graf spójny nazywamy drzewem. Przykład takiego grafu jest widoczny na rysunku Grafy skierowane Definicja 1.2. Graf skierowany to uporządkowana para G = (V, E), taka że: V = {v 1, v 2,... } jest niepustym zbiorem, E jest pewnym zbiorem uporządkowanych par różnych elementów zbioru V, to znaczy E {(v, r) : v, r V, v r}. Podobnie jak w przypadku grafów nieskierowanych krawędź { } v i, v j przedstawiana jest na rysunku w postaci odcinka łączącego wierzchołki v i i v j, tak w przypadku grafów skierowanych krawędź (v i, v j ) reprezentowana jest przez strzałkę prowadzącą od wierzchołka v i do wierzchołka v j. Definicja 1.2 dopuszcza istnienie grafów skierowanych o nieskończonej liczbie wierzchołków. Podobnie jak w przypadku grafów prostych, w tej pracy będziemy rozważać wyłącznie skończone grafy skierowane. W grafie prostym każdy wierzchołek związany z krawędzią był jej wierzchołkiem końcowym. W przypadku grafów skierowanych będziemy mówić, że wierzchołek, z którego krawędź prowadzi jest wierzchołkiem początkowym, a ten do którego prowadzi wierzchołkiem końcowym krawędzi. Na rysunku 1.3 wierzchołek v 2 jest wierzchołkiem początkowym krawędzi e 5, a wierzchołek v 1 jej wierzchołkiem końcowym. Inaczej, wierzchołkiem początkowym krawędzi nazywamy wierzchołek zajmujący pierwszą pozycję 6

13 1.1. Wybrane zagadnienia teorii grafów v 1 e 5 v 2 e 1 v 5 e 4 e 2 e 3 v 4 v 3 Rysunek 1.3. Przykład grafu skierowanego w parze uporządkowanej reprezentującej krawędź, a wierzchołkiem końcowym ten, który zajmuje pozycję drugą. Liczbę krawędzi, dla których wierzchołek v i jest wierzchołkiem początkowym, nazywamy jego stopniem i oznaczamy symbolem d + (v i ). Zauważmy, że stopień wierzchołka w grafie skierowanym, w przeciwieństwie do stopnia wierzchołka w grafie prostym, nie musi być równy liczbie krawędzi, w których wierzchołek v i występuje. Pojęcia łańcucha, ścieżki, cyklu i acyklicznego grafu skierowanego definiuje się analogicznie jak w przypadku grafów nieskierowanych, z uwzględnieniem jednak orientacji krawędzi. Przykładowo, w grafie skierowanym z rysunku 1.3 można dostrzec cykl v 5, e 3, v 3, e 4, v 1, e 1, v Długości, wysokości i grafy dualne Pojęcia przedstawione w tym podrozdziale dotyczą pewnych wartości liczbowych związanych z grafami skierowanymi. Zostały one przedstawione w oparciu o [1]. Mówimy, że skończony graf skierowany G ma długość n, co zapisujemy l(g) = n, jeśli n jest najmniejszym ograniczeniem górnym długości łańcuchów występujących w tym grafie. Jeśli v G, gdzie G jest grafem skierowanym, to przez wysokość elementu v będziemy rozumieć najmniejsze z ograniczeń górnych długości łańcuchów w grafie G, kończących się w wierzchołku v. Definicja 1.3. Grafem dualnym do grafu skierowanego G będziemy nazywać taki graf G, w którym zbiór wierzchołków jest identyczny, a zbiór krawędzi spełnia warunek: (i, j) E G wtedy i tylko wtedy, gdy (j, i) E G, gdzie E G i E G oznaczają, odpowiednio, 7

14 1.2. Wybrane zagadnienia teorii algorytmów zbiory krawędzi w grafach G i G. Mówiąc inaczej, graf dualny do grafu skierowanego G to taki graf, w którym zwrot krawędzi jest przeciwny. Przez głębokość wierzchołka v w grafie G będziemy rozumieć wysokość elementu v w grafie dualnym do grafu G Wybrane zagadnienia teorii algorytmów Teoria algorytmów to rozległa gałąź teorii informatyki. Wprowadzenie podstawowych pojęć związanych z różnymi klasami problemów, zależnościami między nimi oraz złożonością obliczeniową algorytmów jest jednak kluczowe dla zrozumienia poruszanych w tej pracy zagadnień. Pojęcia i wyjaśnienia znajdujące się w tym paragrafie zostały przedstawione w oparciu o prace [2], [6], [10], [16] oraz [19]. Matematyczne definicje przedstawianych w tym podrozdziale pojęć mają w większości bardzo techniczny i rozbudowany charakter. Z tego powodu nie będą one przytaczane w całości, a jedynie w zakresie niezbędnym dla celów tej pracy Problemy decyzyjne i optymalizacyjne W klasycznej teorii algorytmów wyróżniamy trzy rodzaje problemów: decyzyjne, optymalizacyjne i przeszukiwania. Na potrzeby zagadnień poruszanych w dalszych rozdziałach wystarczy jednak znajomość pierwszych dwóch z wymienionych klas. Definicja 1.4. Problem decyzyjny π to skończony zbiór parametrów (takich jak zbiory, grafy, liczby, funkcje, itp.), nie mających nadanych wartości, oraz pytanie, na które odpowiedź brzmi tak lub nie. Definicja 1.5. Instancja problemu π, oznaczana przez I π, to każdy przypadek, w którym wszystkim parametrom nadane zostały konkretne wartości. Jeśli jasne jest, o jaki problem chodzi, jego instancję będziemy oznaczać przez I. Przykładem problemu decyzyjnego może być problem spełnialności wyrażeń logicznych, który definiujemy następująco: Problem 1.1. Niech dane będzie wyrażenie logiczne w koniunkcyjnej postaci normalnej (zapisane jako iloczyn sum zmiennych logicznych i ich negacji). Czy istnieje takie przyporządkowanie wartości prawda i fałsz zmiennym występującym w tym wyrażeniu, że przyjmuje ono wartość prawda? 8

15 1.2. Wybrane zagadnienia teorii algorytmów Innym przykładem problemu decyzyjnego może być z kolei przedstawiony poniżej problem szeregowania zadań. Problem 1.2. Niech dany będzie zbiór J = {J 1, J 2,..., J n } niezależnych i niepodzielnych zadań o dowolnych czasach wykonania oraz zbiór dwóch identycznych i równoległych procesorów. Czy istnieje taki przydział zadań do procesorów, że wszystkie zadania wykonają się w czasie nie większym niż ω? Definicja 1.5 pozwala nam określić problem decyzyjny jako zbiór D π wszystkich jego instancji. Wyróżniamy w nim podzbiór Y π D π, zawierający te i tylko te instancje problemu π, dla których odpowiedź brzmi tak. Konkretne wartości przyjmowane przez parametry problemu, związane z instancją I D π, koduje się za pomocą skończonego łańcucha x(i) symboli należących do z góry określonego alfabetu Σ, zgodnie z ustaloną regułą kodowania. Długość łańcucha x(i) będziemy nazywać rozmiarem instancji i oznaczać przez N(I). Rozważmy problem 1.2. Jeśli chcielibyśmy zakodować instancję tego problemu przy użyciu alfabetu Σ = {0, 1,,.}, moglibyśmy zapisać ją w postaci binarnych liczb oddzielonych znakiem spacji, odpowiadających kolejno liczbie zadań (n) oraz czasom ich wykonania (p i dla i {1, 2,..., n}). Symbol kropki oznaczałby koniec łańcucha danych. Dla instancji złożonej z zadań o długościach 2, 3, 5, 5, 1, 4, 6 otrzymalibyśmy wówczas łańcuch Stosując tak określoną regułę kodowania, moglibyśmy wyrazić rozmiar dowolnej instancji I problemu 1.2 przez równość: k N(I) = log n log p i + 2n + 1, i=1 gdzie log oznacza logarytm przy podstawie 2. Dla przykładowej instancji otrzymujemy wówczas N(I) = 28. Oczywiście istnieje wiele reguł kodowania, które można stosować. Istotne jest to, aby wybrana metoda była rozsądna, to znaczy nie powodowała wykładniczego wzrostu długości łańcucha opisującego dane. Jeśli reguła kodowania e powoduje powstanie łańcucha danych o długości równej N e (I) i istnieje reguła kodowania e, prowadząca do powstania łańcucha danych o długości N e (I), taka że N e (I) k N e (I) dla pewnego k > 1 oraz każdego I, to reguła kodowania e nie jest rozsądna. Przykładem takiej reguły jest kodowanie jedynkowe, w którym każda liczba całkowita k reprezentowana jest przez ciąg jedynek o długości k. 9

16 1.2. Wybrane zagadnienia teorii algorytmów Jedna z powszechnie stosowanych reguł kodowania, spełniająca powyższe wymagania, została wprowadzona w [10]. Ze względu na jej rozbudowany charakter nie będziemy jej przytaczać. Danemu problemowi decyzyjnemu π i regule kodowania e odpowiada język L(π, e), zdefiniowany jako L(π, e) = {x(i) Σ : I Y π Σ jest alfabetem używanym przez e}, gdzie Σ jest zbiorem wszystkich skończonych łańcuchów symboli alfabetu Σ. Podstawowe definicje dotyczące złożoności obliczeniowej algorytmów opierają się na problemach decyzyjnych. Istnieje jednak dość duża klasa problemów optymalizacyjnych, które polegają na znalezieniu rozwiązania, dla którego określona z góry funkcja kryterium ulega ekstremalizacji (minimalizacji bądź maksymalizacji). Okazuje się jednak, że pomiędzy problemami decyzyjnymi a optymalizacyjnymi istnieje często pewną zależność. Na przykład, problem optymalizacyjny odpowiadający decyzyjnemu problemowi 1.2 można by sformułować następująco: Problem 1.3. Niech dany będzie zbiór J = {J 1, J 2,..., J n } niezależnych i niepodzielnych zadań o dowolnych czasach wykonania oraz zbiór dwóch identycznych i równoległych procesorów. Znajdź taki przydział tych zadań do procesorów, aby zadania wykonały się w jak najkrótszym czasie. Zauważmy, że jeśli potrafimy łatwo rozwiązać problem optymalizacyjny, to odpowiadający mu problem decyzyjny nie może być obliczeniowo trudniejszy, jeśli tylko wartość funkcji kryterium da się obliczyć łatwo. Z drugiej zaś strony, jeśli problem decyzyjny jest obliczeniowo trudny, to rozwiązanie odpowiadającego mu problemu optymalizacyjnego wymaga co najmniej takiego samego nakładu pracy. Ściślejsze definicje problemów łatwych i trudnych wprowadzone zostaną w podrozdziale 1.2.4, jednak intuicyjne ich rozumienie pozwala nam już zauważyć, że w wielu przypadkach wystarczy ograniczyć się do badania problemów decyzyjnych Algorytmy i ich złożoność obliczeniowa Algorytmy to precyzyjnie zdefiniowane procedury przeznaczone do rozwiązywania problemów. Mówimy, że algorytm rozwiązuje problem decyzyjny π, jeśli dla każdej instancji problemu I D π znajduje prawidłowe rozwiązanie. Matematyczna definicja algorytmu, oparta na pojęciach teorii mnogości, została zaprezentowana w pracy [16]. 10

17 1.2. Wybrane zagadnienia teorii algorytmów Celem wielu badań jest znalezienie najefektywniejszego (najbardziej wydajnego) algorytmu służącego rozwiązaniu danego problemu. Pod pojęciem efektywności rozumie się wydajność względem pewnego zasobu w konkretnym modelu obliczeń najczęściej jednak rozważa się efektywność algorytmów pod względem wykorzystania zasobu czasu i do tego zasobu ograniczymy się w tej pracy. Do opisu złożoności obliczeniowej algorytmów stosuje się notację asymptotyczną. Definicja 1.6. Jeśli f O(g(k)), gdzie O(g(k)) = {f : istnieje c > 0 takie, że f(k) c g(k) dla prawie wszystkich k}, to mówimy, że f(k) jest rzędu g(k) lub, równoważnie, że f(k) jest O(g(k)). Definicja 1.7. Funkcją złożoności obliczeniowej algorytmu rozwiązującego problem π nazywamy funkcję przyporządkowującą każdej wartości rozmiaru instancji I D π problemu π maksymalną liczbę operacji elementarnych potrzebnych do rozwiązania instancji problemu o tej długości. Mówiąc inaczej, funkcja f(n) złożoności obliczeniowej problemu π jest postaci f(n) = max{t : t jest liczbą operacji elementarnych niezbędnych do rozwiązania instancji problemu I I D π N(I) = n}. Aby funkcja f(n) była dobrze określona, należy sprecyzować reguły kodowania i model obliczeń (listę operacji elementarnych). Z punktu widzenia złożoności obliczeniowej, rozsądny wybór tych elementów (to znaczy zawierający operację dominującą, czyli najczęściej wykonywaną) nie wpływa na rozróżnienie pomiędzy dwoma zasadniczymi klasami algorytmów: wielomianowymi i wykładniczymi. Definicja 1.8. Algorytm wielomianowy to algorytm, którego funkcja złożoności obliczeniowej jest O(p(k)), gdzie p(k) jest pewnym wielomianem od rozmiaru k rozwiązywanej instancji problemu. Algorytm, który nie jest wielomianowy, nazywamy algorytmem wykładniczym. Zamiast mówić, że funkcja złożoności obliczeniowej algorytmu jest O(p(k)), będziemy mówić, że algorytm działa (lub rozwiązuje problem) w czasie O(p(k)). Będziemy mówić, że algorytmy wielomianowe rozwiązują problem efektywnie, zaś wykładnicze nieefektywnie. Wynika to ze sposobu, w jaki wzrasta maksymalna liczba operacji niezbędnych do rozwiązania instancji problemu wraz ze wzrostem jej długości. 11

18 1.2. Wybrane zagadnienia teorii algorytmów Z tego powodu problemy, dla których znane są algorytmy wielomianowe uważane są za łatwe, a te, dla których znane są wyłącznie algorytmy wykładnicze za trudne Maszyna Turinga Algorytmy mogą być wykonywane w różnych modelach obliczeń, będących abstrakcyjnymi modelami komputerów. Najpopularniejszymi z nich są jednotaśmowa deterministyczna maszyna Turinga (DTM) oraz jednotaśmowa niedeterministyczna maszyna Turinga (NDTM). Oba te modele opisane są w pracach [2] oraz [10]. Ze względu na rozbudowany charakter tego opisu, pominiemy go w tej pracy. Definicja 1.9. Mówimy, że jednotaśmowa deterministyczna maszyna Turinga rozwiązuje problem decyzyjny π kodowany przy użyciu e, jeśli rozstrzyga język L(π, e). Inaczej, DTM rozwiązuje problem decyzyjny π kodowany przy użyciu e, jeśli zatrzymuje się ona dla wszystkich łańcuchów wejściowych x(i) i kończy obliczenia w stanie odpowiadającym odpowiedzi tak wtedy i tylko wtedy, gdy I Y π. Deterministyczna maszyna Turinga rozwiązuje problem decyzyjny π w co najwyżej wielomianowych czasie, jeśli dla każdego I D π czas działania DTM zakończony odpowiedzią tak lub nie jest rzędu p(n(i)), gdzie p jest wielomianem. Konstrukcja NDTM sprawia, że rozważa się ją jako model pozwalający na jednoczesną (i niezależną) weryfikację wszystkich możliwych potencjalnych rozwiązań. Jeśli którekolwiek z nich spełnia warunki określone postawionym w problemie π pytaniem, maszyna zakończy obliczenia w stanie odpowiadającym odpowiedzi tak. Definicja Mówimy, że jednotaśmowa niedeterministyczna maszyna Turinga rozwiązuje problem decyzyjny π kodowany przy użyciu e, jeśli rozpoznaje język L(π, e). Inaczej, NDTM rozwiązuje problem decyzyjny π kodowany przy użyciu e, jeśli dla każdego łańcucha x(i) kończy ona obliczenia w stanie odpowiadającym odpowiedzi tak wtedy i tylko wtedy gdy I Y π, zaś jeśli I D π Y π, to obliczenia nie kończą się lub kończą się w stanie odpowiadającym odpowiedzi nie. Niedeterministyczna maszyna Turinga rozwiązuje problem decyzyjny π w co najwyżej wielomianowych czasie, jeśli dla każdego I Y π czas działania NDTM zakończony odpowiedzią tak jest rzędu p(n(i)), gdzie p jest wielomianem Klasy P i NP problemów Do klasy P problemów decyzyjnych zaliczamy te i tylko te, które jednotaśmowa deterministyczna maszyna Turinga rozwiązuje w wielomianowym czasie. Istnieje jednak 12

19 1.2. Wybrane zagadnienia teorii algorytmów liczna klasa tych problemów decyzyjnych, dla których nie znamy algorytmu pozwalającego na ich rozwiązanie przez DTM w czasie wielomianowym. Wśród nich znajdują się jednak takie, dla których jesteśmy w stanie (przy użyciu NDTM) zweryfikować w czasie wielomianowym, że dane rozwiązanie spełnia warunki postawione w pytaniu. Klasę tych problemów decyzyjnych będziemy oznaczać przez NP. Formalną definicję klas P i NP można znaleźć w [19]. Zachodzi relacja P NP. Nie wiadomo natomiast, czy zachodzi relacja odwrotna. W [2] znajduje się dowód faktu, że jeśli problem π należy do klasy NP, to deterministyczna maszyna Turinga może go rozwiązać w czasie O(2 p(n(i)) ), gdzie p jest pewnym wielomianem. Najpopularniejszym podejściem związanym z klasyfikacją problemów jest wykorzystanie wiedzy o klasyfikacji innych problemów. Definicja Transformacją wielomianową problemu π 2 do problemu π 1, oznaczaną π 2 π 1, nazywamy funkcję f: D π2 D π1, spełniającą warunki: (a) I 2 Y π2 wtedy i tylko wtedy, gdy f(i 2 ) Y π1, (b) czas obliczania funkcji f przez deterministyczną maszynę Turinga jest, dla każdego I 2 D π2, z góry ograniczony przez wielomian zależny od N(I 2 ). Definicja Mówimy, że problem π 1 jest NP-zupełny, jeśli π 1 NP i dla każdego problemu decyzyjnego π 2 NP istnieje π 2 π 1. Piszemy wówczas, że π 1 NPC. Definicja Mówimy, że problem π 1 jest NP-trudny, jeśli dla każdego problemu decyzyjnego π 2 NP istnieje π 2 π 1. W praktyce, do dowodzenia NP-zupełności problemów decyzyjnych nie korzysta się z definicji 1.12, lecz z poniższego twierdzenia (wykazanego w pracy [10]). Twierdzenie 1.1. Jeżeli problemy π 1 oraz π 2 należą do klasy NP, problem π 2 jest NP- -zupełny i istnieje transformacja wielomianowa π 2 π 1, to problem π 1 jest NP-zupełny. Aby możliwe było skorzystanie z powyższego twierdzenia, należało wpierw wykazać przynależność do klasy problemów NP-zupełnych pierwszego problemu. Uczynił to Cook w [5], pokazując, że problem spełnialności (zob. problem 1.1) jest NP-zupełny. Naturalną konsekwencją powyższych rozważań jest obserwacja, że jeśli istniałby wielomianowy algorytm rozwiązujący którykolwiek z problemów NP-zupełnych, to każdy problem z klasy NP dałoby się rozwiązać w wielomianowym czasie. Mimo usilnych starań nie znaleziono do dzisiaj takiego algorytmu, co pozwala przypuszczać, że problemy NP-zupełne można rozwiązać jedynie przy użyciu algorytmów o wykładniczej 13

20 1.3. Wybrane zagadnienia teorii szeregowania zadań złożoności obliczeniowej. Stąd wynikałoby, że P jest właściwą podklasą NP, to znaczy P NP, a P i NPC są klasami rozłącznymi. W pracy [17] wykazano ponadto, że jeśli P NP, to istnieje niepusta klasa NPI NP problemów o złożoności obliczeniowej, którą można określić jako pośrednią pomiędzy klasami P i NPC, złożona z tych problemów, które należą do NP, ale nie należą do P i nie są NP-zupełne. Jeśli problem decyzyjny odpowiadający problemowi optymalizacyjnemu jest NP- -zupełny, to o takim problemie optymalizacyjnym powiemy, że jest NP-trudny Wybrane zagadnienia teorii szeregowania zadań Rozważmy problem, w którym na pewnej liczbie procesorów (maszyn) realizujemy skończony zbiór zadań. Zadania te mają określony czas wykonania, a możliwość ich realizacji może być zależna od różnych czynników, np. od zakończenia wykonywania innych zadań czy dostępności określonych zasobów. W praktyce rozważa się jedynie sytuację, w której liczba procesorów jest skończona, choć w niektórych przypadkach teoretycznych bierze się również pod uwagę przypadek nieskończonej liczby maszyn. Zakładamy, że każdy z procesorów może wykonywać pracę bez przerwy, począwszy od przyjętej chwili zero, przy czym jednocześnie na danej maszynie może być wykonywane co najwyżej jedno zadanie. Rozważa się zarówno przypadki, w których przerwanie wykonywania rozpoczętego zadania jest niemożliwe, jak i takie, w których wykonanie zadania można podzielić na części (realizowane na jednej lub większej liczbie maszyn). W pracy [4] podano następującą, najczęściej spotykaną definicję uszeregowania. Definicja Uszeregowaniem zadań J 1, J 2,..., J n nazywamy odwzorowanie, które każdemu zadaniu przyporządkowuje podprzedział lub ciąg rozłącznych podprzedziałów na osi czasu [0, ) w taki sposób, że spełnione są następujące warunki: (a) każdemu podprzedziałowi czasu przyporządkowany jest dokładnie jeden procesor, (b) suma długości podprzedziałów przyporządkowanych zadaniu jest dokładnie równa jego czasowi wykonywania, przy czym różnym podprzedziałom mogą być przyporządkowane różne procesory, (c) każde dwa podprzedziały przyporządkowane różnym zadaniom i temu samemu procesorowi są rozłączne, (d) spełnione są ograniczenia kolejnościowe oraz ograniczenia związane z dodatkowymi zasobami, 14

21 1.3. Wybrane zagadnienia teorii szeregowania zadań (e) nie istnieje podprzedział czasu należący do przedziału [0, max {C i }], gdzie C i oznacza czas zakończenia wykonywania i-tego zadania, w którym zadania nie są wykonywane na żadnym procesorze, pomimo że istnieje niezakończone zadanie, które można wykonać. W praktyce, uszeregowanie przedstawiane jest w postaci diagramu Gantta, którego przykład pokazano na rysunku 1.4. Takie diagramy będziemy stosować w tej pracy. P 1 J 1 J 2 J 4 P 2 J 3 J Rysunek 1.4. Przykład diagramu Gantta reprezentującego uszeregowanie Jednym z celów, jakie stawiają sobie osoby zajmujące się teorią szeregowania zadań, jest konstruowanie algorytmów prowadzących do generowania uszeregowań optymalnych względem zadanego z góry kryterium. W praktyce kryterium to opisane jest przez pewną funkcję zależną od wartości związanych z uszeregowaniem (np. wektora czasów zakończenia zadań), a optymalizacja polega najczęściej na minimalizacji jej wartości. Mnogość rozważanych warunków i ograniczeń wymusiła powstanie spójnego i jednolitego sposobu zapisu, pozwalającego opisać rozważane problemy. W pracy [12] po raz pierwszy wprowadzono notację, która umożliwia przedstawianie teoretycznych problemów szeregowania zadań w czytelnej postaci. Ze względu na jej popularność, będzie ona stosowana w dalszej części tej pracy Oznaczenia W dalszej części tej pracy będą stosowane następujące oznaczenia związane z problemami szeregowania zadań. Oznaczenie J J i M j lub P j p i G Opis zbiór zadań i-te zadanie j-ty procesor podstawowy czas wykonania i-tego zadania graf, który opisuje zależności kolejnościowe wykonywania zadań 15

22 1.3. Wybrane zagadnienia teorii szeregowania zadań relacja częściowego porządku na zbiorze zadań Z każdym uszeregowaniem zadań σ wiążą się ponadto charakterystyczne dla niego wartości. Oznaczenie C i (σ) S i (σ) Opis czas zakończenia wykonywania i-tego zadania w uszeregowaniu σ czas rozpoczęcia wykonywania i-tego zadania w uszeregowaniu σ Jeżeli jasne będzie, którego uszeregowania dotyczą powyższe wartości, pominięta będzie zależność od σ, tzn. będziemy pisać odpowiednio C i oraz S i Notacja trójpolowa W celu opisania rozważanych problemów stosuje się notację trójpolową, postaci α β γ. W każdym polu umieszcza się informacje o odpowiednich warunkach, co ułatwia zwięzłe przedstawienie problemu szeregowania zadań. α opis zbioru maszyn W polu α opisujemy zbiór maszyn. Oznaczenie Opis 1 pojedyncza maszyna Pm P m równoległych i identycznych maszyn; czas wykonania i-tego zadania na dowolnej z maszyn wynosi p i jak wyżej, z tą różnicą, że liczba procesorów m jest częścią danych wejściowych β opis zbioru zadań W polu β opisujemy zbiór zadań. Oznaczenie prec Opis istnieją ograniczenia kolejnościowe 16

23 1.3. Wybrane zagadnienia teorii szeregowania zadań pmtn dopuszcza się możliwość przerwania wykonywania zadań γ opis funkcji kryterium W polu γ opisujemy funkcję kryterium, której wartość chcemy zoptymalizować. Wśród najpopularniejszych funkcji kryterium wyróżnia się poniższe, wykorzystywane w tej pracy. Oznaczenie C max = max Ci i C i Opis maksymalny czas zakończenia suma czasów zakończeń Przykłady W tym podrozdziale zaprezentowane zostały przykładowe problemy zapisane w omawianej notacji, wraz z wyjaśnieniem ich znaczenia. P pmtn C i Zadania można dzielić na części i nie występują pomiędzy nimi ograniczenia kolejnościowe. Liczba procesorów jest częścią danych wejściowych, a kryterium optymalności jest funkcja C i. P2 p i = 1, prec C max Zadania o jednostkowej długości wykonywane są na dwóch procesorach, występują pomiędzy nimi dowolne ograniczenia kolejnościowe, zadań nie można dzielić, a kryterium optymalności jest funkcja C max. P p i = 1, in-tree C max Każde zadanie wykonywane jest w jednostkowym czasie, niedopuszczalny jest podział zadań na części, liczba procesorów jest częścią danych wejściowych, graf ograniczeń kolejnościowych pomiędzy zadaniami ma formę odwróconego drzewa skierowanego, a kryterium optymalności jest funkcja C max. 17

24 1.4. Problem szeregowania zadań jednostkowych 1.4. Problem szeregowania zadań jednostkowych Rozważmy problem postaci P prec C max. Nie zaproponowano do tej pory algorytmu, który dla każdej instancji tego problemu generowałby w czasie wielomianowym uszeregowanie optymalne. Z tego powodu zaczęto rozważać szczególne przypadki tego problemu ze względu na liczbę procesorów. Pokazano, że w przypadku ograniczenia liczby procesorów do jednego, a więc dla problemu 1 prec C max, uszeregowanie optymalne można wygenerować w wielomianowym czasie, używając algorytmu sortowania topologicznego. Naturalnym krokiem stała się próba znalezienia wielomianowego algorytmu dla problemu P2 prec C max. Okazało się jednak, że tak postawiony problem jest NP-trudny (nawet jeśli prec = ). Do dzisiaj nie wiadomo, jak jest w przypadku, gdy liczba procesorów jest większa zaczęto więc modyfikować inne kryteria. Zauważono, że jeśli przyjmiemy jednostkowe czasy wykonania zadań, to P p i = 1, prec C max jest nadal problemem NP-trudnym. Pokazano jednak, że w przypadku, gdy graf ograniczeń kolejnościowych jest drzewem skierowanym lub odwróconym drzewem skierowanym, a więc dla problemu P p i = 1, tree C max, uszeregowanie optymalne da się wygenerować w wielomianowym czasie, korzystając z algorytmu Hu. Jeśli z kolei nie nałożymy dodatkowych warunków na ograniczenia kolejnościowe, ale ograniczymy liczbę procesorów do dwóch, to tak otrzymany problem P2 p i = 1, prec C max da się rozwiązać w wielomianowym czasie przy użyciu choćby algorytmu Coffmana-Grahama. Zarówno algorytm Hu, jak i algorytm Coffmana-Grahama zostały omówione w tej pracy. W tym paragrafie jednak wykażemy NP-zupełność ogólnego problemu szeregowania zadań jednostkowych (a więc problemu P p i = 1, prec C max ), co dowodzi zasadności rozważania jego przypadków szczególnych NP-zupełność problemu trójspełnialności Definicja Literałami zmiennej logicznej p nazywamy tę zmienną logiczną (p) oraz jej negację (p). Definicja Niech dany będzie zbiór U = {u 1, u 2,..., u m } zmiennych logicznych. Wyrażenie logiczne postaci C = (c 11 c 1k1 ) (c 21 c 2k2 ) (c n1 c nkn ), 18

25 1.4. Problem szeregowania zadań jednostkowych zbudowane z literałów zmiennych ze zbioru U nazywamy wyrażeniem w koniunkcyjnej postaci normalnej nad zbiorem U i zapisujemy równoważnie C = {{c 11,..., c 1k1 }, {c 21,..., c 2k2 },..., {c n1,..., c nkn }} lub C = {c 1, c 2,..., c n }, gdzie c i = {c i1,..., c iki }, dla 1 i n. Problem 1.4 (Problem spełnialności SAT). Dany jest zbiór U zmiennych logicznych oraz wyrażenie logiczne C = {c 1, c 2,... c m } w koniunkcyjnej postaci normalnej nad U. Czy istnieje takie przyporządkowanie wartości logicznych zmiennym ze zbioru U, aby wyrażenie C było spełnione (prawdziwe)? W pracy [5] udowodniona została NP-zupełność tak zdefiniowanego problemu. Ze względu na techniczny charakter, dowód ten pominiemy. W dowodzie NP-zupełności problemu szeregowania zadań jednostkowych korzystać jednak będziemy ze szczególnego przypadku problemu spełnialności. Problem 1.5 (Problem trójspełnialności 3SAT). Dany jest zbiór U zmiennych logicznych oraz wyrażenie logiczne C = {c 1, c 2,... c m } w koniunkcyjnej postaci normalnej nad U. Ponadto, dla 1 i m, zachodzi c i = 3. Czy istnieje takie przyporządkowanie wartości logicznych elementom zbioru U, aby wyrażenie C było spełnione (prawdziwe)? W oparciu o wcześniejsze rozważania, wykażemy NP-zupełność problemu trójspełnialności, przekształcając w niego wielomianowo NP-zupełny problem spełnialności. Odpowiednia transformacja została pokazana w [5] i [10]. Twierdzenie 1.2. Problem trójspełnialności (3SAT) jest NP-zupełny. Dowód. Łatwo zauważyć, że 3SAT NP, ponieważ algorytm niedeterministyczny przydziela wartości zmiennym logicznym ze skończonego zbioru U i weryfikuje w wielomianowym czasie, że w wyniku takiego przydziału każda z występujących w wyrażeniu trójliterałowych sum logicznych jest spełniona. Pokażemy, że problem spełnialności transformuje się wielomianowo w problem trójspełnialności. Niech U = {u 1, u 2,..., u n } będzie zbiorem zmiennych logicznych, a C = {c 1, c 2,..., c m } wyrażeniem logicznym w koniunkcyjnej postaci normalnej nad U, dla pewnej danej z góry instancji problemu SAT. Naszym celem jest skonstruowanie zbioru C trójliterałowych sum logicznych nad zbiorem zmiennych logicznych U, takiego że C jest spełnione wtedy i tylko wtedy, gdy spełnione jest C. 19

26 1.4. Problem szeregowania zadań jednostkowych Konstrukcja zbioru C oparta jest na zamianie każdego wyrażenia c j C na równoważne mu (w sensie logicznym) wyrażenie C j w koniunkcyjnej postaci normalnej. Każde z wyrażeń C j zbudowane jest z trójliterałowych sum logicznych, opartych na zmiennych logicznych ze zbioru U oraz dodatkowych zmiennych logicznych ze zbioru U j, których wykorzystanie ogranicza się do wyrażenia C j. W konsekwencji otrzymamy oraz m U = U m C = C j. j=1 U j j=1 Musimy jedynie pokazać, jak skonstruować zbiory C j oraz U j z odpowiedniego wyrażenia c j C. Niech c j będzie wyrażeniem {z 1, z 2,..., z k } (rozumianym jako z 1, z 2 z k ), zbudowanym z literałów zmiennych ze zbioru U. Sposób, w jaki konstruuje się zbiory C j oraz U j zależy od wartości k. Przypadek 1: k = 1: U j = { y 1 j, y 2 j } C j = {{ } { } { } { z 1, y 1 j, y 2 j, z1, y 1 j, y 2 j, z1, y 1 j, y 2 j, z1, y 1 j, y 2 j Przypadek 2: k = 2: U j = { } y 1 j, C j = {{ } { }} z 1, z 2, y 1 j, z1, z 2, y 1 j Przypadek 3: k = 3: U j =, C j = { } c j Przypadek 4: k > 3: U j = { y i j : 1 i k 3 } C j = {{ }} {{ } } z 1, z 2, y 1 j y i j, z i+2, y i+1 j : 1 u k 4 {{ }} y k 3 j, z k 1, z k Aby udowodnić, że jest to pożądana transformacja, musimy pokazać, że wyrażenie C jest spełnione wtedy i tylko wtedy, gdy spełnione jest wyrażenie C. Załóżmy wpierw, że t : U {T, F} jest przyporządkowaniem zmiennym logicznym ze zbioru U wartości spełniających wyrażenie C (powiemy, że t spełnia wyrażenie C). Pokażmy, że t może być rozszerzone do przyporządkowania t : U {T, F}, spełniającego wyrażenie C. Ze względu na to, że zmienne logiczne w zbiorze U U są podzielone na rozłączne zbiory U j i ze względu na to, że zmienne logiczne z każdego z tych zbiorów występują tylko w odpowiadających im wyrażeniach C j, musimy jedynie pokazać, jak t może być rozszerzone o zbiory U j pojedynczo i, w każdym przypadku, zweryfikować, że wszystkie sumy logiczne, z których zbudowane jest wyrażenie C j, są spełnione. }} 20

27 1.4. Problem szeregowania zadań jednostkowych Jeśli zbiór U j powstał w wyniku zastosowania Przypadku 1 lub Przypadku 2 opisanego powyżej, wówczas wyrażenia w zbiorze C j są spełnione przez t. Możemy więc rozszerzyć t do U j, przyjmując t (y) = T dla każdego y U j. Jeśli zbiór U j powstał w wyniki zastosowania Przypadku 3, to zbiór U j jest pusty, a wyrażenie C j jest spełnione w oparciu o t. Jedynym przypadkiem, który należałoby jeszcze rozważyć jest Przypadek 4. Przyporządkowanie t spełnia wyrażenie C, a zatem istnieje najmniejsza liczba całkowita l taka, że literał z l jest prawdziwy względem t. Jeśli l jest równe 1 albo 2, wówczas definiujemy t (y i j) = F dla 1 i k 3. W innym przypadku definiujemy t (y i j) = T dla 1 i l 2 oraz t (y i j) = F dla l 1 i k 3. Łatwo sprawdzić, że tak zdefiniowane wartości spełnią wszystkie sumy logiczne wewnątrz C j, a więc przyporządkowanie t spełni wyrażenie C. Odwrotnie, jeśli t spełnia wyrażenie C, łatwo zweryfikować, że obcięcie funkcji t do zbioru U spełnia wyrażenie C. To zaś oznacza, że C jest spełnione wtedy i tylko wtedy, gdy spełnione jest C. Aby pokazać, że ta transformacja może być wykonana w wielomianowym czasie, wystarczy zauważyć, że liczba trójliterałowych czynników w wyrażeniu C jest ograniczona przez wielomian zależny od mn. Stąd rozmiar instancji problemu 3SAT jest ograniczony z góry przez funkcję wielomianową rozmiaru instancji problemu spełnialności. Ponadto, wszelkie przekształcenia wykorzystane w dowodzie da się wykonać w wielomianowym czasie. Pokazaliśmy więc, że problem spełnialności jest NP-zupełny, nawet jeśli dla każdego c C zachodzi c = NP-zupełność problemu szeregowania zadań jednostkowych W pracy [4] podany został dowód NP-zupełności decyzyjnej postaci problemu szeregowania zadań jednostkowych. Fakt ten ma kluczowy wpływ na rozważania zawarte w tej pracy. Problem 1.6 (Problem szeregowania zadań jednostkowych). Niech danych będzie n niepodzielnych zadań o jednostkowych czasach wykonania (to znaczy p j = 1 dla 1 j n). Pomiędzy zadaniami zdefiniowane są ograniczenia kolejnościowe w postaci relacji częściowego porządku. Czy istnieje uszeregowanie dopuszczalne o długości mniejszej lub równej ω, jeśli dostępnych jest m procesorów? W dalszych rozważaniach korzystać będziemy ze zmodyfikowanej wersji problemu szeregowania zadań jednostkowych. 21

28 1.4. Problem szeregowania zadań jednostkowych Problem 1.7 (Zmodyfikowany problem szeregowania zadań jednostkowych). Niech danych będzie n niepodzielnych zadań o jednostkowych czasach wykonania (to znaczy p j = 1 dla 1 j n). Pomiędzy zadaniami zdefiniowane są ograniczenia kolejnościowe z postaci relacji częściowego porządku. Czy istnieje uszeregowanie dopuszczalne o długości mniejszej lub równej ω, jeśli w chwili i (gdzie i N oraz 0 i < ω) dostępnych jest m(i) procesorów? Rozumiemy, że jeśli w chwili i N dostępny jest jakikolwiek procesor, to może on posłużyć do wykonania zadania rozpoczynającego się w chwili i i kończącego się w chwili i + 1. Lemat 1.1. Zmodyfikowany problem szeregowania zadań jednostkowych jest problemem NP-zupełnym. Dowód. Z twierdzenia 1.2 wiemy, że problem trójspełnialności jest problemem NP-zupełnym. Niech zatem C = {c 1, c 2,..., c k } będzie wyrażeniem logicznym w koniunkcyjnej postaci normalnej i niech dla 1 i k zachodzi c i = 3. Ponadto, niech c i = x i y i z i = {x i, y i, z i }, gdzie x i, y i oraz z i są literałami zmiennych logicznych ze zbioru U = { } u 1, u 2,..., u p. Dla takiego wyrażenia C konstruujemy zmodyfikowany problem szeregowania zadań jednostkowych w następujący sposób. Zadaniami są: 1. T ij oraz T ij dla 1 i p oraz 0 j p, 2. S i oraz S i dla 1 i p, 3. D ij dla 1 i k oraz 1 j 7. Zadania oznaczone literami T i S odpowiadają zmiennym logicznym, zaś zadania oznaczone symbolem D alternatywom w wyrażeniu logicznym C. Ograniczenia kolejnościowe między zadaniami definiujemy w następujący sposób: 1. T ij T i,j+1 oraz T ij T i,j+1 dla 1 i p oraz 0 j p 1, 2. T i,i 1 S i oraz T i,i 1 S i dla 1 i p, 3. Weźmy pod uwagę zadanie D ij, gdzie wskaźnik j reprezentowany jest binarnie w postaci a 1 a 2 a 3. Z założenia j 1, zatem nie może zachodzić sytuacja, w której a 1 = a 2 = a 3 = 0. Rozważmy c i = x i y i z i, gdzie x i, y i oraz z i są literałami zmiennych logicznych, odpowiednio u r1, u r2 oraz u r3 ze zbioru U. Przyjmujemy, że T r1,p D ij, jeżeli x i = u r1 oraz a 1 = 1 lub x i = u r1 oraz a 1 = 0. W przeciwnym przypadku przyjmujemy, że T r1,p D ij. Podobnie, T r2,p D ij, jeżeli y i = u r2 oraz a 2 = 1 lub y i = u r2 oraz a 2 = 0. Jeśli tak nie jest, przyjmujemy, że T r2,p D ij. W końcu, 22

29 1.4. Problem szeregowania zadań jednostkowych przyjmujemy T r3,p D ij, jeżeli z i = u r3 oraz a 3 = 1 lub z i = u r3 oraz a 3 = 0. W przeciwnym przypadku przyjmujemy, że T r1,p D ij. Jako długość uszeregowania przyjmujemy ω = p + 3. Liczbę procesorów m(i), dostępnych w chwili i, definiujemy zgodnie z zasadą: m(0) = p, m(1) = 2p + 1, m(i) = 2p + 2 dla 2 i p, m(p + 1) = k + p + 1, m(p + 2) = 6k. Udowodnimy teraz, że tak określony zmodyfikowany problem szeregowania zadań jednostkowych ma rozwiązanie wtedy i tylko wtedy, gdy dane początkowo wyrażenie logiczne C jest spełnialne. Dowód oprze się na obserwacji, że (dla 1 i p) u i (lub u i ) przyjmuje wartość 1 (prawda) wtedy i tylko wtedy, gdy zadanie T i0 (lub odpowiednio T i0 ) jest wykonywane od chwili t = 0. Pokażemy, że przez obecność zadań typu S i S, jedno z zadań T i0 i T i0 jest wykonywane od chwili t = 0, drugie zaś od chwili t = 1. Żądanie, aby w chwili p + 1 rozpoczynało się k + p + 1 zadań jest równoważne żądaniu, aby dla każdego i istniało dokładnie jedno j takie, że zadanie D ij rozpoczyna się w tym samym czasie (więcej takich j nie może istnieć). Ten warunek jest zaś równoważny stwierdzeniu, że alternatywa, której odpowiada zadanie D ij, przyjmuje wartość logiczną 1 (prawda), wtedy gdy wartość logiczna 1 przyporządkowana jest tym literałom u i i u i, które odpowiadają zadaniom T i0 i T i0 rozpoczynającym się w chwili t = 0. Pokażemy wpierw, że dla dowolnego rozwiązania określonego powyżej zmodyfikowanego problemu szeregowania zadań jednostkowych, nie może zachodzić sytuacja, w której dla każdego i zadania T i0 oraz T i0 są wykonywane równocześnie od chwili t = 0. Załóżmy, dla dowodu nie wprost, że jest to możliwe. Ze względu na to, że m(0) = p, istnieje j takie, że żadne z zadań T j0 i T j0 nie rozpoczyna się w chwili t = 0. To zaś oznacza, że żadne z zadań S j i S j nie może rozpocząć się ani w chwili j, ani wcześniej. Zadanie S j może się wykonać dopiero po wykonaniu j zadań T j0, T j1,, T j,j 1, które ponadto muszą wykonać się w dokładnie w takiej kolejności. Stąd wnioskujemy, że liczba zadań mogących rozpocząć się w chwili j lub wcześniej jest równa: 1. co najwyżej (2j+1)p zadań typu T i T są nimi zadania T i0, T i1,, T ij, jeżeli wykonywanie zadania T i0 rozpoczęło się w chwili t = 0 lub T i0, T i1,, T i,j 1 w przeciwnym przypadku, 23

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

Zasada indukcji matematycznej

Zasada indukcji matematycznej Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.

Bardziej szczegółowo

Lista 6 Problemy NP-zupełne

Lista 6 Problemy NP-zupełne 1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa

Bardziej szczegółowo

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający

Bardziej szczegółowo

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki Marek Dębczyński Jednomaszynowe problemy szeregowania zadań zależnych z mieszanymi czasami wykonywania Rozprawa doktorska napisana

Bardziej szczegółowo

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach

Bardziej szczegółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie relacji, relacja równoważności, rozkłady zbiorów 1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i

Bardziej szczegółowo

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

Sortowanie topologiczne skierowanych grafów acyklicznych Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk Wykład nr 3 27.10.2014 Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których

Bardziej szczegółowo

Struktura danych. Sposób uporządkowania informacji w komputerze.

Struktura danych. Sposób uporządkowania informacji w komputerze. Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk

Bardziej szczegółowo

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Graf. Definicja marca / 1

Graf. Definicja marca / 1 Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych

Bardziej szczegółowo

F t+ := s>t. F s = F t.

F t+ := s>t. F s = F t. M. Beśka, Całka Stochastyczna, wykład 1 1 1 Wiadomości wstępne 1.1 Przestrzeń probabilistyczna z filtracją Niech (Ω, F, P ) będzie ustaloną przestrzenią probabilistyczną i niech F = {F t } t 0 będzie rodziną

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Podstawowe własności grafów. Wykład 3. Własności grafów

Podstawowe własności grafów. Wykład 3. Własności grafów Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).

Bardziej szczegółowo

Metoda Tablic Semantycznych

Metoda Tablic Semantycznych Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Paradygmaty dowodzenia

Paradygmaty dowodzenia Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

Zajęcia nr. 3 notatki

Zajęcia nr. 3 notatki Zajęcia nr. 3 notatki 22 kwietnia 2005 1 Funkcje liczbowe wprowadzenie Istnieje nieskończenie wiele funkcji w matematyce. W dodaktu nie wszystkie są liczbowe. Rozpatruje się funkcje które pobierają argumenty

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14 Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie

Bardziej szczegółowo

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami. M. Beśka, Wstęp do teorii miary, rozdz. 3 25 3 Miara 3.1 Definicja miary i jej podstawowe własności Niech X będzie niepustym zbiorem, a A 2 X niepustą rodziną podzbiorów. Wtedy dowolne odwzorowanie : A

Bardziej szczegółowo

O pewnych związkach teorii modeli z teorią reprezentacji

O pewnych związkach teorii modeli z teorią reprezentacji O pewnych związkach teorii modeli z teorią reprezentacji na podstawie referatu Stanisława Kasjana 5 i 12 grudnia 2000 roku 1. Elementy teorii modeli Będziemy rozważać język L składający się z przeliczalnej

Bardziej szczegółowo

Rachunek prawdopodobieństwa- wykład 2

Rachunek prawdopodobieństwa- wykład 2 Rachunek prawdopodobieństwa- wykład 2 Pojęcie dyskretnej przestrzeni probabilistycznej i określenie prawdopodobieństwa w tej przestrzeni dr Marcin Ziółkowski Instytut Matematyki i Informatyki Uniwersytet

Bardziej szczegółowo

G. Wybrane elementy teorii grafów

G. Wybrane elementy teorii grafów Dorota Miszczyńska, Marek Miszczyński KBO UŁ Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów Grafy są stosowane współcześnie w różnych działach nauki i techniki. Za pomocą grafów znakomicie

Bardziej szczegółowo

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

Ciągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel

Ciągi komplementarne. Autor: Krzysztof Zamarski. Opiekun pracy: dr Jacek Dymel Ciągi komplementarne Autor: Krzysztof Zamarski Opiekun pracy: dr Jacek Dymel Spis treści 1 Wprowadzenie 2 2 Pojęcia podstawowe 3 2.1 Oznaczenia........................... 3 2.2 "Ciąg odwrotny"........................

Bardziej szczegółowo

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. 5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. Algebra jest jednym z najstarszych działów matematyki dotyczącym początkowo tworzenia metod rozwiązywania równań

Bardziej szczegółowo

1 Działania na zbiorach

1 Działania na zbiorach M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

ZALICZENIE WYKŁADU: 30.I.2019

ZALICZENIE WYKŁADU: 30.I.2019 MATEMATYCZNE PODSTAWY KOGNITYWISTYKI ZALICZENIE WYKŁADU: 30.I.2019 KOGNITYWISTYKA UAM, 2018 2019 Imię i nazwisko:.......... POGROMCY PTAKÓW STYMFALIJSKICH 1. [2 punkty] Podaj definicję warunku łączności

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Problemy łatwe i trudne Problemy łatwe to problemy rozwiązywalne w czasie wielomianowym. Problemy trudne to takie, których

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Digraf. 13 maja 2017

Digraf. 13 maja 2017 Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,

Bardziej szczegółowo

Zakładamy, że maszyna ma jeden stan akceptujacy.

Zakładamy, że maszyna ma jeden stan akceptujacy. Złożoność pamięciowa Rozważamy następujac a maszynę Turinga: 1 0 0 1 1 0 1 1 1 1 Taśma wejściowa (read only) 1 0 1 1 0 0 0 1 0 0 1 Taśma robocza (read/write) 0 1 1 0 0 1 0 0 1 Taśma wyjściowa (write only)

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy logiki matematycznej Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w

Bardziej szczegółowo

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa Dowód pierwszego twierdzenia Gödela o niezupełności arytmetyki oparty o złożoność Kołmogorowa Grzegorz Gutowski SMP II rok opiekun: dr inż. Jerzy Martyna II UJ 1 1 Wstęp Pierwsze twierdzenie o niezupełności

Bardziej szczegółowo

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia

Bardziej szczegółowo

Logika Matematyczna (10)

Logika Matematyczna (10) Logika Matematyczna (10) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Rezolucja w KRZ Jerzy Pogonowski (MEG) Logika Matematyczna (10) Rezolucja w KRZ 1 / 39 Plan

Bardziej szczegółowo

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. WYKŁAD : Teoria NP-zupełnoci. Problem decyzyjny naley do klasy P (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. (przynaleno ta jest zachowana równie dla

Bardziej szczegółowo

Instrukcje dla zawodników

Instrukcje dla zawodników Instrukcje dla zawodników Nie otwieraj arkusza z zadaniami dopóki nie zostaniesz o to poproszony. Instrukcje poniżej zostaną ci odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde zadanie

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana

Bardziej szczegółowo

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne: Klasa 1 technikum Przedmiotowy system oceniania wraz z wymaganiami edukacyjnymi Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i

Bardziej szczegółowo

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski Logika stosowana Ćwiczenia Złożoność obliczeniowa problemu spełnialności Marcin Szczuka Instytut Informatyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2015/2016 Marcin Szczuka (MIMUW)

Bardziej szczegółowo

9.4 Czasy przygotowania i dostarczenia

9.4 Czasy przygotowania i dostarczenia 140 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE dla każdej pary (i, j) R. Odpowiednie problemy posiadają oznaczenie 1 r j,prec C max,1 prec L max oraz 1 q j,prec C max. Właściwe algorytmy rozwiązywania, o złożoności

Bardziej szczegółowo

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a); Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

Relacje. opracował Maciej Grzesiak. 17 października 2011

Relacje. opracował Maciej Grzesiak. 17 października 2011 Relacje opracował Maciej Grzesiak 17 października 2011 1 Podstawowe definicje Niech dany będzie zbiór X. X n oznacza n-tą potęgę kartezjańską zbioru X, tzn zbiór X X X = {(x 1, x 2,..., x n ) : x k X dla

Bardziej szczegółowo

Elementy teorii grafów Elementy teorii grafów

Elementy teorii grafów Elementy teorii grafów Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym

Bardziej szczegółowo

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x 2. Wykład 2: algebry Boole a, kraty i drzewa. 2.1. Algebra Boole a. 1 Ważnym dla nas przykładem algebr są algebry Boole a, czyli algebry B = (B,,,, 0, 1) typu (2, 2, 1, 0, 0) spełniające własności: (1)

Bardziej szczegółowo

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011). Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011). Poprzedniczka tej notatki zawierała błędy! Ta pewnie zresztą też ; ). Ćwiczenie 3 zostało zmienione, bo żądałem, byście dowodzili czegoś,

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

Problemy Decyzyjne dla Systemów Nieskończonych

Problemy Decyzyjne dla Systemów Nieskończonych Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja

Bardziej szczegółowo

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2 Wykład 16 Geometria analityczna Przegląd wiadomości z geometrii analitycznej na płaszczyźnie rtokartezjański układ współrzędnych powstaje przez ustalenie punktu początkowego zwanego początkiem układu współrzędnych

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna teoria grafów Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)

Bardziej szczegółowo

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Indukowane Reguły Decyzyjne I. Wykład 3

Indukowane Reguły Decyzyjne I. Wykład 3 Indukowane Reguły Decyzyjne I Wykład 3 IRD Wykład 3 Plan Powtórka Grafy Drzewa klasyfikacyjne Testy wstęp Klasyfikacja obiektów z wykorzystaniem drzewa Reguły decyzyjne generowane przez drzewo 2 Powtórzenie

Bardziej szczegółowo

Ekonometria - ćwiczenia 10

Ekonometria - ćwiczenia 10 Ekonometria - ćwiczenia 10 Mateusz Myśliwski Zakład Ekonometrii Stosowanej Instytut Ekonometrii Kolegium Analiz Ekonomicznych Szkoła Główna Handlowa 14 grudnia 2012 Wprowadzenie Optymalizacja liniowa Na

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Liczby zespolone. x + 2 = 0.

Liczby zespolone. x + 2 = 0. Liczby zespolone 1 Wiadomości wstępne Rozważmy równanie wielomianowe postaci x + 2 = 0. Współczynniki wielomianu stojącego po lewej stronie są liczbami całkowitymi i jedyny pierwiastek x = 2 jest liczbą

Bardziej szczegółowo