here

Transkrypt

here
Sieci Neuronowe
Zadania i problemy algorytmiczne dla sieci neuronowych, programowania logicznego i
sztucznej inteligencji według zasad i kryteriów laboratoriów. pdf
Laboratorium 2
Zadanie 1.
Zapisać następujące stwierdzenia w języku logiki predykatów, wprowadzając niezbędne
symbole i ustalając ich interpretację:
- ojciec każdego człowieka jest jego bezpośrednim przodkiem,
- jeśli ktoś jest przodkiem bezpośredniego przodka pewnej osoby, to jest także przodkiem
tej osoby,
- każdy jest spokrewniony z każdym swoim przodkiem,
- każdy jest spokrewniony ze swoim bratem i siostrą,
- każdy jest spokrewniony z braćmi i siostrami wszystkich osób spokrewnionych ze sobą.
Zadanie 2.
Dla bazy wiedzy dotyczącej świata klocków podanej w przykładzie wnioskowania znaleźć
wyprowadzenia (jeśli istnieją) następujących formuł:
1.
2.
3.
Zadanie 3.
Sprawdzić, czy z bazy wiedzy Γ można wyprowadzić formuły βi dla poniższych Γ i β. W
razie potrzeby można wprowadzić dodatkowe reguły wnioskowania, sprawdzając
uprzednio ich poprawność.
1.
2.
3.
Zadanie 4.
Które z następujących reguł wnioskowania są poprawne:
1.
4.
2.
5.
3.
6.
Zadanie 5.
Sprowadzić następujące formuły do postaci CNF:
1.
2.
Zadanie 6.
Sprowadzić następujące formuły do postaci standardowej Skolema:
1.
2.
Zadanie 7.
Dokonać unifikacji następujących par formuł:
1.
2.
Zadanie 8.
Zweryfikować przedstawiony niżej przebieg wnioskowania prowadzonego przez człowieka
zapisując bazę wiedzy w postaci formuł logiki predykatów i sprawdzając poprawność
kroków dowodu.
1.
- Wszystkie liczby podzielne przez 2 są parzyste.
- Dowolna liczba o 1 większa od liczby parzystej nie jest parzysta.
- Żadna liczba parzysta nie jest podzielna przez 3.
- Niektóre liczby nieparzyste są podzielne przez 3.
- Z powyższego wynika, że każda liczba podzielna przez 3 jest o 1 większa od pewnej
liczby podzielnej przez 2.
2.
- Nie wszystkie trójki punktów na płaszczyźnie są współliniowe.
- Jeżeli trzy punkty na płaszczyźnie nie są współliniowe, to są wierzchołkami pewnego
trójkąta.
- Jeśli z czterech punktów żadne trzy nie są współliniowe, to są one wierzchołkami
pewnego czworokąta.
- Z powyższego wynika, że:
- istnieje trójkąt,
- istnieje czworokąt,
- jeśli ABC, BCD, ABD i ACD są trójkątami, to ABCD jest czworokątem.
Laboratorium 3
Zadanie 1.
Napisać program/predykat obliczający potęgę.
Zadanie 2.
Napisać program/predykat obliczający silnię.
Zadanie 3.
Napisać program/predykat obliczający nwd dwóch liczb.
Zadanie 4.
Napisać program/predykat obliczający długość listy.
Zadanie 5.
Napisać program/predykat sprawdzający czy dany element należy do listy.
Zadanie 6.
Napisać program/predykat usuwający wybrany element z listy.
Zadanie 7.
Napisać program/predykat łączący ze sobą dwie listy.
Zadanie 8.
Napisać program/predykat zwracający ostatni element z listy.
Zadanie 9.
Napisać program/predykat odwracający listę.
Laboratorium 4
Zadanie 1.
Wykonać drzewa decyzyjne – grafy wnioskowania dla:
m_kr(Miasto, Kraj)
m_st(Miasto, Kraj)
m_ko(Miasto, Kontynent)
kr_ko(Kraj, Kontynent)
Zadanie 2.
Napisać program/predykat wnioskowania wszerz.
Zadanie 3.
Napisać program/predykat wnioskowania wgłąb.
Laboratorium 5
Zadanie 1.
Napisać program/predykat rozwiązujący problem plecakowy.
Zadanie 2.
Napisać program/predykat rozwiązujący problem najkrótszej drogi w grafie.
Zadanie 3.
Rozważmy drzewo genealogiczne. Załóżmy, że krawędzie są skierowane od rodziców w
kierunku dzieci. W którym kierunku - zgodnie czy przeciwnie do skierowania krawędzi lepiej jest prowadzić przeszukiwanie drzewa, chcąc stwierdzić, że X jest prapradziadkiem
Y?
Zadanie 4.
Zdefiniować (i naszkicować jej graf) przestrzeń przeszukiwań i sformułować funkcję celu
dla przykładowego zadania sortowania tablicy zawierającej 4 elementy
Laboratorium 6
Zadanie 1.
Napisać program/algorytm aproksymujący funkcje na podstawie danego zbioru uczącego i
kreślący aproksymację oraz zbiór uczący.
Zadanie 2.
Aproksymować następujące zbiory uczące:
1. [(1,0.33),(1.5,0.66),(2,0.99),(2.5,0.66),(3,0.33),(3.5,0),(4,-0.33),(4.5,-0.66),(5,-0.99),(5.5,0.66),(6,-0.33),(7,0)]
Π
3Π
2. [(0,0),( ,1.1),(Π,-0.1),(
,-1.1),(2 Π,0.1)]
2
2
Π
3Π
,-0.1),(2 Π,1.1)]
3. [(0,0.9),( ,-0.1),(Π,-1.1),(
2
2
Laboratorium 7
Zadanie 1.
W poniższej tabeli zostały przedstawione wyniki jakie osiąga student podczas wykonywania
zadań z danego zagadnienia.
Liczba wykonanych zadań
1
2
3
4
5
6
7
Popełnione błędy
8
7
6
5
6
5
4
Zbadać związki jakie zachodzą pomiędzy danymi przedstawionymi w tabeli, a następnie dla
danych przedstawić prognozę w oparciu o wykres regresji liniowej.
Zadanie 2.
Obliczyć kowariancję zmiennych X i Y a następnie ocenić kierunek zależności liniowej
pomiędzy nimi (y=ax+b) i wyznaczyć linię regresji.
7
6
X
Y
5
5
6
5
8
7
9
7
4
3
3
2
Zadanie 3.
Na podstawie poniższych danych dotyczących wytrzymałości na złamanie (zmienna X
wyrażona w kg) spawanych prętów o różnej średnicy (zmienna Y wyrażona w 0.01 mm)
ustalić, czy średnica spawanych prętów ma wpływ na wytrzymałość na złamanie. Określić
rodzaj, siłę i kierunek tej zależności.
X
Y
190
680
200
800
210
780
215
885
215
975
215
1025
230
1100
250
1030
265
1175
250
1300
Zadanie 4.
Obliczyć kowariancję zmiennych X i Y oraz ocenić siłę i kierunek zależności liniowej
pomiędzy tymi zmiennymi, wyznaczyć odpowiednie wykresy i ocenić ewentualne
zachowanie w przyszłości.
22
634
X
Y
135
5
61
545
8
7
119
712
4
34
32
21
Zadanie 5.
Na podstawie danych dotyczących wydajności pracy Y i stażu pracy X 10 robotników
ustalić czy między zmiennymi X i Y istnieje zależność korelacyjna. Jeśli tak, to określić jej
kierunek.
X
Y
1
120
5
115
10
132
8
123
9
128
1
102
2
106
4
109
5
112
6
110
Sporządzić wykres korelacyjny oraz uporządkować wartości cechy X i odpowiadające im
wartości cechy Y.
Zadanie 6.
Dla 13 robotników zanotowano następujące wartości dwóch cech: X - staż pracy w latach,
Y -liczba braków. Ocenić czy istnieje korelacja pomiędzy tymi cechami i jaki jest jej
kierunek.
X
Y
2
28
5
20
8
18
3
16
10
3
5
22
12
4
4
19
2
30
18
6
6
19
12
8
14
3
Laboratorium 8
Zadanie 1.
Rozwiązać zadanie i napisać program/arkusz kalkulacyjny dla niego.
W śledztwie dotyczącym zabójstwa inspektor Bayes rozważa dwie hipotezy:
• h – że główny podejrzany zabił,
• ~h – że główny podejrzany nie zabił
oraz następujące możliwe fakty:
• f1 – że na miejscu zbrodni znaleziono odciski palców głównego podejrzanego,
• f2 – że główny podejrzany nie ma alibi na czas popełnienia zabójstwa,
• f3 – że główny podejrzany miał motyw zabicia ofiary,
• f4 – że główny podejrzany był widziany w sądziedztwie miejsca, w którym mieszka
nielegalny handlarz bronią,
• f5 – że świadek zbrodni podał rysopis zabójcy nie pasujący do głównego
podejrzanego.
Zależności między takimi faktami a hipotezami opisują następujące prawdopodobieństwa:
W którym przypadku prawdopodobieństwo popełnienia zabójstwa byłoby największe:
- gdyby znaleziono na miejscu zbrodni jego odciski palców,
- gdyby stwierdzono, że nie miał alibi i miał motyw,
- gdyby znaleziono na miejscu zbrodni jego odciski palców oraz stwierdzono, że był
widziany w sąsiedztwie miejsca, w którym mieszka nielegalny handlarz bronią, ale świadek
zbrodni podał rysopis zabójcy nie pasujący do głównego podejrzanego.
Zadanie 2.
Rozwiązać zadanie i napisać program/arkusz kalkulacyjny dla niego.
W śledztwie dotyczącym zabójstwa inspektor Bayes wyłonił trzech
podejrzanych A, B i C, w konsekwencji czego rozważa trzy możliwe hipotezy,
wzajemnie wykluczające się i wyczerpujące wszystkie możliwości:
• hA – zabił A,
• hB – zabił B,
• hC – zabił C
oraz następujące możliwe fakty:
• f1A , f1B , f1C – że na miejscu zbrodni znaleziono odciski palców podejrzanego A, B, C,
•
•
•
f2A , f2B , f2C – że podejrzany A, B, C nie ma alibi na czas popełnienia zabójstwa,
f3A , f3B , f3C – że podejrzany A, B, C miał oczywisty motyw zabicia ofiary,
f4A , f4B , f4C – że świadek zbrodni podał rysopis zabójcy nie pasujący do
podejrzanego A. B, C,
• f5A , f5B , f5C – że podejrzany A, B, C jest szanowanym obywatelem nie budzącym u
nikogo żadnych podejrzeń.
Zależności między takimi faktami a hipotezami opisują następujące prawdopodobieństwa
dla x=A, B, C. Wstępnie inspektor założył, że prawdopodobieństwo popełnienia zbrodni
przez każdego z podejrzanych jest jednakowe. W wyniku śledztwa ustalono, że:
- podejrzani A i B nie mają alibi,
- podejrzany C miał oczywisty motyw,
- rysopis zabójcy podany przez świadka nie pasuje do podejrzanych B i C,
- podejrzany A jest szanowanym obywatelem nie budzącym u nikogo żadnych podejrzeń.
Którego z podejrzanych powinien aresztować inspektor Bayes jako najbardziej
prawdopodobnego zabójcę?
Zadanie 3.
Rozważmy zastosowanie wnioskowania bayesowskiego do pewnej dziedziny, w której
rozważa się dwie wykluczające się wzajemnie i wyczerpujące wszystkie możliwości
hipotezy h i ~h oraz m możliwych faktów f1 , … , fm . Prawdopodobieństwa Pr(fj|h)
dla j=1,2, … , m określone są jako kolejne liczby z ciągu arytmetycznego
0.1+(j-1)*(0.9-0.1)/(m-1), zaś prawdopodobieństwa Pr(fj|~h) odpowiednio jako kolejne
liczby z ciągu geometrycznego 0.9*(0.1/0.9)*(j-1)/(m-1). Obie hipotezy są jednakowo
prawdopodobne a priori. Fakty są warunkowo niezależne względem hipotez. Liczba faktów
m jest parzysta. Która hipoteza jest bardziej prawdopodobna a posteriori, jeśli:
1. wiadomo, że zachodzą wszystkie fakty f1 , … , fm ,
2. wiadomo, że zachodzą tylko fakty f1 , … , fm/2 ,
3. wiadomo, że zachodzą tylko fakty fm/2 , … , fm
.
Laboratorium 9
Zadanie 1.
Napisać program/algorytm obliczający wartość neuronu przy funkcji aktywacji:
- funkcja liniowa
- obcięta funkcja liniowa
- funkcja progowa unipolarna
- funkcja progowa bipolarna
- funkcja sigmoidalna unipolarna
- funkcja sigmoidalna bipolarna
- tangens hiperboliczny
Zadanie 2.
Napisać program/algorytm obliczający sieć neuronową z dwoma warstwami ukrytymi dla
- funkcja liniowa
- obcięta funkcja liniowa
- funkcja progowa unipolarna
- funkcja progowa bipolarna
- funkcja sigmoidalna unipolarna
- funkcja sigmoidalna bipolarna
- tangens hiperboliczny
Zadanie 3.
Napisać program/algorytm uczenia perceptronu.
Zadanie 4.
Napisać program/algorytm uczenia perceptronu z momentem bezwładności.
Laboratorium 10
Zadanie 1.
Napisać program/algorytm obliczający wartość neuronu sigmoidalnego.
Zadanie 2.
Napisać program/algorytm obliczający wartość neuronu adaline.
Zadanie 3.
Napisać program/algorytm uczący sieć według schematu Grossberga.
Laboratorium 11
Zadanie 1.
Napisać program/algorytm uczenia sieci neuronowej z nauczycielem.
Zadanie 2.
Napisać program/algorytm uczenia sieci bez nauczyciela.
Zadanie 3.
Napisać program/algorytm uczenia sieci Hebba.
Zadanie 4.
Napisać program/algorytm uczenia sieci WTA.
Zadanie 5.
Napisać program/algorytm uczenia sieci WTM.
Laboratorium 12
Zadanie 1.
Zbudować sieć neuronową o 3 warstwach ukrytych, zadać parametrację i napisać program
uczący ją dla algorytmu wstecznej propagacji – BP – wstecznej
Zadanie 2.
Zbudować sieć neuronową o 3 warstwach ukrytych, zadać parametrację i napisać program
uczący ją dla algorytmu – LM – Levenberga-Marquardta
Zadanie 3.
Zbudować sieć neuronową o 3 warstwach ukrytych, zadać parametrację i napisać program
uczący ją dla algorytmu– RLS
Laboratorium 13
Zadanie 1.
Zbudować sieć neuronową o 3 warstwach ukrytych, zadać parametrację i napisać program
uczący ją dla algorytmu Hopfielda.
Zadanie 2.
Zbudować sieć neuronową o 3 warstwach ukrytych, zadać parametrację i napisać program
uczący ją dla algorytmu Haminnga.