Projekt struktury sieci neuronowej

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

Download "Projekt struktury sieci neuronowej"

Transkrypt

1 Projekt struktury sieci neuronowej Sieci neuronowe są stosowane między innymi jako narzędzie klasyfikacyjne, poprawne określenie struktury sieci pozwala na uzyskanie struktury sprawnie i w miarę bezbłędnie oceniającej podobieństwa pomiędzy wzorcami przedstawianymi jej w procesie uczenia oraz nowymi zadanymi do rozpoznawania. Zwykle najwięcej problemów nastręcza proces uczenia sieci. Zbyt duża liczba neuronów wydłuża proces uczenia sieci oraz zmniejsza jej zdolności klasyfikacyjne. Z kolei niedobór neuronów sprawia, że wyuczenie sieci na podstawie wzorców uczących staje się wręcz niemożliwe, co pociąga za sobą niepoprawną klasyfikację nowych przypadków. W rozwiązaniu powyższego problemu pomocnym okazuje się wykorzystanie algorytmu genetycznego. Algorytmy genetyczne, niejako z definicji mają wbudowaną równoległość. Jeżeli dodatkowo przyjmiemy, że jednocześnie rozpatrywać będziemy grupę populacji zamiast jednej, to zbiór takich populacji można potraktować jako zbiór procesów. Dodatkowo wprowadzenie wymiany informacji genetycznej pomiędzy populacjami może wpłynąć na szybsze znalezienie poszukiwanego rozwiązania. 1 1

2 Algorytm genetyczny 1. Przetworzenie danych wejściowych (dane wejściowe obejmują parametry populacji początkowej, wzorce uczące oraz testujące dla projektowanej sieci neuronowej, warunki wstrzymania pracy algorytmu) 2. Utworzenie populacji początkowej i jej ocena 3. Generacja nowej populacji i jej ocena operacje genetyczne (operacje krzyżowania oraz mutacji) ocena otrzymanych osobników - dla każdego osobnika w populacji: odwzorowanie osobnika w sieć neuronową, usunięcie zbędnych połączeń lub nadmiarowych neuronów, wyuczenie sieci neuronowej, testowanie sieci, ocena sieci (błąd średniokwadratowy, czas uczenia sieci, itp.), przypisanie osobnikowi wartości określającej jego przystosowanie 4. Klasyfikacja osobników pod względem wartości przystosowania na podstawie oceny przeprowadzonej w poprzednim punkcie (operacja selekcji) i zestawienie nowej populacji 5. Jeżeli nowa populacja nie spełnia założeń (nie zachodzi warunek końca algorytmu) powrót do punktu 3 6. Koniec algorytmu, wyprowadzenie wyników 2 2

3 Dekompozycja 1 Proces zrównoleglania rozpoczynamy od podziału zadania na podzadania. Możemy zastosować zarówno podział dziedzinowy jak i funkcjonalny. Przy dekompozycji dziedzinowej podział początkowej populacji umożliwi nam proste zrównoleglenie algorytmu poprzez przeszukiwanie tej samej przestrzeni jednocześnie przez większą liczbę współpracujących (wymieniających dane) procesów. Możemy tego dokonać w dwojaki sposób. Po pierwsze możemy podzielić początkową populację na rozłączne zbiory. Wymagać to będzie określenia funkcji podobieństwa sieci neuronowych. Funkcja taka pozwoli na określenie zbiorów, a co za tym idzie, na taki podział przestrzeni początkowej, że każdy z procesów przeszukiwał będzie inny fragment tej przestrzeni. Przestrzeń poszukiwań Wylosowane osobniki Podzbiory osobników 3 3

4 Dekompozycja 2 Przy takim podziale zrównoleglenie algorytmu będzie polegać na: podziale przestrzeni poszukiwań powieleniu wzorców uczących (każda populacja wykorzystuje te same wzorce) utworzeniu wielu procesów realizujących ten sam algorytm genetyczny rozesłaniu danych do procesów. Po takiej dekompozycji problemu nie są wymagane praktycznie żadne zmiany w przedstawionym algorytmie, jedynie w przedostatnim kroku niezbędna będzie pewna modyfikacja gdyż może mieć miejsce wymiana informacji pomiędzy procesami. 4 4

