CS 441 Artificial Intelligence
Classes: Friday 9.00 – 11.00 am
Location: A3-02 (Some meetings might be planned online)
Instructor: Dr. Şadi Evren ŞEKER (+9 0531 605 6726, Ezgi for concatcs)
- History and Philosophy of the Artificial Intelligence (AI)
- Classical AI approaches like search problems, machine learning, constraint satisfaction, graphical models, logic etc.
- Learning how to model a complex real-world problem by the classical AI approach
- Introduction to Artificial Intelligence Problems
- Programming with a mathematical notation language
- AI Programming skills including and based on Data Structures, Automata, Theory of Algorithm courses.
- Writing a real world application with an AI module (like a game)
- Introducing sub-AI topics like neural computing, uncertainity and bayesian networks, concept of learning (supervised / unsupervised) etc.
- S. Russell and P. Norvig Artificial Intelligence: A Modern Approach Prentice Hall
- A must check : http://aima.cs.berkeley.edu
- Some parts of the course is related to Machine Learning, Data Science, Data Mining, Pattern Recognition, Natural Language Processing, Statistics, Logic, Artificial Neural Networks and Fuzzy Logic, so you can read any [text] books about the topics.
Grading: Programming assignment / Homeworks (30%), Final Project ( 70 % including project report, presentation, running code, demonstration)
There will be a final project submission only. Final Project will be individual work, and expectations are :
- Project Report : all the details explained during the project, including your approach to problem, design issues or problem solving details.
- Project Presentation : presentation holding the key points of your project implementation and problem solving, you will also use this file for the presentation
- Running Code in Python: please provide full list of required libraries and execution guide, necessary data files (if you have required for the execution) and all other required files and please put enough comments to your code for readability.
Projects should include at least 2 separate implementation from following list (so, you will re-implement 2 different solutions for the same problem): Search/ Heuristic, CSP, Game Trees, Logic, Fuzzy, Machine Learning / ANN
You will compare your 2 different solutions from the below perspectives, at least:
- performance of computation / memory,
- success rate and implementation
- difficulties perspectives.
Late Submission Policy: Submissions are due to Ma 19, mid-night, any late submission will get 10% penalty for each day. Also Presentations will be digital submission from any environment you prefer, the presentations will be open to all class members so please share the connection information for every body and at least hold them online for 2 weeks during the final exams period, so everybody can get an opportunity to watch the presentation.
After your submissions (including project report, presentation and running code), I can request a Q&A session from you and I will contact you for the schedule.
- Introduction and Agents (chapters 1,2)
- Search (chapters 3,4,5,6)
- Logic (chapters 7,8,9)
- Planning (chapters 11,12)
- Uncertainty (chapters 13,14)
- Learning (chapters 18,20)
- Natural Language Processing (chapter 22,23)
Schedule and Contents (Very Very Very Tentative):
- Class 1, :[PPT] Introduction : Course Demonstration Slides, Introduction Slides
- Class 2,: [PPT] Agents
- Class 3,: [PPT] Search
- Class 4,: No Class
- Class 5,: [PPT] Heuristic Search
- Class 6,: [PPT]Constraint Satisfaction Problems
- Class 7,: [PPT] Game Playing
- Class 8,: Constraint Satisfaction Problems (CSP)
- Class 9, : [PPT] Logic
- Class 11,: [PPT]First Order Logic, Inference in First Order Logic
- Class 12,: [PPT] Uncertainity and Fuzzy Logic
- Class 13,: Supervised / Unsupervised Learning and Classification / Clustering Problems, k-nn and k-means
- Class 14,: [PPT] Artificial Neural Networks
- Class 15,: [PPT] Genetic Algorithms
Coding Practices (from aima.cs.berkeley.edu )
|1-2||AGENTS||.py||532||Implement Agents and Environments (Chapters 1-2).|
|3-4||SEARCH||.py .txt||735||Search (Chapters 3-4)|
|5||CSP||.py .txt||449||CSP (Constraint Satisfaction Problems) problems and solvers. (Chapter 5).|
|6||GAMES||.py||285||Games, or Adversarial Search. (Chapters 6)|
|7-10||LOGIC||.py .txt||887||Representations and Inference for Logic (Chapters 7-10)|
|11-12||PLANNING||.py||6||Planning (Chapters 11-12)|
|13-15||PROBABILITY||.py .txt||170||Probability models. (Chapter 13-15)|
|17||MDP||.py .txt||141||Markov Decision Processes (Chapter 17)|
|18-20||LEARNING||.py||585||Learn to estimate functions from examples. (Chapters 18-20)|
|21||RL||.py||14||Reinforcement Learning (Chapter 21)|
|22||NLP||.py .txt||169||A chart parser and some grammars. (Chapter 22)|
|23||TEXT||.py .txt||364||Statistical Language Processing tools. (Chapter 23)|
|DOCTESTS||.py .txt||42||Run all doctests from modules on the command line. For each|
|PY2HTML||.py||109||Pretty-print Python code to colorized, hyperlinked html.|
|UTILS||.py .txt||713||Provide some widely useful utilities. Safe for “from utils import *”.|
Collaboration Policy: You may freely use internet resources and your course notes in completing assignments and quizzes for this course. You may not consult any person other than the professor when completing quizzes or exams. (Clarifying questions should be directed to the professor.) On assignments you may collaborate with others in the course, so long as you personally prepare the materials submitted under your name, and they accurately reflect your understanding of the topic. Any collaborations should be indicated by a note submitted with the assignment.