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

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

Download "Algorytmy Równoległe i Rozproszone Część IV - Model PRAM"

Transkrypt

1 Algorytmy Równoległe i Rozproszone Część IV - Model PRAM Łukasz Kuszner pokój 209, WETI kuszner/ Oficjalna strona wykładu kuszner/arir/ Wykład 15 godzin, Projekt 15 godzin 2015 Strona 1 z 45

2 1. Powody rozwoju systemów równoległych i rozproszonych wymiana informacji, współdzielenie zasobów, zwiększanie niezawodności poprzez powielanie, zwiększanie wydajności poprzez zrównoleglanie, upraszczanie konstrukcji poprzez specjalizację. Strona 2 z 45

3 Wymiana informacji zność wymiany informacji pociąga za sobą konieczność budowy systemów, które taką wymianę umożliwiają. W powszechnym użyciu jest wiele takich systemów jak choćby globalna sieć Internet, sieci telefonii stacjonarnej i komórkowej, wewnętrzne sieci komputerowe dużych korporacji przemysłowych, wojskowe i cywilne systemy wczesnego ostrzegania, systemy nawigacji satelitarnej i inne. Strona 3 z 45

4 Współdzielenie zasobów Wytworzenie, a później utrzymanie niektórych zasobów może być bardzo kosztowne. zne staje się więc współdzielenie ich przez wielu użytkowników. W takim wypadku dla ułatwienia dostępu i uregulowania zasad korzystania z zasobów powstają często rozproszone systemy dostępu i kontroli. Jako przykłady można tu podać np.: teleskop kosmiczny Hubble a, a w mniejszej skali ploter lub drukarkę współdzieloną przez kilku użytkowników. Zasobami mogą być też dane, lub moc obliczeniowa superkomputerów. Strona 4 z 45

5 Zwiększanie niezawodności poprzez powielanie Systemy rozproszone mogą być potencjalnie bardziej niezawodne. O ile awaria lub zniszczenie samodzielnie działającego komputera uniemożliwa pracę całego systemu, o tyle awaria systemu rozproszonego może być zneutralizowana poprzez zastąpienie niesprawnego elementu poprzez inne działające równolegle. Strona 5 z 45

6 Zwiększanie wydajności poprzez zrównoleglanie W systemach masowej obsługi powielenie jednostek wykonujących to samo zadanie powoduje wzrost wydajności. Przykładem tutaj mogą być komputery odpowiadające na zapytania kierowane do baz danych. Również w innego rodzaju systemach jeśli tylko realizowane zadania mogą być dzielone na mniejsze części, to możemy przyspieszyć obsługę poprzez zrównoleglenie pewnych operacji. Strona 6 z 45

7 Upraszczanie konstrukcji poprzez specjalizację Konstrukcja systemów komputerowych może być bardzo złożona. Podobnie jak klasyczna modularyzacja podział systemu na kooperujące części może zaowocować zmniejszeniem złożoności pojedynczych elementów i zarazem uproszczeniem konstrukcji całego systemu. Strona 7 z 45

8 2. Jakość algorytmów równoległych Czas obliczeń (złożoność algorytmu) Liczba potrzebnych procesorów. Przyjęty model obliczeń Przyspieszenie Efektywność Skalowalność Strona 8 z 45

9 Przyspieszenie Rozważmy problem, dla którego sekwencyjny algorytm wymaga czasu T s. Dysponujemy algorytmem, który działa w czasie T p przy użyciu P procesorów. Speedup = T s T p Efficiency = T s P T p W jaki sposób obliczamy czasy T s i T p? Strona 9 z 45

10 Przyspieszenie względne (Relative Speedup) Niech A będzie algorytmem równoległym. RelativeSpeedup(n, p) = T s T p T s =Czas rozwiązania problemu P na jednym procesorze T p =Czas rozwiązania problemu P na p procesorach Strona 10 z 45

11 Przyspieszenie rzeczywiste (Real Speedup) Niech A będzie algorytmem równoległym. RealSpeedup(n, p) = T s T p T s =Czas rozwiązania problemu najlepszym znanym algorytmem sekwencyjnym, T p =Czas rozwiązania problemu P na p procesorach. W obu wypadkach mierzymy czas na maszynie równoległej. Strona 11 z 45

12 Przyspieszenie bezwzględne (Absolute Speedup) Niech A będzie algorytmem równoległem. AbsoluteSpeedup(n, p) = T s T p T s =Czas rozwiązania problemu najlepszym znanym algorytmem sekwencyjnym na najszybszym znanym procesorze, T p =Czas rozwiązania problemu P na p procesorach. Strona 12 z 45

