MSI/ZIPuN/L

From WikiZMSI

< MSI

Spis treści

Laboratorium 1 --- Sterowanie rozmyte

Charakterystyka sterownika dźwigu:

Zadaniem operatora jest ustawienie kontenera w odpowiednim położeniu do przeładunku. Kontener nie może się mocno kołysać, ponieważ zawartość może zostać zniszczona. Aby zapobiec wahaniom można zastosować trzy strategie:

  1. Szybko przenieść kontener ponad miejsce docelowe i czekać, aż przestanie się kołysać.
  2. Przenosić kontener powolutku, tak by kołysanie nie wystąpiło wcale.
  3. Zamontować dodatkowe liny, by ograniczyć kołysanie.

Pierwsze dwa rozwiązania są mało efektywne ze względu na czas. Ostatnie zaś jest zbyt kosztowne. Względy ekonomiczne nakazują by statek rozładować szybko i małym kosztem.

Budowa sterownika rozmytego - symulacja strategii ludzkiej

Strategia stosowana przez operatora dźwigu:

  1. Rozpocznij ze średnią mocą.
  2. Jeżeli nadal jest daleko od celu, dostosuj moc tak, by kontener pozostawał lekko w tyle.
  3. Jeśli kontener zbliża się do celu, zredukuj moc w ten sposób, by kontener wysunął się lekko w przód.
  4. Kiedy kontener jest bardzo blisko celu, zwiększ moc.
  5. Kiedy kontener jest ponad celem i nie kołysze się, zatrzymaj silnik.

