Praca dyplomowa magisterska

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

Download "Praca dyplomowa magisterska"

Transkrypt

1 AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I INŻYNIERII BIOMEDYCZNEJ KATEDRA INŻYNIERII BIOMEDYCZNEJ Praca dyplomowa magisterska Budowa sztucznego neuronowego asocjacyjnego systemu wiedzy o wybranym zagadnieniu. Autor: Grzegorz Wasowski Kierunek studiów: Informatyka Opiekun pracy: dr hab. Adrian Horzyk, prof. n. Kraków, 2016

2 Uprzedzony o odpowiedzialności karnej na podstawie art. 115 ust. 1 i 2 ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (t.j. Dz.U. z 2006 r. Nr 90, poz. 631 z późn. zm.): Kto przywłaszcza sobie autorstwo albo wprowadza w bład co do autorstwa całości lub części cudzego utworu albo artystycznego wykonania, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 3. Tej samej karze podlega, kto rozpowszechnia bez podania nazwiska lub pseudonimu twórcy cudzy utwór w wersji oryginalnej albo w postaci opracowania, artystycznego wykonania albo publicznie zniekształca taki utwór, artystyczne wykonanie, fonogram, wideogram lub nadanie., a także uprzedzony o odpowiedzialności dyscyplinarnej na podstawie art. 211 ust. 1 ustawy z dnia 27 lipca 2005 r. Prawo o szkolnictwie wyższym (t.j. Dz. U. z 2012 r. poz. 572, z późn. zm.): Za naruszenie przepisów obowiazuj acych w uczelni oraz za czyny uchybiajace godności studenta student ponosi odpowiedzialność dyscyplinarna przed komisja dyscyplinarna albo przed sadem koleżeńskim samorzadu studenckiego, zwanym dalej «sadem koleżeńskim»., oświadczam, że niniejsza pracę dyplomowa wykonałem(-am) osobiście i samodzielnie i że nie korzystałem(-am) ze źródeł innych niż wymienione w pracy.

3 Składam serdeczne podziękowania mojemu Promotorowi za poświęcony czas, wyjatkow a cierpliwość i okazana pomoc.

4

5 Spis treści 1. Wstęp Cele pracy Zawartość pracy Wprowadzenie Inteligencja i wiedza Sztuczna inteligencja Mechanizmy asocjacyjne i wiedza skojarzeniowa Elementy sztucznego systemu skojarzeniowego AAS Budowa i symulacja grafu ANAKG Budowa grafu ANAKG Symulacja odpowiedzi grafu ANAKG Opis stworzonego rozwiazania Ogólne założenia projektowe Architektura sytemu Interfejs użytkownika Sposób animacji widoku Elementy modelu Brain - mózg Neuron Synapse - synapsa Balansowanie grafu Moduły Moduł Creation Moduł Simulation Moduł Chart Moduł Response Prezentacja działania programu i testy

6 6 SPIS TREŚCI 4.1. Przykład testowy - Układ Słoneczny Opis Wyniki działania programu Przykład testowy - Małpka Opis Wyniki działania programu Próba odtworzenia melodii Opis Wyniki działania programu Kółko i krzyżyk Opis Wyniki działania programu Podsumowanie testów Podsumowanie A. Plik xml z danymi do testów B. Skróty klawiaturowe... 53

7 1. Wstęp Od początku ery informacji naukowcy zadają sobie pytania: Czy maszyny mogą myśleć jak ludzie? Czy kiedyś będą w stanie uniezależnić się od swoich twórców? Czy może wręcz doprowadzą kiedyś do upadku ludzkości? Większość z nich wciąż pozostaje bez odpowiedzi. Problemy te są poruszane nie tylko w środowisku naukowym. Zajmuje się nim także literatura i film. Mało która powieść sciencefiction jest w stanie obyć się bez inteligentnych robotów, często próbujących zawładnąć światem obecnie rządzonym przez ludzi. Wciąż powstają nowe algorytmy, nowe technologie, nowe rozwiązania. W czerwcu 2016 amerykański gigant Google zaprezentował projekt Magenta, działający na podstawie sieci neuronowych i zaawansowanych modeli uczenia maszynowego program do tworzenia kompozycji muzycznych. Czy oznacza to, że już wkrótce za pomocą komputera będzie możliwe stworzenie dzieł na poziomie największych sław muzyki, czy też może aplikacja firmy Google nie stworzy nic ponad wrażenie, że Gdzieś to już słyszałem? Obecnie odpowiedź na to pytanie wciąż pozostaje otwarta. Według przeprowadzonej w 2014 ankiety eksperckiej połowa respondentów uważa, że istnieje 50% prawdopodobieństwo osiągnięcia ludzkiego poziomu przez AI przed 2040 rokiem [6]. Z drugiej strony są też tacy, którzy utrzymują, że sztuczna inteligencja nie osiągnęła poziomu bakterii, nie mówiąc o bardziej skomplikowanych formach życia, jak myszy. Tak naprawdę wszystko zależy od tego, co jest rozumiane przez osiągnięcie ludzkiego poziomu inteligencji. Czy jest to jedynie zdolność obliczeń, rozwiązywania problemów na poziomie ludzkim za pomocą specjalnych algorytmów, czy też wykorzystanie dokładnie tych samych schematów myślenia i zdobywania i klasyfikowania informacji, z których korzysta inteligencja ludzka. W niniejszej pracy podjęto próbę stworzenia systemu wiedzy za pomocą asocjacyjnego systemu skojarzeniowego AAS, starającego się odzwierciedlić istotne funkcje biologicznych systemów skojarzeniowych BAS. Wykorzystano do tego model asocjacyjnego neuronu ASN, który za pomocą połączeń synaptycznych tworzy neuroasocjacyjny graf wiedzy ANAKG, wykorzystując do tego procesy neurogenezy i neuroplastyczności, opierające się na podobnych procesach zachodzących w żywych organizmach Cele pracy Celem pracy jest budowa sztucznego neuronowego asocjacyjnego systemu wiedzy o wybranym zagadnieniu, działającego w oparciu o grafy ANAKG (aktywny neuroasocjacyjny graf wiedzy), wywołują- 7

8 Zawartość pracy cego sztuczne skojarzenia i przechowującego wiedzę w oparciu właśnie o te skojarzenia. Zadanie zostało podzielone na dwie podstawowe części. Pierwszą z nich jest budowa grafu ANAKG, składającego się z asocjacyjnych neuronów ASN wraz z połączeniami synaptycznymi pomiędzy nimi, na podstawie wczytanych sekwencji uczących. Drugą jest obserwacja odpowiedzi systemu na podstawie pobudzeń odpowiednich neuronów, aktywowanych zgodnie z przesłanym zapytaniem. Do prezentacji wyników działania systemu skojarzeniowego, opisanego w niniejszej pracy, stworzono aplikację dla systemu Windows, w której użyto graficznej biblioteki XNA Game Studio 4.0, pozwalającej na wysokowydajną animację z użyciem kodu zarządzanego w języku C# Zawartość pracy Rozdział 2 zawiera opis teoretyczny rozwiązywanego problemu. Znajdują się w nim rozważania na temat inteligencji z wyszczególnieniem dziedziny sztucznej inteligencji, a także procesu formowania wiedzy w biologicznym systemie systemie skojarzeniowym. Rozdział kończy opis aktywnego neuroasocjacyjnego grafu wiedzy ANAKG, który przechowuje wiedzę w postaci sztucznych skojarzeń. Rozdział 3 jest opisem stworzonej aplikacji, stanowiącej praktyczny rezultat pracy. Aplikacja ta została podzielona na moduły odpowiedzialne za różne sposoby prezentacji odpowiedzi systemu. Nad wszystkim czuwa silnik, stanowiący implementację systemu wiedzy za pomocą grafu ANAKG. W rozdziale 4 znajduje się opis testów prezentujących stworzony system wiedzy na podstawie różnych zbiorów sekwencji uczących. Zostały w nim przedstawione efekty różnych zapytań, a także obserwacje i wysunięte na ich podstawie wnioski. Podsumowanie pracy zostało zamieszczone w rozdziale 5.

9 2. Wprowadzenie Niniejszy rozdział zawiera podstawowe informacje na temat sztucznych systemów skojarzeniowych AAS, opisuje pojęcia wiedzy i inteligencji, a także zagadnienia związane z teorią asocjacji [1]. W rozdziale 2.5 został zamieszczony opis matematycznego modelu użytego do budowy grafu ANAKG, wraz ze wzorami i objaśnieniem zastosowanych zmiennych Inteligencja i wiedza Czym właściwie jest inteligencja? Według encyklopedii PWN inteligencja [łac. intelligentia zdolność pojmowania, rozum ], psychol. jedno z najbardziej wieloznacznych pojęć w psychologii odnoszace się do sprawności w zakresie czynności poznawczych; w języku potocznym przez inteligencję rozumie się najczęściej zdolność rozwiazywania problemów praktycznych, zdolności językowe lub kompetencje społeczne [12]. Często jako miarę inteligencji danej jednostki uznaje się iloraz inteligencji (intelligence quotient, IQ). Jest on jednak często krytykowany z uwagi na fakt, że dużej części pytań testowych można się nauczyć praktycznie na pamięć, co sztucznie podwyższa wynik, gdy w rzeczywistości inteligencja używana w codziennym życiu nie zwiększyła się nawet o 1%. Z inteligencją ściśle związane są pojęcia wiedzy, a także informacji. Ponownie posiłkując się encyklopedią PWN, wiedza to w najogólniejszym sensie rezultat wszelkich możliwych aktów poznania; w węższym znaczeniu - ogół wiarygodnych informacji o rzeczywistości wraz z umiejętnościa ich wykorzystywania [12]. Innymi słowy, wiedzą możemy nazwać zbiór informacji, które dana osoba potrafi zinterpretować i wykorzystać. Są one powiązane ze sobą w mózgu za pomocą neuronów i występujących między nimi połączeń synaptycznych. Aby wykorzystać wiedzę potrzebne jest wywołanie konkretnych skojarzeń za pomocą aktywacji neuronów, które następnie aktywują kolejne tworząc określoną ścieżkę aktywacji, będącą odpowiedzią mózgu na dane, które do niego napływają. Następnie z tej odpowiedzi człowiek może, z pomocą efektorów, korzystać świadomie lub nieświadomie. Jako pierwszy znaną definicję wiedzy podał Platon, publikując wniosek Sokratesa, który stwierdził, że wiedza to prawdziwe i uzasadnione przekonanie. Można zatem wysnuć na jej podstawie wniosek, że wiedza jest zbiorem prawdziwych i udowodnionych informacji. Jest to znacznie uproszczona definicja, zgodnie z którą teorii geocentrycznej Ptolemeusza nie można uznać za wiedzę, ponieważ jest błędna, pomimo faktu, że przez wiele wieków była oficjalnie obowiązującą. Arystoteles z kolei rozdzielał wiedzę praktyczną od teoretycznej. Pierwsza z nich jest nabywana w wyniku doświadczeń, z kolei druga 9

10 Inteligencja i wiedza poprzez naukę i rozważania. Interesujący jest fakt, że zmiana stanu wiedzy, aktualnych teorii, a nawet paradygmatów, najczęściej występuje w naukach przyrodniczych, opartych na doświadczeniu, jak fizyka czy astronomia. W tym przypadku występuje bowiem czynnik ludzki, który sam w sobie jest niedoskonały. Człowiek nie odbiera wszystkich bodźców, musi zaufać stworzonej przez siebie aparaturze, co często prowadzi do błędów. Przeciwieństwem jest wiedza w naukach czysto abstrakcyjnych, jak matematyka czy nawet język. Matematyka dostarcza jedynie narzędzi do zrozumienia rzeczywistości, posługuje twierdzeniami i dowodami, których nie można podważyć, w przeciwieństwie do teorii w naukach przyrodniczych. Podobną rolę pełni język, który człowiek sam wymyślił i wykorzystał do opisu otaczającego świata. Co prawda podlega on ciągłej ewolucji, jednak w znakomitej większości zawiera on elementy, które trudno podważyć i są niezależne od często subiektywnej obserwacji osoby ludzkiej. Informacja jest pojęciem praktycznie niedefiniowalnym. W informatyce, w kodzie zerojedynkowym, podstawową jednostką informacji jest 1 bit. Podobnie jest w przypadku alfabetu, gdzie podstawową, niepodzielną jednostką jest litera, podczas gdy dla kodu genetycznego jest nią jedna z czterech zasad azotowych (G, A, T, C). Z informacją wiąże się pojęcie danych, które są definiowane jako zbiór pewnych wartości. Jeśli są zrozumiałe, niosą ze sobą pewną informację. Dane mogą być prezentowane i przetwarzane, zarówno przez człowieka, jak i przez komputer. W przypadku człowieka dane przetwarzane są w mózgu, natomiast prezentowane najczęściej za pomocą mowy lub pisma, nieco rzadziej za pomocą obrazu i sztuki. Z kolei komputer wykorzystywane przez siebie dane przetwarza w procesorze, a prezentuje za pomocą obrazu i dźwięku dzięki monitorom i głośnikom, lub też, w mniej bezpośredni sposób, za pomocą wydruku. Inteligencję można określić zatem jako jako zdolność formowania i weryfikacji wiedzy na podstawie określonych informacji. Warto zwrócić uwagę na fakt, że wysoki poziom inteligencji niekoniecznie sprawia, że posiadana wiedza jest prawdziwa. Jak zauważył słynny niemiecki fizyk Max Planck, nowa prawda naukowa nie zwycięża poprzez przekonanie i oświecenie jej przeciwników, lecz wynika raczej z faktu, że owi przeciwnicy ostatecznie umieraja, natomiast nowe pokolenie uczy się już zgodnie z nowym paradygmatem [10]. Ciężko jest bowiem porzucić stare zwyczaje, przeorganizować własny system wiedzy i nauczyć się czegoś praktycznie od nowa, zwłaszcza gdy stoi to w zupełnej sprzeczności z uprzednio posiadaną wiedzą. Przykładem może być teoria heliocentryczna Mikołaja Kopernika, stojąca w zupełnej sprzeczności z teorią geocentryczną Ptolemeusza. Jako sprzeczne z istniejącym i uznawanym przez Kościół porządkiem świata, jego dzieło O obrotach sfer niebieskich na wiele lat trafiło do Indeksu ksiąg zakazanych. Zostało z niego wykreślone dopiero po 285 latach od wydania, gdy posiadanej przez naukowców wiedzy astronomicznej nie dało się podważyć. Pokazuje to, jakim problemem dla ludzkiej wiedzy są własne przekonania, wpajane często już od dzieciństwa, które ciężko zmienić bez dużego wstrząsu dla psychiki. W takim przypadku nawet prawdziwa, udowodniona przez wiele niezależnie przez wiele osób, informacja, powoduje jej wyparcie i często personalny atak na osobę bezpośrednio ją przekazującą.

