Programowanie genetyczne - gra SNAKE
|
|
- Józef Lipiński
- 8 lat temu
- Przeglądów:
Transkrypt
1 PRACOWNIA Z ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne - gra SNAKE II UWr Wrocław 2009
2 Spis treści 1. Wstęp Ogólny opis Informacje dla użytkowników Charakterystyka systemu Charakterystyka osobnika Schematy ewolucji Zastosowane operatory genetyczne MaxReproduction AdaptationCrossover MultipleMutation ClassicCrossover ClassicMutation ClassicReproduction Wyniki Mała mutacja Duża mutacja Podsumowanie 7 2
3 1. Wstęp 1.1. Ogólny opis Projekt jest próbą wygenerowania w miarę dobrze grającego programu w popularną grę Wąż przy pomocy algorytmów ewolucyjnych. Reguły gry Wąż są bardzo proste. Sterujemy osobnikiem złożonym z wielu segmentów o tej samej wielkości połączonych razem ze sobą. W grze poruszamy się w trzech możliwych kierunkach: lewo, prawo, prosto (w zależności od orientacji głowy węża). W każdym momencie na planszy znajduje się dokładnie jeden kawałek jedzenia. Gdy wąż go zjada jego ogon wydłuża się o jeden segment, a nowy kawałek jedzenia pojawia się w innym losowym miejscu. Wąż ginie kiedy próbuje zjeść siebie bądź chce wyjśc poza palnsze. Celem gry jest zjedzenie jak najwięcej kawałków jedzenia. Do stworzenia osobnika wykorzystujemy programowanie genetyczne Informacje dla użytkowników Program zrealizowany jest jako applet Java. Można w nim ustalić wielkość populacji, liczbę generacji, prawdopodobieństwo reprodukcji, krzyżowania i mutacji czyli dane wejściowe dla algorytmu ewolucyjnego. Interfejs graficzny zawiera cztery podstawowe przyciski: Rozpocznji ewolucje, Zakończ ewolucje, Rozpocznji symulacje, Zakoncz Symulacje. 3
4 2. Charakterystyka systemu 2.1. Charakterystyka osobnika Wybraliśmy kodowanie drzewiaste osobnika, gdyż jest najłatwiejsze do zaprogramowania, a nie tracimy w żaden sposób na sile wyrazu takiego osobnika. W węzłach wewnętrznych drzewach przechowywane są funkcje dwuargumentowe. Ich wybór był podyktowany ich przydatnością oraz ustalony eksperymantelnie podczas testowania. W liściach drzewa znajdują się kierunki względne. Oto opis kilku tych funkcji: iff oodup - Jeżeli jedzenie jest bliżej górnej krawędzi planszy niż głowy węża wykonaj lewe poddrzewo. W przeciwnym przypadku wykonaj prawe poddrzewo. if M ovingright - Jeżeli wąż porusza się w prawo to wykonaj lewe poddrzewo. W przeciwnym przypadku wykonaj prawe poddrzewo. ifdangerright - Jeżeli w polu na prawo od głowy węża znajduję się ciało węża lub krawędź planszy to wykonaj lewe poddrzewo. W przeciwnym przypadku wykonaj prawe poddrzewo. ifdangert woahead - Jeżeli w jednym lub dwóch ruchach wąż ugryzie się sam lub zderzy się z krawędzią planszy to wykonaj lewe poddrzewo. W przeciwnym przypadku wykonaj prawe poddrzewo. progn - Wykonaj prawe poddrzewo a przy następnym ruchu wykonaj lewe poddrzewo Schematy ewolucji Przez schemat ewolucji rozumiemy sposób tworzenia populacji potomków z populacji rodzicielskiej. Niech P t oznacza populację rodziców w t-tej generacji. SCHEMAT PIERWSZY - pierwszy zaimplementowany schemat nie opiera się na klasycznym schemacie ewolucji w programowaniu genetycznym. Występują w nim trzy operatory, które będą opisane później. Działa on następująco: Wybierz najlepszego osobnika w populacji P t i zastąp nim pewien ustalony ułamek populacji P t (MaxReproduction). Wybierz m-krotnie po dwóch różnych osobników (metodą ruletki) z P t, skrzyżuj ich i zastąp ich wynikłymi z krzyżowania osobnikami (AdaptationCrossover). Wybierz jednego osobnika (metodą ruletki) z P t, usuń jego dowolne poddrzewo i zastąp je losowym poddrzewem. Umieść osobnika spowrotem w P t (MultipleMutation). SCHEMAT DRUGI - opiera się na klasycznym schemacie programowania genetycznego. Występują również trzy operatory, które zostaną opisane później. Z każdym operatorem związane jest prawdopodobieństwo p 1, p 2 oraz p 3. W każdej generacji każdy z operatorów jest stosowany zgodnie z jednym z powyższych prawdopodobieństw. Schemat działa następująco: Stwórz pustą populację potomków C t. Dopóki liczba osobników w C t nie jest równa liczbie osobników w P t wykonuj poniższy krok. Jeżeli udał się (z ppb. p1) ClassicCrossover, to wybierz dwa osobniki z P t metodą ruletki. Skrzyżuj je i wstaw dwóch potomków do C t. 4
5 Jeżeli udał się (z ppb. p2) ClassicMutation, to wybierz osobnika z P t metodą ruletki. Zamień jest dowolne losowe poddrzewo na losowe drzewo. Wstaw tak zmutowanego osobnika do C t. Jeżeli udał się (z ppb. p3) ClassicReproduction, to wybierz osobnika z P t metodą ruletki. Wstaw tego osobnika do C t. Zastąp P t przez C t. Schemat pierwszy okazał się niezbyt dobrze dobrany, gdyż operator MaxReproduction powodował zbyt duży nacisk selektywny. Opisaliśmy go jednak, aby pokazać drogę, która dążyliśmy do osiągnięcia najlepszego rozwiązania Zastosowane operatory genetyczne MaxReproduction Operator ten pobiera trzy parametry: populację P, adaptację A oraz p [0, 1). Parametr p oznacza jaki procent populacji P należy zastąpić najlepszym osobnikiem w populacji P. Operator ten z początku znacznie polepszył wyniki, ale później okazało się, że dość szybko prowadzi on do dominacji najlepszego osobnika w populacji, a co za tym idzie do skupienia się algorytmu w obrębie tego osobnika i słabego rozproszenia poszukiwań AdaptationCrossover Operator ten pobiera trzy parametry: populację P, adaptację A oraz nieujemną liczbą całkowitą times, która oznacza ile razy mamy powtórzyć działanie operatora. Działaniem tym jest wylosowanie dwóch osobników metodą ruletki i skrzyżowanie ich. Pierwotne osobniki w P są zastępowane przez swoje dzieci. Bardzo trudno jest określić czy operator ten ma pozytywny czy negatywny wpływ na działanie algorytmu. Może się zdarzyć tak, że dwa dobre programy po tej operacji będą miały mierne wyniki, ale również może zajść sytuacja zupełnie odwrotna. Napewno operator ten jest dobry pod względem rozszerzenia obszaru poszukiwań w obrębie tych najlepszych osobników. Operator ten przypomina trochę przeszukiwanie lokalne, gdyż po skrzyżowaniu najprawdopodobniej dostaniemy osobników bliskich swoim rodzicom MultipleMutation Operator ten pobiera trzy parametry: populację P, adaptację A oraz p [0, 1]. Parametr p jest szansą na zastosowanie tego operatora. Operator ten losuje osobnika metodą ruletki, następnie losuje jego losowe poddrzewo i zastępuje je losowym drzewem o losowej wielkości. Pierwotny osobnik jest zastępowany przez zmutowanego osobnika. Głównym zadaniem tego operatora jest rozproszenie przeszukiwań ClassicCrossover Działa tak samo jak AdaptationCrossover z tą różnicą, że pobiera dodatkowy parametr, którym jest nowa populacja. Skrzyżowane osobniki nie zastępują swoich rodziców w starej populacji, lecz trafiają do nowej. 5
6 Rysunek 1: Ewolucja z prawdopodobieństwem mutacji 0.1 widok ClassicMutation Działa tak samo jak MultipleMutation z tą różnicą, że pobiera dodatkowy parametr, którym jest nowa populacja. Zmutowany osobnik nie zastępuje swojego rodzica, lecz trafia do nowej populacji ClassicReproduction Metodą ruletki wybiera osobnika z populacji rodzicielskiej. Pobiera dodatkowy parametr, którym jest nowa populacja. Wybrany osobnik trafia do nowej populacji, populacja rodzicielska pozostaje bez zmian. 3. Wyniki 3.1. Mała mutacja Poniżej znajdują się dwa wykresy obrazujące ilość zjedzonych kawałków jedzenia w zależności od prawdopodobieństwa wyboru operatorów reprodukcji oraz krzyżowania. Prawdopodobieństwo mutacji jest ustalone na 0.1. Funkcja celu to średnia z trzech przeprowadzonych rozgrywek przez osobnika. Dodatkowo każdy test został przeprowadzony trzykrotnie, a wynik przedstawiony na wykresie to średnia z tych trzech testów. Uśrednienie testów zostało wprowadzone w celu uniknięcia sytuacji kiedy przy ustalonych parametrach ewolucja populacji przypadkowo trafia w dobry obszar poszukiwań. Obliczenia zostały wykonane na komputrze z dwurdzeniowym procesorem Intel Core 2 Duo 2.2 GHz wyposażonym w 4 GB pamięci RAM. Przy populacji równej 1000 i 80 generacjach obliczenia trwały około 16 godzin. Z powyższygo wykresu możemy odczytać kilka informacji. Po pierwsze wykres jest lekko chaotyczny. Mamy wiele zaburzeń co sugeruje, że dobór prawdopodobieństw operatorów 6
7 Rysunek 2: Ewolucja z prawdopodobieństwem mutacji 0.1 widok 2. genetycznych nie jest łatwy, a nawet ich losowy wybór nie determinuje złego wyniku. Po drugie kiedy prawdopodobieństwo krzyżowania jest bliskie zeru otrzymujemy niskie wyniki. Oznacza to, że sam operator mutacji jest niewystarczający do rozwoju populacji nawet dla tak dużej populacji i ilości generacji. Po trzecie otrzymujemy najlepsze wyniki dla obszaru znajdującego sie w kwadracie którego boki odpowiadają prawdopodobieństwom z przedziału Tak więc te parametry dają najlepsze wyniki w przeprowadzaonym teście Duża mutacja Powyżej znajduje sie wykres przedstawiający wynik analogicznego testu, ale dla prawdopodobieństwa mutacji równego 0.3. Zauważmy, że wykres jest chaotyczny co nie było trudne do przewidzenia. Zwiększona mutacja spowodowała większe zaburzenia. Nadal widzimy, że sama mutacja nie jest wystarczająca do rozwoju populacji. Dzięki zwiększonej mutacji udało nam sie uzyskać lepsze wyniki - bliskie Podsumowanie Przedstawione zagadnienie jest ciekawe i wyjątkowo efektowne. Zabawa z programem przyspoży wiele przyjemności i być może zachęci użytkowników do poznania algorymów ewolucyjnych. Najelepszy osobnik jaki udało nam się wyewoluować potrafił zjeść około 80 kawałków jedzenia. Bez wątpienia uzyskalibyśmy lepsze wyniki gdyby nasze komputery mogły pracować dłużej niż 2 3 dni. 7
8 Rysunek 3: Ewolucja z prawdopodobieństwem mutacji 0.3 widok 1. Rysunek 4: Ewolucja z prawdopodobieństwem mutacji 0.3 widok 2. 8
Programowanie genetyczne, gra SNAKE
STUDENCKA PRACOWNIA ALGORYTMÓW EWOLUCYJNYCH Tomasz Kupczyk, Tomasz Urbański Programowanie genetyczne, gra SNAKE II UWr Wrocław 2009 Spis treści 1. Wstęp 3 1.1. Ogólny opis.....................................
Bardziej szczegółowoAlgorytmy genetyczne
Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą
Bardziej szczegółowoAlgorytm genetyczny (genetic algorithm)-
Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie
Bardziej szczegółowoAlgorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny
Algorytmy stochastyczne, wykład 01 J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-21 In memoriam prof. dr hab. Tomasz Schreiber (1975-2010) 1 2 3 Różne Orientacyjny
Bardziej szczegółowoMetody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
Bardziej szczegółowoStrategie ewolucyjne (ang. evolu4on strategies)
Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje
Bardziej szczegółowoAlgorytmy ewolucyjne NAZEWNICTWO
Algorytmy ewolucyjne http://zajecia.jakubw.pl/nai NAZEWNICTWO Algorytmy ewolucyjne nazwa ogólna, obejmująca metody szczegółowe, jak np.: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne
Bardziej szczegółowoAlgorytmy genetyczne
9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom
Bardziej szczegółowoPLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA
PLAN WYKŁADU Operator krzyżowania Operator mutacji Operator inwersji Sukcesja Przykłady symulacji AG Kodowanie - rodzaje OPTYMALIZACJA GLOBALNA Wykład 3 dr inż. Agnieszka Bołtuć OPERATOR KRZYŻOWANIA Wymiana
Bardziej szczegółowoAlgorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009
Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.
Bardziej szczegółowoSCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO
SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania
Bardziej szczegółowoMateriały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty).
Pudełkowy komputer Materiały: kartki papieru (5 x 5 kolorów), piłeczki pingpongowe (5 x 5 kolorów), worek (nieprzeźroczysty). Budowa komputera: każdy uczeń składa proste pudełko metodą orgiami Zobacz:
Bardziej szczegółowoLABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania
Bardziej szczegółowoAlgorytmy ewolucyjne (3)
Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera
Bardziej szczegółowoALGORYTMY GENETYCZNE ćwiczenia
ćwiczenia Wykorzystaj algorytmy genetyczne do wyznaczenia minimum globalnego funkcji testowej: 1. Wylosuj dwuwymiarową tablicę 100x2 liczb 8-bitowych z zakresu [-100; +100] reprezentujących inicjalną populację
Bardziej szczegółowoAlgorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Obliczenia ewolucyjne (EC evolutionary computing) lub algorytmy ewolucyjne (EA evolutionary algorithms) to ogólne określenia używane
Bardziej szczegółowoStrategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek
Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania
Bardziej szczegółowo6. Klasyczny algorytm genetyczny. 1
6. Klasyczny algorytm genetyczny. 1 Idea algorytmu genetycznego została zaczerpnięta z nauk przyrodniczych opisujących zjawiska doboru naturalnego i dziedziczenia. Mechanizmy te polegają na przetrwaniu
Bardziej szczegółowoAlgorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba
Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów
Bardziej szczegółowoOdkrywanie algorytmów kwantowych za pomocą programowania genetycznego
Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17 Spis
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoKażdy węzeł w drzewie posiada 3 pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste.
Drzewa binarne Każdy węzeł w drzewie posiada pola: klucz, adres prawego potomka i adres lewego potomka. Pola zawierające adresy mogą być puste. Uporządkowanie. Zakładamy, że klucze są różne. Klucze leżące
Bardziej szczegółowoProblem Komiwojażera - algorytmy metaheurystyczne
Problem Komiwojażera - algorytmy metaheurystyczne algorytm mrówkowy algorytm genetyczny by Bartosz Tomeczko. All rights reserved. 2010. TSP dlaczego metaheurystyki i heurystyki? TSP Travelling Salesman
Bardziej szczegółowoAlgorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć
Bardziej szczegółowoWAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego
WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego Algorytm ewolucyjny algorytm ewolucyjny inicjuj P 0 {P 0 1, P 0 2... P 0 μ } t 0 H P 0 while! stop for (i 1: λ) if (a< p c ) O t i mutation(crossover
Bardziej szczegółowoAlgorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań
Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań Anna Manerowska, Michal Kozakiewicz 2.12.2009 1 Wstęp Jako projekt na przedmiot MEUM (Metody Ewolucyjne Uczenia Maszyn)
Bardziej szczegółowoAlgorytmy genetyczne
Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania
Bardziej szczegółowoZadanie 5 - Algorytmy genetyczne (optymalizacja)
Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania
Bardziej szczegółowoScenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych
Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, Matematyka,
Bardziej szczegółowoAlgorytmy genetyczne w interpolacji wielomianowej
Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego
Bardziej szczegółowoStrefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek
Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę
Bardziej szczegółowoTesty De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła
Problemy 1 Optymalizacja dyskretna i ciągła Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga Problemy 1 Optymalizacja dyskretna i ciągła 2 Środowisko pomiarowe De Jonga 3 Ocena
Bardziej szczegółowoCZAS NA PROGRAMOWANIE
CZAS NA PROGRAMOWANIE Wanda Jochemczyk Wydawnictwa Szkolne i Pedagogiczne wanda.jochemczyk@oeiizk.waw.pl Abstract. This workshop is for teachers who have basic skills in programming in Scratch. During
Bardziej szczegółowoPatrycja Prokopiuk. Zastosowanie rachunku prawdopodobieństwa w Pokerze Pięciokartowym
Patrycja Prokopiuk Zastosowanie rachunku prawdopodobieństwa w Pokerze Pięciokartowym Wrocław 7 maja 04 Spis treści Wstęp........................................ Objaśnienie obliczeń................................
Bardziej szczegółowoAlgorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne
Algorytmy genetyczne Materiały do laboratorium PSI Studia stacjonarne i niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki,
Bardziej szczegółowoProjekt Śnieżna wojna
Nazwa implementacji: Stworzenie gry "Śnieżna wojna" Autor: mdemski Opis implementacji: Scenariusz gry "Śnieżna wojna" oraz implementacja w Scratch 2.0. Wersja podstawowa i propozycja rozbudowy gry dla
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoObrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego
IBS PAN, Warszawa 9 kwietnia 2008 Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego mgr inż. Marcin Jaruszewicz promotor: dr hab. inż. Jacek Mańdziuk,
Bardziej szczegółowoAlgorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS
Algorytmy ewolucyjne Łukasz Przybyłek Studenckie Koło Naukowe BRAINS 1 Wprowadzenie Algorytmy ewolucyjne ogólne algorytmy optymalizacji operujące na populacji rozwiązań, inspirowane biologicznymi zjawiskami,
Bardziej szczegółowoAlgorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Bardziej szczegółowoAlgorytmy ewolucyjne Część II
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Część II Metaheurystyki Treść wykładu Zastosowania Praktyczne aspekty GA Reprezentacja Funkcja dopasowania Zróżnicowanie dopasowania
Bardziej szczegółowoMetody przeszukiwania
Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania
Bardziej szczegółowoKompresja danych Streszczenie Studia Dzienne Wykład 10,
1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny
Bardziej szczegółowoObliczenia ewolucyjne - plan wykładu
Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja
Bardziej szczegółowoCMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:
CMAES Covariance Matrix Adaptation Evolution Strategy Opracowanie: Lidia Wojciechowska W algorytmie CMAES, podobnie jak w algorytmie EDA, adaptowany jest rozkład prawdopodobieństwa generacji punktów, opisany
Bardziej szczegółowoInspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny
Soft computing Soft computing tym róŝni się od klasycznych obliczeń (hard computing), Ŝe jest odporny na brak precyzji i niepewność danych wejściowych. Obliczenia soft computing mają inspiracje ze świata
Bardziej szczegółowoInstrukcje dla zawodników
Instrukcje dla zawodników Nie otwieraj arkusza z zadaniami dopóki nie zostaniesz o to poproszony. Instrukcje poniżej zostaną ci odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde zadanie
Bardziej szczegółowoAlgorytmy ewolucyjne `
Algorytmy ewolucyjne ` Wstęp Czym są algorytmy ewolucyjne? Rodzaje algorytmów ewolucyjnych Algorytmy genetyczne Strategie ewolucyjne Programowanie genetyczne Zarys historyczny Alan Turing, 1950 Nils Aall
Bardziej szczegółowoUkłady VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
Bardziej szczegółowoPropozycje tematów zadań
Propozycje tematów zadań 1. WARCABY Opracować program do gry w warcaby dla dwu graczy. Program ma umożliwiać przesuwanie kursora na zmianę po polach białych lub czarnych, wskazywanie początku końca ruchu.
Bardziej szczegółowoProgram "FLiNN-GA" wersja 2.10.β
POLSKIE TOWARZYSTWO SIECI NEURONOWYCH POLITECHNIKA CZĘSTOCHOWSKA Zakład Elektroniki, Informatyki i Automatyki Maciej Piliński Robert Nowicki - GA Program "FLiNN-GA" wersja 2.10.β Podręcznik użytkownika
Bardziej szczegółowoScenariusz lekcji Ozobot w klasie: Tabliczka mnożenia
Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, matematyka, obliczenia, algorytm
Bardziej szczegółowoExcel wykresy niestandardowe
Excel wykresy niestandardowe Uwaga Przy robieniu zadań zadbaj by każde zadanie było na kolejnym arkuszu, zadanie na jednym, wykres na drugim, kolejne zadanie na trzecim itd.: Tworzenie wykresów Gantta
Bardziej szczegółowoALHE Z11 Jarosław Arabas wykład 11
ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement
Bardziej szczegółowoDrzewa czerwono-czarne.
Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric
Bardziej szczegółowoPodstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Bardziej szczegółowoLABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl OBLICZENIA EWOLUCYJNE LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność
Bardziej szczegółowoOPROGRAMOWANIE DEFSIM2
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych OPROGRAMOWANIE DEFSIM2 Instrukcja użytkownika mgr inż. Piotr Trochimiuk, mgr inż. Krzysztof Siwiec, prof. nzw. dr hab. inż. Witold Pleskacz
Bardziej szczegółowoProgramowanie genetyczne
Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Programowanie genetyczne jest rozszerzeniem klasycznego algorytmu genetycznego i jest wykorzystywane do automatycznego generowania programów
Bardziej szczegółowoREFERAT 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ółowoAlgorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych
Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w
Bardziej szczegółowoSpis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów...
Spis treści Konwencje zastosowane w książce...5 Dodawanie stylów do dokumentów HTML oraz XHTML...6 Struktura reguł...9 Pierwszeństwo stylów... 10 Klasyfikacja elementów... 13 Sposoby wyświetlania elementów...
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver
Bardziej szczegółowoKodu z klasą. Kodu, zbierzesz dla mnie trochę jabłek? Scenariusz 3
Cele: Na dzisiejszych zajęciach uczniowie poznają mechanizmy przyznawania i naliczania punktów za wykonywanie określonych czynności, co jest bardzo powszechne w grach, zarówno komputerowych, jak i tych
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoAlgorytmy genetyczne
Politechnika Łódzka Katedra Informatyki Stosowanej Algorytmy genetyczne Wykład 2 Przygotował i prowadzi: Dr inż. Piotr Urbanek Powtórzenie Pytania: Jaki mechanizm jest stosowany w naturze do takiego modyfikowania
Bardziej szczegółowoKOŚć i przyspieszenie. O PRĘDKOŚCI. Aby ZROZumIEć to POjĘCIE,
2 Siła i ruch Prędkość i przyspieszenie Ruch JEDNOSTAJNY ZaNIm będziemy mogli zrozumieć ZASADY ruchu, musimy WIEDZIEć, czym są pręd- KOŚć i przyspieszenie. NajPIERw pomówmy O PRĘDKOŚCI. Aby ZROZumIEć to
Bardziej szczegółowo2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Bardziej szczegółowoAlgorytmy ewolucyjne 1
Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz
Bardziej szczegółowoKilka prostych programów
Ćwiczenie 1 Kilka prostych programów Ćwiczenie to poświęcone jest tworzeniu krótkich programów, pozwalających na zapoznanie się z takimi elementami programowania jak: definiowanie stałych, deklarowanie
Bardziej szczegółowoKodu z klasą. Tower defense, cz. 2. Scenariusz 8
W scenariuszu nr 8 kontynuujemy pracę rozpoczętą na poprzednich zajęciach i ukończymy cały scenariusz gry Tower Defense. Dzisiaj zaprogramujemy pozostałe obiekty, czyli drzewo i jabłka, wieże oraz wrogie
Bardziej szczegółowoZadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85
Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych Klasa Średnia 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Do wstawienia wykresu w edytorze tekstu nie potrzebujemy mieć wykonanej tabeli jest ona tylko
Bardziej szczegółowoAlgorytmy genetyczne w optymalizacji
Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy
Bardziej szczegółowoKultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy
Metody modelowania i symulacji kinematyki i dynamiki z wykorzystaniem CAD/CAE Laboratorium 6 Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy Opis obiektu symulacji Przedmiotem
Bardziej szczegółowoTemat: Algorytm kompresji plików metodą Huffmana
Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik
Bardziej szczegółowo5. Algorytm genetyczny przykład zastosowania
5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby
Bardziej szczegółowoAlgorytmy stochastyczne, wykład 02 Algorytmy genetyczne
Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne J. Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2014-02-27 1 Mutacje algorytmu genetycznego 2 Dziedzina niewypukła abstrakcyjna
Bardziej szczegółowoIII. ZMIENNE LOSOWE JEDNOWYMIAROWE
III. ZMIENNE LOSOWE JEDNOWYMIAROWE.. Zmienna losowa i pojęcie rozkładu prawdopodobieństwa W dotychczas rozpatrywanych przykładach każdemu zdarzeniu była przyporządkowana odpowiednia wartość liczbowa. Ta
Bardziej szczegółowoAlgorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.
Algorytmy genetyczne jako metoda wyszukiwania wzorców Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż. Marcin Borkowski Krótko i na temat: Cel pracy Opis modyfikacji AG Zastosowania
Bardziej szczegółowoInternetowe Ko³o M a t e m a t yc z n e
Internetowe Ko³o M a t e m a t yc z n e Stowarzyszenie na rzecz Edukacji Matematycznej Zestaw 3 szkice rozwiązań zadań 1. Plansza do gry składa się z 15 ustawionych w rzędzie kwadratów. Pierwszy z graczy
Bardziej szczegółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowoAutomatyczny dobór parametrów algorytmu genetycznego
Automatyczny dobór parametrów algorytmu genetycznego Remigiusz Modrzejewski 22 grudnia 2008 Plan prezentacji Wstęp Atrakcyjność Pułapki Klasyfikacja Wstęp Atrakcyjność Pułapki Klasyfikacja Konstrukcja
Bardziej szczegółowoAlgorytmy memetyczne (hybrydowe algorytmy ewolucyjne)
Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań
Bardziej szczegółowoOdwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:
Przykład 2 odwrotność macierzy 4x4 Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski: Będziemy dążyli do tego, aby po lewej stronie kreski pojawiła się macierz jednostkowa. Na początek
Bardziej szczegółowoTest na koniec nauki w klasie trzeciej gimnazjum
3 Przykładowe sprawdziany Test na koniec nauki w klasie trzeciej gimnazjum... imię i nazwisko ucznia...... data klasa Test Liczba x jest wynikiem dodawania liczb + +. Jaki warunek spełnia liczba x? 3 5
Bardziej szczegółowoDobór parametrów algorytmu ewolucyjnego
Dobór parametrów algorytmu ewolucyjnego 1 2 Wstęp Algorytm ewolucyjny posiada wiele parametrów. Przykładowo dla algorytmu genetycznego są to: prawdopodobieństwa stosowania operatorów mutacji i krzyżowania.
Bardziej szczegółowoElementy gry. Cel gry. Dla 1 do 4 graczy, w wieku od 6 do 116 lat. Gra autorstwa Antoine a Bauzy, zilustrowana przez Stéphana Escapę.
Gra autorstwa Antoine a Bauzy, zilustrowana przez Stéphana Escapę. Dla 1 do 4 graczy, w wieku od 6 do 116 lat Elementy gry 26 kart Kanałów Cel gry 15 kart Kotów 2 karty Opiekunów Celem gry jest zdobycie
Bardziej szczegółowoKonferencja regionalna projektu Wdrożenie podstawy programowej kształcenia ogólnego w przedszkolach i szkołach
Konferencja regionalna projektu Wdrożenie podstawy programowej kształcenia ogólnego w przedszkolach i szkołach TIK w szkole podstawowej Edukacyjne wykorzystanie prezentacji multimedialnych OPRACOWANIE:
Bardziej szczegółowoCzytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić.
Analiza i czytanie wykresów Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić. Aby dobrze odczytać wykres zaczynamy od opisu
Bardziej szczegółowoProgramowanie Genetyczne
Politechnika Wrocławska Wydział Elektroniki Kierunek Informatyka Damian Kowalczyk Programowanie Genetyczne Informatyka Systemów Autonomicznych Praca zaliczeniowa Wrocław 2007 Spis treści Wprowadzenie Konwencjonalne
Bardziej szczegółowoARKUSZ X
www.galileusz.com.pl ARKUSZ X W każdym z zadań 1.-24. wybierz i zaznacz jedną poprawną odpowiedź. Zadanie 1. (0-1 pkt) Liczba 3 2 jest równa A) 5 2 B) 6 2 C) 6 2 D) 2 Zadanie 2. (0-1 pkt) Kurtka zimowa
Bardziej szczegółowoLiczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
Bardziej szczegółowoMateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu
Mateusz Żyliński Tadeusz Włodarkiewicz WireWorld Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu 1 I. Informacje ogólne A utomat komórkowy to system
Bardziej szczegółowoAlgorytmy ewolucyjne (2)
Algorytmy ewolucyjne (2) zajecia.jakubw.pl/nai/ ALGORYTM GEETYCZY Cel: znaleźć makimum unkcji. Założenie: unkcja ta jet dodatnia. 1. Tworzymy oobników loowych. 2. Stoujemy operacje mutacji i krzyżowania
Bardziej szczegółowoStruktury danych: stos, kolejka, lista, drzewo
Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja
Bardziej szczegółowoD O K U M E N T A C J A
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Instytut Politechniczny Informatyka Stosowana III r. D O K U M E N T A C J A Snake 3D Piotr Gębiś Paweł Gładysz Dokumentacja do projektu Snake 3D. W dokumencie
Bardziej szczegółowoAndrzej Frydrych SWSPiZ 1/8
Kilka zasad: Czerwoną strzałką na zrzutach pokazuje w co warto kliknąć lub co zmieniłem oznacza kolejny wybierany element podczas poruszania się po menu Ustawienia strony: Menu PLIK (Rozwinąć żeby było
Bardziej szczegółowoKatedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Algorytmy ewolucyjne Treść wykładu Wprowadzenie Zasada działania Podział EA Cechy EA Algorytm genetyczny 2 EA - wprowadzenie Algorytmy ewolucyjne
Bardziej szczegółowo