5 Dekompozycja 3 Drugim sposobem podziału populacji wejściowej jest jej podział na mniejsze populacje w całkowicie losowy sposób. Początkowo utworzoną populację dzielimy na mniejsze, równe populacje nie zakładając żadnych dodatkowych warunków, co do samego przebiegu podziału. Podział ten można zobrazować za pomocą prostej której każdy odcinek przypisany zostaje do jednego z procesorów. P1 P2 P3 P4 P5 P6 Podział powyższy posiada niestety pewne wady. Populacja początkowa może zostać podzielona tak, że wszystkie procesy przetwarzają dokładnie takie same podobne dane. Może to doprowadzić do tego, że proces poszukiwania rozwiązania będzie mało efektywny. Niemniej jednak nie można arbitralnie stwierdzić, że podział taki jest niekorzystny, a to ze względu na to, iż algorytmy genetyczne charakteryzuje pewna losowość. 5 5

6 Dekompozycja 4 Innym sposobem dekompozycji jest wprowadzenie dodatkowego elementu pośredniczącego w komunikacji pomiędzy procesami. Taki dodatkowy proces komunikacyjny obsługiwałyby przykładowo cztery procesy obliczeniowe. Dodatkowo procesy te posiadałyby możliwość komunikacji z innymi tego typu procesami. Rozwiązanie takie pozwalałoby na dryft genetyczny pomiędzy oddalonymi populacjami. Procesy komunikacyjne Procesy obliczeniowe 6 6

7 Dekompozycja 5 Dostępność materiału genetycznego z odległej populacji, czyli należącej do innego węzła komunikacyjnego, byłaby ograniczona, ale nie niemożliwa. Rozwiązanie takie pozwala na lepsze zrównoleglenie procesu wymiany osobników, oraz przerzuca ciężar oceny przydatności osobników w populacji na procesy pośredniczące. W rozwiązaniu tym utworzone zostałyby dwa rodzaje procesów, z których każdy miałby diametralnie różne zadania do wykonania. W powyższym podziale, który jest podziałem funkcjonalnym przedstawiony algorytm zostałoby zmodyfikowany ze względu na istnienie pośredników w komunikacji pomiędzy procesami obliczeniowymi. Z podziałem tym związany jest również współistniejący podział dziedzinowy populacji przydzielanej do procesów obliczeniowych. 7 7

8 Ocena dekompozycji Podział 1,2 (podziały dziedzinowe) praktycznie nie została określona większa liczba procesów niż dostępna liczba procesorów. Na każdym z procesorów analizowana jest mniejsza liczba sieci neuronowych (mniejsza populacja). Każde z zadań realizowanych na różnych procesorach ma podobny rozmiar (na każdym z procesorów wykorzystywany jest ten sam algorytm sekwencyjny). Zwiększenie liczby przetwarzanych danych wejściowych pociąga za sobą zwiększenie wymaganej liczby procesów, co przy takiej samej liczbie procesorów zwiększy ich obciążenie. Podział 3 (podział funkcjonalny) - jeżeli przyjmiemy, że procesy pośredniczące w komunikacji uruchamiane są na osobnym procesorze to liczba procesów jest równa liczbie procesorów, jeśli nie to otrzymujemy większą liczbę procesów niż procesorów, pewne procesory będą obsługiwać procesy obliczeniowe i komunikacyjne. Procesy różnią się zasadniczo, zarówno pod względem pełnionych funkcji jak i metod komunikacji (dwa rodzaje procesów). Liczba procesów rośnie wraz ze wzrostem ilości danych wejściowych. Rozważając dwie przedstawione dekompozycje dziedzinowe można zauważyć, że praktycznie charakteryzują się one taką samą strukturą komunikacyjną, zasadnicza różnica między nimi leży w samym podziale dziedziny. Biorąc pod uwagę, że kontrolowany podział pierwotnej populacji pozwoli najprawdopodobniej na osiągnięcie lepszej wydajności algorytmu genetycznego, podział drugi zostaje wyeliminowany z dalszych rozważań. Tak więc do dalszych rozważań pozostawiamy podział pierwszy, dziedzinowy oraz drugi funkcjonalny. 8 8

9 Komunikacja 1 Przyjmijmy następujące oznaczenia: p - liczba procesów S - liczba sąsiadów danego procesu. Pod pojęciem sąsiada rozumieć będziemy proces oddalony od aktualnie rozpatrywanego dokładnie o jedną jednostkę odległości. Logiczna architektura procesorów tworzy sieć typu krata z połączonymi skrajnymi procesorami w wierszach i kolumnach (ang. mesh-wraparound) PPs = Ps/p - rozmiar populacji przetwarzanej przez proces (po podziale populacji początkowej), Ps jest rozmiarem populacji początkowej (praktycznie wyrażany jest przez liczbę osobników w populacji) w - rozmiar komunikatu 9 9

