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

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

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

Transkrypt

1 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 własności. System taki będzie składał się z procesorów (maszyn), które komunikują się poprzez kanały. System taki można utożsamiać z grafem nieskierowanym, w którym wierzchołki to owe maszyny, a krawędzie to kanały (rys. 1). Mówimy, że zbiór tych krawędzi to sieć. Rys. 1 Kanały, które wychodzą z każdej z maszyn numerujemy od 1 do stopnia wierzchołka (maszyny). Każda maszyna zawiera też dwa ciągi zbiorów: INBUF oraz OUTBUF. INBUF(i) określa zbiór wiadomości, które przyszły do danej maszyny z kanału oznaczonego numerem i, ale nie zostały jeszcze poddane obróbce. OUTBUF(i) oznacza zbiór tych wiadmości, które maszyna zaplanowała do wysłania poprzez kanał o numerze i, ale maszyna incydentna względem tego kanału jeszcze jej nie otrzymała. Każda maszyna posiada również stan Q. Przy ustawianiu nowego stanu maszyny, cały ciąg INBUF maszyny musi zostać opróżniony, OUTBUF niekoniecznie. Start każdego systemu (algorytmu) musi zaczynać się od pustych buforów INBUF każdej z maszyn, podczas gdy OUTBUF maszyn mogą być niepuste. Każda system może wykonywać dwa podstawowe działania: COMPUTE(i) - co oznacza wykonanie obliczeń na maszynie i, wygenerowanie wiadomości do OUTBUF a następnie opróżnienie INBUF, DELIVER(i, j, m) - co oznacza przekaż wiadomość m z maszyny i do j. Będziemy analizować takie systemy, w których wykonania będą dopuszczalne, tzn. DELIVER(i, j, m) będzie się odnosić do maszyn i oraz j,pomiędzy którymi istnieje kanał i istnieje wiadomość m do dostarczenia, itd. Każdy algorytm, który będziemy analizować, będzie dopuszczalny. Typy systemów Systemy dzielimy na synchroniczne i asynchroniczne. System nazwiemy asynchronicznym, jeśli nie istnieje górne ograniczenie na czas dostarczenia wiadomości w ramach tego systemu oraz nie jesteśmy w stanie stwierdzić jak często maszyna "budzi się" aby wykonać następne działanie. Zwykle przy konstruowaniu takich algorytmów przyjmuje się mimo wszystko pewne bardzo duże górne ograniczenia na czas reakcji maszyny czy też czas dostarczenia wiadomości, by zdarzenia takie miały miejsce niezwykle rzadko. Jednym z takich

2 systemów jest Internet, gdzie wiadomości mogą wędrować od nadawcy do odbiorcy bardzo długo, chociaż zwykle trwa to kilka sekund. Aby zabezpieczyć się przed otrzymywaniem wiadomości bardzo starych stosuje się pewne ograniczenia na czas dostarczenia. Podobnie sytuacja jest w ruchu sms'ów pomiędzy komórkami. Jeśli w przeciągu dnia wiadomość nie zostanie dostarczona, system reaguje wysyłając zwrotną wiadomość do nadawcy o anulowaniu wysłania wiadomości. System nazwiemy synchronicznym, jeśli wszystkie maszyny budzą się jednocześnie, wykonują działania COMPUTE, następnie DELIVER w ramach jednostki czasu zwanej rundą. Każda maszyna w ramach takiego systemu: może wysyłać wiadomości do swoich sąsiadów, a wiadomości docierają natychmiast i są dostępne do obróbki w następnej rundzie przez maszyny, do których wiadomość ma dotrzeć, obliczenia lokalne wykonuje, opierając się tylko na wiadomościach otrzymanych w poprzedniej rundzie (COMPUTE czyści bufor INBUF po każdym wywołaniu). Systemy takie są bardzo rzadko spotykane, jednak budując algorytm dla systemów asynchronicznych, buduje się zwykle najpierw wersję synchroniczną, a następnie rozwija do modelu asynchronicznego. Można zauważyć, że system synchroniczny jest przecież szczególnym przypadkiem systemu asynchronicznego, w którym każde wykonanie jest ściśle określone przez rundę. Dla obu typów systemów algorytm powinien działać nieskończenie i w każdym momencie wykonanie go musi być dopuszczalne. Koniec każdego algorytmu następuje, gdy wszystkie maszyny przejdą w stan uśpienia, a wszystkie wiadomości wysłane, ostatecznie dotrą do swojego celu. Nieskończoność systemu można uzyskać projektując algorytm tak, aby bo uśpieniu system wykonywał "puste" działania, nie zmieniające ani jego stanu, ani wykonujące jakiś obliczeń czy operacji wysłania wiadomości. Złożoność Analizując systemy, będziemy chcieli mierzyć złożoność czasową algorytmu oraz ilość wysłanych wiadomości do czasu "końca" systemu opisanego wcześniej. Będzie nas interesować tylko złożoność w najgorszym przypadku wykonania algorytmu. Ilość wysłanych wiadomości dla obu typów systemu (synchronicznego i asynchronicznego) określamy jako maksimum z łącznej ilość wysłanych wiadomości po wszystkich dopuszczalnych wykonaniach algorytmu. Złożoność czasową dla systemów synchronicznych będzie liczyli jako maksimum po ilościach rund do zakończenia algorytmu po wszystkich dopuszczalnych wykonaniach algorytmu. Dla systemów asynchronicznych złożoność czasowa oznacza maksymalny czas do zakończenia algorytmu po wszystkich dopuszczalnych wykonaniach algorytmu. Czas ten możemy określić następująco. Ustalamy jakieś wykonanie. Najdłuższa przerwa w systemie to maksymalny czas jaki upłynął pomiędzy wyprodukowaniem jakiejś wiadomości, a jej dostarczeniem w danym wykonaniu. Przerwa taka może posłużyć nam do określenia znormalizowanej jednostki czasu w systemie asynchronicznym. Rozgłaszanie Rozgłaszanie (ang. Broadcast) jest problemem, w którym jedna z maszyn chce rozpowszechnić w maszynach systemu pewną wiadomość M. Dla ułatwienia założymy, że mamy już znane drzewo rozpinające sieci - w ten sposób pozbyliśmy się cykli, zapewniając jednak połączenie każdej maszyny w pierwotnej sieci. Algorytm do konstrukcji drzewa rozpinającego omówimy w dalszej części. Maszyną, która chce wysłać wiadomość M niech będzie korzeń drzewa (ang. root). Stwórzmy więc algorytm symetryczny, który działa następująco: Start: Maszyna - korzeń wysyła M do swoich dzieci (tzn. OUTBUF korzenia zawiera zbiory {M}).

3 Kod dla maszyny p i : jeśli p i to korzeń: po nie otrzymaniu żadnej wiadomości 1 : TERMINATE (tzn. uśpij maszynę) jeśli p i nie jest korzeniem: po otrzymaniu wiadomości od rodzica 2 : wyślij otrzymaną wiadomość do swoich dzieci TERMINATE Przykład wywołania dla poniższej sieci. Drzewo rozpinające jest wyznaczone linią ciągłą, linia przerywana to pozostałe kanały z pierwotnej sieci. Korzeń jest koloru czerwonego. Pogrubiony wierzchołek oznacza, że maszyna została uśpiona, zielony kolor wierzchołka oznacza, że wierzchołek (maszyna) otrzymała wiadomość M. Oto stan sieci w kolejnych rundach: Jak widać wszystkie maszyny odebrały swoją wiadomość i przeszły w stan uśpienia, a więc wykonanie jest dopuszczalne. Złożoność czasowa tego algorytmu jest równa wysokości drzewa (w przykładzie powyżej drzewo ma wysokość 2). Dla n maszyn w najgorszym wypadku drzewo rozpinające mogłoby być łańcuchem, a wtedy jego wysokość wynosiłaby n-1. Ilość przesłanych wiadomości to n-1, ponieważ każda maszyna (oprócz korzenia) odbiera tylko raz wiadomość. Powyższy algorytm również zadziała dla systemu asynchronicznego, gdyż nie ma tu kolizji w kolejności dostarczania wiadomości. Maszyna może dostać wiadomość tylko od rodzica, i jeśli ten ma opóźnienie, to nie wpływa to na pozostałych poza czasem wykonania. Wyniki złożoności przenoszą się w tej samej postaci, tyle że czas jest określony jak w podpunkcie Złożoność. 1. Korzeń rozesłał już swoją wiadomość M i może zostać uśpiony. 2. Maszyna po raz pierwszy otrzymała wiadomość M od swojego rodzica i więcej razy nie otrzyma wiadomości od żadnej maszyny w sieci.