13 Asymptotyczne przyspieszenie rzeczywiste (Asymptotic Real Speedup) Niech S(n) będzie złożonością obliczeniową najlepszego algorytmu sekwencyjnego, a A algorytmem równoległym i P A (n) jego złożonością bez ograniczenia na liczbę procesorów. AsymptoticRealSpeedup(n, p) = S(n) P (n) Strona 13 z 45

14 Cost Normalized Speedup CNS(n, p) = Speedup(n, p) koszt systemu równoległego koszt systemu sekwencyjnego Strona 14 z 45

15 Efektywność Efektywność jest miarą ściśle związaną z przyspieszeniem. Ogólnie można zapisać Efficiency(n, p) = Speedup(n, p), p gdzie n jest rozmiarem problemu, a p jest liczbą użytych procesorów. W zależności od tego jaką przyjmiemy miarę przyspieszenia uzyskamy różne miary efektywności. Strona 15 z 45

16 Skalowalność Intuicyjnie system/algorytm jest skalowalny, jeśli efektywność maleje wolno wraz ze wzrostem rozmiaru problemu i liczby procesorów. Strona 16 z 45

17 3. W modelu przetwarzania sekwencyjnego kluczową rolę pełni model maszyny RAM (random access machine). Każda taka maszyna składa się z ustalonego programu, jednostki obliczeniowej, taśmy (tylko do odczytu) z danymi wejściowymi, taśmy (tylko do zapisu) na wynik działania programu oraz nieograniczonej pamięci o dostępie swobodnym. Ponadto każda komórka pamięci jest w stanie zapamiętać liczbę całkowitą o nieograniczonym zakresie. Jednostka obliczeniowa nie jest skomplikowana pozwala na wykonywanie najprostszych instrukcji takich jak: kopiowanie komórek pamięci, porównania i skoki warunkowe, podstawowe operacje arytmetyczne itp. Ustalony program użytkownika składa się z ciągu takich instrukcji. Strona 17 z 45

18 Miarą złożoności programów dla maszyny RAM są typowo czas działania mierzony liczbą wykonanych instrukcji i zużycie pamięci mierzone liczbą wykorzystywanych komórek. Żeby uchronić ten model przed zniekształceniami zabronione jest generowanie bardzo dużych liczb w krótkim czasie. Np. zabrania się generowania liczb o niewielomianowej długości zapisu w wielomianowym czasie. Można to osiągnąć albo przez uważny dobór zestawu instrukcji, albo przerzucając odpowiedzialność na twórców algorytmów dla danego modelu. W ten sposób otrzymujemy gamę równoważnych modeli dla obliczeń sekwencyjnych. Strona 18 z 45

19 Naturalnym uogólnieniem modelu RAM (ang. random access machine) jest dodanie większej liczby jednostek obliczeniowych. Ideę maszyny PRAM (ang. parallel random access machine) może ilustrować poniższy schemat: Pamięć współdzielona Strona 19 z 45 P 1 P 2 P n

20 4. Pamięć jest wspólna dla wszystkich procesorów. Każdy procesor jest maszyną typu RAM. Wszystkie procesory działają synchronicznie. Czas działania mierzymy liczbą dostępów do pamięci współdzielonej. Zużycie pamięci liczymy liczbą użytych komórek. Dodatkowym parametrem jest liczba użytych procesorów. Tu zakładamy, że w wielomianowym czasie można użyć tylko wielomianowej liczby procesorów. Strona 20 z 45

21 Uwagi do założeń Ostatni punkt założeń można rozwiązać np. w taki sposób, że procesor P 1 oblicza potrzebną liczbę procesorów, a następnie włącza je wpisując liczbę do odpowiedniego rejestru. Liczenie dostępów do pamięci ma taki sens praktyczny, że zwykle wszelkie operacje typu komunikacyjnego zabierają znacznie więcej czasu niż obliczenia lokalne. Wadą założenia o jednostkowym czasie dostępu jest, występowanie w rzeczywistych systemach równoległych mechanizmów komunikacji o bardzo zróżnicowanej wydajności. Strona 21 z 45

22 Dostęp do pamięci Istnieje kilka sposobów modelowania równoległego dostępu do pamięci współdzielonej. We wszystkich modelach zakładamy oddzielenie operacji zapisu i odczytu. Przyjmujemy, że maszyna PRAM działa w cyklu składającym się z: (jeśli potrzeba) czytaj z pamięci współdzielonej, (jeśli potrzeba) wykonaj obliczenia lokalne, (jeśli potrzeba) pisz do pamięci współdzielonej. W ten sposób zakładamy, że nie ma konfliktów typu: jednoczesny zapis/odczyt. Strona 22 z 45

23 Pozostają jednak konflikty typu: jednoczesny zapis/zapis i odczyt/odczyt. Generalnie możliwości są następujące: maszyna EREW-PRAM: (ang. exclusive read exclusive write) nie dopuszcza się konfliktów żadnego rodzaju, maszyna CREW-PRAM: (ang. concurrent read exclusive write) dopuszcza się konflikty typu jednoczesny odczyt, maszyna ERCW-PRAM: (ang. exclusive read concurrent write) dopuszcza się konflikty typu jednoczesny zapis, maszyna CRCW-PRAM: (ang. concurrent read concurrent write) dopuszcza się zarówno konflikty typu jednoczesny odczyt jak i jednoczesny zapis. Przy czym w przypadku dopuszczenia jednoczesnego odczytu (CREW, CRCW) zakładamy, że wszystkie procesory przeczytają żądaną komórkę pamięci. W przypadku dopuszczenia jednoczesnego zapisu sytuacja jest bardziej złożona. Strona 23 z 45

24 Rozwiązywanie konfliktów typu jednoczesny zapis ECR (equality conflict resolution) - jednoczesny zapis się powiedzie, jeśli wszystkie procesory próbują zapisać to samo. PCR (priority conflict resolution) - zapis udaje się tylko procesorowi o najwyższym priorytecie. ACR (arbitrary conflict resolution) - jednemu z procesorów zapis się powiedzie. Strona 24 z 45

25 5. Twierdzenie 1 Każdy układ kombinacyjny o rozmiarze n, głębokości d i stopniu wejściowym bramek ograniczonym przez stałą da się symulować na p-procesorowej maszynie CREW- -PRAM w czasie O(n/p + d). Ćwiczenie 1 Uzasadnij twierdzenie Brenta (zob. Cormen str 793). Strona 25 z 45

26 6. Algorytm 1: Iloczyn skalarny 1: for i = 1 to n in parallel do 2: c i = a i b i 3: end for 4: p = n/2 5: while p > 0 do 6: for i = 1 to p in parallel do 7: c i = c i + c i+p 8: end for 9: p = p/2 10: end while We: Tablice współrzędnych a[1 : n] i b[1 : n] Wy: Liczba będąca iloczynem skalarnym wektorów a i b. Model: EREW PRAM. Czas O(lg n) i O(n) procesorów. Strona 26 z 45

27 Algorytm 2: Koniunkcja logiczna 1 1: result=true 2: for i = 1 to n in parallel do 3: if A[i]==FALSE then 4: result=false 5: end if 6: end for We: Tablica wartości logicznych A[1 : n]. Wy: result Model: ERCW PRAM. Czas O(1) i O(n) procesorów. Strona 27 z 45

28 Algorytm 3: Koniunkcja logiczna 2 1: result=false 2: for i = 1 to n in parallel do 3: result=a[i] 4: end for We: Tablica wartości logicznych A[1 : n]. Wy: result Model: ERCW-ECR PRAM. Czas O(1) i O(n) procesorów. Ćwiczenie 2 Uzasadnij poprawność powyższych algorytmów. Strona 28 z 45

29 7. Obliczenia w drzewie binarnym Algorytm 4: Koniunkcja logiczna 3 1: p = n/2 2: while p > 0 do 3: for i = 1 to p in parallel do 4: A[i] = A[2i 1]A[2i] 5: end for 6: p = p/2 7: end while We: Tablica wartości logicznych A[1 : n]. Wy: result Model: EREW PRAM. Czas O(lg n) i O(n) procesorów. Strona 29 z 45

30 8. (przeskakiwanie) pozwala na tworzenie równoległych algorytmów dla list. Przykład Problem list-ranking obliczanie odległości obiektu od końca listy. Niech A będzie tablicą obiektów, a Link[i] = j oznacza, że element j następuje w liście po elemencie i. Jeśli Link[i] = 0, to nie ma kolejnego elementu, i jest elementem ostatnim. Przez Head oznaczymy pierwszy element na liście. Strona 30 z 45

31 Algorytm 5: List Ranking 1: for i = 1 to n in parallel do 2: Rank[i]=1 3: Next[i]=Link[i] 4: end for 5: for j = 1 to lg n do 6: for i = 1 to n in parallel do 7: if Next[i] 0 then 8: Rank[i]+ = Rank[N ext[i]] 9: Next[i] = Next[Next[i]] 10: end if 11: end for 12: end for We: Tablice A[1 : n], Link[1 : n]. Wy: Rank[1:n] Model: EREW PRAM. Czas O(lg n) i O(n) procesorów. Strona 31 z 45

32 Na rysunku znajdują się procesory oznaczone prostokątami w kolejności wskazywanej przez Link. Strzałki obrazują wartość N ext, a liczby wpisane w każdy prostokąt wartości Rank Strona 32 z