10 Komunikacja 2 Komunikacja pomiędzy procesami w podziale dziedzinowym ma następujące cechy: 1. Każdy proces posiada skończoną liczbę sąsiadów 2. Każdy proces posiada dwa porty komunikacyjne: wejściowy i wyjściowy oraz odpowiednią liczbę kanałów komunikacyjnych. 3. Długość komunikatu zależna jest od rozmiaru populacji (dla naszych rozważań dokładny jego rozmiar nie jest istotny). 4. Dla każdego cyklu komunikacyjnego można określić ilość informacji, jaka zostanie przesłana, i tak K = S * p określa łączną liczbę komunikatów natomiast I = w * K łączną ilość informacji. 5. Komunikacja jest równoległa, wiele procesów jednocześnie przesyła komunikaty. 6. Dla każdego procesu algorytm wymiany danych wygląda identycznie i można go przedstawić w następujący sposób: k oznacza numer kolumny, r numer wiersza (para <r, k> jest identyfikatorem procesu) 10 10

11 Komunikacja 3 Rozesłanie w wierszach faza 1 (wysłanie w lewo) if(k%2 == 0) { wyślij w lewo odbierz z prawej } else { odbierz z prawej 0 wyślij w lewo } Krok Krok

12 Komunikacja 4 Rozesłanie w wierszach faza 2 (wysłanie w prawo) if(k%2 == 0) { wyślij w prawo odbierz z lewej } else { odbierz z lewej wyślij w prawo }

13 Komunikacja 5 if(r%2 == 0) { wysłanie w górę odbiór z dołu } else { odbiór z dołu wysłanie w górę } Rozesłanie w kolumnach faza 3 (wysyłanie w górę)

14 if(r%2 == 0) { wysłanie w dół obiór z góry } else { odbiór z góry wysłanie w dół } Komunikacja 6 Rozesłanie w kolumnach faza 4 (wysłanie w dół)

15 Komunikacja 7 Struktura kanałów komunikacyjnych przy podziale dziedzinowym Proces rozpatrywany Proces sąsiedni Kanał komunikacyjny Granica sąsiedztwa 15 15

16 Komunikacja 8 Dla podziału funkcjonalnego, przyjmijmy, że podział danych początkowych będzie taki sam jak przy podziale dziedzinowym. Inny natomiast, będzie ich przydział do zadań. Wynika to z faktu, że procesy będą podzielone na dwie grupy funkcjonalne. Pierwsza z nich, procesy obliczeniowe, zajmować się będzie przetwarzaniem populacji. Druga grupa, procesy pośredniczące, zajmować się będzie wymianą osobników pomiędzy procesami grupy pierwszej, oraz ogólną oceną sytuacji całej populacji globalnej. Procesy pośredniczące w wymianie komunikatów będą dalej traktowane jako procesy serwerów, natomiast procesy wykonujące obliczenia to procesy klientów. Klienci do poprawnej pracy potrzebują wymiany informacji z innymi procesami i takie właśnie żądania realizują procesy serwerów. Wprowadźmy następujące oznaczenia; Cp liczba procesów klientów Sv - liczba procesów serwerów (zwykle spełniony jest warunek p= Sv * 4 + Sv)

17 Komunikacja 9 1. Każdy proces serwera obsługuje skończoną liczbę klientów 2. Każdy proces posiada dwa porty komunikacyjne: wejściowy oraz wyjściowy. 3. Każdy proces klienta posiada jeden kanał komunikacyjny. Każdy proces serwera posiada do ośmiu kanałów komunikacyjnych. 4. Długość komunikatu zależy od początkowego rozmiaru populacji. Ilość osobników przekazywanych do serwera jest większa w porównaniu z podziałem dziedzinowym, gdyż to on tak naprawdę zdecyduje co z nimi zrobić (komu przekazać). Dodatkowo rośnie rozmiar każdego komunikatu, gdyż należy dodatkowo przesłać parametry opisujące populację: rozmiar, średnie przystosowanie, minimalne przystosowanie, maksymalne przystosowanie, itp. 5. Ze względu na brak synchronizacji podczas komunikacji nie można jednoznacznie określić ilości informacji przepływającej przez kanały komunikacyjne. Można jedynie określić, ile informacji wymienianej będzie w jednym cyklu komunikacji z serwerem: Łączna liczba komunikatów: K = Sv * Cp Łączna ilość informacji: I = w * K Dodatkowo można określić ilość komunikacji pomiędzy serwerami. Będzie ona dokładnie taka jak w przypadku pierwszym, a to ze względu na logiczne rzutowanie struktury połączeń między serwerami na strukturę sieci typu krata. Komunikacja między serwerami występować będzie w pewnych z góry określonych cyklach, przy dodatkowym założeniu komunikacji nieblokującej

