Sztuczne życie

Plan laboratorium

Prowadzący: Konrad Miazga.

  1. CA + Artificial Life in art (implementacja własnego systemu)
  2. Repast – podstawy, tutorial, minizadania
  3. Repast – modelowanie
  4. Repast – symulacje i wyniki
  5. Implementacja mrówkowego optymalizacyjnego albo particle swarm
  6. Inteligencja rozproszona, algorytm mrówkowy/particle swarm
  7. Eksperymenty ilościowe z optymalizacją PSO
  8. Rozwiązanie wybranego zadania za pomocą inteligencji roju
  9. Evolutionary design 1. Struktura, sieci neuronowe, sensory i efektory
  10. Evolutionary design 2. Alternatywne reprezentacje genetyczne, testy porównawcze na gotowych zadaniach, wnioski, raport
  11. Evolutionary design 3. Challenge
  12. Neurony impulsowe 1
  13. Neurony impulsowe 2. Reguły Hebba
  14. Koewolucja, komunikacja
  15. Ewolucja nieukierunkowana



Tematyka wykładów (skrypt)

Na egzaminie nie obowiązują następujące rozdziały ze skryptu pdf: 3.7, 3.11, 3.12.1, 4.4–4.6, 5, 6.6.4, 6.7, 6.8.2–6.8.7, 6.11, 7.

1   Sztuczne życie – wprowadzenie
 1.1   Definicja, metodyka, cele
 1.2   Sztuczne życie a sztuczna inteligencja
 1.3   Czym życie jest, a czym nie jest: definicje życia
 1.4   Zakres badań i zastosowania
2   Optymalizacja
 2.1   Przeszukiwanie wykorzystujące sąsiedztwo pojedynczego rozwiązania
 2.2   Dobór wartości parametrów; zastosowanie interakcyjne i wsadowe
3   Algorytmy ewolucyjne
 3.1   Podział
 3.2   Algorytmy genetyczne (genetic algorithms)
  3.2.1   Budowa algorytmu i parametry
  3.2.2   Selekcja
  3.2.3   Skalowanie
  3.2.4   Krzyżowanie
  3.2.5   Mutacja
  3.2.6   Podsumowanie parametryzacji AG
  3.2.7   Twierdzenie o schematach
  3.2.8   Problemy zawodne (trudne dla AG) i twierdzenie „No Free Lunch”
  3.2.9   Nieporządny algorytm genetyczny
  3.2.10   Hierarchiczny algorytm genetyczny
  3.2.11   Empiryczna i teoretyczna ocena AG
 3.3   Strategie ewolucyjne (evolutionary strategies)
 3.4   Ewolucja różnicowa (differential evolution)
 3.5   Programowanie ewolucyjne (evolutionary programming)
  3.5.1   Reprezentacja zmiennoprzecinkowa
  3.5.2   Krzyżowanie i mutacja a globalna wypukłość
  3.5.3   Embriogeneza
 3.6   Programowanie genetyczne (genetic programming)
  3.6.1   Regresja symboliczna
  3.6.2   Hiperheurystyki i samo-programujące się algorytmy
 3.7   Mechanizmy inspirowane naturą
  3.7.1   Reprezentacja
  3.7.2   Operatory
  3.7.3   Funkcja celu i logika algorytmu
 3.8   Systemy klasyfikatorowe (CFS/LCS/GBML)
  3.8.1   Input and output interfaces
  3.8.2   Main cycle
  3.8.3   Learning Classifier Systems (LCS)
  3.8.4   Good and bad classifiers
  3.8.5   The need for competition
  3.8.6   Quality of classifiers
  3.8.7   Adaptation by credit assignment
  3.8.8   The Bucket Brigade algorithm
  3.8.9   Adaptation by rule discovery
  3.8.10   Podsumowanie
 3.9   Inne techniki w AE
  3.9.1   Wiele kryteriów
  3.9.2   Wzbogacanie wiedzą
  3.9.3   Sterowanie różnorodnością
  3.9.4   Obsługa ograniczeń
 3.10   Równoległe algorytmy ewolucyjne
 3.11   Jak zrobić skuteczny AE? Na co zwrócić uwagę?
 3.12   Architektury koewolucyjne
  3.12.1   Kooperatywne
  3.12.2   Konkurencyjne
4   Inne techniki optymalizacji inspirowane naturą
 4.1   Algorytmy mrówkowe (AS, ACO) i inteligencja grupowa
 4.2   Algorytm roju cząstek (PSO)
 4.3   Sztuczne systemy odpornościowe (AIS)
 4.4   Algorytmy pszczele (ABC)
 4.5   Algorytmy grawitacyjne (GSA) i elektrostatyczne (CSS)
 4.6   Świetliki, kukułki i szczętki (GSO, FA, CS, KH)
5   Niekonwencjonalne środowiska obliczeniowe
 5.1   Obliczenia molekularne
 5.2   Obliczenia kwantowe
 5.3   Obliczenia na błonach/membranach