11 2.2. Sztuczna inteligencja Sztuczna inteligencja Zgodnie z encyklopedią PWN, sztuczna inteligencja (SI), ang. Artificial Intelligence (AI), dziedzina nauki zajmujaca się badaniem mechanizmów ludzkiej inteligencji, oraz modelowaniem i konstruowaniem systemów, które sa w stanie wspomagać lub zastępować inteligentne działania człowieka [12]. Samo pojęcie sztucznej inteligencji zostało najprawdopodobniej zaproponowane po raz pierwszy przez Johna McCarthy ego na konferencji w Dartmouth w 1956 r. jako konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że sa podobne do przejawów inteligencji [1]. Czym więc musiałaby się charakteryzować maszyna, której działania uznalibyśmy za inteligentne? Z powyższych definicji nie wynika konkretnie, że taka maszyna musiałaby posiadać inteligencję podobną do ludzkiej. W przypadku człowieka jest ona bowiem ściśle związana z posiadaniem wiedzy i wywoływanych na jej podstawie skojarzeń, które to z kolei prowadzą do określonego działania. Natomaist w przypadku maszyny, aby uznać jej działanie za inteligentne wystarczy wykonywanie określonych algorytmów stworzonych przez człowieka, zazwyczaj sprawniej, szybciej i bardziej bezbłędne, niż jego mózg. Jednak nie będzie to działanie czystej sztucznej inteligencji, lecz wykorzystanie mocy obliczeniowej komputera przez inteligencję ludzką pod jej ścisłym nadzorem. Jak już wcześniej wspomniano byłoby to jedynie inteligentne działanie, a nie inteligencja w sensie ludzkim. Czym więc musiałaby się charakteryzować prawdziwa sztuczna inteligencja? Przede wszystkim jak najwierniej naśladować ludzki sposób myślenia, zbierania i kojarzenia informacji, rozszerzając, weryfikując i uogólniając swoją wiedzę, tworząc w ten sposób sztuczny system skojarzeniowy. Takie działanie nie byłoby jedynie uznawane za inteligentne, ale za inteligencję. Człowiek nie powinien jednak ingerować bezpośrednio w ten proces, co mogłoby prowadzić do nieprzewidzianych zdarzeń. Najświeższym przykładem, do czego może być zdolna sztuczna inteligencja, jest bot Tay, zaprezentowany przez amerykański koncern informatyczny Microsoft w marcu 2016 roku [13]. Z założeń miała to być 19-letnia, młoda dziewczyna, używająca wyrażeń typowych dla młodego wieku, dużej liczby emotikon itp. Całe przedsięwzięcie miało pomóc w udoskonalaniu przeglądarki Bing, a konkretnie w wykorzystaniu przez nią języka naturalnego. Bot miał za zadanie uczyć się na podstawie wiadomości w mediach społecznościowych (przede wszystkim na Twitterze), oraz reakcji na nie. Jednak nie wszystko poszło zgodnie z założeniami. W ciągu zaledwie kilkunastu godzin Tay, z miłej dziewczyny, przeobraziła się w zadeklarowaną rasistkę, nienawidzącą ludzi zwolenniczkę Donalda Trumpa i Adolfa Hitlera. Złośliwi powiedzieliby, że stała się uosobieniem ciemnej strony internetu. Microsoft szybko zareagował, blokując bota, zapobiegając w ten sposób dalszemu zaognieniu sytuacji. Pewien niesmak jednak pozostał. Cała sytuacja obrazuje, co mogłoby się wydarzyć, gdyby w przyszłości pewien biorobot uznał ludzkość za zagrożenie, a następnie, mając ku temu odpowiednie środki, rozpoczął jej eksterminację. Czy moglibyśmy wtedy jakoś zareagować? Obecnie komputerom można po prostu wyłączyć prąd, ale co w przypadku, gdy roboty posiadałyby własne zasilanie i same nim sterowały? Czy można zatem dać robotom autonomiczność pozostawiając je bez ludzkiej kontroli? Pytania te wciąż pozostają otwarte,

12 Sztuczna inteligencja Rysunek 2.1. Sztuczna inteligencja wymyka się spod kontroli [13] przynajmniej do czasu osiągnięcia technicznych możliwości budowy takich samodzielnych, sprawiających wrażenie myślących, maszyn. W ostatnich latach można zaobserwować stały wzrost możliwości sztucznej inteligencji [14]. Znakomicie sprawdza się ona we wszelkiego rodzaju grach logicznych. Strategie optymalne (brak możliwości uzyskania lepszych rezultatów), zostały osiągnięte w takich grach jak czwórki, warcaby angielskie, czy też układanie kostki Rubika. Świetnie radzą sobie również w scrabble i w szachach. Nieco słabiej sztuczna inteligencja sprawdza się w grach typu brydż i poker, osiągając w nich poziom mistrzowski. Występuje w nich dodatkowy czynnik psychologiczny i nieznajomość ręki przeciwnika, wobec czego wyznaczenie optymalnego jest zdecydowanie trudniejsze, zwłaszcza w pokerze. Najlepsze programy szachowe osiągają niebotyczny ranking powyżej 3300, powoli zbliżając się do 3400, podczas gdy najwyższy w historii ranking człowieka nie przekroczył 2900 [15]. Superkomputer Watson może pochwalić się niesamowitymi wynikami w diagnozowaniu raka płuc, osiągając 90% poprawności, podczas gdy wynik przeciętnego onkologa to zaledwie 50%. W 2016 roku roku program ALPHA pokonał, w rozegranych w symulowanym środowisku pojedynkach lotniczych, wielu ekspertów z dziedziny lotnictwa [16]. Coraz lepsze efekty dają najnowsze algorytmy w rozpoznawaniu mowy czy obrazów, niektóre z nich osiągają już sprawność przeciętnego człowieka [14]. Jednak nie na wszystkich polach sztuczna inteligencja radzi sobie równie dobrze, co wiąże się z Paradoksem Moraveca [17]. Został on sformułowany w latach 80. XX w. przez Hansa Moraveca, Marvina Minsky ego oraz innych badaczy. Mówi on, że o ile wysokopoziomowe rozumowanie wymaga stosunkowo niewielkiej zdolności obliczeniowej, o tyle proste z punktu widzenia małego dziecka czynności jak rozpoznawanie obrazów, czy poruszanie się stanowią bardzo trudny i wymagający problem inżynieryjny. Warto zauważyć istotną różnicę. Przytoczone wysokopoziomowe rozumowanie zazwyczaj posługuje się również wysokopoziomową abstrakcją. Dokładnie taką, na jakiej bazuje matematyka i informatyka. Można zatem zaryzykować stwierdzenie, że owa wysokopoziomowa abstrakcja jest dla komputerów językiem naturalnym. Zupełnie odmienna sytuacja zachodzi w przypadku próby zaprogra-

13 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 13 mowania ruchu bądź rozpoznawania konkretnych wzorców ze świata rzeczywistego. Nie jest pewne, w jaki sposób bodźce są tłumaczone do świadomego mózgu, można jedynie przypuszczać. Naukowcy potrafią już co prawda wywołać niektóre reakcje organizmu za pomocą impulsów kierowanych do mózgu, jednak ma to jeszcze niezbyt wiele wspólnego z naturalnym przesyłaniem bodźców z różnych części ciała. Kolejną, jeszcze większą trudnością jest fakt, że wszystkie systemy muszą być ze sobą zintegrowane. Nie ma miejsca na izolację, muszą skutecznie współpracować ze sobą. Współczesne modele robotów potrafią się poruszać coraz sprawniej, udoskonalane są wszelkie algorytmy związane z odbieraniem zewnętrznych bodźców przez takiego robota. Czy jednak w najbliższym czasie uda się opracować maszynę, która nie tylko będzie korzystać z wgranego programu, ale również uczyć się na własnych błędach i samodoskonalić, naśladując w ten sposób umysł człowieka? 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa Podstawowym sposobem przechowywania danych we współczesnych systemach informatycznych są relacyjne bazy danych. Zapisują one dane w kolejnych rekordach poszczególnych tabel, których kolumny to kolejne atrybuty encji zapisanych w danej tabeli. Dane przechowywane w ten sposób są bezpieczne i trwałe, jednak dostęp do konkretnych rekordów często trwa zbyt długo. Aby ułatwić i przyspieszyć odwołanie się do danego rekordu w bazie używa się indeksów. Niestety, w przypadku dużych tabel proces indeksowania zabiera bardzo dużo czasu i pochłania wiele zasobów, w dodatku jego złożoność rośnie wykładniczo. Mechanizmy skojarzeniowe (asocjacyjne) nie są obecnie zbyt szeroko stosowane w gromadzeniu danych, choć termin ten występuje w tablicach asocjacyjnych. Są to struktury, które łączą w jednej tabeli klucze główne występujące w innych tabelach. Dzięki temu możliwe jest stworzenie relacji jeden do wielu, niemożliwe do uzyskania w pojedynczej tabeli relacyjnej bazy danych. Wiedza oparta na skojarzeniach nie jest równie trwała, co stosowane obecnie w informatyce pasywne zapisywanie danych w oddzielnych komórkach. Wystarczy zauważyć, jak często człowiek zapomina o prostych czynnościach do wykonania. Interesująca z tego punktu widzenia jest obserwacja, że dana osoba często przypomina sobie o tym, gdy jakiś bodziec wywoła w mózgu skojarzenie związane z danym tematem. Pokazuje to olbrzymią rolę skojarzeń w formowaniu się wiedzy w pamięci ludzkiej i korzystania z tej formy pamięci. Wystarczy jeden bodziec, by chwilowo zapomniana informacja przedostała się do świadomości. Zupełnie inaczej działa komputer, w którym dane nie są ulotne (wyłączając oczywiście awarię bądź celowe usunięcie) i znajdują się dokładnie w tym samym miejscu, na którym zostały zapisane. Są one jednak od siebie niezależne i aby je skutecznie odczytać, należy dokładnie znać sposób ich zapisu. Wymagają przez to czasochłonnego przeszukiwania sekwencyjnego, co wiąże się z mało efektywnym wykorzystaniem zasobów. Dane przechowywane w bazach są ze sobą słabo skorelowane, ponieważ relacjami są połączone jedynie atrybuty tych danych, przez co większość problemów związanych z wnioskowaniem osiąga dużą złożoność obliczeniową O(n!) [8]. Zupełnie inaczej działa ludzki mózg, w którym dane są ze sobą skojarzone za pomocą połączeń synaptycznych [1]. Podobnie

14 Mechanizmy asocjacyjne i wiedza skojarzeniowa jest w przypadku sztucznych systemów skojarzeniowych, gdzie dzięki przechowywaniu danych w postaci struktur asocjacyjnych, reprezentujących bogactwo relacji pomiędzy danymi, wiele z tych zadań może stać się obliczeniowo łatwymi o złożoności stałej O(1) lub liniowej O(n). Bardzo łatwo działanie skojarzeń w procesie wywoływania określonych rzeczy z pamięci można zobrazować poprzez zapamiętywanie utworów muzycznych. Zazwyczaj już po kilku dźwiękach ulubionej melodii człowiek jest w stanie odtworzyć jej dalszy ciąg. Kolejne dźwięki są zapisane w naszym biologicznym systemie skojarzeniowym, czyli mózgu, zapisywane w postaci określonej sekwencji neuronów, a następnie wywoływane na podstawie poprzedniego kontekstu. Pomyłki zdarzają się niezwykle rzadko. Dużo trudniejsze, a wręcz praktycznie niemożliwe, jest odtworzenie piosenki w pamięci od tyłu. Nawet jeśli udane, jest żmudne, trudne i bardzo wolne, w dodatku z bardzo wysokim prawdopodobieństwem popełnienia błędu. Zupełnie inaczej będzie w przypadku pasywnej pamięci komputerowej, gdzie wyszukiwanie danej piosenki po początkowych dźwiękach nie jest już takie proste. Przede wszystkim należy użyć algorytmów do poprawnego odczytu nut, co przy kilku instrumentach nie jest zadaniem trywialnym. Oprócz wysokości tonu należałoby rozpoznać barwę dźwięku. Poszukiwanie w pamięci będzie trwało długo, tym dłużej, im więcej jest w niej utworów. Jednak po znalezieniu piosenki wszelkie operacje na niej są znacznie łatwiejsze, niż w biologicznym systemie skojarzeniowym, a gra od tyłu w porównaniu z czynnościami potrzebnymi do jej odnalezienia jawi się jako zadanie wręcz banalne. Kolejnym ciekawym zagadnieniem dotyczącym skojarzeniowego charakteru wiedzy jest nauka języków obcych. Podstawową różnicą pomiędzy nimi, a językiem ojczystym jest taka, że ten ostatni jest przyswajany naturalnie już od czasów niemowlęcych, jeszcze nieświadome dziecko słyszy rozmowy dorosłych. Już w wieku ok. 12 miesięcy jest w stanie wypowiedzieć najprostsze słowa. Następnie za pomocą słuchu przyswaja coraz więcej nowych wyrazów i powoli uczy się łączyć je w zdania, coraz bardziej przypominające te wypowiadane przez dorosłych, cały czas się w tym doskonaląc, aż w końcu mówi zupełnie płynnie. Zupełnie inaczej jest w przypadku nauki języków obcych, gdzie nowe słówka zazwyczaj nie są kojarzone z przedmiotami i czynnościami im odpowiadającymi, lecz z ich odpowiednikami w języku ojczystym. Jest to pokazane na rysunku 2.2, na którym przyjęto, że jako Polak dana osoba uczy się języka angielskiego. Widząc krowę, pierwszym skojarzeniem jest oczywiście słowo krowa. Następnie mózg kojarzy polskie słowo krowa z angielskim cow i dopiero wówczas zwraca jako wynik właśnie słowo cow. Z punktu widzenia skojarzeniowego sposobu gromadzenia wiedzy nie jest to z pewnością najbardziej właściwe i optymalne. Nawet znając dane słowo języka obcego należy znać jego odpowiednik w języku ojczystym, by móc przyporządkować go do danego przedmiotu, w tym przypadku zwierzęcia. Dużo lepszym podejściem jest nauka słownictwa poprzez kojarzenie słów języków obcych bezpośrednio z rzeczami, czynnościami czy pojęciami. W tym przypadku nie kojarzymy słówka cow ze słowem krowa, lecz z rzeczywistą krową, wesoło przeżuwającą trawę na łące. Dzięki temu widząc ją nie szukamy w pamięci odpowiednika polskiego słowa, lecz możemy od razu powiedzieć This is a cow eating some grass on green meadow. W przypadku potrzeby tłumaczenia mózg może relatywnie szybko odnaleźć w pamięci angielski odpowiednik krowy, może też, tworząc nowe połączenie synaptyczne, skrócić ten

