Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd

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

Download "Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd"

Transkrypt

1 Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania Programu Operacyjnego Kapitał Ludzki Wprowadzenie do Sieci Neuronowych Laboratorium 02 Perceptron prosty cd Maja Czoków, Jarosław Piersa Powtórzenie 1.1 Algorytm uczenia perceptronu Dane: Perceptron o n wejściach, k przykładów uczących E 1...E k wraz z poprawnymi odpowiedziami T 1...T k. Zakładamy, że funkcja aktywująca ma postać znakową. W tej sytuacji dodatkowym parametrem uczącym jest wartość progu p. Wynik: Wartości wag wi oraz progu p które dają optymalną klasyfikację. 1. Przypisujemy wagom i progowi małe losowe wartości wokół 0, przypisujemy takiemu układowi wag zerowy czas życia, startowy zestaw zapamiętujemy jako rekordzistę, 2. Przebiegamy przykłady losując z listy 3. Dla wybranego przykładu E j sprawdzamy, czy E j jest dobrze klasyfikowany, Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wynik lepszy niż u dotychczasowego rekordzisty, zapominamy go (dotychczasowego rekordzistę) i zapisujemy bieżący układ wag jako nowego rekordzistę. Wracamy do 2. Jeśli nie, to wi := wi + η ERR Eij θ := θ ERR Nowo-powstałemu układowi wag przypisujemy zerowy czas życia. Wracamy do Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Zwracamy najbardziej żywotny zestaw wag (tj. rekordzistę). 1.2 Uzasadnianie wnioskowania Dane: Nauczony perceptron prosty z funkcją progową, próg p, wejście u = (u1,..., un ). Wynik: Uzasadnienie klasyfikacji zwróconej na przykładzie u tj. najmniej liczna lista cech, które charakteryzują u i mają największy wpływ na klasyfikację. Uwaga: Algorytm jest mutacyjny, tj. modyfikuje próg neuronu. Sugerowane jest operowanie na kopii parametrów. 1. Obliczamy odpowiedź perceptronu o na przykładzie u. 2. Przypisujemy p := θ (kopia progu, p := x0 w0 w wypadku biasu). 3. Przypisujemy uzasadnienie = (pusty napis). 4. Oznaczamy wszystkie cechy jako niewykorzystane. 5. Znajdujemy czynnik kluczowy tj. ui takie, że ui wi o > 0 tj. cecha wspiera wynikową odpowiedź, wi ma największą wartość spośród wszystkich ui, które wspierają odpowiedź o, Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Wyrażam zgodę na wydruk dokumentu do celów dydaktycznych 1

2 u i jeszcze nie był użyty jako fragment uzasadnienia w poprzednich krokach (niewykorzystana). 6. Sprawdź czy w i > w l + p, niewykorzystany l i i u l jeżeli tak, to dodaj u i do uzasadnienia i zwróć gotowy zestaw cech: uzasadnienie+ = bo u i = (..). jeżeli nie, to dodaj u i do uzasadnienia: uzasadnienie+ = bo u i = (..) oraz p = p u i w i Po czym oznaczamy jednostkę u i jako wykorzystaną i wracamy do UWAGA: Jeżeli i w iu i = p to uzasadnienie nie będzie możliwe. Rysunek 1: Uzasadnianie wnioskowania wybór najcięższych argumentów. 1.3 Maszyny liniowe (Multiclass linear classifier) Maszyna liniowa składa się z n wejść, l perceptronów,każdy przypisany do swojej kategorii. Perceptrony mają swoje kolejne indeksy i te same wejścia. Oznacza to,to że ML ma łącznie nl wag (z progami: (n+1)l wag), po n dla każdego z l perceptronów (z progami: po n + 1). Będziemy je oznaczać poprzez w ij, gdzie i = 0, 1..n jest indeksem wejścia, natomiast j = 1..l jest indeksem perceptronu. Uznajemy ponadto, że we wszystkich perceptronach funkcja aktywująca jest identycznością To jest każdy z perceptronów zwraca wyłącznie sumę ważoną out j = f(x) = x n w ij x i (1) Odpowiedzą całej maszyny liniowej jest indeks perceptronu, który zwrócił największą wartość out j. i=0 O = {j : k=1..l out k out j } (2) Maszyna linowa zwraca kategorię danych wejściowych x 1..x n, ale kategoryzacja nie musi być binarna. 2