4 Koncentracja Koncentracja (ang. Convergecast) to problem, w którym maszyny w ramach systemu chcą przesłać pewną wiadomość do wybranej maszyny w systemie. Powiedzmy, że maszyny wysyłają pewną wartość, a wybrany wierzchołek ma otrzymać maksimum z tych wartości. Tak jak w poprzednim problemie załóżmy, że istnieje już drzewo rozpinające, a wybranym wierzchołkiem jest korzeń drzewa. Nadajmy wartości maszynom, które te następnie prześlą do korzenia. Oto jeden z algorytmów symetrycznych dla tego problemu: Start: Maszyny, które nie mają swoich dzieci wysyłają swoje wartości do rodzica (tzn. ich ciągi OUTBUF na kanale ze swoim rodzicem zawierają wartość do przesłania) Kod dla maszyny p i : jeśli p i nie ma dzieci: po nie otrzymaniu żadnej wiadomości: TERMINATE jeśli p i ma dzieci, ale nie jest korzeniem: po otrzymaniu wiadomości (wartości) od wszystkich swoich dzieci 3 : wyślij maksimum z tych wartości i swojej do rodzica TERMINATE jeśli p i jest korzeniem: po otrzymaniu wiadomości (wartości) od wszystkich swoich dzieci: oblicz maksimum z tych wartości i swojej wynik to globalne maksimum TERMINATE Przykład wywołania dla poniższej sieci. Drzewo rozpinające jest wyznaczone linią ciągłą, linia przerywana to pozostałe kanały z pierwotnej sieci. Korzeń jest koloru czerwonego. Pogrubiony wierzchołek oznacza, że maszyna została uśpiona. Przy wierzchołkach nie-liściach widnieje najpierw wartość w wierzchołku, a następnie zawartość bufora. Oto stan sieci w kolejnych rundach: 3. Jeśli wiadomości przychodzą w różnych rundach, potrzebne jest stworzenie tablicy, w której byłyby przechowywane wartości na kanałach z dziećmi i jeśli wszystkie zostaną zapełnione, wtedy można uruchomić odpowiednie komendy.

5 Maszyny liście wysyłają w ustawieniach konfiguracyjnych swoje wartości i usypiają się. Do wierzchołka z wartością 4 wpływają wartości 1, 2, 5 i są zapamiętywane w jego buforze. Do korzenia wpływają wartości 2 i 3 i są również zapamiętywane w buforze. Korzeń czeka, bo w buforze brakuje jednej wartości od wierzchołka 4 z początkową wartością 4. Wierzchołek z wartością 4 w buforze ma już wszystkie wiadomości, na które czekał, a więc wysyła do korzenia maksimum z {1, 5, 2, 4} czyli 5. Korzeń odbiera tę wartość i tym samym może obliczyć globalne maksimum. Ponieważ za każdym razem wierzchołki wysyłają maksimum z wartości poniższych, korzeń na pewno otrzyma maksimum globalne. Złożoność czasowa w modelu synchronicznym to głębokość drzewa, podczas gdy wymagana ilość wysyłanych wiadomości to n-1, ponieważ każda maszyna (oprócz korzenia) przesyła tylko raz wiadomość. W modelu asynchronicznym złożoność czasowa jest inna. Jest równa n-1 (przyjmując jednostkę czasu jako najdłuższą przerwę pomiędzy wyprodukowaniem wiadomości a jej dostarczeniem i obróbką), ponieważ gdyby założyć, że wykonanie trwa etapami i do buforów wędrują wartości po kolei, to czas można ustalić na il. maszyn - 1. Konstrukcja drzewa rozpinającego Drzewo rozpinające (ang. spanning tree), które w poprzednich problemach było znane, trzeba najpierw jakoś stworzyć. Oczywiście najlepiej, aby było minimalne. Zaproponuję pewien, który konstruuje drzewo rozpinające, choć niekoniecznie minimalne. Załóżmy, że mamy wyróżniony pewien wierzchołek, który będzie korzeniem drzewa. Oto algorytm, który działa zarówno w systemie synchronicznym, jak i asynchronicznym: Każdy wierzchołek zawiera wskaźnik na rodzica, zbiór swoich dzieci i zbiór "nieodwiedzonych". Start: Nic się nie dzieje, żadna wiadomość nie jest w drodze. Żadne wskaźniki na rodzica nie są zdefiniowane, zbiory dzieci są puste, a zbiór nieodwiedzonych zawiera wszystkich sąsiadów danej maszyny. Kod dla maszyny p i :

6 po nie otrzymaniu żadnej wiadomości: jeśli p i jest korzeniem i nie ma zdefiniowanego rodzica 4 : ustaw wskaźnik do rodzica na samego siebie uruchom EXPLORE(p i ) po otrzymaniu ping od p j : jeśli rodzic nie jest zdefiniowany 5 : ustaw wskaźnik do rodzica na maszynę p j usuń p j ze zbioru nieodwiedzonych uruchom EXPLORE(p i ) jeśli rodzic jest zdefiniowany: wyślij już mam do p j usuń pj ze zbioru nieodwiedzonych po otrzymanie rodzic od sąsiada p j : dodaj p j do zbioru dzieci uruchom EXPLORE(p i ) po otrzymaniu już mam od sąsiada p j : uruchom EXPLORE(p i ) EXPLORE dla p i : jeśli zbiór nieodwiedzonych jest niepusty: wybierz jakiś procesor p k z listy nieodwiedzonych usuń p k z nieodwiedzonych wyślij ping do p k jeśli zbiór nieodwiedzonych jest pusty: jeśli rodzic nie jest tą samą maszyną: wyślij rodzic do rodzica TERMINATE Przykład wywołania dla poniższej sieci. Oto stan sieci w kolejnych etapach: 4. Korzeń zaczyna algorytm. 5. Wierzchołek został "zaczepiony" po raz pierwszy.

7

8 Można zauważyć, że algorytm ten pozwala na działania tylko jednej maszynie w rundzie na obliczenia i wysłanie wiadomości. Także złożoność czasowa w algorytmie synchronicznym będzie taka sama jak w modelu asynchronicznym, z tą różnicą, że w tym drugim mamy na myśli jednostkę czasu zaproponowaną w dziale Złożoność. Czas jest ściśle związany z ilością wysłanych wiadomości - jest to identyczna wartość. Ponieważ przez każdy kanał wiadomości przechodzą zawsze 2 razy, więc ilość wiadomości przesłanych to 2 ilość kanałów. Tak zbudowane drzewo można następnie wykorzystać do przesyłania wiadomości w problemie rozsyłania i koncentracji omówionych w poprzednich działach.

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010 Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność

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

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Stan globalny. Krzysztof Banaś Systemy rozproszone 1 Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej

Bardziej szczegółowo

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie

Bardziej szczegółowo

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %). Powrót Twój wynik: 4 punktów na 6 możliwych do uzyskania (6667 %). Nr Opcja Punkty Poprawna Odpowiedź Rozważmy algorytm AVLSequence postaci: 1 Niech drzewo będzie rezultatem działania algorytmu AVLSequence

Bardziej szczegółowo

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykład 8. Drzewo rozpinające (minimum spanning tree) Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012 Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel

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

Przetwarzanie rozproszone

Przetwarzanie rozproszone Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Proces sekwencyjny Komunikaty, kanały komunikacyjne Stan kanału Operacje komunikacyjne Model formalny procesu sekwencyjnego Zdarzenia Warunek

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

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

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

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. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

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

Zastosowanie TI do wymiany informacji. Technologia Informacyjna Lekcja 7

Zastosowanie TI do wymiany informacji. Technologia Informacyjna Lekcja 7 Zastosowanie TI do wymiany informacji Technologia Informacyjna Lekcja 7 Komunikacja międzyludzka 1) Jakie są możliwe sposoby komunikowania się między ludźmi? 2) W jaki sposób można komunikować się poprzez

Bardziej szczegółowo

Lista 0. Kamil Matuszewski 1 marca 2016

Lista 0. Kamil Matuszewski 1 marca 2016 Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

Wysokość drzewa Głębokość węzła

Wysokość drzewa Głębokość węzła Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

Bardziej szczegółowo

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może

Bardziej szczegółowo

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:

Bardziej szczegółowo

Zarządzanie projektami

Zarządzanie projektami Dr Adam Kucharski Spis treści Podstawowe pojęcia Metoda CPM 3 3 Przykład analizy metodą CPM 5 Podstawowe pojęcia Przedsięwzięcia złożone z wielu czynności spotykane są na każdym kroku. Jako przykład może

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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Efektywność algorytmów

Efektywność algorytmów Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów

Bardziej szczegółowo

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)

wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) egzamin podstawowy 7 lutego 2017 r. wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek imię, nazwisko i nr indeksu:..............................................................

Bardziej szczegółowo

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych) Funkcja uwikłana (równanie nieliniowe) jest to funkcja, która nie jest przedstawiona jawnym przepisem, wzorem wyrażającym zależność wartości

