WESTERN NEW ENGLAND COLLEGE SCHOOL OF ARTS AND SCIENCES CS 370 ARTIFICIAL INTELLIGENCE INSTRUCTOR: Fall 2005 Dr. L. S. Tang FACULTY OFFICE: location: phone: email: office hours: Herman 310B (413) 782-1353 ltang@wnec.edu M W F 10:00 AM - 12:00 PM T, Th 11:00 AM - 01:00 PM TEXT: "Artificial Intelligence", by George Luger and William Stubblefield Fifth edition, Addison-Wesley, 2005 COURSE OBJECTIVES: 1. 2. 3. To introduce the basic principles and fields of artificial intelligence. To study in some depth a major field of artificial intelligence: expert system. To introduce and use two major languages in artificial intelligence: Lisp and Prolog. COURSE REQUIREMENTS AND WEIGHTS: 2 Hourly Exams Final Exam (cumulative) Final Project Exercises and Programming assignments Note: 40% (20% for each exam) 20% 20% 20% If an assignment is handed in late, 5% will be taken off for each class day late. All assignments must be handed in no later than two weeks after the due date. DEPARTMENT OF MATHEMATICS AND COMPUTER SCIENCE ATTENDANCE POLICY: One of the primary objectives of the department is the success of each student that enrolls in one of our courses. We structure our support services through the MATH CENTER/ CS Lab and our courses, including lectures, homework, class discussions, quizzes, and exams, towards that goal. We are cognizant of the multi-faceted environment that students need to succeed in our courses, and we offer such an environment for each of the students that we serve. The classroom experience is one of the most essential ingredients for student success, since a wealth of information is communicated during each class and since the instructorstudent interaction that takes place during this transmission contributes greatly to the learning process. Consequently, we expect the student to attend every class. To encourage our students to continually participate in the classroom experience the department mandates that some portion of the student’s final grade in a MATH/CS course be based on attendance and class participation. At the beginning of the semester, each student will be given 2 bonus points to be added to the student's final average as computed above. However, for each absence these bonus points will decline by 1/2 point. Consequently, if a student has four absences during the semester, zero points are added to the final average, and if a student has five or more absences during the semester, points are subtracted from the final average. Further, one point can be subtracted from positive bonus points due to poor class participation. We are aware that on a rare occasion, an emergency may arise causing a student to miss a class, and such an absence may be excused, at the discretion of the instructor, without penalty. In this instance the student is still responsible for the missed material and the assignment, and it is always prudent for the student to inform the instructor prior to the absence whenever possible. Note that to get bonus points you must BE IN CLASS. An absence for an illness, a wedding, or to catch a flight home is still an absence and will not earn bonus point! Sleep in class will be considered as absence. GRADING SCALE: 93-100 87-89 77-79 65-69 0-59 A B+ C+ D+ F 90-92 83-86 73-76 60-64 AB C D 80-82 70-72 BC- MAKE-UP EXAM: If a student should miss an exam, a makeup test may be given only if evidence can be shown which will confirm that the absence is due to circumstances beyond the student's control (such as illness or personal emergency). In this case, the instructor must be informed prior to the exam that he/she will not be able to attend. Any excused work must be made up within one week of the student's return to class. ACADEMIC HONESTY: Anyone detected cheating in an exam or assignment, whether aiding or being aided, will receive a zero for that exam or assignment. WRITTEN PROFICIENCY: In keeping with the mission statement of the college to encourage students to think clearly and to discipline their self-expression, students are expected to demonstrate, in writing, that they have assimilated the information and ideas presented in each course. Consequently, the students' written work on exams and assignments will be critically analyzed and that written performance will represent approximately 5% of the grade on that submitted material. CS LAB: The CS LAB is located in H115 on the first floor of Herman Hall. A schedule is published at the beginning of each semester with specific times when students in any CS course may come to the Lab for individual one-on-one help. An appointment is not needed. If a student's schedule conflicts with the hours in the schedule, he/she may call 7821692 for an appointment during a more suitable time. STUDENT EXPECTATIONS: Your greatest expectations should be the ones you place on yourself. What you achieve in the course will, in part, determine how successful you will be later in life, so work for yourself. To reach your highest expectations we encourage your to consider the following guidelines: a) b) c) d) e) f) Work at least two hours outside of class for every hour in class. Don't cut this time short and don't bunch it all together. Take notes in class and rewrite the notes outside of class. Prior to attempting each problem set assignment read the appropriate material in the text and class notes, giving special attention to the solution examples discussed in class. Complete each assignment on time, and if needed, with the help of your student colleagues, your professor, or the Lab assistant. Use flash card to memorize both vocabulary and basic facts. Repetitive drill is a tedious but effective way to begin learning large amounts of factual material. Take advantage of all avenues to success, even the ones you find not in the above list. LEARNING DISABILITIES: If you have a documented learning disability that requires special accommodation, please call the Learning Disability Services Office at 7821528. Arrangements can be made to help you, but you must go through the proper channels. DISRUPTIVE BEHAVIOR: If a student behaves in ways that disrupt the learning environment of the classroom, or is disrespectful to the professor, he/she may be suspended from the class at the discretion of the professor. The student must then appear before the Dean o the School of Arts and Sciences. The Dean will determine whether the student should be readmitted and, if so, the terms under which this can occur. Following readmission, if further incidents of misconduct are reported, the student is subject to dismissal from the course with a grade of F. COURSE OUTLINE (tentative) Chapter Topics 1 AI: Early History and Applications 2 The Predicate Calculus 3 Structures and Strategies for State Space Search 4 Heuristic Search 5 Stochastic methods 6 Building Control Algorithms for State Space Search 7 Knowledge Representation 13 Automated Reasoning 14 Understanding Natural Language 15 An Introduction to Prolog EXPECTED OUTCOMES: Upon successful completion of the course the student will be able to: --explain the Turing Test, and describe some criticisms of the Turing Test. --identify some examples of human intelligence that cannot be tested by the Turing Test. --identify some examples of machine intelligence that are superior than human intelligence. --explain the meaning of expert systems. --identify the two fundamental concerns in AI (i.e. two most important aspects of modern AI research). --name the major areas of AI. --explain why Expert systems for problems that depend on "common sense" are difficult to build. --identify some deficiencies of expert systems. --identify major difficulty in Natural Language Understanding. --explain the Newell and Simon's physical symbol system hypothesis. --explain the exhaustive search and the heuristic search. --use truth table to prove identities in propositional calculus. --use truth table to determine whether an implication is sound and explain why we need sound implications in AI applications. --use an example to illustrate that in proposition calculus, there is no way to access the components of an individual assertion (proposition) and therefore it is not possible to infer certain knowledge, and show how the problem can be solved by using predicate calculus. --write Prolog predicates to define simple facts and rules, and to answer simple Prolog queries. --represent graphs/directed graphs using (1) adjacency matrix (2) weight matrix (3) predicate calculus --explain combinatoric explosion. -identify the data structure used in Breadth-First Search. --identify the data structure used in Depth-First Search or Backtracking Algorithm. --explain backtracking algorithms. --identify the advantages and disadvantages of breadth-first search. --identify are the advantages and disadvantages of depth-first search. -explain the Bounded Depth-First Search. -Given a graph, be able to trace (1) Breadth-First Search (2) Depth-First Search (3) Depth-First Search with a given depth bound --write procedure (N. Wirth's "Try") to solve simple backtracking problems. --identify the two parts of a heuristic algorithm. --use an example to show that the "nearest neighbor" algorithm for solving the problem of Traveling Salesperson may not find an optimal path. --identify data structure is used in the Best-First Search. --trace the Best_First Search of a given hypothetical state space. --Given a heuristic function for certain problem, be able to apply it to the Best_First Search to find a path a goal. --explain how we can prevent a search that leads down to a long path in a heuristic search. --apply the minimax algorithm to solve the tic-tac-toe problem. --apply Alpha-Beta Procedure to prune the tree of a heuristic search. --trace how Prolog perform searches. --use a tree to illustrate how Prolog performs searches. --use head and tail to identify each part of a Prolog list. --write Prolog programs for manipulating lists. --implement grammar rules using Prolog lists. --identify areas of Natural language processing. --identify some of the problems in computer language translation. --construction derivations of sentences from the grammar of a given language. --construction parse trees of sentences from the grammar of a given language. --explain ambiguous grammars. --identify some of the problems in natural languages understanding. --What is the difference between lexical ambiguity and grammatical ambiguity? --describe the concept of neural networks. --describe how the perceptron pattern recognition program is trained to recognize patterns. --construct the weight matrix and use it in pattern recognition. --explain linearly separable sample data. --describe the perceptron convergence theorem. --show the simple network for logical function and, or, not. --show the linear inseparability of exclusive-or. --show how the single-layer perceptron for exclusive-or will never converge. --discuss differences between conventional computing and neural networks. CS 370 Final Project As described on the syllabus, you must do some term project or term paper for the course. You should begin now to plan for this project. To help you get going, there are a number of suggestions below, and a schedule to follow in submitting your project/paper proposal. Schedule: October 17: First rough ideas - possibly alternatives. October 24: Revised preliminary proposal. November 7: Final proposal due. Project Suggestions and Notes: 1. Build an expert system incorporating expertise you, or someone you have easy access to, possesses. In general, any hobby area in which you have substantial experience can be a source for an expert system. Most systems are "diagnosis and advice" systems. Computation may be involved as well as "rules". An expert system can be implemented in one of the following: a. An expert system software. b. Prolog c. Any language (Java, C, C++, C#, etc) you want to use. 2. Other AI-related projects, such as "intelligent" programs or anything you would like to do. game-playing 3. A paper on some aspect of AI, such as machine-learning, IBM's Deep Blue, Genetic Algorithms, etc. 4. Some other project which you think is appropriate to the course, propose it and let the professor consider it.