3 out Rysunek 2: Schemat maszyny liniowej 1.4 Algorytm Uczenia Maszyny Liniowej Dane: zestaw przykładów uczących E j, j = 1..k oraz poprawnych odpowiedzi T j, j = 1..k. Wynik: wagi w ij, dla których sieć daje poprawne klasyfikacje. 1. Przypisujemy wagom małe losowe wartości wokół 0, 2. Przebiegamy przykłady losując z listy, 3. Dla wybranego przykładu E j sprawdzamy, czy E j jest dobrze klasyfikowany, Jeśli tak, wracamy do 2. Jeśli nie (tzn. jest kategoria p a miała być q), to korygujemy wagi neurony p-tego i q-tego w ip + = E j i Wracamy do 2. w iq = E j i 4. Algorytm kończymy po przebiegnięciu odpowiedniej liczby iteracji. Dodajemy modyfikację kieszeni i zapadki (tj. zapamiętywanie najbardziej żywotnych zestawów wag). 2 Zadania 2.1 Zadanie 1. Klasyfikacja punktów na R 2 Napisz (zmodyfikuj z poprzednich zajęć) w Octavie / Matlabie funkcję implementującą działanie perceptronu. Funkcja za argument powinna przyjmować wektor dwóch danych wejściowych oraz wektor wag w tym w 0 (oraz ewentualnie próg, jeżeli nie jest on zawarty w wagach). x = [1, 2]; w = [1, 2, 3]; a = perc (x, w); Wygeneruj dwie chmury punktów na R 2 z różnymi kategoriami N = 20; x1 = randn (1, N )+2; x2 = randn (1, N) -2; y1 = randn (1, N )+3; y2 = randn (1, N) -1; C1 = ones (1, N); C2 = - ones (1, N); 3

4 Wyświetl wygenerowane dane hold off ; plot (x1, y1, r+ ); hold on; plot (x2, y2, bo ); EX = [x1, x2 ]; EY = [y1, y2 ]; C = [C1, C2 ]; Zaimplementuj SPLA (plik spla.m). Uwaga! Jeżeli nie wiadomo czy dane są separowalne, to należy korzystać z wersji pocket algorytmu. function wagi = spla ( EX, EY, C, T = 10000) % wagi losowe w = randn (1,3); for i =1: T % losujemy przyklad j = floor ( rand ()* length (C ))+1; % obliczamy aktywacje out = perc ([ EX(j), EY(j)], w); if out == C(j) % nastepny przyklad else % korekcja wag err = C(j) - out ; w += err.* [1, EX(j), EY(j )]; end % if end % for wagi = w; end % function Oblicz klasyfikację nauczonego perceptronu na danych EX, EY Out = []; for i =1: length (EX) E = [EX(i), EY(i )]; Out = [Out, perc (E, wagi ) ]; end Wydrukuj nauczoną klasyfikację % wybieramy te, ktore maja odpowiedz dodatnia IPos = find (Out >0); % te, ktore maja odpowiedz ujemna INeg = find (Out <=0); hold off ; plot (EX( IPos ), EY( IPos ), r+ ); hold on; plot (EX( INeg ), EY( INeg ), bo ); Na podstawie nauczonych wag oblicz postać i wyświetl prostą separującą. Przydatne funkcjetext(), sprintf(), legend(). Zmodyfikuj dane uczące, aby obie klasy nieco na siebie nachodziły (zjawisko nazywane jest overlapping). Uruchom algorytm SPLA na nich. Wyciągnij wnioski. Wygeneruj cztery chmury punktów uczących. uczenie na takich danych, np. Połącz je w klasy wg funkcji logicznych AND, OR, XOR. Wykonaj problem AND (x 1 = 1, x 2 = 1, E = 1), ( 1, 1, 1), (1, 1, 1), (1, 1, 1) 4