18 Komunikacja Komunikacja klientów z serwerem jest sekwencyjna, równoległość komunikacji występuje na poziomie wymiany informacji pomiędzy serwerami oraz grup procesów związanych z poszczególnymi serwerami. 7. Dla każdego procesu klienta proces wymiany danych wygląda następująco: Przejęto dodatkowo następujące oznaczenia: my_sv proces serwer, do którego przypisany jest klient, CL zbiór procesów klientów, do których przypisany jest serwer, SL zbiór serwerów z którymi połączony jest dany serwer, dla każdego serwera ważny jest jego identyfikator w strukturze połączeń między serwerami: k - numer kolumny, r - numer rzędu, (para <r, k> jest identyfikatorem procesu). do { do{ oblicz przystosowanie kolejnego osobnika }while(istnieją nieocenione osobniki) przygotuj osobniki do wysłania przygotuj parametry populacji do wysłania send(my_sv,parametry) send(my_sv,osobniki) przygotowanie nowej populacji recv(my_sv,osobniki) dodaj nowe osobniki do populacji }while(!stop) 18 18

19 Komunikacja 11 Komunikacja po stronie serwera jest komunikacją opartą o skanowanie portów. Pozwoli to na nieskrępowaną pracę klientów w przypadku opieszałości jednego z nich. do { NewCL = CL do { dla każdego c z NewCL { if(jest komunikat od c) { recv(c,parametry) recv(c,osobniki) NewCL = NewCL - c }}} while(newcl 0) opracowanie informacji dla każdego c z CL { if(c przygotowany do odbioru) send(c,osobniki) } NewSL = SL dla każdego s należącego do SL { if(jest komunikat od s) { recv(s,osobniki) send(s,osobniki) NewSL = NewSL s }}} 19 19

20 Ocena komunikacji Możemy łatwo zauważyć, że przy obu podziałach komunikacja jest typu lokalnego, to znaczy procesy komunikują się bezpośrednio ze swoimi najbliższymi sąsiadami. Przy podziale dziedzinowym obciążenie komunikacją każdego z procesów jest identyczne a przy podziale funkcjonalnym nie jest równomierne. W obu przypadkach obliczenia przebiegają równolegle, natomiast dla podziału dziedzinowego komunikacja odbywa się równolegle, gdy przy podziale funkcjonalnym może mieć miejsce komunikacja sekwencyjna. Wynika z tego, że struktura komunikacyjne dla podziału dziedzinowego jest korzystniejsza niż dla podziału funkcjonalnego

21 Aglomeracja 1 Aglomeracja - ma ona na celu między innymi zmniejszenie liczby komunikatów przesyłanych pomiędzy zadaniami. Proces aglomeracji dotyczy głównie zadań, które nie mogą wykonywać się równolegle. Jednak aglomeracja może być również przydatna w przypadku zadań równoległych. Dotyczy to zadań o intensywnej komunikacji lokalnej, gdzie zmniejszenie ilości komunikatów kompensuje zwiększenie czasu przetwarzania. Aglomeracja może być także korzystna dla tych zadań, których komunikacja jest sekwencyjna. W naszym przypadku dla zaproponowanych rozwiązań nie występuje problem sekwencyjności zadań. Możemy jednak spróbować dokonać aglomeracji zadań równoległych dla pierwszego, jak i drugiego modelu komunikacji W pierwszym modelu łączone będą dane, tak aby każdy z procesorów przetwarzał większe porcje informacji, natomiast w modelu drugim łączyć będziemy funkcjonalności procesów