15 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 15 Rysunek 2.2. Kojarzenie słowa z tłumaczeniem Rysunek 2.3. Bezpośrednie skojarzenie słowa z rzeczą proces. Na tym przykładzie widać, że skojarzeniowe gromadzenie wiedzy jest naprawdę skuteczne oraz dlaczego tak trudna jest nauka abstrakcyjnych pojęć w językach obcych. Oprócz samego kojarzenia nowych informacji i powstawania w ten sposób nowej wiedzy, istotna jest również jej właściwa weryfikacja. Jest to bardzo ważny aspekt procesu poznawczego, zwłaszcza w obecnych czasach, gdy jako ludzkość jesteśmy zasypywani milionami megabajtów danych. Należy więc w jakiś sposób odfiltrować ważne, prawdziwe informacje od śmieciowych, a często wręcz kłamliwych. Dużą rolę odgrywają w tym skojarzenia i wiedza już wcześniej nabyta. Jeżeli jest spójna z posiadanymi już wcześniej danymi, jest przyjmowana jako prawdziwa, natomiast w przeciwnym przypadku odrzucana. Całkowita zmiana w posiadanej wiedzy jest możliwa głównie w przypadku niezbitych dowodów, niemożliwych do obalenia materiałów źródłowych, czy wyników badań i doświadczeń uzyskiwanych, bądź potwierdzanych przez znane autorytety naukowe. Jednak nawet wtedy niektórzy mogą ich nie uznać uważając, że nie są one prawdziwe i zostały sfałszowane. Ich własne skojarzenia wskazują, że nowa teoria czy informacja jest błędna, a oni nie są w stanie przyjąć nowej, pomimo często mocnych dowodów.

16 Mechanizmy asocjacyjne i wiedza skojarzeniowa Z drugiej strony weryfikacja danych z pomocą obecnej, często ugruntowanej przez studiowanie dzieł różnych autorów, wiedzy, może łatwo oddzielić prawdę od fikcji. Mało kto uwierzyłby dziś w teorię płaskiej ziemi, pomimo faktu, że jej dowód zajmuje aż kilka stron. Wystarczy bowiem podstawowa wiedza z geografii, by uznać ją za typową manipulację w niewiadomym celu. Sieć jest dziś pełna takich treści, bez właściwej ich weryfikacji można uwierzyć w kłamstwo. Ważną rolę w formowaniu wiedzy pełni pamięć. Bez niej człowiek nie byłby w stanie przechować jakiejkolwiek informacji. W przeciwieństwie do pamięci komputerowej, pamięć ludzka jest ulotna i niepewna. W pasywnych magazynach pamięci do danych można odwołać się poprzez adres. W przypadku biologicznego systemu skojarzeniowego proces ten przebiega zupełnie inaczej i na odmiennych zasadach. Przede wszystkim bardzo istotny jest kontekst w którym jest umieszczona dana informacja, dla Anglika i Polaka słowo bat będzie kojarzyć się różnie, podobnie jak dla Niemca i Polaka słowo ja. Poza tym im kontekst będzie silniejszy, tym silniejsze będzie skojarzenie z nim związane. Aby odróżnić pamięć w systemach skojarzeniowych od przechowywanej w pasywnych bazach danych, zdolność zapamiętywania informacji nazwano asocjacyjnym efektem pamięci [1]. Można wyróżnić cztery podstawowe mechanizmy wywołujące asocjacyjny efekty pamięci: asocjacyjny efekt pamięci pamięci chwilowej (AMME),związany z echem asocjacyjnym, trwający od kilku do kilkunastu sekund, czasem nieznacznie dłużej), asocjacyjny efekt pamięci tymczasowej (ATME), który trwa maksymalnie kilka godzin, asocjacyjny efekt pamięci długiej (ADME), asocjacyjny efekt pamięci trwałej (APME). Ciekawym aspektem dotyczącym ludzkiej pamięci, mogącym rzucić nieco dodatkowego światła na wspomniany uprzednio asocjacyjny efekt pamięci, jest tzw. krzywa zapominania. Po raz pierwszy została ona przedstawiona przez niemieckiego psychologa Hermanna Ebbinghausa w 1885 r [11]. Jest ona opisana wzorem R = e t S, gdzie R - ilość przechowywanej informacji, t - czas, S - relatywna siła pamięci danej osoby. Jego badania są często poddawane w wątpliwość, głównie z powodu operowania na danych bezsensownych, oraz uznania skojarzeń za dodatkową zmienną zakłócającą. Z punktu widzenia systemów AAS mają one jednak pewną wartość - pokazują jak zachowuje się pamięć w przypadku braku powtórzeń, utrwaleń i dodatkowych skojarzeń. Wnioskiem z tego płynącym jest fakt, że dla lepszego zapamiętania nowych treści konieczne są częste powtórzenia, aby w miarę upływu czasu uzyskać asocjacyjny efekt pamięci długiej, a najlepiej trwałej. Istotną rolę w procesach skojarzeniowych pełni kontekst, w którym dana informacja wystąpiła. Często można spotkać się z wyrazami, które są zapisywane tak samo, brzmią tak samo, natomiast znaczą zupełnie co innego. W pasywnych strukturach danych można je wydzielić do innych obiektów, rozpoznając je dzięki dodatkowym atrybutom. W aktywnych strukturach danych nie jest to jednak możliwe. Jak zatem mózg, czyli biologiczny system skojarzeniowy BAS jest w stanie rozróżnić prawidłowe znaczenie

17 2.3. Mechanizmy asocjacyjne i wiedza skojarzeniowa 17 danej informacji i nie pomylić ją z inną? O wszystkim decyduje kontekst danej informacji. Poprzez aktywację różnych neuronów wywołane skojarzenie może być różne, przykładowo rajdowiec pali gumę i dziadek pali fajkę przywołają na myśl zupełnie różne obrazy. Nawet kolejność aktywacji ma często bardzo duże znaczenie, jak w przypadku wyrażeń młoda panna i panna młoda [1]. Na siłę danego kontekstu znaczący wpływ ma częstotliwość i moc skojarzeń z przeszłości, które w bardzo dużym stopniu zależą od środowiska czy wychowania. Przykładem może być kontekst II wojna, z którym większość ludzi w Polsce, jak i w krajach zachodnich, mimowolnie skojarzy wyrażenie II wojna światowa, a nie chociażby II wojna punicka czy II wojna indochińska. Z kolei dla ludzi pochodzących z Bliskiego Wschodu wywołanym skojarzeniem prawdopodobnie okazałaby się II wojna w Zatoce Perskiej. Niby kontekst i wynik podobny, ale jednak różny. Z pojęciem kontekstu wiąże się proces aktywnego kojarzenia [4]. Polega ono na tworzeniu sieci powiązań pomiędzy obiektami, a następnie próbę aktywacji tych obiektów za jej pomocą. Do utworzenia aktywnych skojarzeń, a następnie ich aktywnego wywoływania, potrzebny jest odpowiedni system skojarzeniowy, pozwalający na tworzenie aktywnych powiązań w procesach neurogenezy i neuroplastyczności, odwzorowując w ten sposób działanie ludzkiego mózgu. W przeciwieństwie do pasywnych struktur przechowywania danych, gdzie informacje pobierane są za pomocą dokładnych adresów w pamięci, dużą rolę w takim systemie skojarzeniowym będzie pełnić kontekst i kolejność aktywacji poszczególnych obiektów, w tym przypadku neuronów. Konieczne do tego są wejścia do systemu, najczęściej pod postacią receptorów. Warto zwrócić uwagę na fakt, że pewne skojarzenia w biologicznym mózgu są zapamiętywane lepiej, inne gorzej. Zazwyczaj jest to związane z siłą połączeń już występujących w BAS w ramach kontekstu, słowo z języka obcego opisującego zwierzę zawsze będzie szybciej zapamiętane, niż abstrakcyjny spójnik, który nie niesie ze sobą żadnej dodatkowej informacji, takiej jak chociażby obraz. Pomiędzy układami i kombinacjami danych mogą zachodzić różne relacje, mające mniejszy bądź większy wpływ na sposób myślenia. W ludzkim mózgu są one reprezentowane przez układy neuronów i połączeń między nimi. Różne rodzaje relacji mają nieco inny wpływ na sposób aktywacji kolejnych neuronów. Przykładowo w relacji następstwa aktywacja jednego neuronu może zapoczątkować aktywację kolejnych tworząc ścieżkę aktywacji, z kolei dla relacji podobieństwa wynikiem będzie zbiór neuronów niosących ze sobą podobną informację. Powyższe relacje zostały nazwane relacjami asocjacyjnymi [1], które mogą być odzwierciedlone w grafie ANAKG za pomocą połączeń synaptycznych. Podzielono je na 5 głównych rodzajów, do których zaliczamy: relacje asocjacyjnego podobieństwa (ASIM), czyli powiązania łączące układy i kombinacje podobnych do siebie danych, relacje asocjacyjnego następstwa (ASEQ), czyli powiązania łączące układy i kombinacje danych, które następują chronologicznie po sobie, lub ze sobą sąsiadują, relacje asocjacyjnego kontekstu (ACON), czyli powiązania łączące układy i kombinacje danych, wywoływane na skutek zachodzących procesów skojarzeniowych,

18 Elementy sztucznego systemu skojarzeniowego AAS relacje asocjacyjnego definiowania (ADEF), czyli połączenia od receptorów lub neuronów wejściowych przekazujących te dane do neuron reprezentującego układy lub kombinacje tych danych, relacje asocjacyjnego tłumienia (ASUP), czyli powiązania łączące układy i kombinacje danych z bliskich lub receptorycznych obszarów dla ich wyostrzenia, dyskryminacji lub wzajemnego tłumienia Elementy sztucznego systemu skojarzeniowego AAS Każdy system skojarzeniowy do poprawnego działania wymaga 3 podstawowych rodzajów elementów [1]. Pierwszym z nich są receptory. Odpowiadają one za transformację bodźców zewnętrznych na informacje zrozumiałe dla danego systemu skojarzeniowego. Przykładem receptorów są receptory czuciowe, odpowiedzialne za powstawanie wrażenia dotyku. Kolejnym wyróżnionym rodzajem elementów są efektory. Dzięki nim możliwa jest praktyczna realizacja ciągu pobudzeń nerwowych, przykładem efektorów mogą być mięśnie szkieletowe. Najważniejszym elementem są jednak neurony. Umożliwiają one przechowywanie wiedzy poprzez tworzenie struktury powiązań i wzajemnych oddziaływań [1]. Dzieje się to w dwojaki sposób, zarówno poprzez istniejące połączenia, jak i poprzez płyn mózgowordzeniowy, wypełniający przestrzeń między neuronami. Stwierdzono, że neurony pozostające blisko siebie mają większe szanse na utworzenie, w wyniku procesów plastyczności, nowych połączeń (synaps) między sobą. Proces ten może zostać zamodelowany w postaci aktywnych grafów neuronowych AANG [1]. Z punktu widzenia formowania się wiedzy, neuron reprezentuje semassel (semantic associative element - jednostka semantyczno-logiczna). Semasselem można określić wszystkie kombinacje i układy bodźców, które powodują aktywację danego neuronu, a następnie jego oddziaływanie na wszystkie neurony postsynaptyczne, bądź efektory [1, 9]. Pomimo upływu lat największą popularnością w obliczeniach z zakresu sztucznych sieci neuronowych cieszy się model neuronu McCullocha-Pittsa, który po raz pierwszy został przedstawiony przez Warrena McCullocha i Walter Pittsa jeszcze w czasach II wojny światowej, w r. Neuron ten składa się z wielu wejść i tylko jednego wyjścia. Nie uwzględnia upływu czasu ani jego wpływu na stopniowe zmiany jego stanu. Pomimo prostoty model ten znalazł szerokie zastosowanie we współczesnych metodach inteligencji obliczeniowej. Możemy wyróżnić 3 generacje neuronów McCullocha-Pillsa. Pierwsza z nich w swoim działaniu wykorzystywała dyskretne funkcje aktywacji, które mogły zwracać wartości unipolarne 0, 1 lub bipolarne -1, 1. W drugiej generacji zamiast funkcji dyskretnych, wykorzystano sna igmoidalne lub radialne ciągłe funkcje aktywacji w przedziałach [0, 1] lub [-1, 1]. Wśród wykorzystywanych neuronów można wyróżnić neurony hiperboliczne, radialne, sigmoidalne, neuron Hardy ego, czy też neuron wielomianowy [1, 9]. Trzecia generacja neuronów impulsowych (spiking neurons) usiłuje jak najdokładniej naśladować zachowanie biologicznych neuronów: ich pobudzenie, refrakcję, czy też powracanie do stanu spoczynku. Zbudowane z nich sieci nazywane są impulsowymi sieciami neuronowymi (SNN - Spiking Neural Networks). Z powodu swojego podobieństwa, dużo lepiej obrazują działanie biologicznych, niż sztuczne sieci neuronowe ANN (Artificial Neural Networks). Wykorzystuje się w nich