5 problem OR ( 1, 1, 1), ( 1, 1, 1), (1, 1, 1), (1, 1, 1) problem XOR ( 1, 1, 1), ( 1, 1, 1), (1, 1, 1), (1, 1, 1) Wyciągnij wnioski. Dodaj modyfikację kieszonki i zapadki, naucz perceptron zmodyfikowanym algorytmem na różnych zestawach. 2.2 Zadanie 3*. SPLA cd. (* dla chętnych) Napisz program, który wyświetla zmieniającą się klasyfikację na fragmencie płaszczyzny podczas uczenia perceptronu. Pomocne funkcje: axis(), sleep(), print(). 2.3 Zadanie 4. Maszyna liniowa Zaimplementuj maszynę liniową (linear multi-classifier) Wygeneruj chmurę przykładów uczących podzielonych na trzy kategorie (wsk. zmodyfikuj punkt 2.1) Wczytaj przygotowane dane z pliku (kolejno: x, y, odpowiedź) A = load (./ zad2-7-- multiclass. txt ); EX = A(:, 1); EY = A(:, 2); C = A(:, 3) +1; % zmieniamy z 0,1,2 na 1,2,3 plot (EX, EY, b+ ) Zaimplementuj maszynę liniową (wsk. wagi będą tablicą o wymiarze ilosc kategorii ilosc wejsc). function ret = ml( x, wagi ) s = wagi * x ; m = max (s); ret = find (s >= m); end zmodyfikuj kod tak aby uwzględniał również bias w 0, przetestuj maszynę: wagi = randn (3,2); j = 1; x = [EX(j), EY(j )]; ml(x, wagi ) zaimplementuj algorytm uczenia: function wagi = uczenie_ ml ( EX, EY, C) T = 10000; % wagi losowe wagi = randn (3,2); for i =1: T % wylosuj przyklad j = floor ( rand ()* length (EX )+1); x = [EX(j), EY(j )]; o = ml(x, wagi ); if (o==c(j)) % ok, nic nie robimy else % wzmacniamy te, ktore byc powinny wagi (C(j),:) += x; % oslabiamy te, ktore sa wagi (o,:) -= x; 5

6 end % if end % for end % function Dopisz do algorytmu kieszonkę i / lub zapadkę. Oblicz klasy na naucznych wagach: Out = []; for i =1: length (EX) x = [EX(i), EY(i )]; Out = [ Out ; ml(x, wagi )]; end Wyświetl nauczoną kategoryzację I1 = find ( Out == 1); I2 = find ( Out == 2); I3 = find ( Out == 3); hold off ; plot (EX(I1), EY(I1), 1o ); hold on; plot (EX(I2), EY(I2), 2+ ); plot (EX(I3), EY(I3), 3^ ); Dostosuj algorytm aby działał dla wersji z biasem, naucz ponownie taki system i porównaj wyniki. 3 Zadania programistyczne (do wyboru) 3.1 Zadanie 1. Autoasocjator graficzny Zadanie polega na zastosowaniu perceptronów i algorytmów uczenia do konstrukcji autoasocjatora graficznego tj. układu, który jest w stanie nauczyć się obrazów oraz usunąć szumy jeżeli takie pojawią się na wejściu. W efekcie dając na wejściu obraz, który nie jest żadnym z wzorców uczących, program powinien wygenerować ten, który zna i jest najbardziej podobny do wejścia. Działanie: na wejściu dany jest zaszumiony obraz (wcześniej nauczony) układ ma tyle perceptronów ile pikseli na obrazie każdy perceptron czyta wszystkie piksele z obrazu wejściowego i zwraca wartość kontrolowanego piksela wyjściowego (zapalony lub nie) wynikowy obraz powstaje z odpowiedzi wszystkich perceptronów, poprawnie naucozna sieć powinna odzyskać oryginalny obraz usuwając szum Uczenie: dla każdego perceptronu / piksela: wejściem są wszystkie wzorcowe obrazy, poprawną odpowiedzą wartość czy piksel przy danym obrazie powinien być zapalony czy zgaszony dodatkowo wskazane jest uczyć na zaszumionych kopiach wzorcowych obrazów Ciekawe rozszerzenia i alternatywy: Autoasocjator symboliczny / wektorowy: zamiast na pikselach operuje na fragmentach obrazu, np kresce poziomej, pionowej, skośnej, półkolu, kropce itp. Na przykład litera T jest połączeniem kreski pionowej wycentrowanej oraz kreski poziomej na górze obrazu (i wszystko inne wyłączone), Litera L kreska pionowa z lewej i pozioma na dole, O półkola z lewej i prawej oraz z góry i dołu, D półkole z prawej i kreska pionowa wycentrowana, X dwie kreski skośne etc. Autoasocjator działający na trzech kanałach (RGB) 6

