Sztuczna inteligencja
Wyniki egzaminu oraz zestaw z egzaminu


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

Wykład

  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
    Solving problems by searching (podsumowanie dotychczasowego wykładu; praca z przykładami)
    Our graph

    Breadth first search

    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 what is gradient;
    • 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)

Różne materiały uzupełniające

Ćwiczenia

Wysyłając pliki proszę stosować się do poniższych zasad:
NumerNazwa projektuData zadania /
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 dużej liczby pytań,
  • zadawanie pytań powstających z twoich wypowiedzi,
  • powracanie do początku wypowiedzi, sekwencyjne powtarzanie,
  • odpowiadanie wymijająco, ogólnikowo,
  • problemy z utrzymaniem wątków,
  • częsta zmiana tematu rozmowy,
  • opowiadanie żartów.
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
Mój przykładowy program

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)
0123
4567
891011
12131415

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
Mój przykładowy program

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