6   Pozostałe aspekty sztucznego życia
 6.1   Evolution
  6.1.1   Fundamental mechanisms
  6.1.2   Teorie: ewolucja, uczenie, symbioza
  6.1.3   Ukierunkowana a nieukierunkowana, ograniczona a nieograniczona
  6.1.4   Krytycznie...
  6.1.5   Artificial life helps understand evolution
 6.2   Modeling plants using L-systems
 6.3   Emergence in Boids
 6.4   Spatio-temporal dynamics in Cellular Automata
 6.5   Spontaneous (and open-ended) evolution in Tierra
 6.6   Directed (guided) evolution and coevolution
  6.6.1   Karl Sims – virtual creatures
  6.6.2   Coevolution of pursuit and evasion
  6.6.3   Optymalizacja konstrukcji (Evolutionary design)
  6.6.4   Building brains
  6.6.5   Building brains and bodies
 6.7   Współczesne „symulatory fizyki”
  6.7.1   Framsticks
 6.8   Agent i środowisko
  6.8.1   Complex Adaptive Systems (CAS), Multi-Agent Systems (MAS)
  6.8.2   Model Lotki–Volterry
  6.8.3   Sensor evolution
  6.8.4   Osadzenie jako miara współzależności
  6.8.5   Robotyka: hierarchia warstw sterowania
  6.8.6   Poziom autonomii
  6.8.7   Cognitive architectures and artificial general intelligence
 6.9   Formalne opisy systemu ewoluującego
  6.9.1   Maszyny von Neumanna
  6.9.2   Elementy algorytmu ewolucyjnego jako funkcje
 6.10   Elementy teorii gier i gry ewolucyjne
  6.10.1   Pojęcia podstawowe
  6.10.2   Modele
  6.10.3   Strategie zachowań społecznych i dylematy społeczne
 6.11   Modele życia biologicznego – wybrane przykłady
  6.11.1   Badanie prawa Herrnsteina
  6.11.2   Badanie wczesnych etapów ewolucji systemów nerwowych
  6.11.3   Badanie powstawania specyficznych struktur w systemach nerwowych
  6.11.4   Badanie altruizmu i reguły Hamiltona
  6.11.5   Badanie ewolucji sygnałów seksualnych i zasada upośledzenia
  6.11.6   Analiza społecznego uczenia się
  6.11.7   Badanie dynamiki ekspresji genów
  6.11.8   Analiza heurystyk karmienia młodych
  6.11.9   Analiza ewolucji komunikacji i języków
  6.11.10   Robotyka zbiorowa inspirowana biologią
 6.12   Granice poznawalności
7   Środowisko eksperymentalne – Framsticks (program na lab.)
 7.1   Informacje podstawowe
 7.2   Wizualizacja
 7.3   Fizyka i symulacja
 7.4   Model i genetyka
 7.5   Definicje eksperymentu
 7.6   Pisanie skryptów
 7.7   Przykładowe eksperymenty
  7.7.1   Porównanie reprezentacji genetycznych
  7.7.2   Mierzenie podobieństwa
  7.7.3   Ocenianie symetrii
  7.7.4   Sterowanie rozmyte
  7.7.5   Ewolucja czujników, oko wektorowe i koordynacja wizyjno-ruchowa
  7.7.6   Umysły: semantyka sieci neuronowej i reprezentacje
  7.7.7   Syntetyczna psychologia ewolucyjna, zaawansowane eksperymenty
  7.7.8   Emergencja i samoorganizacja



Nagrania wykładów

  1. Definicja, metodyka, cele sztucznego życia
  2. Przypomnienie istotnych elementów i algorytmów optymalizacji
    1. Przestrzeń przeszukiwania
    2. Idea algorytmów lokalnej optymalizacji
    3. Algorytm symulowanego wyżarzania
    4. Algorytm przeszukiwania tabu
  3. Algorytmy ewolucyjne
    1. Omówienie architektur ewolucyjnych i algorytmu genetycznego
    2. Analiza mechanizmu selekcji
      (Przy okazji ostatecznie rozprawiamy się z rolą losowości we wszelkich algorytmach, jej zaletami i wadami)
    3. Kontrolowanie presji selekcyjnej, krzyżowanie i mutacja w algorytmach genetycznych (reprezentacja binarna)


    4. Wpływ parametrów, podstawowe twierdzenie (o schematach) i dwa rozszerzenia AG



    5. Ocena działania algorytmów ewolucyjnych oraz ich trzy specjalizacje (i konsekwencje użycia dowolnych reprezentacji dostosowanych do problemu)


    6. Programowanie genetyczne – jeden z istotnych i popularnych wariantów AE
    7. Wielopoziomowa architektura regułowa (uczące się systemy klasyfikatorowe) wykorzystujące AE do tworzenia reguł
    8. Ewolucyjna optymalizacja wielokryterialna
    9. Wzbogacanie wiedzą, sterowanie różnorodnością, obsługa ograniczeń
    10. Metody zrównolegania AE
    11. Koewolucja konkurencyjna

  4. Inne techniki optymalizacji inspirowane naturą
    1. Inteligencja roju i algorytm kolonii mrówek (ACO)
    2. Algorytm roju cząstek (PSO)
    3. Sztuczne systemy odpornościowe
  5. Pozostałe aspekty sztucznego życia
    1. Proces ewolucji od strony bardziej biologicznej/naturalnej oraz jego analogie w optymalizacji i symulacji

      (W środku jest opcjonalna sekcja "Teorie w czasach Darwina" – dla zainteresowanych).
    2. Ewolucja ukierunkowana i nieukierunkowana, ograniczona i nieograniczona

      (Obowiązkowo pierwsza sekcja (do 16-tej minuty), dalsza część dla zainteresowanych).
    3. Ewolucyjna teoria gier
      (Dwie ostatnie części: "Strategie i dylematy społeczne" oraz "Ćwiczenia" są opcjonalne – dla chętnych).




Wszelkie sugestie do przedmiotu i poszczególnych zajęć możesz zgłaszać tutaj.