Wydział Elektroniki kierunek: Informatyka/INS. Systemy klasyfikujące w modelowaniu sztucznego życia

Podobne dokumenty
JAKIEGO RODZAJU NAUKĄ JEST

Obliczenia inspirowane Naturą

Algorytmy sztucznej inteligencji

O ISTOTNYCH OGRANICZENIACH METODY

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Turing i jego maszyny

Programowanie komputerów

Agnieszka Nowak Brzezińska Wykład III

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy genetyczne

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

MODELOWANIE RZECZYWISTOŚCI

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

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

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

Agnieszka Nowak Brzezińska

Agnieszka Nowak Brzezińska Wykład III

Modelowanie i obliczenia techniczne. dr inż. Paweł Pełczyński

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

1 Wprowadzenie do algorytmiki

MODELOWANIE RZECZYWISTOŚCI

Analiza danych. TEMATYKA PRZEDMIOTU

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ

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

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

CZYM SĄ OBLICZENIA NAT A URALNE?

Efekt motyla i dziwne atraktory

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Układy dynamiczne Chaos deterministyczny

XV FESTIWAL NAUKI 2011 WPROWADZENIE DO BIOCYBERNETYKI

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Wprowadzenie do teorii systemów ekspertowych

Algebra Boole a i jej zastosowania

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Elementy modelowania matematycznego

Liczby zmiennoprzecinkowe i błędy

Maciej Piotr Jankowski

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Systemy uczące się Lab 4

Optymalizacja. Wybrane algorytmy

Prawdopodobieństwo czerwonych = = 0.33

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Szczegółowy opis wszystkich sprawdzanych czynności wraz z poziomem ich wykonania zawiera poniższa tabela.

Tworzenie gier na urządzenia mobilne

Metoda Karnaugh. B A BC A

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Algorytm genetyczny (genetic algorithm)-

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

ROZUMIENIE ZE SŁUCHU

Wykład I. Wprowadzenie do baz danych

Ćwiczenia z przetwarzania tablic 2D

Laboratorium 5: Tablice. Wyszukiwanie binarne

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

O ALGORYTMACH I MASZYNACH TURINGA

Z matematyką i programowaniem za pan brat. Szkoła Podstawowa im. A. Fiedlera w Połajewie

NAUKA JAK UCZYĆ SIĘ SKUTECZNIE (A2 / B1)

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

Alan M. TURING. Matematyk u progu współczesnej informatyki

UCHWAŁA Nr 31/2014 Senatu Uniwersytetu Wrocławskiego z dnia 26 marca 2014 r.

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Definicje. Najprostszy schemat blokowy. Schemat dokładniejszy

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

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

Zastosowanie bisymulacji do. Non-Interference XVI FIT, Karpacz 2002

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Nie święci garnki lepią. czyli wprowadzenie do programowania

Mikroekonometria 6. Mikołaj Czajkowski Wiktor Budziński

Spostrzeganie jako proces kategoryzacji percepcyjnej.

Teoria obliczeń i złożoność obliczeniowa

KARTA MODUŁU KSZTAŁCENIA

Wymagania edukacyjne niezbędne do otrzymania przez ucznia śródrocznych i rocznych ocen klasyfikacyjnych. z przedmiotu etyka

dr Anna Mazur Wyższa Szkoła Promocji Intuicja a systemy przekonań

Obliczenia inspirowane Naturą

Najprostszy schemat blokowy

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

SZTUCZNA INTELIGENCJA

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

Jak wytresować swojego psa? Częs ć 6. Nie podejmowanie przedmiotów

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

TEORETYCZNE PODSTAWY INFORMATYKI

Wymagania edukacyjne z informatyki w klasie IIIa gimnazjum

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Techniki animacji komputerowej

Automaty komórkowe. Katarzyna Sznajd-Weron

Efekt kształcenia. Wiedza

MODELOWANIE RZECZYWISTOŚCI

Generowanie i optymalizacja harmonogramu za pomoca

oności. Zastosowanie modelowania Agent-based Computational Economics w nauczaniu zdalnym

składa się z m + 1 uporządkowanych niemalejąco liczb nieujemnych. Pomiędzy p, n i m zachodzi następująca zależność:

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

Aproksymacja funkcji a regresja symboliczna

Transkrypt:

Wydział Elektroniki kierunek: Informatyka/INS Informatyka systemów autonomicznych (1) 2006/2007 Systemy klasyfikujące w modelowaniu sztucznego życia Opracowanie: Jędrysiak Sylwester 133266 Prowadzący: dr inż. Marek Piasecki Wrocław 2007

SPIS TREŚCI Informatyka systemów autonomicznych Spis treści 1 System klasyfikujący 3 1.1 Definicja..................................... 3 1.2 Składniki systemu klasyfikującego....................... 3 2 Sztuczne życie 4 3 Historia 5 3.1 Gra w życie................................... 5 3.2 Animki...................................... 5 4 Kiedy gonić listonosza 7 Literatura 9 Politechnika Wrocławska 2

1 System klasyfikujący Informatyka systemów autonomicznych 1 System klasyfikujący 1.1 Definicja System klasyfikujący jest to system, który uczy się prostych syntaktycznie reguł (zwanych klasyfikatorami), w celu koordynacji swoich działań w dowolnym środowisku. Jest to specjalizowana aplikacja na bazie algorytmów genetycznych czasami nazywana agentem adaptacyjnym. Jedynym sposobem na stworzenie działającego systemu klasyfikującego jest sklasyfikowanie środowiska, w którym ma działać i efektywne wykorzystanie reguł. Jest to bardzo ludzki sposób obserwacji świata. Ludzie zawszę obserwują środowisko, dzielą je na kategorie, podkategorie. Gdy napotykamy jakąś nieznaną sytuację, próbujemy użyć metody, która wydaje się być najodpowiedniejsza w danym momencie. Systemy klasyfikujące mają zdolność do kategoryzowania swojego środowiska i dynamicznego tworzenia reguł, dzięki czemu mogą przystosowywać się do zmiennych warunków. 1.2 Składniki systemu klasyfikującego Podstawowymi elementami systemu klasyfikującego są: 1. środowisko wysyłające komunikaty, 2. dane wejściowe, 3. reguły, 4. algorytm genetyczny. Układ przetwarzania komunikatów w systemie klasyfikującym stanowi szczególny przypadek systemu produkcji. Choć rozmaite warianty systemów produkcji różnią się szczegółami składniowymi, ogólnie biorąc produkcje mają w nich następującą postać: jeśli < warunek > to < akcja > Na pierwszy rzut oka ograniczenie się do tak prostego mechanizmu reprezentacji wiedzy wydaje się zbyt restrykcyjne. Jednakże dowiedziono, że systemy produkcji są systemami uniwersalnymi obliczeniowo. Co więcej są one dogodne w aspekcie algorytmicznym. Systemy klasyfikujące dopuszczają jedynie reguły mające reprezentacje o stałej długości. Takie ograniczenie ma dwie zalety. Po pierwsze wszystkie ciągi symboli określonego Politechnika Wrocławska 3

