Rozpoznawanie pisma ręcznego przy pomocy sieci neuronowej Kohonena

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

Download "Rozpoznawanie pisma ręcznego przy pomocy sieci neuronowej Kohonena"

Transkrypt

1 Rozpoznawanie pisma ręcznego przy pomocy sieci neuronowej Kohonena Automatyczne rozpoznawanie pisma ręcznego jest problemem bardzo trudnym i od wielu lat nie do końca jeszcze rozwiązanym. Złożoność tego zagadnienia potęguje przede wszystkim fakt, iż dany znak może być napisany różnymi charakterami pisma, więc litery za każdym razem wyglądają nieco inaczej. Łączy je jednak pewne podobieństwo do znaku określanego jako wzorzec. W niniejszym artykule przedstawię próbę rozwiązania tego problemu przy pomocy sieci neuronowej Kohonena. Sieć Kohonena W 1982 roku fiński uczony Teuvo Kohonen zaproponował sieć neuronową liniową, w której występuje czynnik konkurencji, a uczenie odbywa się bez nadzoru. Rysunek 1 przedstawia schemat budowy omawianej sieci. Rysunek 1. Topologia sieci Kohonena. Informacja, którą chcemy poddać przetwarzaniu, podawana jest na wejście sieci. Następnie sygnały te ulegają przemnożeniu przez współczynniki wagowe - inne dla każdego neuronu. Na wyjściu otrzymujemy zestaw neuronów, których pobudzenie uzależnione jest od stopnia zgodności sygnału wejściowego z wewnętrznym wzorcem sieci. Sygnał wyjściowy danego neuronu jest więc tym silniejszy, im bardziej jego zestaw wartości wagowych przypomina wartości sygnału wejściowego. W sieci Kohonena liczy się tylko zwycięski neuron, czyli ten o największej wartości wyjściowej. Jego uznaje się za reprezentanta danej klasy zjawiska (np. 5 neuron rozpoznaje literę A).

2 Cały proces uczenia sieci polega na takim doborze wartości wag neuronów, aby sieć, jako całość, prawidłowo realizowała postawione przed nią zadania. Na początku uczenia wszystkie wagi inicjalizowane są w sposób losowy. Następnie na wejścia sieci podawane są sygnały reprezentujące daną klasę badanego zjawiska, po czym sprawdza się, który neuron ma największe pobudzenie. Neuron ten uznaje się za zwycięzcę i jego, wraz z neuronami należącymi do jego sąsiedztwa, poddaje się procesowi uczenia, czyli modyfikuje się ich zestawy wartości wagowych. Najsilniej zmieniane są wagi zwycięskiego neuronu, natomiast wagi neuronów sąsiednich zmieniane są słabiej. Rozmiar sąsiedztwa określa projektant sieci. Nie może być to wartość zbyt duża, a w szczególnym przypadku może przyjmować wartość zerową. Warto w tym miejscu zauważyć, że nawet słaba początkowa skłonność jakiegoś neuronu do rozpoznawania danej klasy obiektów może zostać wychwycona i wzmocniona podczas procesu uczenia. Zatem wagi zwycięskiego neuronu aktualizuje się w taki sposób, aby reagował on na przedstawioną mu prezentację jeszcze silniej. Umacnia on w ten sposób swoją zwycięską pozycję. Proces ten zachodzi do momentu, aż kolejne prezentacje nie powodują zmian wartości wagowych w znaczący sposób. Uznaje się wtedy, że neuron osiągnął punkt stabilny. Wagi te modyfikuje się w taki sposób, aby po każdej kolejnej prezentacji zestaw wartości wagowych lekko przesunąć w kierunku zestawu wartości wejściowych. Efekt ten można uzyskać poprzez odjęcie od wektora wejściowego wektora wag, a następnie część tej różnicy dodać do aktualnego wektora wag. Definicję tą ilustruje poniższy wzór. w i+1 = w i + (x - w i ) gdzie: w i+1 - wektor wag w (i+1)-ej (tj. bieżącej) prezentacji, w i - wektor wag w i-tej (tj. poprzedniej) prezentacji, x - wektor wartości wejściowych, - współczynnik proporcjonalności, zwykle mniejszy od 1. Aby opis algorytmu uczenia sieci był pełny, należy omówić jeszcze jeden bardzo ważny proces. Zauważmy, że podczas uczenia sieci może dojść do bardzo niekorzystnego zjawiska polegającego na tym, że niektóre neurony mogą wykazywać nadaktywność, czyli będą zwyciężać dla więcej niż jednego zestawu wejściowego. Inne zaś neurony mogą żadnej rywalizacji nie wygrać. Powodowałoby to nadmierne przeciążanie neuronów uczących się, co w konsekwencji prowadziłoby do złej pracy sieci. Dlatego opracowano mechanizm nazwany forsowaniem zwycięzcy, który rozwiązuje ten problem. Najogólniej polega on na wyszukaniu wśród neuronów, które jeszcze nie zwyciężyły w żadnym zestawie uczącym, neuronu o największej aktywacji. Ten właśnie neuron poddaje się uczeniu. Trzeba dodać, że powyższy algorytm uczenia sieci Kohonena przyniesie prawidłowe rezultaty, jeśli wartości wejściowe oraz wagi będą znormalizowane. Wartości wejściowe muszą więc należeć do przedziału [-1, 1] oraz długość wektora wejściowego musi być taka sama - najczęściej równa 1. Wektory wag, podobnie jak wejścia, muszą zostać zredukowane do jednostkowej długości.