Zasady postępowania operatora zamieniono na reguły rozmyte. Aby zautomatyzować proces sensory muszą badać odległość i kąt wychylenia kontenera. Dokładny opis reguł (w postaci bazy reguł "IF-THEN" dostępny pod adresem: http://fuzzytech.com/e/e_a_pfd.html.

Odręczna próba symulacji:

  1. Uruchomić symulator "Container Crane".
  2. Spróbować przenieść jak najszybciej kontener ze statku nad platformę.
  3. Rozpocząć sterowanie ręczne - przycisk [Manual].
  4. Regulować moc [+] [0] [-] zgodnie z własną intuicją.
  5. Powtórzyć próbę stosując różne strategie sterowania.
  6. Spróbować przenieść kontener korzystając z reguł opisanych w "Sterownik rozmyty - symulacja strategii ludzkiej".

Analiza wstępna modelu:

  1. Uruchomić symulację sterownika rozmytego (przycisk [Fuzzy]).
    1. Przeanalizować poszczególne bloki modelu:
      • rozmycia (fuzyfikacji): zwrócić uwagę na niesymetryczność rozkładu MBF,
      • inferencji: liczba reguł, wartości DoS i operatory,
      • wyostrzenia (defuzyfikacji): rozkład klas wyjściowych, metody defuzyfikcji.
    2. Obejrzyj zachowanie następujących elementów modelu podczas symulacji:
      • wejść,
      • reguł,
      • wyjścia,
      • model (Plot 3D - opcja Debug RCU),
      • zmiany wartości wejść i wyjścia w czasie (Time Plot opcja Debug RCU).

Dodatkowe materiały w języku angielskim:

  • Opis problemu i sterownika rozmytego na stronie fuzzyTECH.com
  • Manual do fuzzyTECHa strony: 9-24 i strony 116-130 (dołączony do demonstracyjnej wersji programu).

Zadania i problemy do analizy:

  1. Skasować reguły z bazy i zastąpić je własnymi, takimi by sterowanie obywało się bez analizy kąta wychylenia od pionu (jedno wejście).
  2. Zmodyfikować bazę reguł, tym razem tak by opisywała przesuwanie na miejsce przeładunku nie dopuszczając do wahań (nawet przy niewielkich kątach przeciwdziałać wychyleniom).
  3. Zbadać jaki wpływ na zachowanie dźwigu ma zmiana funkcji przynależności (wejściowych, wyjściowych) z wielokątnych na gładkie? Obejrzeć kształt charakterystyki regulatora (powierzchnie modelu 3D). Zastanowić się czym są wywołane zmiany zachowania sterownika.
  4. Zmienić operator agregacji, tak by nie zmieniać koniunkcyjnego charakteru przesłanki (MIN na PROD).
  5. Zmienić operator akumulacji z MAX na BSUM i obserwować zmiany.
  6. Zmienić metodę defuzyfikacji na wszystkie dostępne warianty. Obserwować efektywność sterowania oraz proces defuzyfikacji.

Na wejściówkę

  1. Podać przykład wartości lingwistycznych dla zmiennej odległość i przedstawić je jako zbiory rozmyte.
  2. Model sterownika rozmytego dźwigu (rysunek z opisem).
  3. Jaki jest wynik fuzyfikacji gdy na wejściu pojawi się wartość kąta wychylenia (-15 stopni).
  4. Podać przykład reguł dla sterownika rozmytego dźwigu.
  5. Co to jest współczynnik DoS i kiedy jest wykorzystywany?
  6. Podać bazę reguł dla sterownika dźwigu uwzględniając tylko odległość od celu.
  7. Jaki będzie wynik inferencji gdy dane są reguły RB1 i wiemy, że wynikiem rozmycia jest przynależność kąta wychylenia do zbiorów A i B i odległości do zbiorów C i D, jeżeli używamy operatorów
    1. PROD i MAX
    2. MIN i MAX
    3. PROD i BSUM
    4. MIN i BSUM (Uwaga: RB1, A, B, C, D i wartości przynależności będą zadane).
  8. Jaka jest różnica w metodzie defuzyfikacji środka ciężkości i wysokości? Która jest bardziej złożona obliczeniowo?
  9. Jaki będzie wynik wynik wyostrzenia (defuzyfikacji) metodą wysokości jeżeli wiemy, że moc (wyjście) należy do zbiorów rozmytych A i B. (Uwaga: A, B i wartości przynależności będą zadane).
  10. Co to jest powierzchnia modelu? Od czego zależy jej kształt i rozpiętość?
  11. Do czego służy wykres czasowy zmian wejść i wyjść?

Laboratorium 2 --- Sztuczne sieci neuronowe (część I)

Uruchomić w Matlabie poleceniem nnd zestaw programów demonstracyjnych do sieci neuronowych. Przyciskiem [Table of contents] wyświetlić spis treści. Poniżej przedstawiona jest lista zadań do wykonania:

Prosty perceptron - obliczenia w neuronie:

  1. Neuron z jednym wejściem: Obserwacja zachowania pojedynczego neuronu.
    • Sprawdzić jakie wzory mają możliwe do wykorzystania funkcje aktywacji. help nazwa_funkcji
    • Zaobserwować zmianę wzbudzenia a(w) w zależności od zmiennej wartości wagi wejścia.
  2. Neuron dwuwejściowy: Należy dostroić wagi (w), bias(b), funkcję aktywacji (F) i (p), by uzyskać na wyjściu: -1, 0 , 6.

Przykład zadania klasyfikacji rozwiązanego różnego typu sieciami neuronowych

Ze spisu treści należy uruchomić następujące programy demonstracyjne:

  1. Klasyfikacja perceptronem [Chapter III - An illustrative example],
  2. Klasyfikacja siecią Hopfielda [Chapter III - An illustrative example],

Oba zadania prezentują problem rozpoznania jabłka i pomarańczy. Dla każdego przykładu należy:

  • Wykonać kilkukrotne próby rozpoznania owoców.
  • Określić według jakich cech następuje rozpoznanie. W jakim stopniu mają one wpływ na rozpoznanie? Po czym określa się istotność danej cechy w modelu?
  • Narysować sieć neuronową realizująca zadanie z opisem wszystkich elementów oznaczenia wag i biasów zgodne z oznaczeniami w zadaniu oraz podać wzory funkcji aktywacji.

Wprowadzenie do SSN i opis programów demonstracyjnych w tym chapter 1, chapter 2 i chapter 3.

Na wejściówkę

Ćwiczenia E2.1, E2.2, E2.3, E2.4 z [1] str. 2-23 i 2-24 i E3.1(i, iii, iv) z [2] str. 3-16

Laboratorium 3 --- Sztuczne sieci neuronowe (część II)

Uruchomić w Matlabie poleceniem nnd zestaw programów demonstracyjnych do sieci neuronowych. Przyciskiem [Table of contents] wyświetlić spis treści. Poniżej przedstawiona jest lista zadań do wykonania:

uczenie nadzorowane: reguła perceptronu

Ze spisu treści należy uruchomić następujące programy demonstracyjne:

  1. Granica decyzyjna (separacji) na płaszczyźnie [Chapter IV - Decision Boundaries],:
    • Przemieścić prostą separacji tak, by oddzielić punkty białe (jednej klasy) od czarnych (drugiej klasy). (Jak położony jest wektor wag? Jakie są ich wartości?
    • Zmienić położenie punktów w przestrzeni wejść (na wykresie). Znaleźć taki układ, by nie dało się rozdzielić klas za pomocą prostej.
    • Jak położona jest prosta gdy b=0?
    • Jakie wartości mają wagi, gdy prosta jest rosnąca?
    • Jakie wartości mają wagi, gdy prosta jest malejąca?
  1. Uczenie regułą perceptronu [Chapter IV - Perceptron Rule],
    • Przy zaznaczonej opcji No bias ucz sieć (zmieniaj wartości wag) przyciskając przycisk Learn. Jakie jest położenie prostej separacji? Kiedy kończy się proces uczenia?
    • Wylosuj nowe wagi (przycisk Random). Jak długo uczy się sieć?
    • Wylosuj nowe wagi (przycisk Random). Przy zaznaczonej opcji Bias ucz sieć (zmieniaj wartości wag) przyciskając przycisk Learn. Jakie jest położenie prostej separacji?
    • Rozmieść punkty tak, by nie udało się nauczyć sieci. Rozważ dwa warianty: No bias i Bias.

Na wejściówkę

Ćwiczenia E4.1-4.9 z [3] str. od 4-36 do 4-38

Laboratorium 4 --- Algorytmy genetyczne

Do zajęć laboratoryjnych należy wykorzystać program demonstrujący zastosowanie algorytmu genetycznego do optymalizacji funkcji dwóch zmiennych. Funkcje wykorzystane w programie należą do funkcji testowych dla algorytmów optymalizacyjnych. Listę takich funkcji można znaleźć na stronie Go test problem. Program należy uruchomić w Matlabie.

Przygotowanie (opis) programu

Pliki źródłowe należy pobrać w postaci spakowanego archiwum ESIN_gademo.zip

Cały program demonstracyjny składa się z kilku plików:

  1. demo.m: główny moduł programu; zawiera opis GUI.
  2. gademo.m: funkcja przygotowująca dane i uruchamiająca AG.
  3. genealg.m: algorytm genetyczny.
  4. fitness.m: obliczenie funkcji przystosowania.
  5. tselect.m: selekcja metodą turnieju.
  6. xover.m: krzyżowania (jednopunktowe, dwupunktowe, jednorodne).
  7. mutate.m: mutacja.
  8. decodeb.m: dekodowanie wartości chromosomu: przejście z genotypu na fenotyp.
  9. graph.m: tworzenie wykresów funkcji.

Program należy uruchomić wywołując w linii komend Matlaba moduł główny demo.

Zadania - obserwacja zmian zachowania algorytmu w zależności od różnych parametrów

Każde z zadań ma na celu ustalenie wybieranych arbitralnie parametrów. Jeżeli z badań wynikać będzie, iż lepsze są inne niż domyślne wartości należy je zmieniać w kolejnych badaniach.

Parametr Zakres zmian
Funkcja przysotosowaniaKażda dostępna z listy funkcja
Długość chromosomu mała: 2 bity; duża: 20 bitów
Rozmiar populacji średni: 20 osobników; duży: 100 osobników
Liczba generacji mała: 100; duża: 10000
Prawdopodobieństwo mutacji małe: 0,001; duże: 0.5
Prawdopodobieństwo krzyżowania małe: 0,1; duże: 1
Typ krzyżowania Każdy dostępny z listy
Elitaryzm Wylączony / Włączony


Na wejściówkę

  1. Znajomość schematu blokowego algorytmu genetycznego
  2. Jakie są warunki zakończenia algorytmu
  3. Dobór kodowania chromosomu do zadania
  4. Obliczanie funkcji przystosowania
  5. Symulacja selekcji metodą ruletki i turnieju
  6. Symulacja krzyżowania jednopunktowego i jednorodnego
  7. Symulacja mutacji jednopunktowej