7 Rysunek 3: Konstrukcja autoasocjatora graficznego. 3.2 Zadanie 2. Automatyczny oceniacz programów Czasami obiektom nie można przypisać cech numerycznych, a jedynie symboliczne, które są kodowane na wartości numeryczne (np. +1 cecha obecna, 1 cecha nieobecna). Rozważmy opis programu zaliczeniowego z sieci neuronowych. Jego lista cech może obejmować np: Czy program w ogóle działa? Czy program daje wyniki wyglądające na poprawne? Czy program ma interfejs graficzny? Czy program został oddany w trakcie zajęć? Czy program sam siebie klasyfikuje jako zaliczony? Czy program zawiera wyczerpujące komentarze w kodzie? Czy grafy / sieci / ilości wejść są ustalone na sztywno i trudne do zmiany (zauważmy, że jest to cecha charakterystyczna dla źle napisanych programów, waga odpowiadająca temu wejściu powinna być ujemna)? Czy program wyświetla tylko klasyfikację pomijając uzasadnienie (patrz uwaga wyżej)? Czy program został napisany w normalnym języku programowania (co to jest normalny język pozostawiamy gestii sprawdzającego lub... innego klasyfikatora symbolicznego)? Czy program sam jest w stanie wygenerować listę programów uczących i nauczyć się na niej poprawnej klasyfikacji? Czy autor programu ma więcej pomysłów niż autor zadania i dodał coś od siebie? Napisz program, który na wejściu otrzymuje listę cech programu i dokonuje binarnej oceny (zaliczony lub niezaliczony) oraz wyświetla uzasadnienie, tzn. które z cech mają największy wpływ na końcową ocenę. Głównym punktem ocenianym w tym zadaniu jest nie klasyfikacja, ale jej uzasadnienie. Lista powyższa została wymyślona na potrzeby zadania i po kilku kawach, ale zdradza jakie pytania mogą paść podczas sprawdzania programów. (dla ambitnych) Rozważ jak można dostosować program aby dokonywał i uzasadniał kategoryzację na trzy oceny: niezaliczony, zaliczony, wybitnie zaliczony. Zamiast oceniacza programów można napisać program oceniający: książki, samochody, inne programy oceniające, wykładowców, komputery, jakość kawy z ekspresu... Wszelkie przejawy kreatywności mile widziane. 7

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-03 Projekt pn. Wzmocnienie potencjału

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych lista zadań 1

Wprowadzenie do Sieci Neuronowych lista zadań 1 Wprowadzenie do Sieci Neuronowych lista zadań 1 Maja Czoków, Jarosław Piersa 2010-10-04 1 Zasadyzaliczania 1.1 Oceny Zaliczenie laboratoriów na podstawie implementowania omawianych algorytmów. Każde zadanie

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron. Wprowadzenie do Sieci Neuronowych Laboratorium Organizacja zajęć. Perceptron. Jarosław Piersa --3 Organizacja zajęć. Co będzie Dużo programowania (pisanie programów), Trochę matematyki, Małe zadania do