19 2.5. Budowa i symulacja grafu ANAKG 19 model plastyczności synaptycznej Hodgkina-Huxley a, pozwalającego na modyfikację wag. Z powodu stopnia skomplikowania nie są jednak tak popularne jak sieci ANN [1]. Asocjacyjny model neuronu ASN (as-neuron, associative neuron) powstał w celu jak najlepszego odzwierciedlenia działania biologicznego neuronu występującego w świecie rzeczywistym, tak by umożliwić skojarzeniowy sposób przetwarzania informacji, pozwalając na formowanie wiedzy w sztucznych systemach skojarzeniowych AAS. W związku z powyższym neuron ASN powinien posiadać przynajmniej niektóre cechy biologicznego neuronu, które charakteryzują się zmiennością i dynamiką, co może mieć kluczowe znaczenie w modelowaniu systemów AAS. Asocjacyjny model neuronu ASN został zdefiniowany [1] jako model funkcjonalny biologicznego neuronu, odwzorowujący: plastyczne zmiany w czasie pod wpływem docierających do niego kombinacji i układów bodźców, które mogą spowodować jego aktywację albo pobudzenia podprogowe względem określonego progu aktywacji reaktywne dynamiczne sumowanie ważonych bodźców wejściowych w czasie z uwzględnieniem przyjętej funkcji relaksacji i jego refrakcyjności z możliwością określenia dynamiki tymczasowych zmian jego wag synaptycznych w czasie oraz w kontekście docierających bodźców reaktywne działanie procesów biologicznych inicjowanych po wpływem transkrypcji genów uruchamiających różne programy plastyczności oraz genezy Z podaną definicją związane są pojęcia neurogenezy i neuroplastyczności. Pierwsze z nich jest związane z powstawaniem nowych neuronów, w przypadku sztucznych systemów skojarzeniowych dzieje się to zazwyczaj pod wpływem nowych sekwencji uczących. Neuroplastyczność jest to zdolność tkanki nerwowej (lub też sztucznego systemu skojarzeniowego) do tworzenia nowych połączeń pomiędzy neuronami, co może powodować powstanie nowych skojarzeń lub też wzmocnienie już istniejących. Relaksacja jest określana jako powrót neuronu ze stanu pobudzenia do stanu spoczynku. Z kolei refrakcja jest procesem zapobiegającym zbyt częstej aktywacji neuronów, polegającym na czasowej niewrażliwości neuronu na bodźce zewnętrzne [1] Budowa i symulacja grafu ANAKG Wykorzystany model budowy aktywnego asocjacyjnego został przedstawiony w artykule [2]. Od pierwotnej wersji zaprezentowanej w monografii [1] różni się on przede wszystkim znacznie poprawioną funkcją relaksacji do stanu spoczynku, a także brakiem możliwości osiągnięcia przez neuron stanu pobudzenia powyżej wartości progu aktywacji. W nowym modelu pobudzany neuron nie ładuje się natychmiastowo, ale przez pewien okres, zależny od zdefiniowanego parametru t MAX a. Zmiany zostały uzasadnione potrzebą zwiększenia dokładności symulacji, w poprzedniej wersji neuron mógł otrzymać dodatkowy bodziec w czasie, gdy powinien być w trakcie procesu refrakcji bezwzględnej. Skutkuje to jednak koniecznością podzielenia czasu na znacznie mniejsze jednostki, co zwiększa zapotrzebowanie na pamięć i potrzebną moc procesora.

20 Budowa i symulacja grafu ANAKG Budowa grafu ANAKG Do budowy grafu ANAKG potrzebne jest wyznaczenie wag i skuteczności połączeń synaptycznych. Jak wynika to z wzoru 2.1, skuteczność określa wpływ danego połączenia synaptycznego na aktywację neuronu postsynaptycznego, na podstawie wszystkich stymulacji. We wzorze jest wykorzystywany interwał czasowy pomiędzy aktywacjami neuronów, maksymalny czas relaksacji ω, oraz wpływający na kształt funkcji relaksacji współczynnik ω. Na podstawie obliczonej skuteczności połączenia synaptycznego, wyliczana jest następnie jego waga dana wzorem 2.2. Oprócz skuteczności, jest w nim również wykorzystywana liczba aktywacji neuronu postsynaptycznego η S, oraz próg aktywacji neuronu presynaptycznego θŝ. W standardowym modelu zostały wykorzystane następujące wartości stałych, potrzebnych do utworzenia grafu ANAKG: maksymalny czas relaksacji ω = 100, próg aktywacji neuronów θ S = 1, natomiast współczynnik γ = 4. W praktycznych testach systemu, przedstawionych w rozdziale 4, zmieniany został jedynie współczynnik γ. δ S, Ŝ = {S Ŝ:(... S Ŝ...) S} t tŝa ω γ (2.1) w S, Ŝ = η S δ S, Ŝ θ S η S + (η S 1) δ S, Ŝ (2.2) Symulacja odpowiedzi grafu ANAKG W modelu symulacji używane są funkcje określające stopień pobudzenia danego as-neuronu. Podstawowym wzorem jest 2.3, określający stopień pobudzenia danego neuronu Ŝ w czasie t 2. Wykorzystuje on funkcję relaksacji 2.4, który z kolei korzysta z wklęsłej funkcji relaksacji 2.5, a także funkcję określającą bodziec wychodzący z neuronu presynaptycznego 2.6, która do swojego działaniu potrzebuje wyznaczenia dokładnego czasu aktywacji 2.7. W poniższych wzorach wykorzystano predefiniowane stałe: czas potrzebny do propagacji bodźca przez połączenie synaptyczne t S = 5, maksymalny czas pobudzania neuronu do progu aktywacji t M a AX = 15, oraz całkowity czas refrakcji t r = 3. X t 2 Ŝ ( = g X t 1 Ŝ ) = S Ŝ S Ŝ w S, Ŝ xt 2Ŝ + R t 2 t 1 Ŝ ( X t 1 Ŝ w S, Ŝ xt 2Ŝ + R t 2 (t 1 +t r) Ŝ ) ( θŝ dla ) dla X t 1 Ŝ θŝ dla X t 1 Ŝ X t 1 Ŝ < θŝ θŝ t 2 > t 1 + t r θŝ t 2 t 1 + t r (2.3) X t 2 Ŝ ( = R t Ŝ X t 1 Ŝ ) ( = sgn X t 1 Ŝ ) ( fŝ f 1 Ŝ ( X t 1 Ŝ ) ) ( + t = sgn X t 1 Ŝ ) θŝ γ X t 1 Ŝ θŝ t ω γ (2.4)