33 9. Metoda cyklu Eulera Niech G = (V, E) spójny graf prosty. Możemy utworzyć graf G o tym samym zbiorze wierzchołków V oraz zbiorze krawędzi E otrzymanym przez zastąpienie każdej nieskierowanej krawędzi E e = {u, v} poprzez dwie krawędzie skierowane (u, v) i (v, u). Fakt 2 Otrzymany w ten sposób graf jest Eulerowski. Strona 33 z 45

34 Rozważmy teraz drzewo T. Zaczniemy od znalezienia cyklu Eulera w T = (V, E ). Niech v V będzie wierzchołkiem w T, a N(v) = {u 0, u 1, u 2,..., u deg(v) 1 } listą sąsiadów. Istotne jest, że dla każdego wierzchołka v zbiór sąsiadów N(v) musi być uporządkowany. Dla każdej krawędzi (u i, v) definiujemy następnik succ(u i, v) = (v, u i+1(mod deg(v)) ) Fakt 3 Tak zdefiniowana funkcja succ (następnik) definiuje cykl Eulera w T. Strona 34 z 45

35 Przykład Zakładając kolejność sąsiadów: 1 : {2}, 2 : {1, 3, 4}, 3 : {2}, 6 4 : {2, 5}, 5 5 : {4, 6, 7, 8}, 6 : {5}, 7 : {5}, 4 8 : {5, 9, 10}, 9 : {8}, 10 : {8, 11}, 11 : {10}, Strona 35 z 45 Na tym rysunku uzyskamy cykl: 1, 2, 3, 2, 4, 5, 6, 5, 7, 5, 8, 9, 8, 10, 11, 10, 8, 5, 4, 2, 1

36 Mając krawędzie drzewa ułożone w cykl możemy stosować metody typu pointer jumping dla drzew. Otrzymujemy w ten sposób metodę konstruowania algorytmów przy użyciu O(n) procesorów i logarytmicznym czasie działania. Ćwiczenie 3 Zaprojektuj efektywny algorytm równoległy obliczania sumy wszystkich elementów zapamiętanych w strukturze drzewiastej. Strona 36 z 45

37 Kolejność Postorder We: Drzewo T = (V, E) z korzeniem r wyróżnionym poprzez relację p, gdzie p(u) = v - oznacza v jest rodzicem u w drzewie T oraz w T w formie relacji succ. Wy: Dla każdego wierzchołka jego numer w kolejności Postorder post(v). Strona 37 z 45

38 Algorytm 6: Kolejność Postorder 1: for każda krawędź (u, v) in parallel do 2: if u = p(v) then 3: krawędź ma wagę w(u, v) = 0 4: else 5: krawędź ma wagę w(u, v) = 1 6: end if 7: end for 8: Znajdź sumę wag na krawędziach stosując pointer jumping 9: for każdy wierzchołek (v) in parallel do 10: post(v) = suma prefiksowa wag w na łuku (v, p(v)). 11: end for Model: CREW PRAM, czas O(log n) i O(m) procesorów. Strona 38 z 45

39 Przykład Motywacja w(4, 2) = 0, w(2, 1) = 0, w(1, 2) = 1, w(2, 4) = 1, w(4, 3) = 0, w(3, 4) = 1, w(4, 5) = 0, w(5, 6) = 0, w(6, 5) = 1, w(5, 7) = 0, w(7, 5) = 1, w(5, 8) = 0, w(8, 10) = 0, w(10, 11) = 0, w(11, 10) = 1, w(10, 8) = 1, w(8, 5) = 1, w(5, 9) = 0, w(9, 5) = 1, w(5, 4) = Strona 39 z

40 Ćwiczenie 4 Zaprojektuj algorytm typu EREW PRAM, który w czasie O(log n) oblicza rozmiary poddrzew o korzeniach we wszystkich węzłach drzewa binarnego. Strona 40 z 45

41 10. Algorytm Floyda-Warshalla Rozważmy graf G = (V, E), w którym z każdą krawędzią skojarzono nieujemną wagę w ij. Uzupełniając przekątną zerami: w ii = 0 i pozostałe wagi wartością nieskończoność: w ij = (jeśli nie ma krawędzi z i do j) otrzymamy macierz wag W = (w ij ). Algorytm Floyda-Warshalla pozwala obliczyć długość najkrótszej ścieżki z i do j, jak też i jej przebieg. Odtworzenie każdej ścieżki umożliwi macierz (p ij ), w której element p ij pokazuje wierzchołek poprzedni w stosunku do j w najkrótszej ścieżce z i do j. Strona 41 z 45