2 Sztuczne życie Informatyka systemów autonomicznych alfabetu są poprawnymi syntaktycznie regułami. Po drugie, reprezentacja w postaci słów o ustalonej długości umożliwia zastosowanie operacji typu genetycznego. Dzięki temu powstaje możliwość wykorzystania algorytmu genetycznego do poszukiwań w przestrzeni dopuszczalnych reguł. W tradycyjnych systemach doradczych wartość określonej reguły w stosunku do innych reguł zostaje ustalona przez programistę na podstawie ocen eksperta lub grupy ekspertów, których dany system ma emulować. W systemie uczącym się reguł nie ma miejsca na taki luksus. Względna wartość różnych reguł jest właśnie jedną z podstawowych rzeczy, których trzeba się wyuczyć. W celu wspomagania tego typu uczenia się systemy klasyfikujące zmuszają klasyfikatory do koegzystencji w ramach rynku usług informacyjnych. Klasyfikatory konkurują ze sobą o prawo do reakcji na komunikaty, przyznawane tym spośród nich, które składają najkorzystniejsze oferty, przy czym opłaty ponoszone z tego tytułu służą jako źródło przychodu dla nadawców, których komunikaty zostały pomyślnie odebrane. W ten sposób tworzy się łańcuch pośredników między producentem (detektory) a konsumentem (akcje). 2 Sztuczne życie Pojęcie sztuczne życie wydaje się mieć w sobie coś sztucznego. Jest to dość niefortunne określenie. Przecież życie nie może być sztuczne. Życie z samego swojego założenia jest żywe i nie można mówić o sztuczności. A jeśli coś jest sztuczne nie ma mowy o istnieniu życia. Pojęcie to sugeruje, że człowiek w swoim twórczym pędzie zabiera się do stworzenia życia. Życie w każdym swoim przejawie i na każdej płaszczyźnie opiera się na prostych interakcjach pomiędzy poszczególnymi jednostkami, które wzajemnie na siebie wpływają. Widać tu bardzo silną analogię do systemów klasyfikujących. Ta prosta zasada obowiązuje w niezwykle złożonym i różnorodnym świecie żywych organizmów. Podobne zasady wykorzystał w 1968 roku brytyjski matematyk John Conway, tworząc Grę w Życie (Game of Life). Politechnika Wrocławska 4

3 Historia Informatyka systemów autonomicznych 3 Historia 3.1 Gra w życie Gra ta polega na stosowaniu określonych reguł (pojęcie reguły pojawia się po raz kolejny) dla każdego kwadratu reprezentującego komórkę w pewnej siatce. Te reguły to: Każdy czarny kwadracik (komórka) jest żywy. Każda biała komórka jest martwa. Każda komórka ma ośmiu sąsiadów. Każda komórka może jako żywa przejść do następnej generacji, jeżeli jej dwóch lub trzech sąsiadów to żywe komórki. Jeśli więcej niż trzy (zatłoczenie) lub mniej niż dwie (izolacja) sąsiednie komórki są żywe, to komórka umiera. Każda martwa komórka może zostać ożywiona, jeżeli jej trzech sąsiadów to żywe komórki. Stosowanie tych reguł za każdym razem dla każdej komórki jest równoznaczne z przechodzeniem z jednego pokolenia do drugiego. Kolejne generacje charakteryzują się zmianami wzorów powstających przy wizualizacji tego procesu. Po rozpoczęciu działania algorytmu od jakiegoś początkowego schematu komórek (losowego lub konkretnego) można się spodziewać nawet wyjątkowo złożonych fascynujących kształtów. Niektóre układy komórek szybko stawały się nieuporządkowanym zbiorem i umierały, ale inne pozostawały aktywne przez setki albo i tysiące pokoleń pozostając w skończonym układzie wzorów, wśród których można wyróżnić tzw. szybowce, oczy, bramki logiczne czy pamięci binarne. Tak więc przechodzimy od prostoty początkowej formy i prostych reguł do wysokiej złożoności otrzymywanych w ten sposób wyników. 3.2 Animki Wszystkie istoty automaty o złożonych regułach w sztucznym życiu przejawiające pewne zachowania prawdziwych zwierząt nazywane są animkami. Stewart Wilson pierwszy użył tego określenia, nazywając tak swoje wyewoluowane na komputerze poszukujące pożywienia automaty w kształcie kwadratów. Usiłował on zrozumieć podstawowe reguły uczenia się istot żywych prowadzące do lepszego dostosowania się do otoczenia i wymuszające odpowiednie zachowanie. W swoich badaniach wykorzystał systemy klasyfikujące Politechnika Wrocławska 5

