MSI/ZIPuN/L
From WikiZMSI
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:
- Szybko przenieść kontener ponad miejsce docelowe i czekać, aż przestanie się kołysać.
- Przenosić kontener powolutku, tak by kołysanie nie wystąpiło wcale.
- 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:
- Rozpocznij ze średnią mocą.
- Jeżeli nadal jest daleko od celu, dostosuj moc tak, by kontener pozostawał lekko w tyle.
- Jeśli kontener zbliża się do celu, zredukuj moc w ten sposób, by kontener wysunął się lekko w przód.
- Kiedy kontener jest bardzo blisko celu, zwiększ moc.
- 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:
- Uruchomić symulator "Container Crane".
- Spróbować przenieść jak najszybciej kontener ze statku nad platformę.
- Rozpocząć sterowanie ręczne - przycisk [Manual].
- Regulować moc [+] [0] [-] zgodnie z własną intuicją.
- Powtórzyć próbę stosując różne strategie sterowania.
- Spróbować przenieść kontener korzystając z reguł opisanych w "Sterownik rozmyty - symulacja strategii ludzkiej".
Analiza wstępna modelu:
- Uruchomić symulację sterownika rozmytego (przycisk [Fuzzy]).
- 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.
- 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).
- Przeanalizować poszczególne bloki modelu:
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:
- 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).
- 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).
- 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.
- Zmienić operator agregacji, tak by nie zmieniać koniunkcyjnego charakteru przesłanki (MIN na PROD).
- Zmienić operator akumulacji z MAX na BSUM i obserwować zmiany.
- Zmienić metodę defuzyfikacji na wszystkie dostępne warianty. Obserwować efektywność sterowania oraz proces defuzyfikacji.
Na wejściówkę
- Podać przykład wartości lingwistycznych dla zmiennej odległość i przedstawić je jako zbiory rozmyte.
- Model sterownika rozmytego dźwigu (rysunek z opisem).
- Jaki jest wynik fuzyfikacji gdy na wejściu pojawi się wartość kąta wychylenia (-15 stopni).
- Podać przykład reguł dla sterownika rozmytego dźwigu.
- Co to jest współczynnik DoS i kiedy jest wykorzystywany?
- Podać bazę reguł dla sterownika dźwigu uwzględniając tylko odległość od celu.
- 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
- PROD i MAX
- MIN i MAX
- PROD i BSUM
- MIN i BSUM (Uwaga: RB1, A, B, C, D i wartości przynależności będą zadane).
- Jaka jest różnica w metodzie defuzyfikacji środka ciężkości i wysokości? Która jest bardziej złożona obliczeniowo?
- 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).
- Co to jest powierzchnia modelu? Od czego zależy jej kształt i rozpiętość?
- 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:
- 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.
- 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:
- Klasyfikacja perceptronem [Chapter III - An illustrative example],
- 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:
- 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?
- 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:
- demo.m: główny moduł programu; zawiera opis GUI.
- gademo.m: funkcja przygotowująca dane i uruchamiająca AG.
- genealg.m: algorytm genetyczny.
- fitness.m: obliczenie funkcji przystosowania.
- tselect.m: selekcja metodą turnieju.
- xover.m: krzyżowania (jednopunktowe, dwupunktowe, jednorodne).
- mutate.m: mutacja.
- decodeb.m: dekodowanie wartości chromosomu: przejście z genotypu na fenotyp.
- 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 przysotosowania | Każ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ę
- Znajomość schematu blokowego algorytmu genetycznego
- Jakie są warunki zakończenia algorytmu
- Dobór kodowania chromosomu do zadania
- Obliczanie funkcji przystosowania
- Symulacja selekcji metodą ruletki i turnieju
- Symulacja krzyżowania jednopunktowego i jednorodnego
- Symulacja mutacji jednopunktowej