YAŞAR UNIVERSITY FACULTY OF ENGINEERING AND ARCHITECTURE DEPARTMENT OF COMPUTER ENGINEERING CE401 ARTIFICIAL INTELLIGENCE Autumn semester 2008/2009 CREDITS: 3 (lectures 2, labs/tutorials 2) INSTRUCTOR: Assoc. Prof. Dr. Kostadin Kratchanov PHONE: 411-5289 EMAIL: kostadin.kratchanov@yasar.edu.tr OFFICE HOURS: Tue, Wed, Thu LECTURES: Mon 13:30 – 15:10 room 7.115 LABS: Thu 10:50 – 12:30 room 19-004 ASSISTANT: Mustafa Büyükkeçeci Phone: 411-5296 Email: mustyby2@hotmail.com TEXTBOOK: Artificial Intelligence: A Modern Approach, 2nd ed. S. Russell and P. Norvig, Prentice Hall, 2003 Supporting website: http://aima.cs.berkeley.edu/ 13:30 – 14:30 REFERENCE BOOKS: Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 6th ed. G. Luger, Addison Wesley, 2009 AI Algorithms, Data Structures, and Idioms in Prolog, Lisp and Java, G. Luger and W. Stubblefield, Addison Wesley, 2009 Artificial Intelligence: A Systems Approach. M. Tim Jones, Infinity Science Press, 2008 GENERAL OVERVIEW This course provides an overview and introduction to the field of Artificial Intelligence. Notions of rational behavior and intellıgent agents will be discussed. Major subareas will be covered. The emphasis will be on understanding the fundamental concepts, as well as being able to practically apply the corresponding approaches in solving practical problems and developing useful software applications. Program illustrations in traditional languages such as C and Java will be used, and the logic programming language Prolog will be introduced. COURSE OBJECTIVES Understand the notions of rational behavior and intelligent agents. Develop a general appreciation of the goals, subareas, achievements and difficulties of AI. Knowledge of methods of blind as well as informed search and ability to practically apply 1 the corresponding technıques. General understanding of major concepts and approaches in knowledge representation, planning, learning, robotics and other AI areas. Developing programming skills for AI applications. Exposure to logic programming with Prolog. COURSE FORMAT There are four hours of scheduled instruction per week. New material will be formally presented in lectures. Labs will be used to reinforce the lectures by providing an opportunity to study examples and practice the application of concepts, as well as to gain hands-on experience in solving problems and developing applications using AI techniques. Labs are not just for students who require extra help; they are an integral part of the course and attendance is expected. From time to time, the lab sessions will take the form of tutorials. Different programming languages will be used in practical applications such as Prolog, C and Java. To be successful, you will need to devote significant time outside of class to studying, practicing skills and solving assignment problems. Parts of some topics will not be lectured at all – instead, students will be expected to read the corresponding material from the textbook. In such cases, lecture and lab/tutorial time will be used for discussing the concepts, studying examples, and solving problems. Assignments play a vital role for the better apprehension of the concepts and notions introduced and in developing important practical skills. ASSESSMENT Assignments Labs Attendance, participation and quizzes Midterm (1 Dec 2008) Final Examination 15 % 10 % 15 % 20 % 40 % Typically, percentage grades will be converted to letter grades as follows: 96 – 100 A 84 – 87 B 92 – 95 A– 80 – 83 B– 88 – 91 B+ 76 – 79 C+ Failed due to unsatisfactory attendance TT 72 – 75 68 – 71 64 – 67 C C– D+ 60 – 63 < 60 D F Some modification to the above scheme is possible based on the overall class results. EXAMINATIONS The midterm will be written in class on the date specified in the assessment section above. If any changes to this date are necessary, students will be notified well in advance. Students will not normally be permitted to write a missed test at a later date. A student seeking alternative arrangements in case of extraordinary circumstances must contact the instructor at least two days prior to the date of the test. The exact date and time of the final exam will be determined by the University later in the semester. 2 The examinations will focus on understanding and applying the concepts taught in class and practiced in lab/tutorial exercises and assignments. ASSIGNMENTS Problem solving, programming and AI techniques and skills can only be acquired through practice and through the study of increasingly difficult problems. The assignments all involve problem solving and application of AI approaches. It is very important that you understand how you solved the problem, and not just be happy with handing in a computer program that probably produces the requested results. Assignments will be graded on a combination of functionality, quality of design, and quality of documentation. Detailed specifications will be given for each assignment, later in the course. All assignments are to be completed individually. See the section below which discusses academic honesty. Problem solving and programming assignments can be very time consuming. budget sufficient time for completion. Start early and Students will typically have around two or three weeks to complete each assignment, depending on its complexity. Submission deadlines will be enforced strictly. An early/late submission policy will be applied. Students are responsible for maintaining backups of their work, and for maintaining an unaltered copy of each submission until it has been graded and returned. ATTENDANCE, PARTICIPATION AND QUIZZES The mark for Attendance. Participation and Quizzes is made up of four components. Lecture attendance, together with student participation in class and completed homeworks will be used to determine the first two components (attendance and participation) of the mark comprising together 5% of the final mark. Students will be also expected, individually or pairing up with another student, to prepare and give at least one short (10-15 min) presentation on a topic not covered in the lectures. The presentation accounts for 5% of the final mark; however, outstanding presentations may earn bonus points above the basic 5%. Quizzes will be normally announced at least one day in advance, and may be given in lecture or in tutorial. Quizzes will usually be closed–book (some might be open-book) and will typically require about 10 minutes to complete. A student who misses a quiz for any reason will be assigned a score of zero for that quiz. There will be five to seven quizzes throughout the semester. ELECTRONIC DISTRIBUTION OF FILES AND INFORMATION TO STUDENTS Numerous files will be made available to you electronically during the semester: documents, lectures, examples, homeworks, etc. Conversely, you might be asked to submit completed assignments electronically. Our main tool for communication will be the course web site available from 3 http://ceng.yasar.edu.tr. Students can access the course web sıte using the following “enrollment key”: 08CE215EK. Note that urgent announcements will also be posted at this sıte. Students are responsible to regularly check the announcement, documents and other uploaded materıals. Failing to do so cannot be accepted as an excuse. STUDENT FEEDBACK Feedback from students is extremely important to me. Please speak up and share with me any concerns or questions that you have. Feel free to raise an issue or ask a question in class, after class, during my office hours, or at any time you meet me. You are also very welcome to use the email or telephone for communication. In addition, I have set a special webpage available at https://www.getfast.ca/students/index.cfm?Randomcourse=78147563 where you can write your comments, suggestions or complains – what you like, what you don’t like, what you would propose in order to improve my way of teaching and better assist you, a problem you see. Your input through this webpage is anonymous. You can access the webpage using the password CE401. . SOME IMPORTANT POINTS 1. Attendance is compulsory. Any student who has poor attendance or misses an exam without a valid excuse will receive a TT grade. 2. BE WARNED: the content of the lectures will not necessarily be found in the textbooks. 3. You must turn off all personal electronic communication devices including cell phones, pagers and blackberries during the lectures and labs. You may use a laptop to take notes if you wish (but not for chat or exchanging emails!). You do NOT have permission to make an audio or video recording of the lectures or tutorials. Talk to me first if you want to record something. 4. Extensions or deferrals will not be normally granted for any exams or assignments. If you can’t finish an assignment on time, hand in what you have done. Partial work will be accepted. Frequently the “last little bit” that you didn’t have time to finish will not have a huge impact on the mark for the assignment. 5. Lab Assignments are designed to be small exercises that provide you with immediate feedback. When required, you must turn in all lab assignments by the deadline. However, in some cases the lab time is not enough to complete the task – you are then supposed to complete the task at your spare time. This type of exercise is designed to basically draw your attention to some features that you may explore and use when needed. You will not be able to “make up” a missed lab assignment. 6. One of the skills critical to success in programming is the ability to define a problem and its requirements clearly and concisely. To achieve this, assignments may initially be ill-defined, open-ended and incomplete. Therefore, it is necessary for you to read the material as soon as it is given to you and identify what further information you need. This requires good 4 organization/planning/time management skills. It is not possible to start an assignment close to the due date and expect to complete it satisfactorily. 7. If your circumstances should change so that it is difficult for you to complete your work in this course, please make an appointment to see your instructor. It MAY be possible to work out an alternative way for you to fulfill the course requirements. ACADEMIC MISCONDUCT Cheating and Plagiarism will not be tolerated at any stage during your studies at Yasar University. These are a serious violation of academic ethical standards and are unfair to other students. Moreover, plagiarism and cheating contradict the main purpose of course work, which is to assist students in understanding and learning the course material. It is expected that all work handed in by a student will be original work that has been done by the individual. If it is not, then this act of intellectual dishonesty will be dealt with severely. Normally, the sanction for any student accused of cheating will be zero on the assignment. In the case of one student giving part of his/her assignment to another student, both students are considered to be cheating. Sanctions for further incidents of cheating by the same student may ultimately result in expulsion from the University. While students are expected to work reasonably independently, we do not expect you to work in isolation. Often you learn best when working with others on an assignment. So what degree of collaboration is expected and, indeed, encouraged, and what is deemed to be cheating? In general, we encourage things like bouncing ideas off one another, discussing which of two alternate solutions might be better (and why), and getting another's ideas on how to resolve a difficulty that you have already spent time on. However, you should not be working so closely together that someone else's solution becomes incorporated into your product. These general guidelines apply to any type of assignment. TOPIC OUTLINE The tentative course topics are listed below. Not all topics will be covered in the same degree of detail and the sequence may differ somewhat from the list. The main purpose of the list below is to show the logical structure of the material rather than any temporal relationships. # Topic Textbook Chapters 1 Introduction to Artificial Intelligence. Sub-areas. 1 2 Intelligent agents 2 3 Problem solving through uninformed search 3 4 Problem solving through informed search. Heuristics 4 5 AI and playing games - 6 Introduction to knowledge representation 10 5 7 First-order logic and Prolog 7-9 8 Planning 11-12 9 Machine learning 18-19 10 Robotics 25 11 Introduction to some advanced topics 22 12 Present and future of AI 27 Students are assumed to be reading the relevant textbook section while material is being covered in lecture. However, lectures often provide more material than what is covered in the text — you are responsible for all material covered in the course, not just the content of the text. In other cases the text contains more detail than provided in lectures – it is a good idea to use the lectures as an indicator of the important specific issues. A detailed current List of Topics will be maintained on the course online site. 6