22 Aglomeracja 2 Cechy powyższej aglomeracji są następujące: dane znajdujące się w kolumnach są przetwarzane przez jeden procesor (dla każdej kolumny), powoduje to zwiększenie czasu obliczeń T obl =T obl *n ze względu na aglomerację danych zmniejsza się liczba wymaganych komunikatów, łączna liczba komunikatów przed aglomeracją wynosiła K = n 2 *4, a po aglomeracji K = n*2, zwiększenie długości komunikatu, przed aglomeracją długość komunikatu równa była w, a po aglomeracji wynosi w*n, występuje również zwiększenie rozmiaru populacji, a co za tym idzie: zmniejszenie odległości między różnorodnym materiałem genetycznym, szybsza unifikacja materiału genetycznego oraz zmniejszenie różnorodności populacji Proces obliczeniowy przed aglomeracją Proces po aglomeracji 22 22

23 Aglomeracja 3 Dla drugiego sposobu aglomeracji możemy sformułować następujące wnioski: zwiększenie czasu obliczeń T obl =T obl *4 zmniejszenie liczby komunikatów, przed aglomeracją K=n 2 *4, a po aglomeracji odpowiednio dla różnej liczby procesorów: p=4 => K=0, p=8 => K=2, p=16 =>K=8 zwiększenie długości komunikatu, przed aglomeracją długość komunikatu równa była w a po aglomeracji długość komunikatu równa jest 4*w dodatkowo występuje zwiększenie rozmiaru populacji jak dla pierwszego sposobu aglomeracji. Proces obliczeniowy przed aglomeracją Proces po aglomeracji 23 23

24 Ocena aglomeracji Dla podziału funkcjonalnego aglomeracja może być wykonana poprzez połączenie funkcjonalności klientów połączonych z serwerem z funkcjonalnością serwerów. Otrzymamy w ten sposób model identyczny z drugim zaproponowanym dla podziału dziedzinowego, dlatego rozważania te pominiemy. Dla pierwszego sposobu aglomeracji (aglomeracja paskowa) otrzymujemy: zmniejszenie kosztu komunikacji (mniejsza liczba komunikatów - t s ), paczki komunikatów znacznie większe, brak replikacji obliczeń oraz danych. Przy założeniu, że powielane w celu rozesłania fragmenty populacji to replikacja danych, możemy wprowadzić termin częściowej replikacji. Rozmiar danych pozostaje stały w czasie wykonania programu. Identyczny rozmiar zadań (procesów), ale tylko zbliżone czasy przetwarzania. Ponieważ postać osobnika determinuje czas wyznaczania dla niego wartości funkcji przystosowania (uczenie sieci neuronowej) czasy przetwarzania poszczególnych zadań mogą się różnić. Nie ma zatem pełnej synchronizacji, ale ze względu na przetwarzanie takiej samej ilości danych, różnice te nie powinny być znaczące. Możliwe jest także zastosowanie w algorytmie genetycznym pewnych mechanizmów zmniejszających ryzyko dużych opóźnień. Liczba zadań wzrasta wraz z rozmiarem danych. Równoległość pozostaje na tym samym poziomie. Możliwe jest dalsze redukowanie liczby przetwarzanych zadań aż do pojedynczego procesu. Trzeba jednak wziąć pod uwagę proporcjonalne zmniejszanie rozmiaru problemu, tak aby nie przeciążać pojedynczych procesorów. Dla drugiego sposobu aglomeracji (aglomeracja blokowa) uzyskujemy podobne wnioski. Oba sposoby aglomeracji powinny być dalej rozpatrywane