Bardziej szczegółowo

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron.

Wprowadzenie do Sieci Neuronowych Laboratorium 01 Organizacja zajęć. Perceptron. Projekt pn. Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych realizowany w ramach Poddziałania 4.. Programu Operacyjnego Kapitał Ludzki Wprowadzenie do Sieci

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

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

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline. Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka Adaline. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 13-1- Projekt pn. Wzmocnienie potencjału dydaktycznego

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

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

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

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego

Bardziej szczegółowo

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

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych

Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych Elektroniczne materiały dydaktyczne do przedmiotu Wstęp do Sieci Neuronowych Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-12-21 Koncepcja kursu Koncepcja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Podstawy OpenCL część 2

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

Bardziej szczegółowo

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

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

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

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Bardziej szczegółowo

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

Języki formalne i techniki translacji

Języki formalne i techniki translacji Języki formalne i techniki translacji Laboratorium - Projekt Termin oddania: ostatnie zajęcia przed 17 stycznia 2016 Wysłanie do wykładowcy: przed 23:59 28 stycznia 2016 Używając BISON-a i FLEX-a napisz

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Ćwiczenie 3. Iteracja, proste metody obliczeniowe Ćwiczenie 3. Iteracja, proste metody obliczeniowe Instrukcja iteracyjna ( pętla liczona ) Pętla pozwala na wielokrotne powtarzanie bloku instrukcji. Liczba powtórzeń wynika z definicji modyfikowanej wartości

Bardziej szczegółowo

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.

Bardziej szczegółowo

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności

Bardziej szczegółowo

Polcode Code Contest PHP-10.09

Polcode Code Contest PHP-10.09 Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania

Bardziej szczegółowo

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby Scenariusz zajęć Moduł VI Projekt Gra logiczna zgadywanie liczby Moduł VI Projekt Gra logiczna zgadywanie liczby Cele ogólne: przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka

Bardziej szczegółowo

Nowoczesne metody nauczania przedmiotów ścisłych

Nowoczesne metody nauczania przedmiotów ścisłych Nowoczesne metody nauczania przedmiotów ścisłych Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń 14 VI 2012 Bartosz Ziemkiewicz Nowoczesne metody nauczania... 1/14 Zdalne nauczanie na UMK

Bardziej szczegółowo

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie Laboratorium Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie programowalnym FPGA. 1. Zasada działania algorytmów Algorytm Vernam a wykorzystuje funkcję

Bardziej szczegółowo

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej

Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej Matlab podstawy + testowanie dokładności modeli inteligencji obliczeniowej Podstawy matlaba cz.ii Funkcje Dotychczas kod zapisany w matlabie stanowił skrypt który pozwalał na określenie kolejności wykonywania

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

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

KARTA MODUŁU KSZTAŁCENIA