42 Algorytm 7: 1: for i = 1 to n in parallel do 2: for j = 1 to n in parallel do 3: d ij = w ij 4: p ij = i 5: end for 6: end for 7: for k = 1 to n do 8: for każda para i, j, gdzie 0 < i, j n i i, j k in parallel do 9: if d ij > d ik + d kj then Motywacja 10: d ij = d ik + d kj 11: p ij = p kj 12: end if 13: end for 14: end for Strona 42 z 45 We: Graf w postaci macierzy wag w ij Wy: Macierze d ij i P ij Model: CREW PRAM. Czas O(n) i O(n 2 ) procesorów.

43 Ćwiczenie 5 Zaprojektuj algorytm typu CREW PRAM, który w czasie O(n) znajdzie przechodnie domknięcie relacji binarnej. Strona 43 z 45

44 11. przez ranking Czas O(log n) i O(n 2 ) procesorów. We: Wektor do posortowania X = [x 1,... x n ] Model: CREW PRAM. Strona 44 z 45

45 Algorytm 8: przez ranking 1: for każda para i, j, gdzie 0 < i, j n in parallel do 2: if x i > x j then 3: c ij = 1 4: else 5: c ij = 0 6: end if 7: end for 8: for i = 1 to n in parallel do 9: policz r i = n j=1 c ij 10: end for 11: for i = 1 to n in parallel do 12: ustaw element i na pozycji r i + 1 w tablicy wynikowej 13: end for Strona 45 z 45

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

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM Algorytmy Równoległe i Rozproszone Część IV - Model PRAM Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/ kuszner/arir/ Wykład

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

Programowanie równoległe

Programowanie równoległe Programowanie równoległe ELEMENTARNE ALGORYTMY (PODSTAWA: Z.CZECH. WPROWADZENIE DO OBLICZEŃ RÓWNOLEGŁYCH. PWN, 2010) Andrzej Baran baran@kft.umcs.lublin.pl Charakterystyka ilościowa algorytmów Przez algorytm

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S.WĄSIK ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI ZAD. 1. Narysowad graf nieskierowany. Zmodyfikowad go w taki sposób, aby stał

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Matematyka dyskretna - 7.Drzewa

Matematyka dyskretna - 7.Drzewa Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja

Bardziej szczegółowo

Algorytmy sortujące 1

Algorytmy sortujące 1 Algorytmy sortujące 1 Sortowanie Jeden z najczęściej występujących, rozwiązywanych i stosowanych problemów. Ułożyć elementy listy (przyjmujemy: tablicy) w rosnącym porządku Sortowanie może być oparte na

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część VI - Systemy rozproszone, podstawowe pojęcia

Algorytmy Równoległe i Rozproszone Część VI - Systemy rozproszone, podstawowe pojęcia Algorytmy Równoległe i Rozproszone Część VI - Systemy rozproszone, podstawowe pojęcia Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@kaims.pl Oficjalna strona wykładu http://www.kaims.pl/

Bardziej szczegółowo

PROBLEMY NIEROZSTRZYGALNE

PROBLEMY NIEROZSTRZYGALNE PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną

Bardziej szczegółowo

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany , 1 2 3, czas zamortyzowany zajęcia 3. Wojciech Śmietanka, Tomasz Kulczyński, Błażej Osiński rozpinajace, 1 2 3 rozpinajace Mamy graf nieskierowany, ważony, wagi większe od 0. Chcemy wybrać taki podzbiór

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

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

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

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Obliczenia współbieżne czyli zmiana założenia o sekwencyjnym działaniu procesora rozwiązywanie problemu algorytmicznego za pomocą współpracujących ze sobą wielu procesorów wykorzystanie komputerów równoległych,

Bardziej szczegółowo

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp

Bardziej szczegółowo

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

Analityczne modelowanie systemów równoległych

Analityczne modelowanie systemów równoległych Analityczne modelowanie systemów równoległych 1 Modelowanie wydajności Program szeregowy jest modelowany przez czas wykonania. Na ogół jest to czas asymptotyczny w notacji O. Czas wykonania programu szeregowego

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Metody numeryczne. materiały do wykładu dla studentów

Metody numeryczne. materiały do wykładu dla studentów Metody numeryczne materiały do wykładu dla studentów 4. Wartości własne i wektory własne 4.1. Podstawowe definicje, własności i twierdzenia 4.2. Lokalizacja wartości własnych 4.3. Metoda potęgowa znajdowania

Bardziej szczegółowo

Akademickie Mistrzostwa Polski w Programowaniu Zespołowym

Akademickie Mistrzostwa Polski w Programowaniu Zespołowym Akademickie Mistrzostwa Polski w Programowaniu Zespołowym Prezentacja rozwiązań zadań 30 października 2011 c h k f e j i a b d g Czy się zatrzyma? Autor zadania: Jakub Łącki Zgłoszenia: 104 z 914 (11%)

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

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Ogólne zasady projektowania algorytmów i programowania

