Projekt struktury sieci neuronowej
|
|
- Agata Markowska
- 6 lat temu
- Przeglądów:
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 Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoAlgorytmy 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ółowoProjektowanie 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ółowoSkalowalność 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ółowoAnaliza 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ółowoAlgorytm 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ółowoWydajność 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ółowoAlgorytmy 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ółowoStrefa 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ółowoAnaliza 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ółowoAnaliza 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ółowoMacierzowe 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ółowo3. 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ółowo5. 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ółowoAlgorytmy 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ółowoSIEĆ 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ółowoS 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ółowoAlgorytmy 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ółowo5. 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ółowoSztuczna 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ółowo8. 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ółowoOptymalizacja 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ółowoProgramowanie 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ółowoDokumentacja 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ółowoNumeryczna 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ółowoSEGMENT 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ółowoSCHEMAT 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ółowoStan 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ółowoCzas 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ółowoZadanie 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ółowoAproksymacja 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ółowoSIECI 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ółowoTesty 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ółowoObliczenia 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ółowoAlgorytmy 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ółowoDefinicje. 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ółowodr 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ółowoSortowanie 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ółowoAlgorytm. 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ółowoEfektywność 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ółowoAlgorytmy 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ółowoUczenie 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ółowoFUNKCJA 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ółowoPrzykł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ółowoAlgorytm 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ółowoXQTav - 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ółowoZadania 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ółowoLEKCJA 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ółowoProjekt 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ółowoPrzesył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ółowow 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ółowoProgramowanie 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ółowoINFORMATYKA 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ółowoModelowanie 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ółowoAlgorytmy 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ółowoTworzenie 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ółowoZadania 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ółowoTechnologie 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ółowoZadanie 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ółowoKodowanie 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ółowoPrzetwarzanie 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ółowoZa 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ółowo1 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ółowoProgramowanie 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ółowoAlgorytmy 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ółowoAutomatyczne 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ółowoEksploracja 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ółowoZależ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ółowoAlgorytm 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ółowoWprowadzenie 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ółowoPriorytetyzacja 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ółowoFunkcje 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ółowoMosty 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ółowoRó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ółowoKlasyfikator. ˆ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ółowoProgramowanie 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ółowoDlaczego 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ółowoUproszczony 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ółowoSTATYKA 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ółowoAnaliza 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ółowoWykł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ółowoProblemy 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ółowoPrzygotowanie 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ółowoAlgorytmy 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ółowoPodstawy 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ółowoMetody 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ółowoRozkł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ółowoElementy 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ółowoSystem 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ółowoZagadnienia 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ółowoProgramowanie 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ółowoMETODY 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ółowoAlgorytmy 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ółowoProgramowanie 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ółowo4. 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ółowoAlgorytmy 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ółowoObrona 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ółowoLicencjonowanie 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ółowow 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ółowoMechatronika 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