KARTA MODUŁU KSZTAŁCENIA KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne 1 Nazwa modułu kształcenia Sztuczna inteligencja 2 Nazwa jednostki prowadzącej moduł Instytut Informatyki, Zakład Informatyki Stosowanej 3 Kod modułu (wypełnia

Bardziej szczegółowo

Sztuczne siei neuronowe - wprowadzenie

Sztuczne siei neuronowe - wprowadzenie Metody Sztucznej Inteligencji w Sterowaniu Ćwiczenie 2 Sztuczne siei neuronowe - wprowadzenie Przygotował: mgr inż. Marcin Pelic Instytut Technologii Mechanicznej Politechnika Poznańska Poznań, 2 Wstęp

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy. Scenariusz lekcji 1 TEMAT LEKCJI: Zmienne tablicowe 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: podać definicję tablicy; podać definicję indeksu; wymienić cechy tablicy w VB.NET; podać postać deklaracji

Bardziej szczegółowo

Scenariusz lekcji 1. Informacje wst pne: 2. Program nauczania: 3. Temat zaj 4. Integracja: 5. Cele lekcji: Ucze potrafi:

Scenariusz lekcji 1. Informacje wst pne: 2. Program nauczania: 3. Temat zaj 4. Integracja: 5. Cele lekcji: Ucze potrafi: Scenariusz lekcji 1. Informacje wstępne: Data: 25 września 2012r. Klasa: II a 2 liceum (profil bezpieczeństwo wewnętrzne); Czas trwania zajęć: 45 minut; Nauczany przedmiot: matematyka. 2. Program nauczania:

Bardziej szczegółowo

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW magdap7@gazeta.pl

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW magdap7@gazeta.pl Analiza metod wykrywania przekazów steganograficznych Magdalena Pejas Wydział EiTI PW magdap7@gazeta.pl Plan prezentacji Wprowadzenie Cel pracy Tezy pracy Koncepcja systemu Typy i wyniki testów Optymalizacja

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytm. a programowanie -

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

Bardziej szczegółowo

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab Załącznik nr 5 do Uchwały nr 1202 Senatu UwB z dnia 29 lutego 2012 r. Matlab, programowanie i zastosowania nazwa przedmiotu SYLABUS A. Informacje ogólne Tę część wypełnia koordynator przedmiotu (w porozumieniu

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

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

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

Bardziej szczegółowo

... (środowisko) ... ... 60 minut

... (środowisko) ... ... 60 minut EGZAMIN MATURALNY OD ROKU SZKOLNEGO 2014/2015 INFORMATYKA POZIOM ROZSZERZONY ARKUSZ I PRZYKŁADOWY ZESTAW ZADAŃ DLA OSÓB Z AUTYZMEM, W TYM Z ZESPOŁEM ASPERGERA (A2) WYBRANE:... (środowisko)... (kompilator)...

Bardziej szczegółowo

Przetwarzanie obrazów rastrowych macierzą konwolucji

Przetwarzanie obrazów rastrowych macierzą konwolucji Przetwarzanie obrazów rastrowych macierzą konwolucji 1 Wstęp Obrazy rastrowe są na ogół reprezentowane w dwuwymiarowych tablicach złożonych z pikseli, reprezentowanych przez liczby określające ich jasność

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

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych

Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych Microsoft PowerPoint 2003 efektywne tworzenie i prezentacji multimedialnych Projekt: Wdrożenie strategii szkoleniowej prowadzony przez KancelarięPrezesa Rady Ministrów Projekt współfinansowany przez Unię

Bardziej szczegółowo

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego

Bardziej szczegółowo

Nierówność Krafta-McMillana, Kodowanie Huffmana

Nierówność Krafta-McMillana, Kodowanie Huffmana Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Agnieszka Nowak Brzezińska

Agnieszka Nowak Brzezińska Agnieszka Nowak Brzezińska jeden z algorytmów regresji nieparametrycznej używanych w statystyce do prognozowania wartości pewnej zmiennej losowej. Może również byd używany do klasyfikacji. - Założenia

Bardziej szczegółowo

Rozdział 1. Zastosowanie komputera w życiu codziennym... 5. Rozdział 2. Elementy zestawu komputerowego...11

Rozdział 1. Zastosowanie komputera w życiu codziennym... 5. Rozdział 2. Elementy zestawu komputerowego...11 Spis treści Rozdział 1. Zastosowanie komputera w życiu codziennym... 5 Rozdział 2. Elementy zestawu komputerowego...11 Rozdział 3. System operacyny, oprogramowanie...15 Rozdział 4. Podstawy edycji grafiki...23

Bardziej szczegółowo

Zadanie 1. Stosowanie stylów

Zadanie 1. Stosowanie stylów Zadanie 1. Stosowanie stylów Styl to zestaw elementów formatowania określających wygląd: tekstu atrybuty czcionki (tzw. styl znaku), akapitów np. wyrównanie tekstu, odstępy między wierszami, wcięcia, a

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

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

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

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

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

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

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

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

Bardziej szczegółowo

W języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.

W języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY. LEKCJA 12. Wskaźniki i tablice w C i C++. W czasie tej lekcji: 1. Dowiesz się więcej o zastosowaniu wskaźników. 2. Zrozumiesz, co mają wspólnego wskaźniki i tablice w języku C/C++. WSKAŹNIKI I TABLICE

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

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

Sprawdziany w USOSweb instrukcja dla prowadzących zajęcia.

Sprawdziany w USOSweb instrukcja dla prowadzących zajęcia. Sprawdziany w USOSweb instrukcja dla prowadzących zajęcia. I. Wstęp Moduł Sprawdziany, służy do przekazywania w łatwy sposób, drogą elektroniczną zasad zaliczania przedmiotów oraz wyników kartkówek czy

Bardziej szczegółowo

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie olanog@poczta.onet.pl KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT

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

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

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

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Metody Sztucznej Inteligencji 2 Projekt Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Autorzy: Robert Wojciechowski Michał Denkiewicz Mateusz Gągol Wstęp Celem projektu

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane http://zajecia.jakubw.pl/nai ALGORYTMY ZRANDOMIZOWANE Algorytmy, których działanie uzależnione jest od czynników losowych. Algorytmy typu Monte Carlo: dają (po pewnym czasie) wynik

Bardziej szczegółowo

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym. ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu Kamil Figura Krzysztof Kaliński Bartek Kutera METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu Porównanie metod uczenia z rodziny TD z algorytmem Layered Learning na przykładzie gry w warcaby i gry w anty-warcaby

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

2.8. Algorytmy, schematy, programy

2.8. Algorytmy, schematy, programy https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego

Bardziej szczegółowo

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym Wstęp do programowania Reprezentacje liczb Liczby naturalne, całkowite i rzeczywiste w układzie binarnym System dwójkowy W komputerach stosuje się dwójkowy system pozycyjny do reprezentowania zarówno liczb

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Co to jest grupowanie

Co to jest grupowanie Grupowanie danych Co to jest grupowanie 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Szukanie grup, obszarów stanowiących lokalne gromady punktów Co to jest grupowanie

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

Algorytm. Krótka historia algorytmów

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

Bardziej szczegółowo

METODY INŻYNIERII WIEDZY

METODY INŻYNIERII WIEDZY METODY INŻYNIERII WIEDZY WALIDACJA KRZYŻOWA dla ZAAWANSOWANEGO KLASYFIKATORA KNN ĆWICZENIA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

Podstawy programowania w środowisku Step 7

Podstawy programowania w środowisku Step 7 GRUPA MT Temat i Autor Podstawy programowania w środowisku Step 7 Krzysztof Bodzek, Arkadiusz Domoracki CEL ĆWICZENIA 1. Poznanie narzędzia Totally Integration Automation Portal 2. Konfiguracja sterownika

Bardziej szczegółowo

Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

Scenariusz lekcji diagnozującej z matematyki przygotowującej do sprawdzianu z funkcji kwadratowej

Scenariusz lekcji diagnozującej z matematyki przygotowującej do sprawdzianu z funkcji kwadratowej Scenariusz lekcji diagnozującej z matematyki przygotowującej do sprawdzianu z funkcji kwadratowej Temat : Powtórzenie i utrwalenie wiadomości z funkcji kwadratowej Czas trwania : 90 min. Środki dydaktyczne:

Bardziej szczegółowo

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1 Uruchamianie SNNS Ca ly pakiet SNNS sk lada si e z programu interfejsu graficznego xgui, oraz z szeregu programów sk ladowych: analyze isnns netlearn snnsbat batchman linknets netperf td_bignet convert2snns

Bardziej szczegółowo

Numeryczne rozwiązywanie równań i układów równań

Numeryczne rozwiązywanie równań i układów równań Lekcja Strona z 2 Numeryczne rozwiązywanie równań i układów równań Rozwiązywanie pojedynczego równania - funkcja root Do rozwiązywania jednego równania z jedną niewiadomą służy funkcja root(f(z), z), gdzie:

Bardziej szczegółowo