CS411: Artificial Intelligence
Course Description:
This course covers the techniques and methodologies to develop intelligent machines and expert
systems. Topics include a survey of the history of artificial intelligence, state space and heuristic
searches, knowledge representation, natural language, and automated reasoning.
Course Objectives
The main objective of this course is to study strategies for problem solving in Artificial Intelligence. At
the completion of this course, you will:
Examine the place of Artificial Intelligence (AI) as a discipline of computer science.
Inspect the genesis and foundations of AI.
Identify major applications of AI.
Define basic terminology of AI.
Explain the function of a knowledge representation scheme.
Apply the conceptualization of problem solving as search.
Understand basic terminology and methods of predicate calculus.
Identify the symbols and semantics of prepositional calculus.
Apply inference rules in predicate calculus.
Apply predicate calculus syntax.
Employ the use of the predicate calculus as a representation language for AI.
Identify the strategies and structures for state space search.
Analyze the concepts of state, graph, and tree.
Apply several algorithms that implement state space searches.
Examine the basics of LISP.
Course Credits: 4 credits
Course Prerequisites: CS425
Course Resources:
This course does not have a textbook, but instead uses several web-based texts and resources.
Please refer to your weekly reading page for links and section information.
Additional Materials:
1. LISP Software. Download at: https://sourceforge.net/projects/clisp/
2. Microsoft Word or Google Docs
1
Grading Policy: A course grade is determined based on the percentage of points as designated in
the following chart.
Assessment
Discussions
Assignments
Percent of Final Grade
20%
80%
Below is an at-a-glance look at the weekly discussion and assignment topics. In each Getting
Started module within the course, you will find details about your weekly readings, lectures,
supplemental resources, discussions and assignment instructions, and rubrics
TOPICAL OUTLINE BY WEEK
Week 1:
Reading:
AI: Past, Present, and Future
The One Hundred Year Study on Artificial Intelligence:
https://ai100.stanford.edu/
Association for the Advancement of Artificial Intelligence:
http://www.aaai.org/home.html
Discussion:
Part A: Introductions
Welcome to your week one discussion forum! For the first part of your
response, please introduce yourself to your fellow students and share any
work/professional background or personal interests that might be applicable to
this class. What drew you to take CS411 and do you have plans to use this
information post-graduation?
Part B: Background and Beginnings
The 2015 Study Panel, comprising of experts in AI and other relevant areas
focused its attention on eight domains it considered most prominent:
transportation; service robots; healthcare; education; low-resource
communities; public safety and security; employment and workplace; and
entertainment.
Please select 2 out of eight domains and provide following:
Describe the historic background for the domains you selected as well
as their progress in last 15 years
Explain what are the major challenges for the domains you selected
Describe what are positive and negative impacts of selected domains
on the society and the economy
Assignment:
For this individual project, do the research on Artificial Intelligence, and its
influences and effects on following domains:
transportation
service robots
healthcare
education
low-resource communities
public safety and security
employment and workplace
entertainment.
For each domain, describe the influence and effects of Artificial Intelligence
on the domain
Explain the major benefits for the individuals and society that AI has on each
domain.
For each domain, discuss the long term possibilities, as well as legal and
ethical concerns
Identify and explain major AI-related difficulties that each domain is facing.
Week 2:
Reading:
Problem Solving
CLISP-Web site: http://clisp.org/
Sourceforge: CLISP an ANSI Common LISP download:
3
https://sourceforge.net/projects/clisp/
Discussion:
Paul Grahams Lisp page: http://www.paulgraham.com/lisp.html
One of the most common methods for solving problems in Artificial Intelligence
is a search.
By utilizing different search techniques, we can explore different moves
that
one can make in space of states. Such space is commonly known as a
search space. Knowing that two the most important states are the start state
and the goal state, the main task of the search would be to find a path from
start state to the goal state. To accomplish such task, and thoroughly explore
the search space is to utilize a search tree.
For this discussion board assignment:
Describe the Depth-first search
Describe the Breadth-first search
Explain how depth-first and breadth first trees are explored.
Discuss what are the advantages/disadvantages of depth first search as
well as the Breadth-first search.
Assignment:
Specific questions:
1. Visit the Sourceforge web site, and download appropriate version of
CLISP for your machine.
2. Install the CLISP on your machine by following installation instructions
provided in the lecture section
Use your favorite editor (Emacs, notepad, etc) and edit (write) the code
for the problems provided below. Once the code is edited, fully debug the
code, and then compile it
To load the code, use the load command:
User (1)load c:\\lisp\\test.lisp )
To compile the code, one that is fully debugged, use the following command:
User (2)compile-file c:\\lisp\\test.lisp )
Problem 1: Exponential function
Assume that both B(base), and e (exponent) are non-negative integer
numbers. Implement the function power that calculates the B for the given E.
Enter your function definition into a text file. Then load it into LISP. Execute the
function for the values (power 3 3).
Take a screenshot of the execution, and paste it into MS word document.
Provide the appropriate description of the screenshot.
Additionally, attach and submit your Notepad file into the assignment dropbox.
Problem 2: Calculating Fibonacci Series
The Fibonacci sequence is a sequence of numbers in which each successive
number in the sequence is obtained by adding the two previous numbers in the
sequence.
If we know that :
Fib(0)=1
Fib(1)=1
Fib(n) = Fib(n-1) + Fib(n-2) for n>1
Implement the function Fib that calculates Fibonacci sequence for given n
Enter your function definition into a text file. Then load it into LISP. Execute the
function for the value (Fib 5).
Take a screenshot of the execution, and paste it into MS Word document.
Additionally, attach and submit your Notepad file into the assignment dropbox.
Week 3:
Online Search
Reading:
http://artint.info/html/ArtInt_46.html
Discussion:
Searching a web is a task that many of us are performing on daily, if not hourly
bases. By providing a set of key words, search engine will create a query and
provide us with the list of search results. There are two types of web- search
engine search- algorithm based, and AI based.
Describe the algorithm based web search, its advantages and disadvantages.
Describe the AI based web search.
Discuss differences between algorithm and AI based search, and explain why
the companies such as Google are switching to the AI based searches.
Assignment:
In a written paper with annotated screenshots, please thoroughly address the
following problems:
1. Explain what is a breadth-first search.
2. Implement the informal algorithm ( pseudo code) of breadth first search.
Provide the description of what the code does.
3. Implement the breadth first search algorithm in Lisp. Enter your function
definition into a text file. Then load it into LISP.
4. Explain what is the depth first search, and what is the difference
between breadth-first, and depth-first search.
5. Implement the informal algorithm ( pseudo code) of depth-first search.
Provide the description of what the code does.
6. Implement the depth-first search algorithm in Lisp. Enter your function
definition into a text file. Then load it into LISP.
Week 4:
Reading:
Machine Learning
http://www.sas.com/it_it/insights/analytics/machine-learning.html
How computers learn:
http://iq.intel.com/artificial-intelligence-and-machine-learning/
Discussion:
Machine learning is a part of computer science that studies the construction of
algorithms. Such algorithms can learn, make decisions as well as predictions
from given data.
For this discussion board assignment, in couple of sentences, explain the
machine learning process. Then, research the popular machine learning
algorithms and provide the following:
Describe the use of chosen machine learning algorithm
Discuss the advantages/disadvantages of a chosen algorithm.
Provide the practical example of use of a chosen machine learning
algorithm and explain the advantages of chosen algorithm over others
Assignment:
Specific questions or items to address:
Describe what is the Machine Learning , and what is the difference
between Machine Learning and Data mining. Provide a real world
example of machine learning in action, and explain how it is used.
Explain what is a parametric machine learning algorithm and how is it
different from a nonparametric machine learning algorithm
Provide and explain 3 examples of parametric machine learning
algorithm
Provide and explain 3 examples of nonparametric machine learning
algorithms
Discuss which of those 2 algorithm types are more accurate and more
flexible
Describe the bias and variants, and provide the example of low /high
bias algorithm. Justify your answer, explaining why is your example, an
example of low/high bias algorithm
Week 5:
Markov Decision Process
Reading:
http://artint.info/html/ArtInt_179.html Chapter 7.3.2
http://artint.info/html/ArtInt_224.html Chapter 9.2
7
Discussion:
Assignment:
Markov decision processes can be solved by either linear programming or
dynamic programming. For this discussion board assignment, provide the
following:
Present the algorithm that resolves the MDP by dynamic programming
Explain the steps that algorithm has, as well as how they are defined
Provide the practical world example of MDP usage.
Specific questions or items to address:
1. In your own words, describe the simple linear regression. Explain why it
is called a simple linear regression, and how do we use a model to
make predictions on new data.
2. Let x1, x2, xN be a set of input features. A linear function that
represent those features, will have a following form:
Fw(x1, x2, .. xn)= w0 + w1 * x1 + w2 * x2 + + wn*xn
Also, in order to implement simple linear regression, it requires that we
calculate statistical properties from the data such as mean, variance and
covariance.
Please implement a simple linear regression model by providing a following:
1. Implement the functions Mean and Variance that calculate mean and
variance
2. Use the data that is returned by the Mean and Variance function and
implement a function Covariance, that will calculate covariance
3. Use the all previous implemented functions, and develop a function called
CalculateCoefficients. Function CalculateCoefficients will take the
dataset as an argument and returns the coefficients.
4. Implement a function SimpleLinearRegression that implements the
prediction equation to make predictions on a test dataset. To make
predictions, use The coefficients prepared from the training data.
Week 6:
Reading:
Constraint Satisfaction
Discussion:
http://artint.info/html/ArtInt_178.html Chapter 7.3.1.1
http://artint.info/html/ArtInt_48.html
Chapter 3.2
Appearance of constraint satisfaction problems in artificial intelligence started
in the early 70s. Decades later, programming languages such as Prolog and
CPP, started embedding constraints into a programming language.
For this discussion board assignment, complete the following:
-define the constraint satisfaction problem
-knowing that constraints satisfaction problems are solved by search, describe
the some of the most used techniques such as Local search, backtracking or
constraint propagation,
-Describe the constraints satisfaction toolkits, and list the major toolkits that
are in use.
Assignment:
Specific questions or items to address:
1. In your own words, describe the Decision Tree algorithm. Explain how
we use binary trees to make predictions on new data.
2.
Create the function DecTree that will implement decision tree. Your
function should accept input of decimal string (list) of repeated entries.
Apply binary decision tree to find repetitions of each decimal digit in the
string.
3. Lets have n disks of graduated sizes: D1, D2, D3, Dn
4. In addition, lets have a 3 pegs, on which those disk could be stacked
on: 1, 2, 3
5. If we know that all the disks are stacked on the peg 1, where the top
disk is the smallest one while the bottom is the biggest, implement the
functionalities that will do the following:
6. Move all the disks from the peg 1 to the peg 3, given that only one disk
can be moved at a time and that no disk may be placed on top of a
smaller one.
Week 7:
Reading:
Discussion:
Logic
http://artint.info/html/ArtInt_78.html Chapter 4.4
https://cis.temple.edu/~giorgio/cis587/readings/constraints.html#2
One of the most commonly shown and studied example of Constraint
Satisfaction Problem is a A crossword puzzle. For this discussion board
assignment:
1. Explain a crossword puzzle problem.
2. Describe what are the variables in a crossword puzzle problem
3. Explain, what are the constraints in the crossword puzzle problem
4. Discuss a possible algorithms, that could resolve crossword puzzle
problem
Assignment:
Specific questions or items to address:
1.
In couple paragraphs, explain what are the Constraint Satisfaction
problems, and list some of the characteristics of CSP.
2. There are 3 solutions for Constraint Satisfaction Problems:
Generate-and-Test
Backtracking
Consistency Driven.
Describe each CSP solution, and for each solution, provide examples of its
usage.
1. 8 Queens problem
2. The local condition is:
- no two queens attack each other
-no two queens are on the same row,
- no two queens are on the same column,
- no two queens are on the same diagonal line.
Problem: place 8 queens on a standard 8x8 chessboard so that no
queen is attacking another queen.
10
For this CSP problem, you are to implement a backtrack depth-first
search in cLISP, that takes as input an integer and solves the
corresponding 8-queens problem.
Week 8:
Deep Learning
Reading:
http://deeplearning.net/tutorial/
Discussion:
In your own words, describe the deep learning
Discuss the difference between the deep learning and machine learning
Provide the real-world example of deep learning application
Discuss the major challenges that deep learning is facing.
Assignment:
Specific questions or items to address:
1. In a couple of paragraphs, explain what is Deep Learning, and provide
the examples of Deep Learning technology usage in every day lives.
2. Companies such as Google, Microsoft, Intel, Facebook, and Baidu are
investing in development of Deep Learning algorithms, and their
practical application. For each mentioned company, provide the one
example of their specific Deep Learning research, and explain its
real-world application.
3. One of the earliest Deep Learning algorithms that was developed is
perceptron. Describe the perceptron algorithm, and provide a scenario
in which the perceptron algorithm would be well suited. In addition,
explain how would you train perceptron, and discuss neural networking
and its role in that training.
The following table outlines the academic effort required by students to be successful in this course.
While the times in the table are approximate, it is presented to help students with their time
management. Please note, depending on the student's background knowledge and experience of the
course subject and an individual student's academic capabilities, these times will vary. If you have
any questions or concerns, please direct them to your instructor or student advisor.
Week
Type of Activity
Online
1
Preparation
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Estimated Hours
Required
1.1
2.0
0.0
3.4
1.0
11
Assignments
Clinical/Lab Hours
Week
Type of Activity
Online
2
Preparation
Week
Type of Activity
Online
3
Preparation
Week
Type of Activity
Online
4
Preparation
Week
Type of Activity
Online
5
Preparation
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Week
Type of Activity
Activity
Online
Readings/Lectures
Discussions
1.0
4.0
Estimated Hours
Required
0.8
2.0
0.0
2.3
1.0
1.0
4.0
Estimated Hours
Required
0.8
2.0
0.0
2.5
1.0
1.0
4.0
Estimated Hours
Required
0.9
2.0
0.0
3.1
1.0
1.0
4.0
Estimated Hours
Required
0.7
2.0
0.0
2.9
1.0
1.0
4.0
Estimated Hours
Required
0.9
2.0
12
Preparation
Week
Type of Activity
Online
7
Preparation
Week
Type of Activity
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Activity
Readings/Lectures
Discussions
Assignments
Readings
Discussions
Assignments
Clinical/Lab Hours
Activity
Readings/Lectures
Online
Discussions
Assignments
8
Readings
Discussions
Preparation
Assignments
Clinical/Lab Hours
Follow this link for course-related Policies and Contact Information.
0.0
2.4
1.0
1.0
4.0
Estimated Hours
Required
0.8
2.0
0.0
205
1.0
1.0
4.0
Estimated Hours
Required
0.8
2.0
2.0
3.8
1.0
4.0
12.0
13