3 Realizacja rozpoznawania pisma ręcznego Aby obraz litery można było przetworzyć w sieci neuronowej, musimy najpierw zamienić go na postać binarną. Rysunek 2 przedstawia sposób w jaki się to dokonuje. Rysunek 2. Binaryzacja obrazu litery. Na obraz litery (Rysunek 2a) nałożona jest siatka prostokątna (Rysunek 2b). Następnie pola, przez które przechodzi kreska litery, są zaczerniane, a pozostałe pola pozostają białe. W ten sposób powstaje obraz binarny (Rysunek 2c). Taki obraz możemy wprowadzić na wejście sieci neuronowej. Jeśli sieć neuronowa ma tyle neuronów wejściowych ile pikseli posiada binarny obraz litery, wtedy każdemu pikselowi możemy przypisać wartość liczbową i podać ją na poszczególne neurony wejściowe sieci. W naszym przykładowym projekcie, który jest ilustracją omawianego tematu, przyjmujemy, że rozmiar siatki dzielącej literę na poszczególne piksele, wynosi 5 pikseli szerokości i 7 pikseli wysokości. Daje to łącznie 35 pikseli zapisanego w postaci binarnej znaku. Liczba ta wyznacza ilość neuronów wejściowych sieci Kohonena, którą użyjemy w przykładzie. Z kolei ilość neuronów wyjściowych ustalamy na 26, ponieważ chcemy, aby tyle właśnie liter sieć rozpoznawała. Będą to wszystkie litery alfabetu łacińskiego. Każdy neuron wyjściowy będzie reprezentował jedną literę. Jego pobudzenie oznaczać będzie rozpoznanie odpowiadającej mu litery. Natomiast to, który neuron będzie odpowiadał za jaką literę, sieć ustali sama podczas procesu uczenia. Dla zilustrowania omawianych w artykule zagadnień stworzyłem program działający w systemie Windows. Program napisany jest w języku C/C++ i wykorzystuje funkcje API Windows. Do plików źródłowych dołączony jest również plik projektu dla kompilatora MS Visual C++ oraz skompilowana wersja programu pismo. Źródła programu można także skompilować wykorzystując jeden z darmowych kompilatorów dla platformy Windows (np. Borland C++ 5.5).

4 Opis programu pismo Program pismo składa się z jednego okna. Możemy go zobaczyć na rysunku 3. Rysunek 3. Okno główne programu pismo. Podczas uruchamiania programu wczytywany jest plik data.txt, zawierający zbiór uczący dla sieci neuronowej. Składają się na niego wzorce poszczególnych liter. Użytkownik ma możliwość modyfikacji tego zbioru. Może on w tym celu zaznaczyć przycisk Wzorce, a następnie wybrać na liście żądaną literę. Następnie, w górnej części okna programu, na oknietablicy narysować literę. Po naciśnięciu na przycisk Zapisz wzorzec zaznaczonej na liście litery zostanie uaktualniony według znaku narysowanego przez użytkownika. Wybierając opcję Rozpoznawanie przechodzimy do trybu rozpoznawania pisma. Ważną czynnością, którą musimy wykonać na poczatku, jest uczenie sieci. Dokonujemy tego naciskając na przycisk Trenuj sieć. Po tej czynności możemy narysować literę na okienku-tablicy. Po wciśnięciu