21 2.5. Budowa i symulacja grafu ANAKG 21 ( x t 2 S = h ( ) t γ fŝ (t) = ±θŝ ω 1 (2.5) X t 2 t S a ts S ) = t S a = T (X S, θ S ) = { 1 dla X t 2 t S a t s S 0 dla X t 2 t S a t s S t MAX a 1 + X S θ S θ S Wykorzystany model stara się w jak najbardziej wierny sposób oddać asocjacyjne formowanie wiedzy w procesach neurogenezy i neuroplastyczności. Oprócz kontekstu, ważną rolę pełni również czas, który stanowi ważny element w obliczeniach, model grafu ANAKG zawiera w sobie aż 4 stałe związane właśnie z czasem. Szczególnie duży wpływ na poziom pobudzenia mają współczynniki γ i ω, od których zależy kształt funkcji relaksacji neuronu w czasie, jak to zostało wykazane w testach zaprezentowanych w rozdziale 4. θŝ < θŝ (2.6) (2.7)

22 Budowa i symulacja grafu ANAKG

23 3. Opis stworzonego rozwiazania Niniejszy rozdział zawiera opis aplikacji służącej do prezentacji stworzonego systemu wiedzy opartego na aktywnym neuroasocjacyjnym grafie wiedzy ANAKG. Rozdział 3.1 zawiera ogólne założenia systemu, opis użytej architektury i stworzonego interfejsu. W rozdziale 3.2 opisano najważniejsze elementy występujące w silniku aplikacji. Rozdział 3.3 przedstawia balansowanie grafu ANAKG w przestrzeni trójwymiarowej. Opis głównych modułów graficznych znajduje się w rozdziale Ogólne założenia projektowe System został stworzony jako aplikacja Windows Forms, działającą w środowisku.net Framework w wersji 4.5. Ma ona umożliwiać budowę grafu ANAKG, a następnie jego prezentację graficzną w postaci neuronów jako kół i synaps jako linii prostych je łączących. Neurony prezentują dane o aktualnym stopniu pobudzenia, a także są rozróżniane poprzez nazwy. Każda synapsa przekazuje informacje o swoich atrybutach, przede wszystkim o wadze, ale także o aktualnym przejściu impulsu i w miarę możliwości o skuteczności połączenia. Przedstawiany graf ANAKG musi być czytelny dla użytkownika, a jego poszczególne elementy nie mogą nachodzić na siebie. Możliwa jest prezentacja zarówno procesu tworzenia grafu, jak i symulacji odpowiedzi na zapytanie. Animacja musi być płynna i może być przerwana w dowolnym momencie. System pozwala na edycję aktualnie przechowywanych danych grafu, a także na wczytanie nowego, własnoręcznie wczytanego przez użytkownika zbioru grafów. Oprócz powyższych system umożliwia również analizę wyników symulacji w postaci wykresów i powstałych sekwencji aktywacji Architektura sytemu W wyniku analizy założeń i wymagań projektowych, powstała aplikacja napisana w języku C#, z wykorzystaniem platformy.net Framework i biblioteki XNA Game Studio 4.0, umożliwiającej zaawansowaną animację 3D. Dodatkowo wykorzystanymi bibliotekami są: Nuclex, umożliwiająca przechowywanie w pamięci czcionek w postaci wektorowej, uprzednio skonwertowanej ze standardowej czcionki w postaci bitmapy, a także Stanford MIDI, odtwarzająca dźwięk melodii zdefiniowanej przez użytkownika. 23

24 Ogólne założenia projektowe Aplikacja stara się jak najdokładniej implementować wzorzec MVC (Model-View-Controller). Zgodnie z nim może zostać podzielona na 3 części. Nie są one całkowicie odseparowane od siebie, jak jest zalecane w klasycznym rozumieniu wzorca MVC, jednak można je bardzo łatwo od siebie oddzielić i spełnić jego wymagania. Model jest reprezentacją logiki aplikacji. W jego implementacji zastosowano standardową składnię języka C#. W swoim działaniu model korzysta ze wzorów przedstawionych w rozdziale 2.5, zaimplementowanych jako funkcje prywatne. Interakcję z modelem stanowią metody dostępne z poziomu kontrolera. Najważniejszymi elementami modelu w stworzonej aplikacji są mózg, neurony i synapsy. Ich szczegółowy opis znajduje się w rozdziale sec:elementymodelu. Widok jest prezentowany w głównym oknie programu. Za jego wyświetlanie odpowiedzialny jest framework XNA Game Studio 4.0, umieszczony w formatce za pomocą kontrolki, poprzez rozwiązanie zaprezentowane na stronach MSDN. Do rysowania poszczególnych elementów graficznych zastosowano niskopoziomowe funkcje, które dane przekazują bezpośrednio do GPU. Widok został podzielony na 4 główne moduły: Creation prezentacja tworzenia grafu ANAKG, Simulation symulacja odpowiedzi grafu na zapytanie, Chart wykres aktywności neuronów w czasie, Response prezentacja zależności aktywowanych neuronów. Kontroler jest odpowiedzialny za sterowanie aplikacją, umożliwia bezpośrednią interakcję z użytkownikiem. Za jego działanie odpowiada w głównej mierze panel sterujący, oparty na działaniu formatki Windows Forms. Każde zdarzenie kliknięcia przycisku myszy lub wciśnięcia klawisza na klawiatury jest następnie analizowane przez model. W przypadku wystąpienia interakcji ze standardową kontrolką Windows Forms, dokładne parametry zdarzenia są znane już w kontrolerze, który wywołuje odpowiednią metodę z modelu. W przypadku zdarzeń w głównym oknie programu, kontroler przekazuje modelowi jedynie podstawowe informacje, takie jak rodzaj przycisku i położenie kursora. Model sam, w procesie analizy, musi rozpoznać, czy nastąpiła interakcja z obiektem i czy ewentualnie podjąć akcje, mające wpływ na ten obiekt i na cały system. Aby poprawić możliwości prezentacji działania stworzonego asocjacyjnego systemu skojarzeniowego, pojedyncze grafy ANAKG i zapytania wywoływane na nich są przechowywane w kontenerach. Dzięki temu można porównywać zaledwie nieznacznie różniące się od siebie grafy bądź zapytania w ramach jednej uruchomionej aplikacji, w przeciwnym wypadku wymagałoby to uruchomienia kilku okien w tym samym czasie, co utrudniałoby korzystanie z komputera. Przełączanie pomiędzy zadaniami odbywa się za pomocą klawiszy Page Up i Page Down, aby zmienić mózg należy dodatkowo wcisnąć klawisz Control.

25 3.1. Ogólne założenia projektowe 25 Rysunek 3.1. GUI z perspektywy modułu Simulation Interfejs użytkownika Graficzny interfejs użytkownika można podzielić na 3 podstawowe części: zajmujące większość obszaru, główne okno programu, widoczny po prawej panel sterowania, którego dodatkowym elementem jest suwak u dołu ekranu, położony u góry niewielki panel, który, w przypadku modułu Simulation, pokazuje dane o aktualnym zapytaniu, lub, w przypadku modułu Creation, aktualnej sekwencji uczącej. Panel sterowania składa się z następujących po sobie elementów: wybór aktywnego modułu, szybkość animacji, przycisk Play/Stop, służący do uruchamiania i zatrzymywania animacji, długość trwania animacji, przycisk Simulate, umożliwiający ponowne uruchomienie symulacji, przycisk Load, służący do wczytania z pliku danych do systemu,

26 Ogólne założenia projektowe wybór przestrzeni, w której jest umieszczony graf ANAKG, przycisk Balance, uruchamiający balansowanie grafu, checkbox State, którego zaznaczenie powoduje widoczność numerycznego stanu neuronu, checkbox AutoBalance, którego zaznaczenie włącza automatycznie balansowanie grafu po wczytaniu, checkbox White, który zmienia tło na białe, checkbox Music, przy którego zaznaczeniu można odtwarzać muzykę dla testu Melody, opisanego w rozdziale 4.3, suwak, służący do zmiany aktualnego czasu w animacji, połączony z informacją o aktualnym czasie, jest on widoczny jedynie dla modułów Creation i Simulation. W przypadku modułów Creation, u góry ekranu jest widoczna aktualna dla danego momentu czasu sekwencja ucząca. W przypadku modułu Simulation w tym samym miejscu prezentowane jest zapytanie, dodatkowo poprzedzane informacją o czasie do kolejnego impulsu z zapytania do konkretnego neuronu, a także wartością interwału pomiędzy tymi impulsami, pełniących w tym przypadku rolę zewnętrznych bodźców działających na sztuczny system skojarzeniowy AAS. W prawym górnym rogu głównego ekranu widoczny jest niewielki dodatkowy panel, prezentujący informacje o aktualnym stanie systemu. Składa się na niego: informacja o aktualnie wybranym numerze grafów i całkowitej ich liczbie, informacja o aktualnie wybranym numerze zapytania i całkowitej ich liczbie, status systemu, używany głównie w przypadku balansowania grafu, widoczna dodatkowo w modułach Creation i Simulation, informacja o liczbie wyświetlanych klatek na sekundę Sposób animacji widoku Jak już wcześniej wspomniano, do wyświetlania elementów graficznych w aplikacji została użyta biblioteka XNA Game Studio 4.0. Umożliwia ona animację obrazu za pomocą najprostrzych elementów, nazywanych prymitywami, do których należą trójkąty i łamane. Działa to na podobnej zasadzie jak w grach komputerowych. Od biblioteki DirectX różni ją fakt, że wykorzystuje kod zarządzany, podczas gdy w implementacji DirectX używa się kodu niezarządzanego. Umożliwia to zapisywanie kodu w języku C# i podłączenie XNA do Windows Forms, co zastosowano przy tworzeniu programu. Podstawą renderowania w grafice trójwymiarowej są trójkąty. Umożliwia to przyspieszenie operacji zmiennoprzecinkowych, głównie z powodu ułatwionych działań na wektorach i macierzach. Taki

27 3.2. Elementy modelu 27 pojedynczy trójkąt jest w XNA nazywany prymitywem. Wszelkie inne figury geometryczne, nawet najprostsze, składają się z zestawu trójkątów. Przykładowo, dowolny czworokąt składa się z 2 trójkątów, ale już koło, dla zachowania jak najbliższego rzeczywistości kształtu, z kilkudziesięciu. Jak łatwo zauważyć, rysowanie krzywych stanowi dużo większy problem, niż rysowanie prostych. W aplikacji zostały użyte typy proste, złożone z prymitywów, takie jak: czworokąt, pierścień, dysk czy walec, których następnie użyto w prezentacji neuronów, czy synaps. Do wyświetlania tekstu i liczb w przestrzeni 3D została użyta biblioteka Nuclex, pozwalającą na zamianę czcionki zapisanej jako bitmapa w czcionkę zapisaną wektorowo, którą można następnie wyświetlić w przestrzeni trójwymiarowej. Podczas startu aplikacji, po wczytaniu danych i utworzeniu grafu wiedzy ANAKG, następuje inicjalizacja elementów graficznych. Obliczone zostaje ich położenie w przestrzeni, a także pozycja wszystkich wierzchołków wchodzących w skład danej figury. Następnie dane wierzchołków zostają przesłane do bufora, który jest pośrednikiem pomiędzy wyświetlanymi obiektami, a kartą graficzną. Został on wprowadzony w ramach optymalizacji, ponieważ bezpośrednie wysyłanie danych przez każdy obiekt z osobna było zbyt czasochłonne (narzut czasowy dla wywoływania funkcji był zbyt duży), przez co znacząco spadała wydajność grafiki. Przy przemieszczaniu elementów konieczna jest aktualizacja położenia wierzchołków w buforze, nie jest wymagana powtórna inicjalizacja. Dla dodatkowej optymalizacji wykorzystano mechanizm indeksowania, który zmniejszył znacząco liczbę wierzchołków potrzebnych do reprezentacji danej figury. Do karty graficznej przesyła się wówczas jedynie listę osobnych wierzchołków, trójkąty są z nich tworzone za pomocą indeksów Elementy modelu Brain - mózg Jest to rdzeń systemu, czyli miejsce, gdzie wywoływane są wszystkie metody symulujące działanie grafu ANAKG. Posiada pewną liczbę neuronów i synaps. W trakcie testów stwierdzono, że na współczesnym, średniej klasy komputerze domowym, graficzna reprezentacja grafu działa płynnie dla maksymalnie neuronów, co przy sekwencjach uczących będących normalnymi zdaniami z języka ludzkiego odpowiada synapsom. Z uwagi na fakt, że te 20 neuronów z trudem mieści się, głównie ze względu na dużą liczbę linii odzwierciedlających synapsy, na standardowym monitorze Full HD o rozdzielczości 1920 na 1080 pikseli, jest to wartością absolutnie wystarczającą do prezentacji działania programu. Najbardziej obciążającymi procesor obliczeniami nie są te związane z symulacją odpowiedzi systemu na zadane zapytanie, ale operacje graficzne związane z przeliczeniem właściwej pozycji neuronów i synaps podczas procesu wyważania elementów grafu, opisanego w rozdziale 3.3. Nie jest to nic nowego - we współczesnych grach komputerach wymagania odnośnie wyświetlania grafiki i fizyki są wielokrotnie większe, niż dla nawet najbardziej skomplikowanej logiki, oczywiście z wyłączeniem obliczeń bigdata. Doświadczalnie wykazano, że sama symulacja działa szybko dla neuronów, co jest wartością 2 rzędy wielkości większą, niż w przypadku wyważania grafu metodą sił.

28 Balansowanie grafu Rysunek 3.2. Neuron i synapsy Neuron Pojedynczy neuron jest reprezentowany za pomocą koła, z którego wychodzą synapsy. Poziom nasycenia tła jest zależny od liczby wystąpień danego słowa w sekwencjach uczących. Liczba we wnętrzu koła oznacza procentowy poziom aktywności neuronu. Podczas refrakcji zastępuje ją litera R. Oprócz liczby o stopniu pobudzenia danego neuronu świadczy wielkość kolorowego pierścienia we wnętrzu koła. W przypadku dodatniego poziomu naładowania neuronu, przyjmuje on barwę zieloną, natomiast dla ujemnej wartości kolory zostają odwrócone - pierścień jest koloru tła, natomiast wnętrze jest barwy niebieskiej. W trakcie procesu refrakcji kolor neuronu przechodzi płynnie z czerwonego do niebieskiego Synapse - synapsa Synapsa łączy ze sobą 2 neurony - neuron presynaptyczny i postsynaptyczny. W systemie jest widoczna jako linia prosta łącząca 2 neurony. Waga i skuteczność połączenia synaptycznego jest reprezentowana poprzez element, dla ułatwienia nazywany krążkiem, składający się z z koła i półksiężyca. Koło prezentuje informację o wadze synapsy, o której wartości świadczy wielkość zielonego pierścienia wewnątrz koła. Rogalik jest z kolei potrzebny, a by pokazać dodatkowe informacje podczas symulacji, głównie w przypadku aktywowania neuronu presynaptycznego i następującej po niej propagacji impulsu nerwowego w danej synapsie. Główne koło znajduje się nieco bliżej neuronu postsynaptycznego, niż drugie. W przypadku, gdy pomiędzy dwoma neuronami występują 2 połączenia synaptyczne, prezentowane są one za pomocą jednej linii z dwoma krążkami, każdy z nich jest, zgodnie z założeniami, położony bliżej neuronu postsynaptycznego Balansowanie grafu Do poprawnej prezentacji wyników działania systemu, elementy grafu ANAKG muszą zostać poprawnie rozłożone na płaszczyźnie, zgodnie z przyjętymi założeniami. Pierwszym z nich jest odpowied-

29 3.3. Balansowanie grafu 29 Rysunek 3.3. Graf nieuporządkowany nie rozmieszczenie neuronów. Te wzajemnie ze sobą połączone powinny leżeć jak najbliżej siebie, a siła wzajemnego oddziaływania zależeć od wagi połączenia synaptycznego występującego między nimi. Należy starać się tak przemieścić neurony, by hipotetyczny środek ciężkości grafu był jak najbliżej centrum ekranu. Kolejnym aspektem, o który należy zadbać, jest położenie synaps względem neuronów. Linie nie powinny być blisko kół reprezentujących neurony i nie mogą ich dotykać. Liczba wzajemnych przecięć powinna być jak najmniejsza. Należy tak rozmieścić linie wychodzące z neuronów, by były rozłożone jak najbardziej równomiernie. Ostatnim założeniem jest położenie krążków na liniach, reprezentujących dane synaps. Powinny być położone w miarę możliwości jak najbliżej neuronów postsynaptycznych, nie nachodzić na siebie nawzajem, ani też na linie innych synaps. Rozważano kilka metod implementacji balansowania grafu, jednak ostatecznie zdecydowano się na metodę sił, której główną zaletą jest możliwość obserwowania efektów w czasie rzeczywistym. Wykorzystuje ona znane z fizyki Prawo Hooke a i Prawo Coulomba. Pierwsze z nich odnosi się do sytuacji odkształcenia ciała pod wpływem działania siły. W przypadku grafu ANAKG jest to wydłużenie linii synaptycznej z hipotetycznej długości 0. Zgodnie z III zasadą dynamiki Newtona, zadziała siła reakcji o przeciwnym zwrocie, przez co symulowana siła będzie przyciągała neurony do siebie, oraz będzie ona proporcjonalna do wydłużenia. Wzór na tę siłę został uproszczony do postaci 3.1. Prawo Coulomba mówi o siłach działających na 2 ciała w przypadku posiadania przez nie ładunku elektrycznego. Jest ono dane wzorem 3.2. Łatwo zauważyć, że działająca siła będzie odpychać neurony od siebie, oraz będzie

30 Moduły odwrotnie proporcjonalna do kwadratu odległości między nimi. Należy zatem wprowadzić maksymalną wartość siły działającej pomiędzy neuronami, ponieważ zbyt duża mogłaby negatywnie wpływać stabilność procesu balansowania. F = K l (3.1) F = k q 1q 2 r 2 (3.2) Do przeprowadzenia procesu wyważania została zaprojektowana specjalna klasa singletonowa, do której przekazywane są następnie elementy grafu. Balansowanie przebiega w czasie rzeczywistym z założoną minimalną częstotliwością 50 Hz dla kroku. Obliczenia wykorzystują pełne możliwości posiadanego komputera dzięki wykorzystaniu wielowątkowości. Symulacja składa się z czterech kolejnych, następujących po sobie faz. Pierwszą z nich jest losowanie początkowego położenia neuronów w przestrzeni. Następnie graf zostaje zbalansowany w przestrzeni trójwymiarowej, ograniczonej ścianami tworzącymi kształt prostopadłościanu. Po osiągnięciu warunku stopu, który zakłada minimalną wartość siły działającą na każdy neuron, wymiar z zostaje zmniejszony do minimalnego, przez co graf sprawia wrażenie położonego na płaszczyźnie. Po osiągnięciu warunku stopu dla tej fazy, następuje przejście do ostatniej, w której zostają rozmieszone krążki synaps. W przeciwieństwie do neuronów, ich nowe położenie jest wyznaczone analitycznie, umieszcza się je jak najbliżej neuronu postsynaptycznego, przy czym nie mogą nachodzić na inne synapsy. Każda iteracja w drugiej i trzeciej fazie składa się z czterech etapów. W pierwszym z nich sprawdzane jest wzajemne oddziaływanie neuronów, w drugim neuronów z liniami synaps, w trzecim synaps z innymi synapsami, w czwartym ścian przestrzeni na neurony. Następnie sprawdza się, czy każdy neuron spełnia warunek stopu, jeśli na choćby jeden z nich działa zbyt duża siła - system uruchamia kolejną iterację. W przeciwnym przypadku następuje koniec fazy i program przechodzi do następnej. Automatyczne rozmieszczenie neuronów i krążków synaps jest z pewnością dużym ułatwieniem, jednak możliwe jest również przesuwanie ich za pomocą metody drag & drop. Dzięki temu można modyfikować wygląd prezentowanego grafu wedle własnego uznania i potrzeb. Zwłaszcza w przypadku synaps może to znacznie poprawić widok, ponieważ przy automatycznym rozmieszczaniu mogą one wciąż nachodzić na siebie, zwłaszcza gdy jest ich dużo Moduły Moduł Creation Moduł Creation prezentuje praktyczne tworzenie grafu ANAKG, uprzednio opisane w rozdziale 2.5. W trakcie uruchamiania aplikacji, z pliku xml wczytywany jest zdefiniowany w nim zbiór grafów, istniejących w aplikacji pod nazwą brain (ang. mózg). Do poprawnego działania programu niezbędne jest by

31 3.4. Moduły 31 Rysunek 3.4. Widok uporządkowanego grafu plik xml był zgodny z założonym schematem. W przeciwnym przypadku wystąpi błąd i dane nie zostaną wczytane.? xml v e r s i o n = 1.0? > < d a t a l e n g t h = 250 > < b r a i n > < s e n t e n c e s > < s e n t e n c e > j u p i t e r i s a p l a n e t </ s e n t e n c e > < s e n t e n c e > s a t u r n i s a p l a n e t </ s e n t e n c e > </ s e n t e n c e s > < q u e r i e s > < query i n t e r v a l = 16 > </ query > < query i n t e r v a l = 12 > </ query > </ q u e r i e s > </ b r a i n > </ data > Po wczytaniu danych z pliku, następuje wyodrębnienie grafów wraz ze zbiorami sekwencji uczących. Następnie każda z nich jest wczytywana do silnika, gdzie w procesach neurogenezy i neuroplastyczności tworzone są nowe neurony wraz z połączeniami synaptycznymi, jak i modyfikowane atrybuty, takie jak

32 Moduły Rysunek 3.5. Moduł Creation wagi i skuteczność połączeń synaptycznych, już istniejących. Wszystkie dane są zapisywane do pamięci, by móc zostać odtworzone za pomocą GUI. Opis wzorów użytych do budowy grafu został zamieszczony w rozdziale 2.5. Każda synapsa zawiera historię swoich zmian w odpowiedzi na kontekst danej sekwencji uczącej. Dzięki temu jest możliwa animacja zmian w grafie ANAKG pod wpływem każdego nowego słowa wczytywanego do systemu. Kolejną funkcjonalnością w module Creation jest możliwość edycji istniejących i wstawiania nowych sekwencji uczących. Po zmianie trybu na Insert za pomocą klawisza o tej samej nazwie, można wpisywać poszczególne słowa za pomocą klawiatury. Przejście do kolejnego słowa jest możliwe po naciśnięciu spacji, znaki są usuwane za pomocą klawisza Backspace, całe zdanie jest tworzone po naciśnięciu przycisku Enter. Aby wyjść z trybu edycji bez zapisywania aktualnej sekwencji należy jeszcze raz użyć klawisza Insert. Po każdorazowym dodaniu nowego zdania wszystkie czynności związane z tworzeniem grafu ANAKG muszą zostać powtórzone. Nawet najmniejsza zmiana w pojedynczej sekwencji uczącej może spowodować znaczącą zmianę w wadze czy skuteczności połączenia synaptycznego, dlatego też ponowne przeliczenie wszystkich wartości jest tak istotne. Jak już wcześniej wspomniano, istnieje możliwość podglądu zmian wagi danego połączenia synaptycznego pod wpływem wystąpienia określonego kontekstu w sekwencji uczącej. Klikając prawym przyciskiem myszy na wybrany krążek, zostaje wyświetlone niewielkie okienko, w którego kolejnych wierszach widoczne są wszystkie zmiany od startu budowy grafu ANAKG, aż do obecnego momentu.

33 3.4. Moduły 33 Rysunek 3.6. Wpisywanie nowego zapytania Pierwszy numer oznacza moment w czasie, w którym dana zmiana zaszła. Koło na lewo od niego przekazuje informacje o poprzednim stanie synapsy. Jasnozielony pierścień wyznacza starą wagę synapsy. Wewnątrz koła znajduje się również, w przypadku wzrostu wartości, ciemnozielony pierścień pokazujący, o ile waga synapsy została zwiększona, natomiast w przypadku spadku wartości, czerwony pierścień pokazujący, o ile waga synapsy spadła. Drugi prezentowany numer wskazuje na wielkość zmiany, natomiast drugi pierścień pokazuje ostateczną wartość wagi połączenia synaptycznego, w danym momencie czasu Moduł Simulation Najważniejszą funkcję w aplikacji pełni moduł Simulation. Służy on do prezentacji wyników symulacji za pomocą grafu używanego również w module Creation. Domyślne odpowiedzi na pytania są wczytywane podczas domyślnej konfiguracji przy starcie programu, bądź też podczas załadowania danych z pliku za pomocą przycisku Load. Istnieje możliwość zadania pytania za pomocą klawisza Insert, po którego naciśnięciu u góry ekranu pojawia się mały, pusty kafelek, sygnalizujący aktualnie modyfikowaną treść zapytania. Po zatwierdzeniu nowego zdania przyciskiem Enter, następuje symulacja i wyniki nowego zapytania do grafu są widoczne w systemie. Istnieje również możliwość zmiany interwału, którą można edytować za pomocą strzałek w górę i w dół na klawiaturze, po czym należy nacisnąć klawisz Enter. Zmieniana wartość jest wyróżniona innym kolorem tła kafelka. Po wczytaniu zbioru sekwencji uczących i wykonaniu symulacji odpowiedzi na zadane zapytanie, system jest gotowy do animacji wyników. Dane zostają wówczas zapisane do specjalnej struktury, zawierającej informacje o poziomie pobudzenia neuronu, oraz fazie, w jakiej dany neuron się znajduje. W przypadku zaznaczenia odpowiedniej opcji, przed rozpoczęciem animacji, graf musi zostać zbalansowany, jak to zostało opisane w rozdziale 3.3, o ile nie oczywiście nie nastąpiło to wcześniej. W przypadku udanego wyważenia grafu, można rozpocząć animację za pomocą przycisku Play, dostępnego na panelu sterującym po lewej stronie ekranu. Uruchomioną symulację można zatrzymać za pomocą przycisku Stop, który zamienia się z przyciskiem Play. W każdym momencie można przenieść się do dowolnej klatki animacji dzięki suwakowi dostępnemu na dole ekranu Moduł Chart Moduł Chart służy do prezentacji poziomu pobudzenia neuronów na osi czasu. Pozioma skala odpowiada wybranym jednostkom czasu, dla ułatwienia przyjęto, że jest nią jedna milisekunda. Na wykresie widoczne są 3 poziome linie, z których środkowa oznacza stan spoczynku, górna jest progiem aktywacji, dolna natomiast oznacza stan przeciwny, moment z którego neuron powraca do stanu spoczynku po

34 Moduły Rysunek 3.7. Moduł Simulation zakończeniu okresu refrakcji bezwzględnej. Dodatkowym elementem widocznym na wykresie są koła odzwierciedlające momenty aktywacji - kolor pomarańczowy, końca refrakcji bezwzględnej - kolor jasnoniebieski, oraz zapoczątkowania reakcji na bodziec - niewielkie kółko w kolorze linii na wykresie. Poniżej wykresu widoczne są kafelki z tłem w kolorze odpowiadającym danemu neuronowi na wykresie. Najechanie na dany kafelek podświetla linię na wykresie (o ile jest ona widoczna), z kolei kliknięcie lewym przyciskiem myszy włącza lub wyłącza widoczność tej linii. Suwak na samym dole ekranu pozwala na przesuwanie wykresu w prawo lub w lewo, podobnie jak strzałki na klawiaturze. Za pomocą przycisków 1 i 3 na klawiaturze numerycznej, wykres może zostać dla lepszej widoczności przeskalowany. Do prezentacji moduł Chart korzysta dokładnie z tych samych danych w tej samej formie co moduł Simulation, dlatego nie jest konieczny dodatkowy opis Moduł Response Moduł Response prezentuje graf, za pomocą którego można zaobserwować momenty aktywacji poszczególnych neuronów na osi czasu. Ogólna zasada działania tego modułu jest bardzo podobna do modułu Chart - oś czasu można przeskalowywać, a także przesuwać w prawo, bądź w lewo. Nie posiada oczywiście osi Y, nie ma w tym przypadku informacji, którą mogłaby ona nieść. Neurony występują w tym module pod postacią kafelków z nazwą w środku, połączone liniami prostymi w przypadku istnienia

35 3.4. Moduły 35 Rysunek 3.8. Moduł Chart połączenia synaptycznego między nimi. Moment aktywacji danego neuronu na osi czasu odpowiada jego lewej krawędzi, dodatkowo jest to oznaczone za pomocą niebieskiej linii przerywanej. Informacje o aktywacji danego neuronu są przekazywane podczas symulacji poprzez wysłanie zdarzenia do modułu. Po jej zakończeniu następuje analiza zebranych danych, a neurony są łączone ze sobą w przypadku, gdy jeden mógł mieć bezpośredni wpływ na aktywację drugiego. Następnie dokonana jest próba rozmieszczenia kafelków za pomocą prostego algorytmu genetycznego. Jeżeli nie zadziała on najlepiej i neurony będą położone nieczytelnie, istnieje możliwość przesunięcia każdego z kafelków, oczywiście przy zachowaniu położenia na osi X. Podczas testów stwierdzono problemy dla dużej liczby aktywacji, przez co nie jest zalecane korzystanie z modułu Response w tym przypadku.

36 Moduły Rysunek 3.9. Moduł Response

37 4. Prezentacja działania programu i testy W niniejszym rozdziale zostało przedstawione działanie programu w praktycznych zastosowaniach. Opis każdego z przypadków testowych zawiera wykorzystany zbiór sekwencji uczących, z kolei w wynikach zostały przedstawione zrzuty ekranu, obserwacje i ewentualne wnioski. Wykonanymi testami są: Układ Słoneczny - rozdział 4.1 Małpka - rozdział 4.2 Melodia - rozdział 4.3 Kółko i krzyżyk - rozdział 4.4 Przed rozpoczęciem symulacji ustalono następujące stałe wartości, wspólne dla wszystkich przypadków testowych (podany czas nie ma ustalonej jednostki, choć dla ułatwienia można przyjąć, że jest to 1 milisekunda): Czas propagacji - 2 Czas refrakcji - 3 Czas relaksacji Przykład testowy - Układ Słoneczny Opis W pierwszym przykładzie do programu zostało wczytane 8 sekwencji uczących: jupiter is a planet saturn is a planet saturn is a big planet jupiter is big saturn is bigger than earth earth is our planet 37

38 Przykład testowy - Układ Słoneczny Rysunek 4.1. Wykres aktywności neuronów dla testu Układ Słoneczny earth is bigger than mercury olympus mons is a big planet Zastosowane parametry systemu: Interwał aktywacji: 20 Współczynnik γ: 4, Wyniki działania programu Głównym pytaniem zadanym w pierwszym teście jest: What is jupiter? Według kolejności aktywacji kolejnych neuronów, zaobserwowaną odpowiedzią jest zdanie is jupiter a big planet. Po zamianie pierwszych dwóch wyrazów otrzymujemy bardzo sensowne zdanie jupiter is a big planet, które nie występuje w zbiorze sekwencji uczących. Po krótkiej analizie można stwierdzić, że zostało ono złożone ze zdań jupiter is big, oraz jupiter is a planet, nastąpiło zatem uogólnienie posiadanej wiedzy. Wpływ na odpowiedź mogło mieć również zdanie saturn is a big planet, które rożni się od niego jedynie podmiotem. Na wykresie 4.1 można również zauważyć bardzo mocne podprogowe pobudzenie neuronu mountain. Stwierdzono, że już przy niewielkiej zmianie parametru γ na 4,1, poziom pobudzenia przekraczał próg aktywacji. Z kolei przy zmianie wartości γ na 4,5 progu aktywacji nie osiągał neuron a, co powodowało przerwanie sekwencji wywołań - aktywowane zostały jedynie neurony is i jupiter, pobudzane impulsami

39 4.2. Przykład testowy - Małpka 39 Rysunek 4.2. Odpowiedź systemu dla testu Układ Słoneczny z zewnątrz. Pokazuje to, jak duży wpływ na zachowanie systemu mają nawet niewielkie zmiany jego parametrów. Warto zastanowić się chwilę nad koniecznością zamiany kolejności neuronów, by uzyskać poprawne gramatycznie zdanie wynikowe. Oryginalną odpowiedzią na what is jupiter jest is jupiter a big planet, co w języku angielskim nie jest stwierdzeniem faktu, a jedynie kolejnym pytaniem, uzyskanym poprzez zmianę w szyku zdania. Poprawną gramatycznie formą odpowiedzi byłoby jupiter is a big planet. Należałoby się zatem zastanowić, czy możliwa jest taka modyfikacja modelu systemu skojarzeniowego, by umożliwiał on przejście od poprawnego gramatycznie pytania do poprawnej gramatycznie odpowiedzi. W przypadku zapytania zadanego jako początek zdania oznajmującego the jupiter is..., system zwraca poprawną formę jupiter is a big planet. Zwłaszcza w przypadku prób wykorzystania grafu ANAKG do budowy inteligentnego czatbota poprawa tego aspektu może być bardzo istotna, jeśli miałby on posługiwać się językiem naturalnym Przykład testowy - Małpka Opis Kolejnym z testów jest opis pewnej bardzo mądrej i sympatycznej małpki, zawarty w zbiorze 9 prostych sekwencji uczących:

40 Przykład testowy - Małpka Rysunek 4.3. Wykres aktywności neuronów dla testu Małpka i have a monkey my monkey is very small it is very lovely it likes to sit on my head it can jump very quickly it is also very clever it learns quickly my monkey is lovely i have also a small dog Parametry systemu: Interwał aktywacji: 12 Współczynnik γ: Wyniki działania programu Zadanym przez użytkownika pytaniem jest what is this monkey like? Odpowiedzią systemu była sekwencja is monkey very lovely small, zawierająca w sobie 2 asocjacyjne ścieżki aktywacji neuronów is monkey very lovely, oraz is monkey very small. Można z nich ułożyć 2 sensowne zdania, podobnie jak

41 4.2. Przykład testowy - Małpka 41 Rysunek 4.4. Odpowiedź systemu dla testu Małpka w przypadku testu Układ Słoneczny, zamieniając kolejność słów is, oraz monkey. Wówczas jako rezultat otrzymujemy wyrażenia monkey is very lovely, oraz monkey is very small. Neuronów lovely i small nie są częścią tej samej sekwencji wywołań, ponieważ brak między nimi połączenia synaptycznego, zatem nie mogły ze sobą oddziaływać za pomocą bodźców. Zgodnie z teorią asocjacji [1, 4] wystąpiła w tym przypadku relacja asocjacyjnego podobieństwa ASIM. W biologicznych systemach asocjacyjnych BAS, w podobnych przypadkach często następuje wykształcenie nowego połączenia synaptycznego w procesie neuroplastyczności. Jego praktyczna implementacja w asocjacyjnych systemach skojarzeniowych AAS byłaby na pewno znaczącym rozszerzeniem ich funkcjonalności. Poprawnym językowo i logicznie odpowiednikiem uzyskanej sekwencji is monkey very lovely small jest zdanie monkey is very lovely and small. Jak można zauważyć są one bardzo podobne: gdyby przyjąć każdy wyraz za osobny znak, odległość Levenshteina między nimi wynosiłaby zaledwie 2, wykonano inwersję słów monkey i is, a także wstawienie spójnika and. Jest to oczywiście wynikiem analizy ludzkiego systemu skojarzeniowego, konstruowanie poprawnych stylistycznie, gramatycznie, a przede wszystkim logicznie zdań byłoby dużym wyzwaniem, ale też bardzo dużym krokiem w rozwoju modelu grafu ANAKG i sztucznych systemów skojarzeniowych AAS. Taki system byłby w stanie nawet przejść test Turinga, ze swoją zdolnością do uogólnień, nawet w przypadku podchwytliwych pytań, zostając uznany za myślącą, inteligentną maszynę.

42 Próba odtworzenia melodii 4.3. Próba odtworzenia melodii Opis Jako test wykorzystania systemu w bardziej praktycznych zastosowaniach zostało wybrane odtworzenie melodii na podstawie pierwszych dźwięków. Aplikacja wczytała kilka przykładowych sekwencji dźwięków. Każde słowo reprezentuje zakodowaną nutę. Pierwsze 2 znaki są odzwierciedleniem konkretnego tonu zgodnie ze standardową notacją stosowaną w muzyce. 2 kolejne natomiast oznaczają czas trwania danego dźwięku, gdzie 1 to pełna nuta, 2 półnuta, 4 ćwierćnuta itd. Znak N oznacza nutę zwykłą, a Dz kropką, czyli czas trwania jest dłuższy o 50%. Istnieje możliwość odtwarzania wyników pod postacią melodii, której elementami będą kolejne neurony w ułożone w chronologicznym porządku według ścieżki aktywacji. Wykorzystana została do tego biblioteka Sanford MIDI, wybranym instrumentem jest klasyczne pianino. Dla potrzeb testu do systemu zostały wprowadzone 4 melodie jako osobne sekwencje uczące: Wlazł kotek na płotek : G4N4 E4N4 E4N4 F4N4 D4N4 D4N4 C4N8 E4N8 G4N2 Szła dzieweczka G4N2 C5N4 E5N2 D5N4 C5N2 H4N4 C5N4 H4N4 A4N4 G4N2 G4N4 E4N2 F4N4 G4D2 Najbardziej popularna gama, czyli C-dur: C4N4 D4N4 E4N4 F4N4 G4N4 A4N4 H4N4 C5N4 Parametry systemu: Interwał aktywacji: 20 Współczynnik γ: Wyniki działania programu Do przeprowadzenia testu zostało wybrane zapytanie C4N4 D4N4, czyli pierwsze 2 dźwięki gamy C-dur. Zgodnie z oczekiwaniami, w dalszej kolejności powinny zostać aktywowane neurony reprezentujące coraz wyższe tony. Czy wszystko przebiegło zgodnie z przypuszczeniami? Pierwsze wyniki 4.5 wyglądały, łagodnie mówiąc, niezbyt przekonująco. Liczba aktywacji była bardzo duża, przez co informacje prezentowane na ekranie Response stały się zupełnie nieczytelne. Wykres aktywności neuronów był zdatny do jakiejkolwiek analizy jedynie dlatego, że liczba neuronów na nim prezentowanych jest ograniczona jedynie do 10 najwcześniej aktywowanych, bądź też, w drugiej kolejności najmocniej pobudzanych. Jednak po zmianie parametrów systemu, w szczególności parametru γ, zapytanie zaczęło zwracać znacznie bardziej sensowne wyniki. Pomimo aktywacji dodatkowych neuronów, przez co melodia wynikowa wciąż była daleka od zakładanej, wyraźnie dało się zauważyć właściwą kolejność aktywacji kolejnych dźwięków w gamie C-dur. Wówczas zdecydowano się na usunięcie pozostałych sekwencji uczących i zostawiono samą gamę. W wyniku testu system zagrał pełną gamę C-dur, bezbłędnie, bez po-

43 4.3. Próba odtworzenia melodii 43 Rysunek 4.5. Wykres aktywności neuronów dla testu Melodia - kakofonia dźwięków wtórzeń. Relacje asocjacyjnego następstwa ASEQ są zatem naprawdę dobrze odwzorowywane w grafie ANAKG. Na podstawie informacji przekazanych przez system widoczny jest problem z właściwym doborem wag przy dużej liczbie podobnych sekwencji uczących. Zastosowany model grafu ANAKG nie implementuje w wystarczającym stopniu mechanizmu dyskryminacji, przez co określona sekwencja aktywacji konkretnych neuronów może pójść zupełnie innymi drogami, niż można się tego spodziewać. Pomimo faktu, że system dobrze śledzi kolejne aktywowane neurony, nie jest w stanie znaleźć dokładnej ścieżki aktywacji tych najsilniej pobudzanych, najmocniejszych skojarzeń. Wystarczy jeden dodatkowy rozszerzający kontest neuron, by zmienić cały ciąg odpowiedzi lub doprowadzić do hiperaktywności w grafie. Z jednej strony można stwierdzić, że zadziałał tutaj mechanizm uogólnienia. Z drugiej, człowiek rzadko ma problemy z poprawnym odtworzeniem gamy. Pokazuje to, że zastosowany w pracy model grafu ANAKG wciąż może być usprawniany, by jak najwierniej modelować sposób myślenia i reprezentacji wiedzy, stosowaną w biologicznych systemach skojarzeniowych BAS. Wyżej wymieniony problem jest rozwiązywany w ramach prac nad modelem ANAKG4. Kolejną rzeczą, na którą warto zwrócić uwagę, jest silna zależność odpowiedzi systemu od przyjętych parametrów. Jest on najbardziej wrażliwy na zmiany wartości γ i maksymalnego czasu relaksacji, które mają bardzo duży wpływ na kształt krzywej pobudzenia. Czas refrakcji i propagacji nie ma aż tak dużego znaczenia, zwłaszcza że ich wpływ może równoważyć zmiana interwałów pomiędzy poszczególnymi

44 Kółko i krzyżyk Rysunek 4.6. Harmonijna odpowiedź dla testu Melodia neuronami w zapytaniu. Bardzo ważną kwestią jest, czy istnieje praktyczna możliwość automatycznego wyznaczania parametrów dla asocjacyjnego systemu skojarzeniowego, by jego odpowiedź była możliwie najlepsza. W przeciwnym wypadku będzie on bardzo zależny od czynnika ludzkiego, który wprowadza element losowy związany z biologicznym, a nie sztucznym systemem skojarzeniowym Kółko i krzyżyk Opis Na potrzeby tego testu został przygotowany moduł symulujący grę w kółko i krzyżyk. Podobnie jak główny program, został on stworzony zgodnie ze wzorcem Model-View-Controller, w technologii WPF (Windows Presentation Foundation). Z silnikiem głównej aplikacji, a co za tym idzie systemem wiedzy, łączy się za pomocą interfejsów, zgodnie z paradygmatami programowania obiektowego. Po uruchomieniu modułu za pomocą klawisza F2, otwiera się nowe okno luźno powiązane z oknem głównej aplikacji. Zostaje wówczas wczytany zbiór sekwencji uczących, potrzebny do uzyskania odpowiedzi na zapytania wysyłane podczas gry. Po uruchomieniu okna zostaje wczytany uprzednio przygotowany zbiór sekwencji uczących. Powstał on na podstawie standardowych strategii wygrywających, stosowanych w rozgrywce pomiędzy ludźmi. Najważniejszym polem jest środek, zatem pierwszy ruch powinien zaznaczać właśnie to pole. Gracz,

45 4.4. Kółko i krzyżyk 45 Tablica 4.1. Wyniki gry kółko i krzyżyk - procent zwycięstw Pełna losowość Małpka Mądra małpka ANAKG 42% 70% 58% Przeciwnik 42% 23% 32% Remisy 16% 7% 10% który tego nie zrobi, praktycznie pozbawia się szans na zwycięstwo. W kolejnym ruchu warto zaznaczać pola narożne, które pokrywają więcej prostych wygrywających (3), niż pozostałe pola boczne (2). Przy optymalnej grze każdego z graczy, każdy pojedynek w kółko i krzyżyk na planszy 3x3 kończy się remisem. Dlatego też grają w nią głównie dzieci, a starsi próbują swoich sił na planszach z dużą liczbą pól, gdzie celem jest uzyskanie 5 krzyżyków lub kółek w jednej linii. Jak już wcześniej wspomniano, istnieją optymalne algorytmy wygrywające dla gry w kółko i krzyżyk. Opierają się one jednak na regułach i przeszukiwaniu drzewa, a nie na sztucznych skojarzeniach opisanych w niniejszej pracy. Podczas testów zostały rozegrane 2 serie gier z przeciwnikami na różnych poziomach trudności: pierwsza z przeciętną, druga z bardziej inteligentną wirtualną małpką. Liczba pojedynków w każdej serii wyniosła 200. Średni czas wykonania pojedynczego ruchu wyniósł ok. 120 ms. Objaśnienia zastosowanych nazw (Rysunek 4.7): Crosses - zwycięstwa krzyżyków, którymi steruje system za pomocą grafu ANAKG Noughts - zwycięstwa gracza stawiającego kółka, w tym przypadku wirtualnej małpki Draws - liczba remisów Total - wybrana liczba symulacji (domyślnie 200) Remain - pozostała liczba meczów do rozegrania Last - czas trwania ostatniej rozgrywki (ważne do oceny wydajności) Average - czas trwania przeciętnej rozgrywki Wyniki działania programu W pierwszym teście system skojarzeniowy zagrał ze średnio rozgarniętą, hipotetyczną małpką. Stawia ona kółka w losowych, choć na szczęście w poprawnych miejscach na planszy. W drugim teście przeciwnikiem systemu skojarzeniowego była znajdzie bardziej rozgarnięta małpka, która zaczynała swoją grę, jeśli to było możliwe, postawieniem kółka w samym środku planszy. Sprawiło to, że system skojarzeniowy wygrał znacznie mniej meczów i poniósł znacznie więcej porażek. Przeciętne wyniki dla symulacji gry w kółko i krzyżyk prezentują się zostały zaprezentowane w tabeli 4.1. Na podstawie wyników można zauważyć lepsze rezultaty dla gracza AAS, niż w przypadku maszyny stawiającej krzyżyki w zupełnie losowych miejscach. Jednak są one słabsze od optymalnych, które

46 Kółko i krzyżyk Rysunek 4.7. Kółko i krzyżyk - normalna małpka Rysunek 4.8. Kółko i krzyżyk - mądra małpka

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ Jak określa się inteligencję naturalną? Jak określa się inteligencję naturalną? Inteligencja wg psychologów to: Przyrodzona, choć rozwijana w toku dojrzewania i uczenia

Bardziej szczegółowo

2

2 1 2 3 4 5 Dużo pisze się i słyszy o projektach wdrożeń systemów zarządzania wiedzą, które nie przyniosły oczekiwanych rezultatów, bo mało kto korzystał z tych systemów. Technologia nie jest bowiem lekarstwem

Bardziej szczegółowo

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ Wykład 7. O badaniach nad sztuczną inteligencją Co nazywamy SZTUCZNĄ INTELIGENCJĄ? szczególny rodzaj programów komputerowych, a niekiedy maszyn. SI szczególną własność

Bardziej szczegółowo

Wprowadzenie do teorii systemów ekspertowych

Wprowadzenie do teorii systemów ekspertowych Myślące komputery przyszłość czy utopia? Wprowadzenie do teorii systemów ekspertowych Roman Simiński siminski@us.edu.pl Wizja inteligentnych maszyn jest od wielu lat obecna w literaturze oraz filmach z

Bardziej szczegółowo

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe.

Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Lingwistyczny system definicyjny wykorzystujący korpusy tekstów oraz zasoby internetowe. Autor: Mariusz Sasko Promotor: dr Adrian Horzyk Plan prezentacji 1. Wstęp 2. Cele pracy 3. Rozwiązanie 3.1. Robot

Bardziej szczegółowo

Neuroasocjacyjne modele obliczeniowe w sztucznej inteligencji dla celów formowania się wiedzy i skojarzeń

Neuroasocjacyjne modele obliczeniowe w sztucznej inteligencji dla celów formowania się wiedzy i skojarzeń Neuroasocjacyjne modele obliczeniowe w sztucznej inteligencji dla celów formowania się wiedzy i skojarzeń IRRACJONALNOŚĆ kontra RACJONALNOŚĆ czyli starcie tytanów na poziomie skojarzeń i inteligencji dr

Bardziej szczegółowo

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY. 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z przykładowym systemem ekspertowym napisanym w JESS. Studenci poznają strukturę systemu ekspertowego,

Bardziej szczegółowo

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ O badaniach nad SZTUCZNĄ INTELIGENCJĄ SZTUCZNA INTELIGENCJA dwa podstawowe znaczenia Co nazywamy sztuczną inteligencją? zaawansowane systemy informatyczne (np. uczące się), pewną dyscyplinę badawczą (dział

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

Program V-SIM tworzenie plików video z przebiegu symulacji

Program V-SIM tworzenie plików video z przebiegu symulacji Program V-SIM tworzenie plików video z przebiegu symulacji 1. Wprowadzenie Coraz częściej zdarza się, że zleceniodawca opinii prosi o dołączenie do opracowania pliku/ów Video z zarejestrowanym przebiegiem

Bardziej szczegółowo

JAKIEGO RODZAJU NAUKĄ JEST

JAKIEGO RODZAJU NAUKĄ JEST JAKIEGO RODZAJU NAUKĄ JEST INFORMATYKA? Computer Science czy Informatyka? Computer Science czy Informatyka? RACZEJ COMPUTER SCIENCE bo: dziedzina ta zaistniała na dobre wraz z wynalezieniem komputerów

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

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

Bardziej szczegółowo

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

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P). PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II DZIAŁ I: KOMPUTER W ŻYCIU CZŁOWIEKA. 1. Lekcja organizacyjna. Zapoznanie uczniów z wymaganiami edukacyjnymi i PSP. 2. Przykłady zastosowań komputerów

Bardziej szczegółowo

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda Sieci neuropodobne 1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN Agenda Trochę neurobiologii System nerwowy w organizmach żywych tworzą trzy

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA SYSTEMY ROZMYTE Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej Laboratorium

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,

Bardziej szczegółowo

Podsumowanie wyników ankiety

Podsumowanie wyników ankiety SPRAWOZDANIE Kierunkowego Zespołu ds. Programów Kształcenia dla kierunku Informatyka dotyczące ankiet samooceny osiągnięcia przez absolwentów kierunkowych efektów kształcenia po ukończeniu studiów w roku

Bardziej szczegółowo

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

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

Adrian Horzyk

Adrian Horzyk Metody Inteligencji Obliczeniowej Metoda K Najbliższych Sąsiadów (KNN) Adrian Horzyk horzyk@agh.edu.pl AGH Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz WIEDZA prawda komunikat symbol DANE fałsz kod INFORMACJA (nie tyko w informatyce) liczba znak forma ENTROPIA przekaz wiadomość Czy żyjemy w erze informacji? TAK Bo używamy nowego rodzaju maszyn maszyn

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy oólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje

Bardziej szczegółowo

3.1. Na dobry początek

3.1. Na dobry początek Klasa I 3.1. Na dobry początek Regulamin pracowni i przepisy BHP podczas pracy przy komputerze Wykorzystanie komputera we współczesnym świecie Zna regulamin pracowni i przestrzega go. Potrafi poprawnie

Bardziej szczegółowo

WIEDZA METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza

WIEDZA METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING. Adrian Horzyk. Akademia Górniczo-Hutnicza METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING WIEDZA Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki

Bardziej szczegółowo

ANKIETA SAMOOCENY OSIĄGNIĘCIA KIERUNKOWYCH EFEKTÓW KSZTAŁCENIA

ANKIETA SAMOOCENY OSIĄGNIĘCIA KIERUNKOWYCH EFEKTÓW KSZTAŁCENIA Szanowny Studencie, ANKIETA SAMOOCENY OSIĄGNIĘCIA KIERUNKOWYCH EFEKTÓW KSZTAŁCENIA bardzo prosimy o anonimową ocenę osiągnięcia kierunkowych efektów kształcenia w trakcie Twoich studiów. Twój głos pozwoli

Bardziej szczegółowo

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań TABELA ODNIESIEŃ EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA PROGRAMU KSZTAŁCENIA DO EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA OBSZARU KSZTAŁCENIA I PROFILU STUDIÓW PROGRAM KSZTAŁCENIA: POZIOM KSZTAŁCENIA: PROFIL KSZTAŁCENIA:

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

BIOCYBERNETYKA PROLOG

BIOCYBERNETYKA PROLOG Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej BIOCYBERNETYKA Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery

Bardziej szczegółowo

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej. Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-

Bardziej szczegółowo

[1] [2] [3] [4] [5] [6] Wiedza

[1] [2] [3] [4] [5] [6] Wiedza 3) Efekty dla studiów drugiego stopnia - profil ogólnoakademicki na kierunku Informatyka w języku angielskim (Computer Science) na specjalności Sztuczna inteligencja (Artificial Intelligence) na Wydziale