Bardziej szczegółowo

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych. Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf

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

Minimalne drzewa rozpinające

Minimalne drzewa rozpinające KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam

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

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1

A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1 A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a,a 2,...,a p i qodbiorców, którychpopytwynosi b,b 2,...,b

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie SYSTEM PRZERWAŃ (dla µ-kontrolerów rodziny 51) pomysł przerwań zewnętrznych i programowych to kolejny, genialny fundament konstrukcji procesorów cyfrowych Naturalnie sekwencyjne wykonywanie programu może

Bardziej szczegółowo

Detekcja zakończenia i obraz stanu globalnego

Detekcja zakończenia i obraz stanu globalnego Detekcja zakończenia i obraz stanu globalnego Zakres ćwiczenia Celem ćwiczenia jest utrwalenie umiejętności zdobytych w czasie poprzednich zajęć oraz zwiększenie znajomości funkcji biblioteki PVM. Przedstawienie

Bardziej szczegółowo

E-book: Automatyzacja powiadomień SMS. CASE STUDY

E-book: Automatyzacja powiadomień SMS. CASE STUDY E-book: Automatyzacja powiadomień SMS. CASE STUDY CASE STUDY PRZEWODNIK JAK SKONFIGUROWAĆ FUNKCJĘ AUTOMATYZACJI na wybranym przykładzie Po zalogowaniu się do systemu (panel.serwersms.pl) pierwszym etapem

Bardziej szczegółowo

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub WYKŁAD 2 1 2. FUNKCJE. 2.1.PODSTAWOWE DEFINICJE. Niech będą dane zbiory i. Jeżeli każdemu elementowi x ze zbioru,, przyporządkujemy jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy

Bardziej szczegółowo

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy od NIC organizacji międzynarodowej

Bardziej szczegółowo

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

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

Losowość w rozproszonym modelu

Losowość w rozproszonym modelu Losowość w rozproszonym modelu Model: ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć ALP520

Bardziej szczegółowo

Problem zakleszczenia

Problem zakleszczenia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja zasobów systemu na potrzeby analizy problemu zakleszczenia Warunki konieczne wystąpienia zakleszczenia Graf przydziału zasobów

Bardziej szczegółowo

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch System Rozproszone Komunikator Dokumentacja Maciej Muszkowski Jakub Narloch Wymagania Zgodnie ze wstępnymi założeniami komunikator musi, realizowad następujące funkcje: 1. Jest oparty o model Peer2Peer,

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI. 1.Rozpoczęcie procesu zamówienia.

INSTRUKCJA OBSŁUGI. 1.Rozpoczęcie procesu zamówienia. INSTRUKCJA OBSŁUGI dokonywania zamówień w sklepie internetowym urwiskowo.pl dofinansowanych z ZFŚS Spółki Karol Kania i Synowie w ramach Paczek Mikołajkowych dla Dzieci Szanowni Państwo! Niniejsza instrukcja

Bardziej szczegółowo

Aktywacja. Wstęp. Zakładanie nowej firmy. Rejestracja programu. Aktywacja danych firmy. Zmiana danych firmy

Aktywacja. Wstęp. Zakładanie nowej firmy. Rejestracja programu. Aktywacja danych firmy. Zmiana danych firmy Aktywacja Wstęp Zakładanie nowej firmy Rejestracja programu Aktywacja danych firmy Zmiana danych firmy 2 Aktywacja Wstęp Programy linii SYMFONIA START umożliwiają prowadzenie tylko jednej firmy. Ponadto,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań

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

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

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

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane: Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem

Bardziej szczegółowo

Rozwiązywanie problemów z użyciem Solvera programu Excel

Rozwiązywanie problemów z użyciem Solvera programu Excel Rozwiązywanie problemów z użyciem Solvera programu Excel Podstawowe czynności: aktywować dodatek Solver oraz ustawić w jego opcjach maksymalny czas trwania algorytmów na sensowną wartość (np. 30 sekund).

Bardziej szczegółowo

System Informatyczny CELAB. Obsługa sprzedaży detalicznej krok po kroku

System Informatyczny CELAB. Obsługa sprzedaży detalicznej krok po kroku Instrukcja obsługi programu 2.22 Obsługa sprzedaży detalicznej - krok po kroku Architektura inter/intranetowa Aktualizowano w dniu: 2009-12-28 System Informatyczny CELAB Obsługa sprzedaży detalicznej krok

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część VII - Systemy rozproszone, wstęp