5 przycisku Rozpoznaj otrzymamy wynik przetwarzania sieci Kohonena. Pod okienkiem, gdzie rysujemy literę, widoczny jest napis informujący nas, jaką literę program rozpoznał. Binaryzacja obrazu litery Wspomnieliśmy już, że narysowaną literę należy zamienić na obraz binarny. Dokonujemy tego przy pomocy kodu z Listingu 1. Listing 1. Binaryzacja obrazu litery for(i=0; i<cxclient; i++) if(!isvlineclear(hdc, i)) downsampleleft = i; break; for(i=cxclient; i>0; i--) if(!isvlineclear(hdc, i)) downsampleright = i; break; for(i=0; i<cyclient; i++) if(!ishlineclear(hdc, i)) downsampletop = i; break; for(i=cxclient; i>0; i--) if(!ishlineclear(hdc, i)) downsamplebottom = i; break; // próbkowanie widthrect = (downsampleright - downsampleleft)/downsample_width; heightrect = (downsamplebottom - downsampletop)/downsample_height; idx=0; for(i=0; i<downsample_height; i++) for(j=0; j<downsample_width; j++)

6 rect.left = downsampleleft + j*widthrect; rect.right = rect.left + widthrect; rect.top = downsampletop + i*heightrect; rect.bottom = rect.top + heightrect; if(isrectclear(hdc, rect)) sample[idx++] = MIN_INPUT; else sample[idx++] = MAX_INPUT; Najpierw ustalamy granice w jakich znajduje się badana przez nas litera. Lewą, prawą, górną oraz dolną granicę określają zmienne downsampleleft, downsampleright, downsampletop, downsamplebottom. Mając określony obszar w jakim znajduje się litera, dzielimy go na 5 kolumn i 7 rzędów. Otrzymujemy w ten sposób 35 prostokątów, w których badamy, czy przechodzi przez nie fragment litery. Jeśli przez dany prostokąt litera przechodzi, wtedy uznajemy go za czarny "piksel" i odpowiadającemu mu neuronowi nadajemy wartość wejściową 0,5. W przeciwnym przypadku neuronowi wejściowemu przypisujemy wartość -0,5. Listing 2 obrazuje, w jaki sposób zaimplementowane są funkcje: IsHLineClear, IsVLineClear, IsRectClear. Wszystkie one przy pomocy funkcji Windows GetPixel sprawdzają kolor pojedynczego piksela. Jeśli przynajmniej jeden piksel jest czarny, wtedy funkcje zwracają FALSE w przeciwnym przypadku TRUE. Listing 2. Implementacja funkcji IsHLineClear, IsVLineClear, IsRectClear BOOL IsHLineClear(HDC hdc, int line) int j; for(j=0; j<cxclient; j++) if(getpixel(hdc, j, line) == 0) return FALSE; return TRUE; BOOL IsVLineClear(HDC hdc, int line) int j; for(j=0; j<cyclient; j++) if(getpixel(hdc, line, j) == 0) return FALSE;

7 return TRUE; BOOL IsRectClear(HDC hdc, RECT rect) int i, j; for(i=rect.left; i<rect.right; i++) for(j=rect.top; j<rect.bottom; j++) if(getpixel(hdc, i, j) == 0) return FALSE; return TRUE; Rozpoznawanie litery Wiemy już, że aby zapewnić sieci Kohonena prawidłową pracę, należy jej dane wejściowe poddać normalizacji. Dokonujemy tego w sposób przedstawiony na listingu 3. Listing 3. Normalizacja danych wejściowych void Kohonen::NormalizeInput(double *input, double *normfac) double length; length = VectorLength(NUMBER_INPUT, input); if(length < 1.e-30) length = 1.e-30 ; *normfac = 1.0 / sqrt(length); double Kohonen::VectorLength (int n, double *vec ) double sum = 0.0; for (int i=0;i<n;i++ ) sum += vec[i] * vec[i]; return sum; Głównym celem procedury normalizacyjnej NormalizeInput jest wyliczenie wartości normfac używanej w dalszych obliczeniach. Funkcja VectorLength oblicza kwadrat długości wektora. Następnie możemy przyjrzeć się jak sieć wylicza zwycięski neuron podczas procesu rozpoznawania pisma. Funkcję Winner realizującą to zadanie możemy prześledzić na listingu 4.