25 Przydział procesorów Pierwszy ze sposobów to indeksowanie z alokacją pakietową. Budując ten model zakładamy, że dane wejściowe podlegają wcześniejszemu uporządkowaniu. Polega to na takiej klasyfikacji osobników, że osobniki o zbliżonym materiale genetycznym znajdują się blisko siebie. Dane te dzielimy następnie na tyle równych pakietów, ile mamy do dyspozycji procesorów. Każdemu pakietowi przypisana zostanie konkretna wartość określająca jego położenie w przestrzeni procesów. Każdy z procesorów posiadał będzie unikalny identyfikator, nie tylko wyróżniający go w strukturze, ale również określający jego sąsiedztwo. W początkowej fazie wszystkie dane (podzielone i przygotowane do rozesłania) znajdują się w procesorze zerowym. Następuje faza grupowego przesłania komunikatów każdy z procesorów otrzymuje inny komunikat (ang. one-to-allpersonalized), w której dane rozsyłane są do odpowiednich procesorów. W ten sposób każdy z procesorów przetwarza takie dane, że sąsiednie procesory posiadają dane o zbliżonym materiale genetycznym (obszary sąsiednie w przestrzeni poszukiwań). Drugie podejście do przydziału zadań do procesorów związane jest z wyrównywaniem obciążeń. W modelu tym, wszystkie kroki byłyby identyczne jak poprzednio. Różnica pojawiałaby się w ilości danych biorących udział w obliczeniach, posiadanych przez każdy z procesorów. W modelu tym założylibyśmy, że ilość danych adekwatna jest do obciążenia procesora. Ze względu na różnice czasowe w trakcie uczenia sieci neuronowej należy rozważyć możliwość różnorodnego rozmieszczenia danych początkowych. W modelu tym należałoby określić średni czas obliczeń dla kilku rodzajów sieci i na tej podstawie decydować jaka ilość danych ma być przetwarzana przez każdy z procesorów. Takie rozwiązanie napotyka jednak duże trudności. Konieczne byłyby negocjacje, albo dodatkowy proces zarządzający rozkładem danych. Najprawdopodobniej skutkowałoby to znacznym obniżeniem wydajności całego procesu obliczeniowego. Z tego też względu końcowe rozwiązanie powinno wykorzystywać pierwszą z propozycji przydziału zadań do procesorów

26 Ocena efektywności Przyjmijmy następujące oznaczenia: T S - czas potrzebny na wykonanie programu uruchomionego na jednym procesorze (czas sekwencyjny) T P - czas potrzebny na wykonanie programu na maszynie wieloprocesorowej (czas równoległy) T kom, T obl, T bezcz odpowiednio czasy komunikacji, obliczeń oraz bezczynności N - liczba procesorów w kolumnach jak i wierszach (N*N = p łączna liczba procesorów) PPs - liczba osobników w każdej z populacji t c - czas przetwarzania pojedynczego osobnika w rozmiar przesyłanego komunikatu (zależy od rozmiaru pojedynczego osobnika) Wyznaczmy czas przetwarzania sekwencyjnego, będzie on iloczynem liczby osobników w każdej populacji, całkowitej liczby procesorów oraz czasu przetwarzania pojedynczego osobnika, wyraża się on następującym wzorem: T t N * s c * 2 PPs 26 26

27 Ocena efektywności Załóżmy, równomierny rozdział zadań pomiędzy dostępne procesory (na podstawie rozważań z poprzednich punktów jest ono uzasadnione). Pomijając dodatkowo czas bezczynności możemy przyjąć, że czas wykonania równoległego będzie sumą czasów komunikacji oraz obliczeń każdego z procesorów podzieloną przez liczbę procesorów. Łączna liczba komunikatów wynosi N 2 * 4 (gdzie N 2 = p), więc czas komunikacji wyraża się wzorem T kom = 2 * (t s + t w * w) * p * 4, natomiast czas wynosi obliczeń T obl = t c * p *PPs. Stąd czas przetwarzania równoległego wyraża się wzorem: T p 2*( t t * w)*4* p s w p t c * p * PPs 27 27

28 Ocena efektywności 3 Po podstawieniu powyższych zależności do wzoru na efektywność i wykonaniu prostych przekształceń otrzymujemy następujące wyrażenie określające efektywność naszej aplikacji: E 2*( t s t w t c * p * PPs * w)*4* p t c * p * PPs Powyższe rozważania należy dodatkowo rozszerzyć o analizę spadku efektywności podczas stopniowego zwiększania liczby procesorów dla różnych rozmiarów problemu. Pozwoli to na późniejsze określenie możliwości skalowalności algorytmu. W tym celu konieczne jest dokładne wyznaczenie czasów: t s, t c, oraz t w dla konkretnego komputera. Otrzymany w wyniku powyższych rozważań szkielet rozwiązania nosi w literaturze nazwę wyspowego równoległego algorytmu genetycznego

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

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

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

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

Bardziej szczegółowo

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Podobnie jak w obliczeniach sekwencyjnych, gdzie celem optymalizacji wydajności było maksymalne

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

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Analiza efektywności przetwarzania współbieżnego

Analiza efektywności przetwarzania współbieżnego Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak 1/4/2013 Analiza efektywności 1 Źródła kosztów przetwarzania współbieżnego interakcje

Bardziej szczegółowo

Macierzowe algorytmy równoległe

Macierzowe algorytmy równoległe Macierzowe algorytmy równoległe Zanim przedstawimy te algorytmy zapoznajmy się z metodami dekompozycji macierzy, możemy wyróżnić dwa sposoby dekompozycji macierzy: Dekompozycja paskowa - kolumnowa, wierszowa