3.2 Animki Informatyka systemów autonomicznych w podobny sposób, w jaki wykorzystał je John Holland w swojej komputerowej żabie. Żaba ta to indywiduum mogące określić jej stosunek do pojawiającego się w jej otoczeniu obcego obiektu. Na podstawie odpowiednich właściwości obiektu jak wielkość, położenie i odległość może podjąć albo atak, albo ucieczkę. Działanie systemu klasyfikującego pomaga jej odpowiedzieć na pytanie jak się zachować w jakiej sytuacji. Jeżeli obiekt jest duży i jest blisko to należy założyć, że jest wrogiem, a jeśli mały, lata i do tego blisko, to należy założyć, że jest pożywieniem. W pozostałych przypadkach żaba może nie reagować na ten obiekt. W ten sposób Wilson zaprogramował swojego pierwszego animka, którego głównym celem było znajdowanie pożywienia. Aby to osiągnąć posiadał on trzy podstawowe zmysły: wzrok, węch i smak oraz możliwość odczuwania bólu i przyjemności. Nowo stworzony animek po pewnym czasie wykorzystując swoje możliwości nauczył się odnajdować szybko jedzenie w swoim środowisku znacznie szybciej niż tuż po stworzeniu. Wyglądało to tak, że analizował otoczenie, sprawdzał swoje reguły i albo podejmował działanie na ich podstawie albo dodawał sobie nową regułę, gdy spotkał się z czymś nowym. W czasie swojego istnienia pewne reguły można było uogólnić, a inne usunąć, gdy się nie sprawdzały. W ten sposób utworzył sobie na własne potrzeby 8 podstawowych reguł i był w stanie za każdym razem sprawnie odnaleźć pożywienie. Na każdym poziomie życia, począwszy od reakcji biochemicznych w komórce, a skończywszy na ekosystemach, spotykamy ten sam schemat: pojedyncze jednostki mogące wpływać na zachowanie się innych jednostek i jednocześnie modyfikujące własne zachowanie pod wpływem pozostałych jednostek. A więc: jednostki i reguły ich zachowania, a w szczególności reguły akcji i reakcji przy spotkaniu z innymi jednostkami. Dla układów biologicznych jest przy tym charakterystyczne, że lokalne reguły są względnie proste, zwłaszcza w porównaniu z zachowaniem się całego układu. Własności układu, choćby najbardziej skomplikowane, muszą tu pojawić się jako skutek realizowania się jednostkowych reguł gry. Abstrahowanie od całej złożoności realnych układów niejednokrotnie już w historii nauki pozwoliło na intelektualne uchwycenie nowych sposobów ujęcia starych tematów. Politechnika Wrocławska 6

4 Kiedy gonić listonosza Informatyka systemów autonomicznych 4 Kiedy gonić listonosza Można by się zastanowić dlaczego psy ganiają listonoszy. Na pewno mają ku temu jakiś dobry powód, ale jedne psy to robią, inne nie. Zbudujmy system, który będzie podejmował decyzję czy gonić listonosza czy nie. Listonosz może różnie wyglądać i różnie się zachowywać. Może być duży, mały, szybki wolny. Przyjmijmy więc, że tego typu cechy listonosza będą wpływać na decyzję psa. Problem jaki możemy sobie postawić to jaka akcja będzie najlepsza dla konkretnego rodzaju listonosza. Więc odnosząc się do definicji z punktu 1.2 można wymienić: 1. środowiskiem jest prosty świat składający się z psów czekających na listonosza, 2. dane wejściowe to ciągły strumień różnych typów listonoszy, 3. chcemy odkryć reguły, które powiedzą psu co powinien zrobić w konfrontacji z określonym listonoszem, 4. użyjemy algorytmu genetycznego do wyznaczenia najlepszych reguł (na początku posiadamy jedynie losowe reguły postępowania) Jak zawsze jeśli chcemy, aby komputer wykonał za nas jakąś pracę musimy problem opisać w sposób dla niego zrozumiały. Przyjmijmy, że listonosza można opisać za pomocą 4 cech: wielkość szybkość czy boi się psów czy nosi karabin maszynowy Posiadając wyżej wymienione cechy możemy stworzyć 16 różnych typów listonoszy. Jednego z nich możemy opisać np. tak: DUŻY SZYBKI BOI SIĘ NOSI KARABIN 1 1 0 0 czyli nasz listonosz jest duży, szybki, nie boi się psów i nie nosi karabinu. Każdy typ listonosza musi posiadać regułę mówiącą jak ma się zachować pies na jego widok. Najlepszym sposobem na wyznaczenie tych reguł jest pozwolić systemowi, aby sam je znalazł metodą kontrolowanych prób i błędów przez operacje genetyczne. Standardowo startujemy od reguł losowych. Politechnika Wrocławska 7