Algorytmy Równoległe i Rozproszone Część VII - Systemy rozproszone, wstęp Algorytmy Równoległe i Rozproszone Część VII - Systemy rozproszone, wstęp Ł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

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)

Bardziej szczegółowo

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach

Bardziej szczegółowo

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr 3: Marszruty, łańcuchy, drogi w grafach dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Przykładowe zadanie z unikania blokad.

Przykładowe zadanie z unikania blokad. Przykładowe zadanie z unikania blokad. Mamy system operacyjny, a w nim cztery procesy (,,,) i dwa zasoby (,), przy czym dysponujemy trzema egzemplarzami zasobu i trzema egzemplarzami zasobu. Oto zapotrzebowanie

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

Wprowadzenie do maszyny Turinga

Wprowadzenie do maszyny Turinga Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas

Bardziej szczegółowo

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku. Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku. Uogólnienie na przeliczalnie nieskończone przestrzenie stanów zostało opracowane

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem.

Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. FotoSender 1. Pobranie i instalacja programu Aby pobrać program FotoSender naleŝy na stronę www.fotokoda.pl lub www.kodakwgalerii.astral.pl i kliknąć na link Program do wysyłki zdjęć Internetem. Rozpocznie

Bardziej szczegółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

Drzewa czerwono-czarne.

Drzewa czerwono-czarne. Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric

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

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.

Bardziej szczegółowo

1. Pobieranie i instalacja FotoSendera

1. Pobieranie i instalacja FotoSendera Jak zamówić zdjęcia przez FotoSender? Spis treści: 1. Pobieranie i instalacja FotoSendera 2. Logowanie 3. Opis okna programu 4. Tworzenie i wysyłanie zlecenia Krok 1: Wybór zdjęć Krok 2: Podsumowanie zlecenia

Bardziej szczegółowo

Inżynieria oprogramowania

Inżynieria oprogramowania Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów

Bardziej szczegółowo

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek: Uproszczony opis obsługi ruchu w węźle IP Poniższa procedura jest dokonywana dla każdego pakietu IP pojawiającego się w węźle z osobna. W routingu IP nie wyróżniamy połączeń. Te pojawiają się warstwę wyżej

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

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

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

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig Foto Video Hennig, ul. Krótka 20,83-110 Tczew tel. 58 531 79 24,, kontakt@foto-hennig.pl Instalacja i użytkowanie programu FotoSender 3.0 Pobieranie i instalacja: 1. Pobieranie i instalacja Fotosendera

Bardziej szczegółowo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Oprogramowanie przekaźnika monostabilnego UNIV

Oprogramowanie przekaźnika monostabilnego UNIV Oprogramowanie przekaźnika monostabilnego UNIV 1.0.2.11 1. Cechy: 6-cio kanałowy moduł przekaźników monostabilnych. 3 instrukcje sterujące przekaźnikami (włącz, wyłącz, zaneguj) 3 instrukcje blokujące.

Bardziej szczegółowo

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa

Bardziej szczegółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja Sieciowa wątki po stronie klienta Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się

Bardziej szczegółowo

zmiany w aplikacji abcpanel MoŜliwość wysyłania informacji podatkowych SMS-em.

zmiany w aplikacji abcpanel MoŜliwość wysyłania informacji podatkowych SMS-em. Lista wprowadzonych zmian: zmiany w aplikacji abcpanel MoŜliwość wysyłania informacji podatkowych SMS-em. Jeśli będziecie Państwo mieli jakiekolwiek problemy czy to z rejestracją czy z konfiguracją abcpanel-a,

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI

WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI Analiza i modelowanie Systemów Teleinformatycznych Sprawozdanie z ćwiczenia laboratoryjnego nr 6 Temat ćwiczenia: Modelowanie systemów równoległych z zastosowaniem

Bardziej szczegółowo

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym

Bardziej szczegółowo

Lista 4. Kamil Matuszewski 22 marca 2016

Lista 4. Kamil Matuszewski 22 marca 2016 Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce

Bardziej szczegółowo

Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5

Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Format złożonego polecenia konfigurującego system pozycjonowania GPS SPY-DOG SAT ProSafe-Flota -KGPS A a B b C c D d E e F f G g H h I i J j K

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

Ogólne wiadomości o grafach

Ogólne wiadomości o grafach Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,

Bardziej szczegółowo