Bardziej szczegółowo

3. Macierze i Układy Równań Liniowych

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

Bardziej szczegółowo

5. Algorytm genetyczny przykład zastosowania

5. Algorytm genetyczny przykład zastosowania 5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby

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

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU) SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU) 1. Opis problemu - ocena końcowa projektu Projekt jako nowe, nietypowe przedsięwzięcie wymaga właściwego zarządzania. Podjęcie się realizacji

Bardziej szczegółowo

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.

Bardziej szczegółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia

Bardziej szczegółowo

8. Neuron z ciągłą funkcją aktywacji.

8. Neuron z ciągłą funkcją aktywacji. 8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i

Bardziej szczegółowo

Optymalizacja optymalizacji

Optymalizacja optymalizacji 7 maja 2008 Wstęp Optymalizacja lokalna Optymalizacja globalna Algorytmy genetyczne Badane czasteczki Wykorzystane oprogramowanie (Algorytm genetyczny) 2 Sieć neuronowa Pochodne met-enkefaliny Optymalizacja

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Numeryczna algebra liniowa

Numeryczna algebra liniowa Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów

Bardziej szczegółowo

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej SEGMENT TCP CZ. I Numer portu źródłowego (ang. Source port), przeznaczenia (ang. Destination port) identyfikują aplikacje wysyłającą odbierającą dane, te dwie wielkości wraz adresami IP źródła i przeznaczenia

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

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

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1 Czas w systemach rozproszonych Krzysztof Banaś Systemy rozproszone 1 Czas w systemach rozproszonych Istnienie algorytmów opartych na czasie zdarzeń np. make, systemy czasu rzeczywistego Brak czasu globalnego

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

SIECI KOMPUTEROWE Adresowanie IP

SIECI KOMPUTEROWE  Adresowanie IP Adresowanie IP Podstawowa funkcja protokołu IP (Internet Protocol) polega na dodawaniu informacji o adresie do pakietu danych i przesyłaniu ich poprzez sieć do właściwych miejsc docelowych. Aby umożliwić

Bardziej szczegółowo

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena

Bardziej szczegółowo

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Sortowanie Shella Shell Sort

Sortowanie Shella Shell Sort Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu

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

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

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

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0 Uczenie się pojedynczego neuronu W0 X0=1 W1 x1 W2 s f y x2 Wp xp p x i w i=x w+wo i=0 Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z=0 Wówczas: W 1 x 1 + w 2 x 2 + = 0 Algorytm

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Przykładowe rozwiązania

Przykładowe rozwiązania Przykładowe rozwiązania Poniższy dokument zawiera przykładowe rozwiązania zadań z I etapu I edycji konkursu (2014 r.). Rozwiązania w formie takiej jak przedstawiona niżej uzyskałyby pełną liczbę punktów

Bardziej szczegółowo

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta www.michalbereta.pl Sieci radialne zawsze posiadają jedną warstwę ukrytą, która składa się z neuronów radialnych. Warstwa wyjściowa składa

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011 Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011 Zadanie podzielne Zadanie podzielne (ang. divisible task) może zostać

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

Projekt Sieci neuronowe

Projekt Sieci neuronowe Projekt Sieci neuronowe Chmielecka Katarzyna Gr. 9 IiE 1. Problem i dane Sieć neuronowa miała za zadanie nauczyć się klasyfikować wnioski kredytowe. W projekcie wykorzystano dane pochodzące z 110 wniosków

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

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY EGZAMIN MATURALNY W ROKU SZKOLNYM 2015/2016 FORMUŁA DO 2014 ( STARA MATURA ) INFORMATYKA POZIOM ROZSZERZONY ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1, R2 MAJ 2016 Uwaga: Akceptowane są wszystkie odpowiedzi

Bardziej szczegółowo

Modelowanie niezawodności prostych struktur sprzętowych

Modelowanie niezawodności prostych struktur sprzętowych Modelowanie niezawodności prostych struktur sprzętowych W ćwiczeniu tym przedstawione zostaną proste struktury sprzętowe oraz sposób obliczania ich niezawodności przy założeniu, że funkcja niezawodności

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

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

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional

Bardziej szczegółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry

Bardziej szczegółowo

Przetwarzanie równoległe

