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
wykładyW1 15 1,00,30zaliczenie
laboratoriaL1 15 2,00,70zaliczenie

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.8
A-L-2Programming an AI for the connect4 game. Preparation for the short test on searching game trees.8
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.16
A-L-6Getting familiar with pdf materials on non-linear classification by means of the kernel trick (Gaussian kernels + Rosenblatt's perceptron).4
A-L-7Getting familiar with SaC Java library and its documentation.16
60
wykłady
A-W-1Participation in lectures.8
A-W-2Consultations with lecturer.2
A-W-3Self-preparation for the exam.18
A-W-4Sitting for the exam.2
30

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

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
WM-WI_1-_??_W01
Student has an elementary knowledge on AI problems and algorithmic techniques applicable to solve them.
C-3, C-6, C-1, C-5, C-2, C-4T-L-5, T-L-1, T-W-1, T-L-3, T-L-4, T-W-7, T-W-3, T-L-6, T-W-6, T-W-2, T-W-5, T-L-7, T-W-4, T-L-2M-1S-4

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
WM-WI_1-_??_U01
Student can design and implement elementary AI algorithms.
C-2, C-4, C-3, C-5, C-6, C-1T-L-1, T-W-7, T-L-3, T-L-4, T-W-1, T-L-5, T-W-6, T-W-5, T-L-6, T-W-4, T-W-3, T-L-7, T-L-2, T-W-2M-4S-2

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
WM-WI_1-_??_W01
Student has an elementary knowledge on AI problems and algorithmic techniques applicable to solve them.
2,0
3,0Obtaining at least 50% in the final test.
3,5
4,0
4,5
5,0

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
WM-WI_1-_??_U01
Student can design and implement elementary AI algorithms.
2,0
3,0Obtaining a positive average grade for hoemework programming tasks.
3,5
4,0
4,5
5,0

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.8
A-L-2Programming an AI for the connect4 game. Preparation for the short test on searching game trees.8
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.16
A-L-6Getting familiar with pdf materials on non-linear classification by means of the kernel trick (Gaussian kernels + Rosenblatt's perceptron).4
A-L-7Getting familiar with SaC Java library and its documentation.16
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Participation in lectures.8
A-W-2Consultations with lecturer.2
A-W-3Self-preparation for the exam.18
A-W-4Sitting for the exam.2
30
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięWM-WI_1-_??_W01Student has an elementary knowledge on AI problems and algorithmic techniques applicable to solve them.
Cel przedmiotuC-3Building up the understing of such notions as: heuristics, pay-off, strategy, search horizon.
C-6Giving a historical background on AI and problems within it.
C-1Familiarization with various search techniques for practical problems.
C-5Teaching a possibility of solving optimization problems by means of randomized methods (genetic algorithms).
C-2Introducing elements of two-person games of perfect information and algorithms for that purpose.
C-4Familiarization with classification and approximation as exemplary tasks within machine learning. Introducing simple artificial neural networks for that purpose.
Treści programoweT-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.
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.
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.
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.
T-L-4Testing homework programs - connect4 program: experimentations with different search depths, program vs program games, comments on introduced heuristics (position evaluation).
T-W-7Exam.
T-W-3Algorithms for two-person games of perfect information: MIN-MAX, alpha-beta pruning, and their computational complexity. Horizon effect.
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.
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.
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).
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.
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).
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).
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.
Metody nauczaniaM-1Lecture.
Sposób ocenyS-4Ocena podsumowująca: Final grade for lectures from the test (1.5 h).
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Obtaining at least 50% in the final test.
3,5
4,0
4,5
5,0
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięWM-WI_1-_??_U01Student can design and implement elementary AI algorithms.
Cel przedmiotuC-2Introducing elements of two-person games of perfect information and algorithms for that purpose.
C-4Familiarization with classification and approximation as exemplary tasks within machine learning. Introducing simple artificial neural networks for that purpose.
C-3Building up the understing of such notions as: heuristics, pay-off, strategy, search horizon.
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.
C-1Familiarization with various search techniques for practical problems.
Treści programoweT-L-1Gatting familiar with Java, Eclipse IDE, and a set of classes prepared for implementations of search algorithms. Initial implementation of the sudoku solver.
T-W-7Exam.
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.
T-L-4Testing homework programs - connect4 program: experimentations with different search depths, program vs program games, comments on introduced heuristics (position evaluation).
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.
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.
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.
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.
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.
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).
T-W-3Algorithms for two-person games of perfect information: MIN-MAX, alpha-beta pruning, and their computational complexity. Horizon effect.
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).
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.
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).
Metody nauczaniaM-4Computer programming.
Sposób ocenyS-2Ocena formująca: Five grades for the programs written as homeworks.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Obtaining a positive average grade for hoemework programming tasks.
3,5
4,0
4,5
5,0