Bardziej szczegółowo

Zakładane efekty kształcenia dla kierunku Wydział Telekomunikacji, Informatyki i Elektrotechniki

Zakładane efekty kształcenia dla kierunku Wydział Telekomunikacji, Informatyki i Elektrotechniki Jednostka prowadząca kierunek studiów Nazwa kierunku studiów Specjalności Obszar kształcenia Profil kształcenia Poziom kształcenia Forma kształcenia Tytuł zawodowy uzyskiwany przez absolwenta Dziedziny

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

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

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

Bardziej szczegółowo

Narzędzia AI. Jakub Wróblewski jakubw@pjwstk.edu.pl Pokój 312. http://zajecia.jakubw.pl SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

Narzędzia AI. Jakub Wróblewski jakubw@pjwstk.edu.pl Pokój 312. http://zajecia.jakubw.pl SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE) Narzędzia AI Jakub Wróblewski jakubw@pjwstk.edu.pl Pokój 312 http://zajecia.jakubw.pl SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE) Nauka o maszynach realizujących zadania, które wymagają inteligencji

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

Transformacja wiedzy w budowie i eksploatacji maszyn

Transformacja wiedzy w budowie i eksploatacji maszyn Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces

Bardziej szczegółowo

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych. Wstęp do teorii sztucznej inteligencji Wykład III Modele sieci neuronowych. 1 Perceptron model najprostzszy przypomnienie Schemat neuronu opracowany przez McCullocha i Pittsa w 1943 roku. Przykład funkcji