Ogólne zasady projektowania algorytmów i programowania Ogólne zasady projektowania algorytmów i programowania Pracuj nad właściwie sformułowanym problemem dokładna analiza nawet małego zadania może prowadzić do ogromnych korzyści praktycznych: skrócenia długości

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania

Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania Mariusz Juszczyk 16 marca 2010 Seminarium badawcze Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania Wstęp Systemy przekazywania wiadomości wymagają wprowadzenia pewnych podstawowych

Bardziej szczegółowo

Egzaminy i inne zadania. Semestr II.

Egzaminy i inne zadania. Semestr II. Egzaminy i inne zadania. Semestr II. Poniższe zadania są wyborem zadań ze Wstępu do Informatyki z egzaminów jakie przeprowadziłem w ciągu ostatnich lat. Ponadto dołączyłem szereg zadań, które pojawiały

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych 1 Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Alexander Denisjuk Prywatna Wyższa Szkoła Zawodowa w Giżycku

Bardziej szczegółowo

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Bazy danych wykład dwunasty Wykonywanie i optymalizacja zapytań SQL Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36 Model kosztów

Bardziej szczegółowo

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym Oznaczenia: wymagania konieczne, P wymagania podstawowe, R wymagania rozszerzające, D wymagania dopełniające, W wymagania wykraczające. Plan wynikowy lasa III Technik pojazdów samochodowych/ Technik urządzeń

Bardziej szczegółowo

Pamięci masowe. ATA (Advanced Technology Attachments)

Pamięci masowe. ATA (Advanced Technology Attachments) Pamięci masowe ATA (Advanced Technology Attachments) interfejs systemowy w komputerach klasy PC i Amiga przeznaczony do komunikacji z dyskami twardymi zaproponowany w 1983 przez firmę Compaq. Używa się

Bardziej szczegółowo

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY V

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY V MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY V Na ocenę wyższą uczeń powinien opanować wiedzę i umiejętności na ocenę (oceny) niższą. Dział programowy: LICZBY NATURALNE podać przykład liczby naturalnej czytać

Bardziej szczegółowo

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego 1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski : idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski

Bardziej szczegółowo

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć Katalog wymagań programowych na poszczególne stopnie szkolne Matematyka. Poznać, zrozumieć Kształcenie w zakresie podstawowym. Klasa 3 Poniżej podajemy umiejętności, jakie powinien zdobyć uczeń z każdego

Bardziej szczegółowo

Wymagania eduka cyjne z matematyki

Wymagania eduka cyjne z matematyki Wymagania eduka cyjne z matematyki Klasa I - program Matematyka z plusem" Dział: LICZ B Y I DZIAŁANIA porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej, zamieniać ułamki zwykłe na

Bardziej szczegółowo

Detekcja zakleszczenia (1)

Detekcja zakleszczenia (1) Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

Algebra liniowa z geometrią

Algebra liniowa z geometrią Algebra liniowa z geometrią Maciej Czarnecki 15 stycznia 2013 Spis treści 1 Geometria płaszczyzny 2 1.1 Wektory i skalary........................... 2 1.2 Macierze, wyznaczniki, układy równań liniowych.........

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny

Bardziej szczegółowo

WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM

WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM Na ocenę dopuszczającą uczeń umie : WYMAGANIA EDUKACYJN KRYTERIA OCENY Z MATEMATYKI W KLASIE II GIMNAZJUM stosować cztery podstawowe działania na liczbach wymiernych, zna kolejność wykonywania działań

Bardziej szczegółowo

MATeMAtyka 3. Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony

MATeMAtyka 3. Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony Agnieszka Kamińska, Dorota Ponczek MATeMAtyka 3 Propozycja przedmiotowego systemu oceniania wraz z określeniem wymagań edukacyjnych Zakres podstawowy i rozszerzony Wyróżnione zostały następujące wymagania

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie

Bardziej szczegółowo

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Wykład 5 Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Spis treści: 1. Klasyfikacja Flynna 2. Klasyfikacja Skillicorna 3. Klasyfikacja architektury systemów pod względem

Bardziej szczegółowo

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów

Bardziej szczegółowo

Problemy NP-zupełne. Spis treści. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain. Ostatnia zmiana: 15 styczeń 2013. Notatki.

Problemy NP-zupełne. Spis treści. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain. Ostatnia zmiana: 15 styczeń 2013. Notatki. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski e-mail : M.Sawerwain@issi.uz.zgora.pl tel. (praca) : 68 328 2321, pok.

Bardziej szczegółowo

Wymagania edukacyjne z matematyki

