İstanbul Aydın University
Software Engineering Department
SEN 503/339 Artificial Intelligence
Course Project
Project Time: 18-November-2021 (Official Start) 06-Jan-2022 (~ 7 weeks)
1. Review of the Course Project
The Course Project is an opportunity for you to apply what you have learned in this AI class to a problem of your interest. To get a better feeling for what we expect from projects, we encourage you to take a look at the project titles, reports and programs from previous years (7. The List of Projects from Previous Years).
The project will be a team research and practical code development activity in AI. You may need to learn some AI algorithms and techniques by yourself before they are presented in lectures. In some projects you will also learn some other AI algorithms which are not be planned in this course. You will also read some papers and examine open source projects.
You will choose one or more than one major areas in AI from The List of Possible Project Areas given below.
1.1. Course and Project Grading
Course Grading:
SEN 503
20 % : Written Midterm Exam
20 % : Team Project
60 % : Final (50% Written Final Exam + 50% Team Project) (University Official)
SEN 339:
20 % : Written Midterm Exam
40 % : Team Project
40 % : Final (75 % Written Final Exam + 25 % Team Project) (University Official)
Your grade = 50% Individual grade on exams + 50% Team project grade
Project Activities:
Proposal: 2-3 pages (18 November)
You can get my quick approval to start your project before this date.
06 January 2022:
Project / Video Presentation (to be uploaded to Youtube) Project Code and Product (working code)
Project Report (in Paper format): 10-12 pages …
The details of submission will be announced later.
1
1.2. Project Work Products and Weights
Project Work Products Explanations and Comments Weights
Project Proposal 10
Project Management and
Research Distribution of project load, team work, research, 10
originality of the project, … (This part is based
on your weekly reports)
Project Code 40
Project Paper 30
Project Presentation Project Video Presentation to be uploaded to 10
Youtube
1.3. Team Model
You will work in teams of up to 4 students.
The projects developed with 4 students are expected to have more impressive results, working prototype and Project Report than the projects done with 2-3 students.
Each team member must have a role and some special responsibilities related with that role. The detailed contribution of each project member to the project will be requested and asked during the development time and at the end.
2. General Requirements of the Projects
You are supposed to learn an area related to our course very well and develop a small working prototype in about 7 weeks. You will also write a Project Paper as explained in the 2.1. Project Paper Format section of the document 02-Project Docs.pdf.
Your implementation language must be Python.
The project must be finished in 7 weeks. The project demonstrations will be in the last week. A project topic or topics must be selected from the List of Possible Project Areas part.
Your project must be approved by the course professor before you start the project.
3. Honor Code
You may consult any papers, books, online references, or publicly available implementations for ideas and code that you may want to incorporate into your strategy or algorithm, so long as you clearly cite your sources in your code and your project report. However, under no circumstances may you look at another group’s code or incorporate their code into your project.
If you are combining your course project with the project from another class, you must receive permission from the instructor, and clearly explain in the Proposal, Milestone, and Final Report the exact portion of the project that is being counted for this course. In this case you must prepare separate reports for each course, and submit your final report for the other course as well.
2
4. Recoding a Screencast
Record a screencast not to exceed 10-15 minutes in length in which you demonstrate your project’s functionality. Be certain that every element of the specification is demonstrated in your video.
Briefly explain your algorithms and models. Upload that video to YouTube (as unlisted or public, but not private) or somewhere else.
Some further guidelines about your video:
• Please do not use the tiniest font in your screencast. What looks good on your monitor is not going to look as good in a YouTube video frame.
• It must be prepared in English.
• Most or all of the team members will be presenting the project.
5. The List of Possible Project Areas
A list of possible AI project areas planned to be presented in our course is given below:
Intelligent Agents Uninformed Search Informed Search
Adversarial Search and Game Playing
Machine Learning: Some Machine/Deep Learning algorithms can be part or your project and used in implementation. But you cannot choose your project topic only from these areas. Since this course is not a Machine/Deep Learning course.
Constraint Satisfaction Problems Markov Decision Processes
Reinforcement Learning Logical Agents
AI Application: Computer Vision and NLP (an Introduction)
These are other AI project areas which will not be presented in the course.
Uncertainty Language …
You can also propose another project related to the possible project areas given above.
6. The List of Some Possible Projects
You can define your own AI project choosing one or two areas from the list of possible project areas given above. You can also choose one project from the project presented here.
The projects below will be distributed based on first-come first-served principle. Normally the same project will not be given to more than one team.
6.1. AI Projects from Harvard’s CS50’s Intro. to Artificial Intelligence with Python
6.1.1. Search
Learn different search algorithms and complete both of the projects given below:
3
Degrees
Write a program that determines how many “degrees of separation” apart two actors are. https://cs50.harvard.edu/ai/2020/projects/0/degrees/
Tic-Tac-Toe
Using Minimax, implement an AI to play Tic-Tac-Toe optimally.
https://cs50.harvard.edu/ai/2020/projects/0/tictactoe/
6.1.2. Knowledge
Learn Propositional Logic and Knowledge-based agents, and complete both of the projects given below:
Knights
Write a program to solve logic puzzles.
https://cs50.harvard.edu/ai/2020/projects/1/knights/
Minesweeper
Write an AI to play Minesweeper. https://cs50.harvard.edu/ai/2020/projects/1/minesweeper/
6.1.3. Uncertainty
Review basic probability topics, Bayes’ rule, Bayesian network, inference, uncertainty, markov models, and complete both of the projects given below:
PageRank
Write an AI to rank web pages by importance. https://cs50.harvard.edu/ai/2020/projects/2/pagerank/
Heredity
Write an AI to assess the likelihood that a person will have a particular genetic trait.
https://cs50.harvard.edu/ai/2020/projects/2/heredity/
6.1.4. Optimization
Learn optimization algorithms, local search, hill climbing, simulated annealing, traveling salesman problem, linear programming, constraint satisfaction problem, backtracking search, and complete both of the project given below:
Crossword
Write an AI to generate crossword puzzles. https://cs50.harvard.edu/ai/2020/projects/3/crossword/
6.1.5. Learning
Study supervised learning, classification algorithms, kNN, perceptron, SVMs, loss functions, overfitting, reinforcement learning, markov decision process, Q-Learning, unsupervised learning, clustering, and complete both of the projects given below:
Shopping
Write an AI to predict whether online shopping customers will complete a purchase.
https://cs50.harvard.edu/ai/2020/projects/4/shopping/
Nim
Write an AI that teaches itself to play Nim through reinforcement learning.
https://cs50.harvard.edu/ai/2020/projects/4/nim/
6.1.6. Language
.
Learn some NLP techniques, and complete both of the projects given below:
4
Parser
Write an AI to parse sentences and extract noun phrases.
https://cs50.harvard.edu/ai/2020/projects/6/parser/
Questions
Write an AI to answer questions. https://cs50.harvard.edu/ai/2020/projects/6/questions/
6.2. The Pac-Man Projects from UC Berkeley’s CS188 Introduction to AI Course
You can choose one or more projects from the Pac-Man projects given below and implement the code. You will improve the code based on my feedback and your progress. You will be asked to add some features to the existing code.
You can find some solutions of these projects in the Github or in other web sites. To use some correct solutions as a base in your project may be OK for getting started. But you have to understand everything to make some modifications and answer the questions that will be asked to you in project progress meetings.
The Pac-Man Projects
The Pac-Man projects were developed for UC Berkeley’s introductory artificial intelligence course, CS 188. They apply an array of AI techniques to playing Pac-Man. However, these projects don’t focus on building AI for video games. Instead, they teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underly real-world application areas such as natural language processing, computer vision, and robotics.
They designed these projects with three goals in mind. The projects allow students to visualize the results of the techniques they implement. They also contain code examples and clear directions, but do not force students to wade through undue amounts of scaffolding. Finally, Pac -Man provides a challenging problem environment that demands creative solutions; real-world AI problems are challenging, and Pac-Man is too.
In their course, these projects have boosted enrollment, teaching reviews, and student engagement. The projects have been field-tested, refined, and debugged over multiple semesters at Berkeley. They release them to other universities for educational use.
http://ai.berkeley.edu/project_overview.html
Search
Students implement depth-first, breadth-first, uniform cost, and A* search algorithms. These algorithms are used to solve navigation and traveling salesman problems in the Pacman world. http://ai.berkeley.edu/search.html
Multi-Agent Search
Classic Pacman is modeled as both an adversarial and a stochastic search problem. Students implement multiagent minimax and expectimax algorithms, as well as designing evaluation functions. http://ai.berkeley.edu/multiagent.html
Reinforcement Learning
Students implement model-based and model-free reinforcement learning algorithms, applied to the AIMA textbook’s Gridworld, Pacman, and a simulated crawling robot. http://ai.berkeley.edu/reinforcement.html
Ghostbusters
Probabilistic inference in a hidden Markov model tracks the movement of hidden ghosts in the Pacman world. Students implement exact inference using the forward algorithm and approximate inference via particle filters.
http://ai.berkeley.edu/tracking.html
Classification
5
Students implement standard machine learning classification algorithms using Naive Bayes, Perceptron, and MIRA models to classify digits. Students extend this by implementing a behavioral cloning Pacman agent.
Contest: Pacman Capture the Flag
Students create strategies for a team of two agents to play a multi-player capture-the-flag variant of Pacman. http://ai.berkeley.edu/contest.html
6.3. Constraint Satisfaction Problem: Solving Sudoku Puzzle
In this assignment you will focus on constraint satisfaction problems. You will be implementing the AC-3 and backtracking algorithms to solve Sudoku puzzles. The objective of the game is just to fill a 9 x 9 grid with numerical digits so that each column, each row, and each of the nine 3 x 3 sub-grids (also called boxes) contains one of all of the digits 1 through 9. If you have not played the game before, you may visit sudoku.com to get a sense of how the game works.
Look at the following document for project information. Project-CSP-Solving Sudoku Puzzle.pdf
7. The List of Projects from Previous Years
Implementation of AI in Sudoku Puzzle Game using DFS, BFS and Backtracking DFS Algorithms Solving Sudoku using three Different Algorithms: AC3, Backtracking and Genetic Algorithm
Tetris using Genetic Algorithms
Snake Game Solver with A* Algorithm
Chess AI using Minimax, Alpha-Beta Pruning, Heuristics Algorithms Pacman Implementations using Different Search Algorithms
Tic Tac Toe Game Connect4 Game
Solving the Rubic’s Cube using Edge Flipping Algorithm with BFS Search Strategy
8. What and How to Submit the Project
Please follow the file naming conventions given below strictly. Otherwise, your project may not be graded fully. Because it is quite time consuming and difficult to download and evaluate the files submitted in different formats.
You will upload one zip file to Google Classroom: Project.zip Project.zip will have the following 7 files:
ProjectCode.zip
ProjectPaper.pdf / ProjectPaper.docx
ProjectProposal-Updated.pdf / ProjectProposal-Updated.docx ProjectProgressNotes.pdf
ProjectWorkProductsContribution.pdf
6
The post The Pac-Man Projects The Pac-Man projects were developed for UC Berkeley’s introductory artificial intelligence course, CS 188. They apply an array of AI techniques to playing Pac-Man. However, these projects don’t focus on building AI for video games. Instead, they teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underly real-world applicatio appeared first on My Academic Papers.