8 Listing 4. Funkcja obliczająca zwycięski neuron int Kohonen::Winner(double *input, double *normfac) int i, win=0; double biggest; double *optr; NormalizeInput(input, normfac); biggest = -1.E30; for (i=0; i<number_output; i++) optr = outputweights[i]; output[i] = dotproduct (NUMBER_INPUT, input, optr ) * (*normfac); output[i] = 0.5 * (output[i] + 1.0) ; if ( output[i] > biggest biggest = output[i] ; win = i ; if ( output[i] > 1.0 ) output[i] = 1.0; if ( output[i] < 0.0 ) output[i] = 0.0; return win ; Każdą wartość wyjściową output[i] wyliczamy przy pomocy funkcji dotproduct. Niezbędnymi parametrami są: wektor danych wejściowych, zestaw wag łączących neurony wejściowe z obliczanym i-tym neuronem wyjściowym oraz wartość normalizacyjna. Funkcja ta realizuje mnożenie wartości wejściowych przez odpowiednie wagi. Wykorzystywane tutaj zestawy wag sieci wyznaczane są w trakcie procesu uczenia. Uczenie sieci Główną procedurę uczącą, stanowiącą najważniejszy element prawidłowego funkcjonowania sieci neuronowej Kohonena, możemy prześledzić na listingu 5. Listing 5. Procedura uczenia sieci Kohonena BOOL Kohonen::Learn(TrainingSet *tptr) (...) nwts = NUMBER_INPUT * NUMBER_OUTPUT;< BR > rate = LEARN_RATE; Initialize(); best_err = 1.e30;

9 // główna pętla ucząca n_retry = 0; for (iter=0; ; iter++) EvaluateErrors(tptr, rate, won, &bigerr, correc); s_neterr = bigerr ; if (s_neterr < best_err) best_err = s_neterr ; CopyWeights(bestnet, this); winners = 0; for (i=0; i<number_output; i++ ) if (won[i]!= 0) winners++; if (bigerr < QUIT_ERROR) break ; if ((winners < NUMBER_OUTPUT) && (winners < tptr->ntrain)) ForceWin(tptr, won); continue; AdjustWeights(rate, won, &bigcorr, correc); if (bigcorr < 1.e-5) if (++n_retry > RETRIES) break; Initialize(); iter = -1; rate = LEARN_RATE; continue; if (rate > 0.01) rate *= REDUCTION; (...) Jest ona stosunkowo długa, dlatego Listing 5 zawiera jej najważniejsze fragmenty. W funkcji Initialize wszystkie wagi przyjmują wartości losowe po czym są normalizowane. Następnie w pętli dokonywane jest uczenie sieci. Pierwszą z funkcji jest EvaluateErrors. Jest ona miarą dostosowania aktualnych wag neuronu wyjściowego do rozpoznawania wzorca zawartego w danych wejściowych. Jeśli wagi te nie są jeszcze dostosowane, wtedy zmienna bigerr osiąga duże wartości. Z chwilą, gdy wagi w trakcie uczenia zmieniają się i są coraz bardziej dostosowane do prawidłowego rozpoznawania wzorca, zmienna bigerr zmniejsza się. Gdy osiągnie wartość mniejszą niż QUIT_ERROR uczenie danego neuronu uznajemy za zakończone. Następnie zliczamy ilość nauczonych już neuronów, po czym wywołujemy funkcję ForceWin. Wykonuje ona kolejno następujące czynności:

10 wybiera wzorzec wejściowy, który nie ma jeszcze "swojego" neuronu wyjściowego, dla wzorca z poprzedniego punktu wybierany jest neuron o największej aktywności - ale jest to neuron wybrany spośród tych, które dotychczas jeszcze nie zwyciężyły dla żadnego przypadku uczącego, dla neuronu z poprzedniego punktu modyfikowane są jego wagi. Końcowym etapem uczenia jest normalizacja wag, która wpływa dodatnio na proces rozpoznawania wzorców. Realizowana jest ona poprzez funkcję AdjustWeights. Do pełnego przestudiowania i analizy kodu realizującego działanie sieci neuronowej Kohonena odsyłam Czytelnika do kodów źródłowych programu pismo. Podsumowanie Zawarte w artykule kody źródłowe, przede wszystkim pliki Kohonen.h i Kohonen.cpp, są uniwersalne. Można je zastosować nie tylko do rozpoznawania znaków graficznych, ale także do wielu innych problemów (rozpoznawanie mowy, inne problemy klasyfikacji). Myślę że analiza kodu dołączonego do artykułu pozwoli lepiej zagłębić się w tajniki sieci neuronowej Kohonena.

Instrukcja realizacji ćwiczenia

Instrukcja realizacji ćwiczenia SIEĆ KOHONENA ROZPOZNAWANIE OBRAZÓW Cel ćwiczenia: zapoznanie się ze sposobem reprezentacji wiedzy w sieciach Kohonena i mechanizmami sąsiedztwa i sumienia neuronów. Zadanie do analizy: analizujemy sieć

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

Lekcja 5: Sieć Kohonena i sieć ART

Lekcja 5: Sieć Kohonena i sieć ART Lekcja 5: Sieć Kohonena i sieć ART S. Hoa Nguyen 1 Materiał Sieci Kohonena (Sieć samo-organizująca) Rysunek 1: Sieć Kohonena Charakterystyka sieci: Jednowarstwowa jednokierunkowa sieć. Na ogół neurony

Bardziej szczegółowo

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ Celem ćwiczenia jest zapoznanie się ze sposobem działania sieci neuronowych typu MLP (multi-layer perceptron) uczonych nadzorowaną (z nauczycielem,

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

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015 Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner rok akademicki 2014/2015 Sieci Kohonena Sieci Kohonena Sieci Kohonena zostały wprowadzone w 1982 przez fińskiego

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

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

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

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

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

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Sztuczne sieci neuronowe Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Wykład 10 Mapa cech Kohonena i jej modyfikacje - uczenie sieci samoorganizujących się - kwantowanie wektorowe

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

Bardziej szczegółowo

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Sieci Hopfielda Najprostsze modele sieci z rekurencją sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Modele bardziej złoŝone: RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie

Bardziej szczegółowo

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.

Bardziej szczegółowo

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE SIECI NEURONOWE Przedmiotem laboratorium jest stworzenie algorytmu rozpoznawania zwierząt z zastosowaniem sieci neuronowych w oparciu o 5 kryteriów: ile zwierzę ma nóg, czy żyje w wodzie, czy umie latać,

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

System wizyjny OMRON Xpectia FZx

System wizyjny OMRON Xpectia FZx Ogólna charakterystyka systemu w wersji FZ3 w zależności od modelu można dołączyć od 1 do 4 kamer z interfejsem CameraLink kamery o rozdzielczościach od 300k do 5M pikseli możliwość integracji oświetlacza

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2 Elementy Sztucznej Inteligencji Sztuczne sieci neuronowe cz. 2 1 Plan wykładu Uczenie bez nauczyciela (nienadzorowane). Sieci Kohonena (konkurencyjna) Sieć ze sprzężeniem zwrotnym Hopfielda. 2 Cechy uczenia

Bardziej szczegółowo

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych aproksymacja LABORKA Piotr Ciskowski zadanie 1. aproksymacja funkcji odległość punktów źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.4, str. 137 Naucz sieć taką

Bardziej szczegółowo

Metody Sztucznej Inteligencji II

Metody Sztucznej Inteligencji II 17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Obliczenia inteligentne Zadanie 4

Obliczenia inteligentne Zadanie 4 Sieci SOM Poniedziałek, 10:15 2007/2008 Krzysztof Szcześniak Cel Celem zadania jest zaimplementowanie neuronowej samoorganizującej się mapy wraz z metodą jej nauczania algorytmem gazu neuronowego. Część

Bardziej szczegółowo

Asocjacyjna reprezentacja danych i wnioskowanie

Asocjacyjna reprezentacja danych i wnioskowanie Asocjacyjna reprezentacja danych i wnioskowanie Wykorzystane technologie JetBrains PyCharm 504 Python 35 Struktura drzewa GRAPH PARAM PARAM ID1 ID2 ID_N params params params param_name_1: param_value_1

Bardziej szczegółowo

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych. Sieci rekurencyjne Ewa Adamus ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych 7 maja 2012 Jednowarstwowa sieć Hopfielda, z n neuronami Bipolarna funkcja przejścia W wariancie

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Uczenie sieci typu MLP

Uczenie sieci typu MLP Uczenie sieci typu MLP Przypomnienie budowa sieci typu MLP Przypomnienie budowy neuronu Neuron ze skokową funkcją aktywacji jest zły!!! Powszechnie stosuje -> modele z sigmoidalną funkcją aktywacji - współczynnik

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA Wykłady w dużej mierze przygotowane w oparciu o materiały i pomysły PROF. RYSZARDA TADEUSIEWICZA SAMOUCZENIE SIECI metoda Hebba W mózgu

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

Sieć przesyłająca żetony CP (counter propagation)

Sieć przesyłająca żetony CP (counter propagation) Sieci neuropodobne IX, specyficzne architektury 1 Sieć przesyłająca żetony CP (counter propagation) warstwa Kohonena: wektory wejściowe są unormowane jednostki mają unormowane wektory wag jednostki są

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3 Podstawy programowania, Poniedziałek 13.05.2015, 8-10 Projekt, część 3 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład 5 Sztuczne sieci neuronowe (SSN) 8 grudnia 2011 Plan wykładu 1 Biologiczne wzorce sztucznej sieci neuronowej 2 3 4 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką,

Bardziej szczegółowo

Budowa i generowanie planszy

Budowa i generowanie planszy Gra Saper została napisana w. Jest dostępna w każdej wersji systemu Windows. Polega na odkrywaniu zaminowanej planszy tak, aby nie trafić na minę. Gra działa na bardzo prostej zasadzie i nie wymaga zaawansowanego

Bardziej szczegółowo

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych Zastosowania sieci neuronowych klasyfikacja LABORKA Piotr Ciskowski zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 Przykład

Bardziej szczegółowo

Rekurencja (rekursja)

Rekurencja (rekursja) Rekurencja (rekursja) Rekurencja wywołanie funkcji przez nią samą wewnątrz ciała funkcji. Rekurencja może być pośrednia funkcja jest wywoływana przez inną funkcję, wywołaną (pośrednio lub bezpośrednio)

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane. Wstęp do sieci neuronowych, wykład 7. M. Czoków, J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika w Toruniu 212-11-28 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu

Bardziej szczegółowo

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt

Bardziej szczegółowo

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

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

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY

METODY INŻYNIERII WIEDZY METODY INŻYNIERII WIEDZY Metoda K Najbliższych Sąsiadów K-Nearest Neighbours (KNN) ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Optymalizacja systemów

Optymalizacja systemów Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY

METODY INŻYNIERII WIEDZY METODY INŻYNIERII WIEDZY Metoda K Najbliższych Sąsiadów K-Nearest Neighbours (KNN) ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. Lokalizacja Informacje ogólne Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. To pojęcie jest używane przez schematy szaf w celu tworzenia

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych

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Ę ĆWICZENIA Self-Organizing Maps SOM Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki,

Bardziej szczegółowo

wagi cyfry 7 5 8 2 pozycje 3 2 1 0

wagi cyfry 7 5 8 2 pozycje 3 2 1 0 Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. dla sieci skierowanych Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-25 1 Motywacja

Bardziej szczegółowo

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne

Bardziej szczegółowo

Inteligentne systemy przeciw atakom sieciowym

Inteligentne systemy przeciw atakom sieciowym Inteligentne systemy przeciw atakom sieciowym wykład Sztuczne sieci neuronowe (SSN) Joanna Kołodziejczyk 2016 Joanna Kołodziejczyk Inteligentne systemy przeciw atakom sieciowym 2016 1 / 36 Biologiczne

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010 Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010 Sieci neuronowe jednokierunkowa wielowarstwowa sieć neuronowa sieci Kohonena

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

Zadanie 1. Suma silni (11 pkt)

Zadanie 1. Suma silni (11 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. Suma silni (11 pkt) Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco: 1 dla n = 1 n! = ( n 1! ) n dla n> 1 Rozpatrzmy funkcję

Bardziej szczegółowo

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)

Bardziej szczegółowo

Automatyczna klasyfikacja zespołów QRS

Automatyczna klasyfikacja zespołów QRS Przetwarzanie sygnałów w systemach diagnostycznych Informatyka Stosowana V Automatyczna klasyfikacja zespołów QRS Anna Mleko Tomasz Kotliński AGH EAIiE 9 . Opis zadania Tematem projektu było zaprojektowanie

Bardziej szczegółowo

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

Analiza algorytmów zadania podstawowe Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą

Bardziej szczegółowo

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha. Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Generator liczb losowych o rozkładzie Rayleigha. Generator liczb losowych o rozkładzie Rayleigha. 1. Cel ćwiczenia

Bardziej szczegółowo

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek Sztuczne sieci neuronowe Ćwiczenia Piotr Fulmański, Marta Grzanek Piotr Fulmański 1 Wydział Matematyki i Informatyki, Marta Grzanek 2 Uniwersytet Łódzki Banacha 22, 90-232, Łódź Polska e-mail 1: fulmanp@math.uni.lodz.pl,

Bardziej szczegółowo

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu

Bardziej szczegółowo

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

Księgarnia internetowa Lubię to!» Nasza społeczność

Księgarnia internetowa Lubię to!» Nasza społeczność Kup książkę Poleć książkę Oceń książkę Księgarnia internetowa Lubię to!» Nasza społeczność Spis treści Rozdział 1. Zastosowanie komputera w życiu codziennym... 5 Rozdział 2. Elementy zestawu komputerowego...13

Bardziej szczegółowo

Sieci Kohonena Grupowanie

Sieci Kohonena Grupowanie Sieci Kohonena Grupowanie http://zajecia.jakubw.pl/nai UCZENIE SIĘ BEZ NADZORU Załóżmy, że mamy za zadanie pogrupować następujące słowa: cup, roulette, unbelievable, cut, put, launderette, loveable Nie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Temat: Sieci neuronowe oraz technologia CUDA

Temat: Sieci neuronowe oraz technologia CUDA Elbląg, 27.03.2010 Temat: Sieci neuronowe oraz technologia CUDA Przygotował: Mateusz Górny VIII semestr ASiSK Wstęp Sieci neuronowe są to specyficzne struktury danych odzwierciedlające sieć neuronów w

Bardziej szczegółowo

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 dokumentacja Edytor Bazy Zmiennych ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki firmowe

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE INSTYTUT TECHNOLOGII MECHANICZNEJ Metody Sztucznej Inteligencji Sztuczne Sieci Neuronowe Wstęp Sieci neuronowe są sztucznymi strukturami, których

Bardziej szczegółowo

Krok 1: Wzorzec księgowania faktury sprzedaży

Krok 1: Wzorzec księgowania faktury sprzedaży Krok 1: Wzorzec księgowania faktury sprzedaży Krok 1: Wzorzec księgowania faktury sprzedaży Krok 2: Rozksięgowanie faktury sprzedaży W tym kroku: Omówimy tworzenie przykładowego wzorca księgowań dla faktury

Bardziej szczegółowo

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak 2 Rozdział 1 Sztuczne sieci neuronowe. 3 Sztuczna sieć neuronowa jest zbiorem prostych elementów pracujących równolegle, których zasada działania inspirowana jest biologicznym systemem nerwowym. Sztuczną

Bardziej szczegółowo

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

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

ĆWICZENIE 5: Sztuczne sieci neuronowe

ĆWICZENIE 5: Sztuczne sieci neuronowe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 5: Sztuczne sieci neuronowe opracował: dr inż. Witold

Bardziej szczegółowo