4 Kiedy gonić listonosza Informatyka systemów autonomicznych Zdefiniujmy sposób opisu reguł: IF [typ listonosza] THEN [akcja] Akcja oparta jest na ograniczonej liczbie wyborów. W tym przykładzie mamy do wyboru akcje: 1. goń listonosza, 2. uciekaj, 3. nic nie rób. Pozostaje jeszcze opisać całą regułę w sposób prosty do obróbki dla komputera i dla algorytmu genetycznego. Np. regułę IF [duży] AND [wolny] AND [boi się] AND [nie ma karabinu] THEN [goń listonosza] można zapisać: DUŻY SZYBKI BOI SIĘ NOSI KARABIN / GOŃ UCIEKAJ NIC NIE RÓB 1 0 1 0 / 1 0 0 Można także zdefiniować bardziej ogólną regułę IF [nosi karabin] THEN [uciekaj]: DUŻY SZYBKI BOI SIĘ NOSI KARABIN / GOŃ UCIEKAJ NIC NIE RÓB # # # 1 / 0 1 0 Mając gotowe reprezentacje binarne reguł możemy je ewoluować za pomocą algorytmu genetycznego. Jednak aby algorytm zadziałał musimy mieć jakiś sposób oceny podejmowanych akcji. Np. nie chcemy, aby pies został skrzywdzony lub żeby nie marnował energii. Oba te warunki muszą zostać umieszczone w funkcji oceniającej, aby jedne reguły otrzymywały nagrody, a inne były karane. Jeśli np. mamy regułę, która mówi, że pies próbuje gonić listonosza, chociaż wiemy, że go nie dogoni, to taka reguła otrzyma niską wartość funkcji dopasowania. Używając powyższej miary funkcji dopasowania, nasz system po pewnym czasie mógłby wygenerować taki oto zestaw reguł: IF [duży] AND [wolny] THEN [nic nie rób] (pies może dogonić listonosza, ale ten może go skrzywdzić) IF [mały] AND [wolny] THEN [goń] (pies może dogonić listonosza bez obawy, że coś mu zrobi) IF [szybki] AND [boi się] THEN [nic nie rób] (listonosz ucieknie, bo jest szybki) Politechnika Wrocławska 8

LITERATURA Informatyka systemów autonomicznych IF [szybki] AND [nie boi się] THEN [goń] (listonosz jest szybki, ale nie będzie uciekał) IF [ma karabin] THEN [uciekaj] (listonosz ma broń, lepiej uciekać) Przedstawiony problem psa i listonosza jest na tyle prosty, że dałoby się go przedstawić w formie kilku równań z kilkoma niewiadomymi. Jednak jeśli mamy do czynienia z bardziej złożonym problemem, gdzie nie do końca znamy nasze wymagania, system klasyfikujący może okazać się przydatnym narzędziem. Może on nawet wytworzyć reguły, o których nigdy byśmy nie pomyśleli. Literatura [1] David E. Goldberg, Algorytmy genetyczne i ich zastosowanie, WNT 2003 [2] http://www.alife.pl/ Politechnika Wrocławska 9