Bardziej szczegółowo

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie

Bardziej szczegółowo

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Użytkowanie baz danych. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

WYMAGANIA NA POSZCZEGÓLNE OCENY Z INFORMATYKI /GIMNAZJUM W SŁAWĘCINIE/

WYMAGANIA NA POSZCZEGÓLNE OCENY Z INFORMATYKI /GIMNAZJUM W SŁAWĘCINIE/ WYMAGANIA NA POSZCZEGÓLNE OCENY Z INFORMATYKI /GIMNAZJUM W SŁAWĘCINIE/ Lp. Uczeń: K (2) P (3) R (4) D (5) 1. Zna regulamin i przepisy BHP w pracowni komputerowej 2. Wie, na czym polega bezpieczna praca

Bardziej szczegółowo

Przedmiotowy system oceniania z języka angielskiego obowiązujący od roku szkolnego 2009/2010 (nowa podstawa programowa)

Przedmiotowy system oceniania z języka angielskiego obowiązujący od roku szkolnego 2009/2010 (nowa podstawa programowa) Przedmiotowy system oceniania z języka angielskiego obowiązujący od roku szkolnego 2009/2010 (nowa podstawa programowa) Co i jak oceniamy na lekcjach języka angielskiego? kompetencje ucznia w zakresie

Bardziej szczegółowo

Sztuczna inteligencja - wprowadzenie

Sztuczna inteligencja - wprowadzenie Sztuczna inteligencja - wprowadzenie Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Sztuczna inteligencja komputerów - wprowadzenie Kontakt: dr inż. Dariusz Banasiak, pok.

Bardziej szczegółowo

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku UCHWAŁA NR 46/2013 Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku w sprawie: korekty efektów kształcenia dla kierunku informatyka Na podstawie ustawy z dnia

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

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

Wymagania dla cyklu dwugodzinnego w ujęciu tabelarycznym. Gimnazjum nr 1 w Miechowie

Wymagania dla cyklu dwugodzinnego w ujęciu tabelarycznym. Gimnazjum nr 1 w Miechowie Wymagania dla cyklu dwugodzinnego w ujęciu tabelarycznym Gimnazjum nr 1 w Miechowie Informatyka Lp. Uczeń: 1. Zna regulamin i przepisy BHP w pracowni komputerowej 2. Wie, na czym polega bezpieczna praca

Bardziej szczegółowo

PRZEDMIOTOWY SYSTEM OCENIANIA - MATEMATYKA

PRZEDMIOTOWY SYSTEM OCENIANIA - MATEMATYKA PRZEDMIOTOWY SYSTEM OCENIANIA - MATEMATYKA Nadrzędnym celem oceniania jest pozyskiwanie przez nauczyciela i ucznia w trakcie nauczania informacji, które pozwolą rozpoznać, jak przebiega proces uczenia

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

UCHWAŁA NR 71/2017 SENATU UNIWERSYTETU WROCŁAWSKIEGO z dnia 31 maja 2017 r.

UCHWAŁA NR 71/2017 SENATU UNIWERSYTETU WROCŁAWSKIEGO z dnia 31 maja 2017 r. UCHWAŁA NR 71/2017 SENATU UNIWERSYTETU WROCŁAWSKIEGO z dnia 31 maja 2017 r. zmieniająca uchwałę w sprawie efektów kształcenia dla kierunków studiów prowadzonych w Uniwersytecie Wrocławskim Na podstawie

Bardziej szczegółowo

O REDUKCJI U-INFORMACJI

O REDUKCJI U-INFORMACJI O REDUKCJI U-INFORMACJI DO DANYCH Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki o komunikacji KOMPUTER informatyka elektronika

Bardziej szczegółowo

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW WYDZIAŁ KIERUNEK z obszaru nauk POZIOM KSZTAŁCENIA FORMA STUDIÓW PROFIL JĘZYK STUDIÓW Podstawowych Problemów Techniki Informatyka technicznych 6 poziom, studia inżynierskie

Bardziej szczegółowo

OGÓLNOAKADEMICKI. Kierunek studiów ASTRONOMIA o profilu ogólnoakademickim należy do obszaru kształcenia w zakresie nauk ścisłych.

OGÓLNOAKADEMICKI. Kierunek studiów ASTRONOMIA o profilu ogólnoakademickim należy do obszaru kształcenia w zakresie nauk ścisłych. Załącznik do uchwały nr 243 Senatu Uniwersytetu Zielonogórskiego z dnia 28 lutego 2018 r. I. EFEKTY KSZTAŁCENIA 1. Tabela odniesień efektów kierunkowych do efektów obszarowych z komentarzami EFEKTY KSZTAŁCENIA

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

KIERUNKOWE EFEKTY KSZTAŁCENIA

KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA II STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

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

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020

Wymagania edukacyjne z informatyki dla uczniów klas VI SP nr 53 w Krakowie w roku szkolnym 2019/2020 Prowadzący: Elwira Kukiełka Ewa Pawlak-Głuc 1 Opracowano na podstawie: 1. Podstawa programowa(dz.u. z 017r. poz. ) Rozporządzenie Ministra Edukacji Narodowej z dnia 1 lutego 017 r. w sprawie podstawy programowej

Bardziej szczegółowo

Inteligentne Multimedialne Systemy Uczące

Inteligentne Multimedialne Systemy Uczące Działanie realizowane w ramach projektu Absolwent informatyki lub matematyki specjalistą na rynku pracy Matematyka i informatyka może i trudne, ale nie nudne Inteligentne Multimedialne Systemy Uczące dr

Bardziej szczegółowo

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010

ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010 ERGODESIGN - Podręcznik użytkownika Wersja 1.0 Warszawa 2010 Spis treści Wstęp...3 Organizacja menu nawigacja...3 Górne menu nawigacyjne...3 Lewe menu robocze...4 Przestrzeń robocza...5 Stopka...5 Obsługa

Bardziej szczegółowo

zakładane efekty kształcenia

zakładane efekty kształcenia Załącznik nr 1 do uchwały nr 41/2018 Senatu Politechniki Śląskiej z dnia 28 maja 2018 r. Efekty kształcenia dla kierunku: INFORMATYKA WYDZIAŁ AUTOMATYKI, ELEKTRONIKI I INFORMATYKI WYDZIAŁ ELEKTRYCZNY nazwa

Bardziej szczegółowo

Projekt z przedmiotu Specjalizowane języki programowania Temat: Zastosowanie programowania obiektowego w środowisku LabView

Projekt z przedmiotu Specjalizowane języki programowania Temat: Zastosowanie programowania obiektowego w środowisku LabView Projekt z przedmiotu Specjalizowane języki programowania Temat: Zastosowanie programowania obiektowego w środowisku LabView Wykonali: Krzysztof Przybyłek Piotr Misiuda IVFDS Istotę programowania obiektowego

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

KIERUNKOWE EFEKTY KSZTAŁCENIA

KIERUNKOWE EFEKTY KSZTAŁCENIA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA I STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina

Bardziej szczegółowo

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Załącznik nr 1 Specyfikacja przedmiotu zamówienia Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody. Słowniczek pojęć Badanie

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS) Temat: Platforma Systemowa Wonderware cz. 2 przemysłowa baza danych,

Bardziej szczegółowo

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej. 1 Wymagania na poszczególne oceny szkolne dla klasy VI (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI ) 2 1. Obliczenia w arkuszu kalkulacyjnym słucha poleceń nauczyciela

Bardziej szczegółowo

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych Plan wystąpienia Co to jest sztuczna inteligencja? Pojęcie słabej

Bardziej szczegółowo

dr inż. Jarosław Forenc

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

Bardziej szczegółowo

Wprowadzenie do multimedialnych baz danych. Opracował: dr inż. Piotr Suchomski

Wprowadzenie do multimedialnych baz danych. Opracował: dr inż. Piotr Suchomski Wprowadzenie do multimedialnych baz danych Opracował: dr inż. Piotr Suchomski Wprowadzenie bazy danych Multimedialne bazy danych to takie bazy danych, w których danymi mogą być tekst, zdjęcia, grafika,

Bardziej szczegółowo

I. Raport wykonywalności projektu

I. Raport wykonywalności projektu Spis treści: " I. " Raport wykonywalności projektu..." str. 2 " II. " Glosariusz projektu... " str. 4 " III. " Diagramy relacji encja-związek..." str. 6 " IV. " Diagramy przepływu danych..." str. 7 " V.

Bardziej szczegółowo

Załącznik 2. Symbol efektu obszarowego. Kierunkowe efekty uczenia się (wiedza, umiejętności, kompetencje) dla całego programu kształcenia

Załącznik 2. Symbol efektu obszarowego. Kierunkowe efekty uczenia się (wiedza, umiejętności, kompetencje) dla całego programu kształcenia Załącznik 2 Opis kierunkowych efektów kształcenia w odniesieniu do efektów w obszarze kształcenia nauk ścisłych profil ogólnoakademicki Kierunek informatyka, II stopień. Oznaczenia efektów obszarowych

Bardziej szczegółowo

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło LATO 2007 Projektowanie Graficznych Interfejsów Użytkownika 1 UCD - User Centered Design 1) User Centered Design Projekt Skoncentrowany

Bardziej szczegółowo

Zastosowanie Informatyki w Medycynie

Zastosowanie Informatyki w Medycynie Zastosowanie Informatyki w Medycynie Dokumentacja projektu wykrywanie bicia serca z sygnału EKG. (wykrywanie załamka R) Prowadzący: prof. dr hab. inż. Marek Kurzyoski Grupa: Jakub Snelewski 163802, Jacek

Bardziej szczegółowo

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w

Bardziej szczegółowo

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol KIERUNKOWE EFEKTY KSZTAŁCENIA Wydział Informatyki i Zarządzania Kierunek studiów INFORMATYKA (INF) Stopień studiów - pierwszy Profil studiów - ogólnoakademicki Projekt v1.0 z 18.02.2015 Odniesienie do

Bardziej szczegółowo

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM 1.1. PODSTAWOWE INFORMACJE PC to skrót od nazwy Komputer Osobisty (z ang. personal computer). Elementy komputera można podzielić na dwie ogólne kategorie: sprzęt - fizyczne

Bardziej szczegółowo

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej Sport, promocja i turystyka Instrukcja użytkownika Historia zmian Wersja Data Kto Opis zmian 1.0 2013-12-13 MGGP S.A. Utworzenie

Bardziej szczegółowo

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Podstawowe definicje Baza danych to uporządkowany zbiór danych umożliwiający łatwe przeszukiwanie i aktualizację. System zarządzania bazą danych (DBMS) to oprogramowanie

Bardziej szczegółowo

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII?

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII? Festiwal Myśli Abstrakcyjnej, Warszawa, 22.10.2017 Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII? Dwa kluczowe terminy Co nazywamy sztuczną inteligencją? zaawansowane systemy informatyczne (np. uczące

Bardziej szczegółowo

O ISTOTNYCH OGRANICZENIACH METODY

O ISTOTNYCH OGRANICZENIACH METODY O ISTOTNYCH OGRANICZENIACH METODY ALGORYTMICZNEJ Dwa pojęcia algorytmu (w informatyce) W sensie wąskim Algorytmem nazywa się każdy ogólny schemat procedury możliwej do wykonania przez uniwersalną maszynę

Bardziej szczegółowo

Zakładane efekty kształcenia dla kierunku

Zakładane efekty kształcenia dla kierunku Zakładane efekty dla kierunku Jednostka prowadząca kierunek studiów Nazwa kierunku studiów Specjalności Obszar Profil Poziom Tytuł zawodowy uzyskiwany przez absolwenta Dziedziny nauki / sztuki i dyscypliny

Bardziej szczegółowo

Kierunkowe efekty kształcenia (wiedza, umiejętności, kompetencje) Kierunek Informatyka

Kierunkowe efekty kształcenia (wiedza, umiejętności, kompetencje) Kierunek Informatyka Załącznik 2 Opis kierunkowych efektów kształcenia w odniesieniu do efektów w obszarze kształcenia nauk ścisłych profil ogólnoakademicki Kierunek informatyka, I stopień tryb stacjonarny. Oznaczenia efektów

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie. SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Bazy danych TERMINOLOGIA

Bazy danych TERMINOLOGIA Bazy danych TERMINOLOGIA Dane Dane są wartościami przechowywanymi w bazie danych. Dane są statyczne w tym sensie, że zachowują swój stan aż do zmodyfikowania ich ręcznie lub przez jakiś automatyczny proces.

Bardziej szczegółowo

Uchwała Nr 59/2016/IX Senatu Politechniki Lubelskiej z dnia 15 grudnia 2016 r.

Uchwała Nr 59/2016/IX Senatu Politechniki Lubelskiej z dnia 15 grudnia 2016 r. Uchwała Nr 59/2016/IX Senatu Politechniki Lubelskiej z dnia 15 grudnia 2016 r. w sprawie określenia efektów kształcenia dla studiów podyplomowych Grafika komputerowa w technice i reklamie prowadzonych

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

M T E O T D O ZI Z E E A LG L O G R O Y R TM

M T E O T D O ZI Z E E A LG L O G R O Y R TM O ALGORYTMACH I METODZIE ALGORYTMICZNEJ Czym jest algorytm? Czym jest algorytm? przepis schemat zestaw reguł [ ] program ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające

Bardziej szczegółowo

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Marek Żukowicz 14 marca 2018 Streszczenie Celem napisania artykułu jest próba podania konstruktywnego dowodu, który wyjaśnia, że niewielka

Bardziej szczegółowo

Liczba zadań a rzetelność testu na przykładzie testów biegłości językowej z języka angielskiego

Liczba zadań a rzetelność testu na przykładzie testów biegłości językowej z języka angielskiego Ewaluacja biegłości językowej Od pomiaru do sztuki pomiaru Liczba zadań a rzetelność testu na przykładzie testów biegłości językowej z języka angielskiego Tomasz Żółtak Instytut Badań Edukacyjnych oraz

Bardziej szczegółowo

2.2 Opis części programowej

2.2 Opis części programowej 2.2 Opis części programowej Rysunek 1: Panel frontowy aplikacji. System pomiarowy został w całości zintegrowany w środowisku LabVIEW. Aplikacja uruchamiana na komputerze zarządza przebiegiem pomiarów poprzez

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

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