Wymagania edukacyjne z matematyki Wymagania edukacyjne z matematyki Klasa I - program Matematyka z plusem" Dział: LICZBY I DZIAŁANIA Poziom konieczny - ocena dopuszczająca porównywać liczby wymierne, zaznaczać liczby wymierne na osi liczbowej,

Bardziej szczegółowo

Algorytmy i struktury danych.

Algorytmy i struktury danych. Algorytmy i struktury danych. Wykład 4 Krzysztof M. Ocetkiewicz Krzysztof.Ocetkiewicz@eti.pg.gda.pl Katedra Algorytmów i Modelowania Systemów, WETI, PG Problem plecakowy mamy plecak o określonej pojemności

Bardziej szczegółowo

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający

Bardziej szczegółowo

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna. Układy kombinacyjne. Czas trwania: 6h. Cele ćwiczenia Przypomnienie podstawowych praw Algebry Boole a. Zaprojektowanie, montaż i sprawdzenie działania zadanych układów kombinacyjnych.. Wymagana znajomość

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

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

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.

0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001. KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Definicja i cechy algorytmów Sieci działań Programowanie strukturalne Witold Marańda maranda@dmcs.p.lodz.pl 1 Literatura 1. iklaus Wirth, Algorytmy + Struktury danych = Programy,

Bardziej szczegółowo

Dynamiczne drzewa. Piotr Sankowski. - p. 1/27

Dynamiczne drzewa. Piotr Sankowski. - p. 1/27 Piotr Sankowski - p. 1/27 przypomnienie czas O(log 2 n), jak to zrobić w czasie O(log n), jak to zrobić w pesymistycznym czasie O(log n) (szkic). - p. 2/27 Operacje na dynamicznych drzewach: parent(v)

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytmy komputerowe. dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/24 Plan wykładu nr 8 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/

Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/ STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Testowanie i walidacja oprogramowania

Testowanie i walidacja oprogramowania Testowanie i walidacja oprogramowania Inżynieria oprogramowania, sem.5 cz. 5 Rok akademicki 2010/2011 Dr inż. Wojciech Koziński Przykład Obliczmy sumę: 0+1+2+...+i, i є [0,100] read(i); if((i < 0)(i >

Bardziej szczegółowo

Zadania przykładowe do kolokwium z AA2

Zadania przykładowe do kolokwium z AA2 1 Zadania przykładowe do kolokwium z AA2 Zadanie 1 Dla tekstu ALA MA KOTA ALE ON MA ALERGIĘ zilustruj działanie algorytmów: a) LZ77, b) LZ78, c) LZSS. Załóż, że maksymalna długość dopasowania to 4, rozmiar

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Proces rozproszony 1

Proces rozproszony 1 Proces rozproszony 1 Plan wykładu Celem wykładu jest zapoznanie słuchacza z podstawowymi pojęciami związanymi z przetwarzaniem rozproszonym. Wykład ten jest kontynuacją wykładu poprzedniego, w którym zdefiniowano

Bardziej szczegółowo

Systemy Operacyjne Ochrona

Systemy Operacyjne Ochrona Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 16 stycznia 2007 1 2 1 Ochrona 2 Bezpieczeństwo 3 Polityka bezpieczeństwa i mechanizmy 4 Domeny i wiedza konieczna 3 Macierze dostępów

Bardziej szczegółowo

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.

Bardziej szczegółowo

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski BAZY DANYCH wprowadzenie Opracował: dr inż. Piotr Suchomski Prowadzący Katedra Systemów Multimedialnych dr inż. Piotr Suchomski (e-mail: pietka@sound.eti.pg.gda.pl) (pok. 730) dr inż. Andrzej Leśnicki

Bardziej szczegółowo

Plan wynikowy klasa 3

Plan wynikowy klasa 3 Plan wynikowy klasa 3 Przedmiot: matematyka Klasa 3 liceum (technikum) Rok szkolny:........................ Nauczyciel:........................ zakres podstawowy: 28 tyg. 3 h = 84 h (78 h + 6 h do dyspozycji

Bardziej szczegółowo

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze Polsko-Japońska Wyższa Szkoła Technik Komputerowych Katedra Informatyki Stosowanej Spis treści Spis treści 1 Wektory

Bardziej szczegółowo

Wymagania edukacyjne na poszczególne oceny z informatyki w gimnazjum klasa III Rok szkolny 2015/16

Wymagania edukacyjne na poszczególne oceny z informatyki w gimnazjum klasa III Rok szkolny 2015/16 Wymagania edukacyjne na poszczególne oceny z informatyki w gimnazjum klasa III Rok szkolny 2015/16 Internet i sieci Temat lekcji Wymagania programowe 6 5 4 3 2 1 Sieci komputerowe. Rodzaje sieci, topologie,

Bardziej szczegółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści wspólnych z kierunkiem Matematyka, moduł kierunku obowiązkowy PODSTAWY INFORMATYKI Fundamentals of computer science

Bardziej szczegółowo

Modelowanie procesów współbieżnych

Modelowanie procesów współbieżnych Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie... Literatura M.

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM LICZBY I DZIAŁANIA zna pojęcie liczby naturalnej, całkowitej, wymiernej rozumie rozszerzenie osi liczbowej na liczby ujemne umie zaznaczać liczbę

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, ćwiczenia I KARTA

Bardziej szczegółowo

Kryteria oceniania z matematyki w klasie pierwszej w roku szkolnym 2015/2016

Kryteria oceniania z matematyki w klasie pierwszej w roku szkolnym 2015/2016 Kryteria oceniania z matematyki w klasie pierwszej w roku szkolnym 2015/2016 1) Liczby - zamienia liczby dziesiętne skończone na ułamki zwykłe i liczby mieszane, - zapisuje ułamek zwykły w postaci ułamka