Przetwarzanie równoległe Przetwarzanie równoległe Kostka równoległe przesyłanie i przetwarzanie Rafał Malinowski, Marek Musielak 1. Cel projektu: Celem projektu było stworzenie i przetestowanie oprogramowania działającego na serwerze

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Algorytmy genetyczne jako metoda wyszukiwania wzorców Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Marcin Borkowski Krótko i na temat: Cel pracy Opis modyfikacji AG Zastosowania

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18 Eksploracja Danych wykład 4 Sebastian Zając WMP.SNŚ UKSW 10 maja 2017 Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja 2017 1 / 18 Klasyfikacja danych Klasyfikacja Najczęściej stosowana (najstarsza)

Bardziej szczegółowo

Zależności funkcyjne

Zależności funkcyjne Zależności funkcyjne Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

Priorytetyzacja przypadków testowych za pomocą macierzy

Priorytetyzacja przypadków testowych za pomocą macierzy Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.

Bardziej szczegółowo

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki

Bardziej szczegółowo

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe Mosty przełączniki zasady pracy pętle mostowe STP Domeny kolizyjne, a rozgłoszeniowe 1 Uczenie się mostu most uczy się na podstawie adresu SRC gdzie są stacje buduje na tej podstawie tablicę adresów MAC

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

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L, Klasyfikator Jedną z najistotniejszych nieparametrycznych metod klasyfikacji jest metoda K-najbliższych sąsiadów, oznaczana przez K-NN. W metodzie tej zaliczamy rozpoznawany obiekt do tej klasy, do której

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Dlaczego Meru Networks architektura jednokanałowa Architektura jednokanałowa:

Dlaczego Meru Networks architektura jednokanałowa Architektura jednokanałowa: Dlaczego architektura jednokanałowa Architektura jednokanałowa: Brak konieczności planowania kanałów i poziomów mocy na poszczególnych AP Zarządzanie interferencjami wewnątrzkanałowymi, brak zakłóceń od

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

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH Część. STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH.. STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH Rozwiązując układy niewyznaczalne dowolnie obciążone, bardzo często pomijaliśmy wpływ sił normalnych i

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

Przygotowanie materiału uczącego dla OCR w oparciu o aplikację Wycinanki.

Przygotowanie materiału uczącego dla OCR w oparciu o aplikację Wycinanki. Przygotowanie materiału uczącego dla OCR w oparciu o aplikację Wycinanki. Zespół bibliotek cyfrowych PCSS 6 maja 2011 1 Cel aplikacji Aplikacja wspomaga przygotowanie poprawnego materiału uczącego dla

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

Podstawy OpenCL część 2

Podstawy OpenCL część 2 Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024

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

Rozkład pracy w biurze rachunkowym Organizacja pracy przed i po wdrożeniu SaldeoSMART Proces wdrożenia Efekty wdrożenia SaldeoSMART

Rozkład pracy w biurze rachunkowym Organizacja pracy przed i po wdrożeniu SaldeoSMART Proces wdrożenia Efekty wdrożenia SaldeoSMART Strona 1 z 11 Szanowni Państwo, Specjalnie dla Państwa przygotowaliśmy raport, który analizuje i przedstawia efekty wdrożenia SaldeoSMART w Biurach Rachunkowych. Prezentowane dane przedstawiają stan przed

Bardziej szczegółowo

Elementy modelowania matematycznego

Elementy modelowania matematycznego Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI

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

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING NEURONOWE MAPY SAMOORGANIZUJĄCE SIĘ Self-Organizing Maps SOM Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki,

Bardziej szczegółowo

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Dyskretyzacja - definicja Dyskretyzacja - zamiana atrybutów

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,

Bardziej szczegółowo

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,

Bardziej szczegółowo

Licencjonowanie w środowiskach wirtualnych

Licencjonowanie w środowiskach wirtualnych Licencjonowanie w środowiskach wirtualnych Podstawy zasady Licencje wymagane są dla maksymalnej liczby instancji uruchomionych na serwerze w dowolnym czasie Tworzenie i przechowywanie dowolnej liczby instancji

Bardziej szczegółowo

w sieciach szerokopasmowych CATV i ISP - Model OSI

w sieciach szerokopasmowych CATV i ISP - Model OSI Technologie VoIP wykorzystywane w sieciach szerokopasmowych CATV i ISP - Model OSI mgr inż. Zbigniew Papuga Stowarzyszenie Elektryków Polskich W celu ujednolicenia struktury oprogramowania sieci komputerowych

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo