Sztuczna inteligencja

Skrypt w ktorym znajdują się opisy wszystkich omawianych ćwiczeń.

1. 2015-09-30
Czym jest sztuczna inteligencja (materiał do Testu Turinga).
Summary
In this part we covered the following concepts:
• different definitons of inteligence (natural, not artificial)
• characteristic of inteligence (ability to learn, gain knowledge, make conclusion and generalize)
• strong and weak artificial inteligence
2. 2015-10-07
Czym jest sztuczna inteligencja (materiał od Testu Turinga do końca).
Czy maszyny mogą myśleć - rozważania na temat silnej sztucznej inteligencji, praca magisterska p. Urszuli Jędrzejczak
Summary
In this part we covered the following concepts:
• Turing test
• Searle's Chinese room
• Churchland's luminous room
3. 2015-10-14
Solving problems by searching (do sformułowania prostych problemów - sformułowania omawiać będziemy na następnych zajeciach)
Summary
In this part we covered the following concepts:
• world state;
• what does it mean when environment is observable, discrete, known, deterministic;
• what does the formulate--state--execute design pattern for the agent mean;
• define and explain all the components defining problem;
• what the solution is;
• explain validity and usefulness of the abstraction used while working on the problem.
4. 2015-10-21
Solving problems by searching (do depth-first search włącznie)
Summary
In this part we covered the following concepts:
• know how to describe some toy and non-toy problems in terms of state, initial state, actions, transition model, goal test, path cost;
• what a search tree is;
• define and explain general tree-search algorithm;
• define and explain graph search algorithm;
• define and explain breadth-first search;
• define and explain uniform-cost search;
• define and explain depth-first search;
• explain differences between informed and uninformed search strategies;
• how we can measure problem solving performance.
5. 2015-10-28
Solving problems by searching (pozostała część wykładu)
Introduction to A* (bardzo dobre)
Introduction to A* (nowa wersja poprzedniego z animacjami)
Summary
In this part we covered the following concepts:
• explain the idea of informed (heuristic) search strategies;
• what a heuristic function is;
• define and explain best first search (in greedy and A* variant).
6. 2015-11-04
Our graph

Deep first search

Uniform cost search -- I forgot to save it, sorry...

Greedy best first search

Best first search

Summary
In this part we covered the following concepts:
• know how to use the algorithms we have discussed so far for specific tasks.
7. 2015-11-18
Beyond classical search (do algorytmu genetycznego włącznie)
Summary
In this part we covered the following concepts:
• know examples of the problem with irrelevant path;
• know what is state-space landscape;
• know what is objective function;
• define and explain hill-climbing algorithm;
• know some possible variants of hill-climbing;
• define and explain simulated annealing algorithm;
• explain concepts related to genetic algorithms: population, individual, fitness function, selection, crossover, mutation
• define and explain genetic algorithm.
8. 2015-11-25
Beyond classical search (ciąg dalszy - od searching in continuous space do and-or drzew włącznie)
Summary
In this part we covered the following concepts:
• know how we can use gradient to find min or max of the objective function;
• know when and why we need contingency plan (strategy);
• know what is "or" and "and" node;
• define and explain and-or search algorithm.
9. 2015-12-02
Beyond classical search (pozostała część wykładu)
Genetic algorithm - tips to exercise
Summary
In this part we covered the following concepts:
• know what is belief state;
• know how to define sensorless problem;
• know how to define partially observable problem;
• know what is online search;
• define and explain an online depth-first search algorithm.
10. 2014-12-09
Adversarial search (mini-max, mini-max z cięciami)

Przykład pokazując, iż wybór optymalnego ruchu zależy od głębokości analizy (dla głębokości 1 był to ruch A3, dla głębokości 2 - ruch A1 a dla głębokości 3 - ruch A2)
Przykład (Wikipedia) - dwa obrazki: statyczny pokazujący ideę oraz dynamiczny pokazujący co się dzieje
Intuicja pokazująca możliwość pominięcia niektórych gałązi
Summary
In this part we covered the following concepts:
• why games are so interesting for AI (tip: games require the ability to make some decision even when calculating the optimal decision is infeasible while any inefficiency is penalize severely);
• how to define game as a search problem (define terms: initial state, transition model, terminal test, payoff function and functions: player, actions);
• what is an optimal solution in games;
• define and explain mini-max algorithm;
• explain how alpha-beta cutoff works.
11. 2015-12-16
Learning from examples (drzewa decyzyjne)

Summary
In this part we covered the following concepts:
• why we want an agent to learn;
• which agent's components can be learned;
• define / explain three main types of learning;
• what is a decision tree and how it works;
• define and explain decision tree learning algorithm.
12. 2016-01-13
Sztuczne sieci neuronowe (czym jest sztuczny neuron) Summary
In this part we covered the following concepts:
• a biological neuron - important "parts" and properties;
• an artificial neuron - how it imitate bilogical parts and functionality;
• activation function;
• basic networks architectures;
• basic properties of neural networks in terms of classification areas (blea and red regions).
13. 2016-01-20
Sztuczne sieci neuronowe - ciąg dalszy (czym jest sztuczna sieć neuronowa, jej budowa itd)

# Ćwiczenia

Wysyłając pliki proszę stosować się do poniższych zasad:
• Całe zadanie / projekt proszę wysyłać jako jeden plik będący archiwum zip.
• Nie używać dużych liter.
• Nie używać spacji tylko znak podkreślenia.
• Nie używać znaków narodowych, czyli np. ą, ć itd.
• Do numeracji używać zawsze dwóch cyfr najwyżej jako pierwsza będzie 'zero').
• Zachować format: nazwisko_imie_numer.rozszerzenie
Ostateczny termin oddania
Opis projektu
1 Puzzle 2015-09-30
do końca semestru
Projekt za 1pkt w wersji z puzzlami kwadratowymi i za 2 pkt z wersji z puzzlami prostokątnymi.
2 Rozpoznawanie znaków 2015-10-08
2015-11-04
Projekt za 1pkt
Napisać program rozpoznający znaki, tj. klasyfikujący podany znak do jednej z dwóch klas znaków. Przyjmijmy, że znak opisany jest przez mapę bitową o wysokości 7 pixeli i szerokości 5 pixeli. Użytkownik sam określa znaki tworzące każdą z klas.
3 Test Turinga, rozmowa z chatbotem 2015-10-14
2015-10-21
Projekt za 1pkt
Przeprowadź rozmowę z chatbotem. Spróbuj zdefiniować różnice pomiędzy botem udającym człowieka (przygotowywanym na test Turinga) a botem „asystentem, służącym”. Sprawdź boty ze względu na:
• przytaczanie cytatów z Twoich wypowiedzi,
• cytowanie wypowiedzi znanych osób, przysłów, powiedzeń itp,
• nawiązywanie wypowiedzi do słów kluczowych,
• zadawanie pytań powstających z twoich wypowiedzi,
• powracanie do początku wypowiedzi, sekwencyjne powtarzanie,
• problemy z utrzymaniem wątków,
• częsta zmiana tematu rozmowy,
Sporządź opracowanie na temat Twoich spostrzeżeń, przytaczając odpowiednie fragmenty rozmów.
Zacząć możesz od następujących chatbotów, ale poszukaj też własnych: cleverbot.com www.chatbot4u.com www.chatbot.pl douweosinga.com chatterboty.pl www.chatbots.org www.personalityforge.com wellbot.tk www.inguaris.pl Akinator. The web genie
4 Przeszukiwania wszerz, w głąb oraz uniform-cost 2015-10-21
2015-11-18

### Labirynty dla BFS i DFS

Opis formatu pliku Wygląd pól labiryntu (numeracja pól zgodnie z opisem w skrypcie, na wszelki wypadek podaję obok)
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

### Graf dla uniform-cost

Opis formatu pliku dla zadania unfiorm-cost

### Plansza dla uniform-cost (a także dla BFS i DFS)

Przykładowa plansza (bfs_citi_01.txt) i jej wygląd:

oraz proponowany koszt wejścia na pola:
Symbol Nazwa pola Koszt wejścia
na pole
Numer pola
w pliku z danymi
Droga główna
(teren nizinny)
0.25 40
Droga drugorzędna
(teren nizinny)
0.5 30
Ścieżka
(teren nizinny)
1 20
Ścieżka
(wzniesienia)
1.5 21
Ścieżka
(teren pagórkowaty)
2 22
Ścieżka
(góry)
2.5 23
Ścieżka
(most)
1 24
Teren nizinny 1.5 10
Wzniesienia 2 11
Teren pagórkowaty 3 12
Góry 4 13
Rzeka Infinity
Przekraczanie zabronione
(tylko po drodze)
0
Las
(teren nizinny)
2.5 1
Miasto 1 2
5 Best First Search (A*) 2015-10-28
2015-11-25

### Grafy w przestrzeni

Opis formatu pliku

### Inne

Można użyć mapy z poprzedniego ćwiczenia.
6 Simulated Annealing 2015-11-18
2015-12-02

### Problem

We want to minimize a simple function of two variables
```
min f(z) = (4 - 2.1*x^2 + x^4/3)*x^2 + x*y + (-4 + 4*y^2)*y^2;
z=(x, y)
```

Wykres

### Solution

```        x = -0.0896
y =  0.7130
z = (x, y)
f(z) = -1.0316
```

### Dodatkowe materiały

7 And-Or drzewa 2015-11-25
2015-12-09
Data files, you can use to test yor program
Data file set number 1
8 Genetic algorithms 2015-12-02
2016-01-13
Solve task 6 with genetic algorithm
Suggestion for coding:

Suggestion for crossover:
9 Mini-max i prosta gra 2015-12-09
end of the semester
• Materiały: rozdział 9 ze skryptu.
10 Drzewa decyzyjne 2014-12-16
end of the semester
Write a program to create decision tree for learning sets similar to restaurant example from corresponding lecture.
Data files, you can use to test yor program (see also: learning set data file format)
Data file set number 1
• Więcej na temat drzew decyzyjnych: rozdział 13 ze skryptu.
11 Sztuczne sieci neuronowe 2016-01-20
end of the semester
Badanie możliwości klasyfikacji sztucznych sieci neuronowych
Exploring the possibilities of classification of artificial neural networks