Bardziej szczegółowo

Związek między problemem, algorytmem a programem komputerowym. Klasa 2 Lekcja 3

Związek między problemem, algorytmem a programem komputerowym. Klasa 2 Lekcja 3 Związek między problemem, algorytmem a programem komputerowym Klasa 2 Lekcja 3 Na początku jest problem Komputer umożliwia rozwiązanie zanie problemów, wykonując programy komputerowe. Komputer bez programu

Bardziej szczegółowo

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1 Matematyka Liczy się matematyka Klasa klasa Rozdział. Liczby zamienia liczby dziesiętne skończone na ułamki zwykłe i liczby mieszane zapisuje ułamek zwykły w postaci ułamka dziesiętnego skończonego porównuje

Bardziej szczegółowo

WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA I GIMNAZJUM

WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA I GIMNAZJUM WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA I GIMNAZJUM OCENA DOPUSZCZAJĄCA pojęcie liczby naturalnej, całkowitej, wymiernej, pojęcia: rozwinięcie dziesiętne skończone, nieskończone, okres, algorytm zaokrąglania

Bardziej szczegółowo

W dowolnym kwadracie 3x3 ustawiamy komórki na palące się (stan 3). Program powinien pokazywać ewolucję pożaru lasu.

W dowolnym kwadracie 3x3 ustawiamy komórki na palące się (stan 3). Program powinien pokazywać ewolucję pożaru lasu. 1. Symulacja pożaru lasu ver. 1 Las reprezentowany jest przez macierz 100x100. W lesie występują dwa rodzaje drzew: liściaste i iglaste. Przyjmijmy, że prostokąt A(1:50,1:100) wypełniony jest drzewami

Bardziej szczegółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Podstawy programowania funkcjonalnego

Podstawy programowania funkcjonalnego Podstawy programowania funkcjonalnego haskell.mariuszrozycki.pl Mariusz Różycki Churchill College, University of Cambridge rev. 2014.03.27.1 Wprowadzenie Materiały haskell.mariuszrozycki.pl Slajdy (w tym

Bardziej szczegółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie w VB Proste algorytmy sortowania Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich

Bardziej szczegółowo

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Programowanie Rozproszone i Równoległe Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Motywacja wyboru Programowanie rozproszone równoległość (wymuszona) Oprogramowanie równoległe/rozproszone:

Bardziej szczegółowo

Elementy kognitywistyki III: Modele i architektury poznawcze

Elementy kognitywistyki III: Modele i architektury poznawcze Elementy kognitywistyki III: Modele i architektury poznawcze Wykład III: Psychologiczne modele umysłu Gwoli przypomnienia: Kroki w modelowaniu kognitywnym: teoretyczne ramy pojęciowe (modele pojęciowe)

Bardziej szczegółowo

Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych i rocznych ocen klasyfikacyjnych z matematyki klasa 1 gimnazjum

Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych i rocznych ocen klasyfikacyjnych z matematyki klasa 1 gimnazjum edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych i rocznych ocen klasyfikacyjnych z matematyki klasa 1 gimnazjum Semestr I Stopień Rozdział 1. Liczby Zamienia liczby dziesiętne na ułamki

Bardziej szczegółowo

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona Spis treści: 1. Równoległe systemy komputerowe a rozproszone systemy komputerowe,

Bardziej szczegółowo

Logika funkcji. Modelowanie SI - GHJ 1

Logika funkcji. Modelowanie SI - GHJ 1 Logika funkcji precyzyjne i niedwuznaczne definiowanie szczegółów funkcji stosowana w tych przypadkach, w których funkcja jest złożona lub wymaga arbitralnego algorytmu Celem - zrozumienie przez projektanta

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo