Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Administracja Centralna Uczelni - Wymiana międzynarodowa (S1)

Sylabus przedmiotu Introduction to Artificial Intelligence:

Informacje podstawowe

Kierunek studiów Wymiana międzynarodowa
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta
Obszary studiów
Profil
Moduł
Przedmiot Introduction to Artificial Intelligence
Specjalność przedmiot wspólny
Jednostka prowadząca Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej
Nauczyciel odpowiedzialny Przemysław Klęsk <pklesk@wi.zut.edu.pl>
Inni nauczyciele Joanna Kołodziejczyk <Joanna.Kolodziejczyk@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język angielski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL2 15 2,00,70zaliczenie
wykładyW2 15 1,00,30zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1mathematics
W-2algorithms and data structures
W-3programming
W-4object oriented programming

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Familiarization with various search techniques for practical problems.
C-2Introducing elements of two-person games of perfect information and algorithms for that purpose.
C-3Building up the understing of such notions as: heuristics, pay-off, strategy, search horizon.
C-4Familiarization with classification and approximation as exemplary tasks within machine learning. Introducing simple artificial neural networks for that purpose.
C-5Teaching a possibility of solving optimization problems by means of randomized methods (genetic algorithms).
C-6Giving a historical background on AI and problems within it.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Gatting familiar with Java, Eclipse IDE, and a set of classes prepared for implementations of search algorithms. Initial implementation of the sudoku solver.2
T-L-2Implementation of sudoku solver. Testing - varations on the initial state (making the sudoku harder). Observing the number of visited states and the number of solution. Posing the homework task - programming the solver for the sliding puzzle.2
T-L-3Testing homework programs - sliding puzzle solvers. Getting familiar with Java classes prepared for game tree searches (alpha-beta pruning engine). Posing the homework task - programming an AI playing the connect4 game.3
T-L-4Testing homework programs - connect4 program: experimentations with different search depths, program vs program games, comments on introduced heuristics (position evaluation).2
T-L-5Programming the simple perceptron (in MATLAB). Two-class separation of points on a plane. Observing the number of update steps in learning algorithm influenced by: learning rate coefficient, number of data points (sample size), changes in separation margin. Posing the homework task - implementation of non-linear separation using the simple perceptron together with the kernel trick.2
T-L-6Implementation of MLP neural network (in MATLAB) for approximation of a function of two variables. Testing accuracy with respect to: number of neurons, learning coefficient, number of update steps. Posing the homework task: complexity selection for MLP via cross-validation.2
T-L-7Genetic algorithm implementation for the knapsack problem, including: at least two selection methods, and two crossing-over methods. Posing the homework task: comparison of GA solutions with exact solutions based on dynamic programming (computation times).2
15
wykłady
T-W-1Definitions of AI and problems posed within it, e.g.: graph and game tree search problems - n-queens, sliding puzzle, sudoku, minimal sudoku, jeep problem, knapsack problem, traveling salesman problem, prisonner's dilemma, iterated prisonner's dilemma, pattern recognition / classification, imitation game (Turing's test), artificial life and cellular automata, Conway's game of life. Minsky's views on AI.2
T-W-2Graph search algorithms: Breadth-First-Search, Best-First-Search, A*, Dijkstra's algorithm. Notion of heuristics. Efficient data structures for implementations of above algorithms: hash map, priority queue (heap).2
T-W-3Algorithms for two-person games of perfect information: MIN-MAX, alpha-beta pruning, and their computational complexity. Horizon effect.2
T-W-4Data classification (binary, linear) using the simple perceptron (Rosenblatt's perceptron). Forward pass. Learning algorithm. Linear separability of data. Novikoff's theorem on learning convergence (with the proof).2
T-W-5Multi-Layer-Perceptron (MLP) artificial neural network. Sigmoid as activation function. On-line vs off-line learning. Derivation of the back-propagation algorithm. Possible variants. Overfitting and complexity selection for MLP via testing or cross-validation.3
T-W-6Genetic algorithms for optimization problems. Scheme of main genetic loop. Fitness function. Selection methods in GAs: roulette selection, rank selection, tournaments. "Exploration vs. exploitation" problem. Remarks on convergence, premature convergence (population diversity). Crossing-over methods: one-point, two-points, multiple-point crossing-over. Mutation andits role in GAs (discrete and continuous). Examples of problems: knapsack problem, TSP. Exact solution of knapsack problem via dynamic programming.2
T-W-7Exam.2
15

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Programming the sliding puzzle solver in Java. Preparation for the short test on searching graphs.4
A-L-2Programming an AI for the connect4 game. Preparation for the short test on searching game trees.4
A-L-3Programming a complexity selection method for MLP via cross-validation. Preparation for a short test on MLP.4
A-L-4Programming a comparison of GAs vs dynamic programming approach for the knapsack problem. Preparation for a short test on GAs.4
A-L-5Participation in lab classes.15
A-L-6Getting familiar with pdf materials on non-linear classification by means of the kernel trick (Gaussian kernels + Rosenblatt's perceptron).4
35
wykłady
A-W-1Participation in lectures.7
A-W-2Consultations with lecturer.2
A-W-3Self-preparation for the exam.13
A-W-4Sitting for the exam.2
24

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Lecture.
M-2Case study method.
M-3Didactic games.
M-4Computer programming.
M-5Demonstration.

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Five short tests (10 minutes long) at the end of each topic during the lab.
S-2Ocena formująca: Five grades for the programs written as homeworks.
S-3Ocena podsumowująca: Final grade for the lab calculated as a weighted mean from partial grades: - tests (weight: 40%), - programs (weight: 60%).
S-4Ocena podsumowująca: Final grade for lectures from the test (1.5 h).

Literatura podstawowa

  1. S. Russel, P. Norvig, Introduction to Artificial Intelligence, A Modern Approach, Prentice Hall, 2010, 3rd edition

Literatura dodatkowa

  1. P. Klęsk, Electronic materials available at: http://wikizmsi.zut.edu.pl, 2015

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Gatting familiar with Java, Eclipse IDE, and a set of classes prepared for implementations of search algorithms. Initial implementation of the sudoku solver.2
T-L-2Implementation of sudoku solver. Testing - varations on the initial state (making the sudoku harder). Observing the number of visited states and the number of solution. Posing the homework task - programming the solver for the sliding puzzle.2
T-L-3Testing homework programs - sliding puzzle solvers. Getting familiar with Java classes prepared for game tree searches (alpha-beta pruning engine). Posing the homework task - programming an AI playing the connect4 game.3
T-L-4Testing homework programs - connect4 program: experimentations with different search depths, program vs program games, comments on introduced heuristics (position evaluation).2
T-L-5Programming the simple perceptron (in MATLAB). Two-class separation of points on a plane. Observing the number of update steps in learning algorithm influenced by: learning rate coefficient, number of data points (sample size), changes in separation margin. Posing the homework task - implementation of non-linear separation using the simple perceptron together with the kernel trick.2
T-L-6Implementation of MLP neural network (in MATLAB) for approximation of a function of two variables. Testing accuracy with respect to: number of neurons, learning coefficient, number of update steps. Posing the homework task: complexity selection for MLP via cross-validation.2
T-L-7Genetic algorithm implementation for the knapsack problem, including: at least two selection methods, and two crossing-over methods. Posing the homework task: comparison of GA solutions with exact solutions based on dynamic programming (computation times).2
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Definitions of AI and problems posed within it, e.g.: graph and game tree search problems - n-queens, sliding puzzle, sudoku, minimal sudoku, jeep problem, knapsack problem, traveling salesman problem, prisonner's dilemma, iterated prisonner's dilemma, pattern recognition / classification, imitation game (Turing's test), artificial life and cellular automata, Conway's game of life. Minsky's views on AI.2
T-W-2Graph search algorithms: Breadth-First-Search, Best-First-Search, A*, Dijkstra's algorithm. Notion of heuristics. Efficient data structures for implementations of above algorithms: hash map, priority queue (heap).2
T-W-3Algorithms for two-person games of perfect information: MIN-MAX, alpha-beta pruning, and their computational complexity. Horizon effect.2
T-W-4Data classification (binary, linear) using the simple perceptron (Rosenblatt's perceptron). Forward pass. Learning algorithm. Linear separability of data. Novikoff's theorem on learning convergence (with the proof).2
T-W-5Multi-Layer-Perceptron (MLP) artificial neural network. Sigmoid as activation function. On-line vs off-line learning. Derivation of the back-propagation algorithm. Possible variants. Overfitting and complexity selection for MLP via testing or cross-validation.3
T-W-6Genetic algorithms for optimization problems. Scheme of main genetic loop. Fitness function. Selection methods in GAs: roulette selection, rank selection, tournaments. "Exploration vs. exploitation" problem. Remarks on convergence, premature convergence (population diversity). Crossing-over methods: one-point, two-points, multiple-point crossing-over. Mutation andits role in GAs (discrete and continuous). Examples of problems: knapsack problem, TSP. Exact solution of knapsack problem via dynamic programming.2
T-W-7Exam.2
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Programming the sliding puzzle solver in Java. Preparation for the short test on searching graphs.4
A-L-2Programming an AI for the connect4 game. Preparation for the short test on searching game trees.4
A-L-3Programming a complexity selection method for MLP via cross-validation. Preparation for a short test on MLP.4
A-L-4Programming a comparison of GAs vs dynamic programming approach for the knapsack problem. Preparation for a short test on GAs.4
A-L-5Participation in lab classes.15
A-L-6Getting familiar with pdf materials on non-linear classification by means of the kernel trick (Gaussian kernels + Rosenblatt's perceptron).4
35
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Participation in lectures.7
A-W-2Consultations with lecturer.2
A-W-3Self-preparation for the exam.13
A-W-4Sitting for the exam.2
24
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta