Sieci Neuronowe – zadania i problemy algorytmiczne dla...

9
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.

Transcript of Sieci Neuronowe – zadania i problemy algorytmiczne dla...

Page 1: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

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.

Page 2: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 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.

Page 3: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 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ę.

Page 4: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

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)]

2. [(0,0),(2Π ,1.1),(Π,-0.1),(

23Π ,-1.1),(2 Π,0.1)]

3. [(0,0.9),(2Π ,-0.1),(Π,-1.1),(

23Π ,-0.1),(2 Π,1.1)]

Page 5: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 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ń Popełnione błędy 1 8 2 7 3 6 4 5 5 6 6 5 7 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.

X 7 5 6 8 9 4 3 Y 6 5 5 7 7 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 190 200 210 215 215 215 230 250 265 250 Y 680 800 780 885 975 1025 1100 1030 1175 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.

X 22 135 61 8 119 4 32 Y 634 5 545 7 712 34 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 1 5 10 8 9 1 2 4 5 6 Y 120 115 132 123 128 102 106 109 112 110

Sporządzić wykres korelacyjny oraz uporządkować wartości cechy X i odpowiadające im

Page 6: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

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 2 5 8 3 10 5 12 4 2 18 6 12 14 Y 28 20 18 16 3 22 4 19 30 6 19 8 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,

Page 7: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

• 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

Page 8: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

- 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

Page 9: Sieci Neuronowe – zadania i problemy algorytmiczne dla …mobius.ms.polsl.pl/Marcin.Wozniak/documents/sn_mat_exe.pdf · kreślący aproksymację oraz zbiór uczący. Zadanie 2.

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.