Principles of Artificial Intelligence

Similar documents
Course Content Concepts

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

CS 100: Principles of Computing

Data Structures and Algorithms

Self Study Report Computer Science

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Syllabus Foundations of Finance Summer 2014 FINC-UB

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

Syllabus ENGR 190 Introductory Calculus (QR)

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

CS Course Missive

Knowledge-Based - Systems

Course Syllabus for Calculus I (Summer 2017)

AQUA: An Ontology-Driven Question Answering System

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Computer Science 141: Computing Hardware Course Information Fall 2012

Laboratorio di Intelligenza Artificiale e Robotica

Phys4051: Methods of Experimental Physics I

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

ECON492 Senior Capstone Seminar: Cost-Benefit and Local Economic Policy Analysis Fall 2017 Instructor: Dr. Anita Alves Pena

Agents and environments. Intelligent Agents. Reminders. Vacuum-cleaner world. Outline. A vacuum-cleaner agent. Chapter 2 Actuators

Required Texts: Intermediate Accounting by Spiceland, Sepe and Nelson, 8E Course notes are available on UNM Learn.

Introduction to Simulation

Mathematics Program Assessment Plan

ECO 3101: Intermediate Microeconomics

Pitching Accounts & Advertising Sales ADV /PR

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

MYCIN. The MYCIN Task

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

PBHL HEALTH ECONOMICS I COURSE SYLLABUS Winter Quarter Fridays, 11:00 am - 1:50 pm Pearlstein 308

Syllabus for ART 365 Digital Photography 3 Credit Hours Spring 2013

CHEM 6487: Problem Seminar in Inorganic Chemistry Spring 2010

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Lecture 1: Basic Concepts of Machine Learning

Office Hours: Mon & Fri 10:00-12:00. Course Description

DIGITAL GAMING AND SIMULATION Course Syllabus Advanced Game Programming GAME 2374

Firms and Markets Saturdays Summer I 2014

Syllabus for PRP 428 Public Relations Case Studies 3 Credit Hours Fall 2012

Laboratorio di Intelligenza Artificiale e Robotica

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

COSI Meet the Majors Fall 17. Prof. Mitch Cherniack Undergraduate Advising Head (UAH), COSI Fall '17: Instructor COSI 29a

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

Computer Science 1015F ~ 2016 ~ Notes to Students

INTERMEDIATE ALGEBRA Course Syllabus

CS4491/CS 7265 BIG DATA ANALYTICS INTRODUCTION TO THE COURSE. Mingon Kang, PhD Computer Science, Kennesaw State University

Texas A&M University - Central Texas PSYK EDUCATIONAL PSYCHOLOGY INSTRUCTOR AND CONTACT INFORMATION

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

Strategic Management (MBA 800-AE) Fall 2010

Financial Accounting Concepts and Research

Innovative Methods for Teaching Engineering Courses

Math Techniques of Calculus I Penn State University Summer Session 2017

CALCULUS III MATH

Spring 2014 SYLLABUS Michigan State University STT 430: Probability and Statistics for Engineering

University of Toronto Mississauga Sociology SOC387 H5S Qualitative Analysis I Mondays 11 AM to 1 PM IB 250


Software Development: Programming Paradigms (SCQF level 8)

DOCTOR OF PHILOSOPHY HANDBOOK

Course Name: Elementary Calculus Course Number: Math 2103 Semester: Fall Phone:

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Navigating the PhD Options in CMS

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

MAT 122 Intermediate Algebra Syllabus Summer 2016

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Visual CP Representation of Knowledge

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

AST Introduction to Solar Systems Astronomy

EGRHS Course Fair. Science & Math AP & IB Courses

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

LIN 6520 Syntax 2 T 5-6, Th 6 CBD 234

Major Milestones, Team Activities, and Individual Deliverables

CIS Introduction to Digital Forensics 12:30pm--1:50pm, Tuesday/Thursday, SERC 206, Fall 2015

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Computerized Adaptive Psychological Testing A Personalisation Perspective

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

A Study of the Effectiveness of Using PER-Based Reforms in a Summer Setting

GEOG 473/573: Intermediate Geographic Information Systems Department of Geography Minnesota State University, Mankato

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

HCI 440: Introduction to User-Centered Design Winter Instructor Ugochi Acholonu, Ph.D. College of Computing & Digital Media, DePaul University

ACADEMIC EXCELLENCE REDEFINED American University of Ras Al Khaimah. Syllabus for IBFN 302 Room No: Course Class Timings:

Lecture 1: Machine Learning Basics

CHEM:1070 Sections A, B, and C General Chemistry I (Fall 2017)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS

Instructor: Matthew Wickes Kilgore Office: ES 310

POLA: a student modeling framework for Probabilistic On-Line Assessment of problem solving performance

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

CSL465/603 - Machine Learning

THE GEORGE WASHINGTON UNIVERSITY Department of Economics. ECON 1012: PRINCIPLES OF MACROECONOMICS Prof. Irene R. Foster

CS/SE 3341 Spring 2012

Syllabus: Introduction to Philosophy

BUS Computer Concepts and Applications for Business Fall 2012

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Instructor. Darlene Diaz. Office SCC-SC-124. Phone (714) Course Information

HIDDEN RULES FOR OFFICE HOURS W I L L I A M & M A R Y N E U R O D I V E R S I T Y I N I T I A T I V E

EDUC-E328 Science in the Elementary Schools

Transcription:

1 Course Objectives Principles of Artificial Intelligence Dimitris Margaritis Artificial Intelligence Research Laboratory Department of Computer Science 226 Atanasoff Hall Iowa State University Ames, Iowa 50011 Fall 2005 The primary objective of this course is to provide an introduction to the basic principles, techniques, and applications of Artificial Intelligence. Programming assignments are used to help clarify basic concepts. The emphasis of the course is on teaching the fundamentals, and not on providing a mastery of specific commercially available software tools or programming environments. In short, this is course is about the principles, design and implementation of intelligent agents software or hardware entities that perform useful tasks with some degree of autonomy. Upon successful completion of the course, you will have an understanding of the basic areas of artificial intelligence search, knowledge representation, learning and their applications in design and implementation of intelligent agents for a variety of tasks in analysis, design, and problem-solving. You will also be able to design and implement key components of intelligent agents of moderate complexity in Java and/or Lisp or Prolog and evaluate their performance. Graduate students are expected to develop some familiarity with current research problems and research methods in AI by working on a research or design project. 2 Prerequisites The prerequisites necessary for fully benefiting from the material covered in this course include knowledge of data structures (e.g., lists, trees), design and analysis of algorithms, programming language concepts (e.g., functional programming, object-oriented programming, recursion, abstract data types), basic mathematics (e.g., boolean algebra, set theory, calculus) including elementary probability theory. If you are not sure whether you have the necessary background, please talk to the instructor. Students also need to possess (or be able to quickly acquire) a working knowledge of the UNIX operating system, the vi or EMACS editors, and X Windows. In light of the emergence of Java as an attractive, platform-independent language for object-oriented design and implementation of software systems in general, and Internet-based information systems in particular, some of the laboratory assignments will require you to program in Java. If you do not know Java already, you are expected to quickly acquire a working knowledge of Java on your own. Note however, that Java is not necessarily the ideal language for all aspects of artificial intelligence programming. LISP and Prolog are especially well-suited for rapid prototyping of artificial intelligence programs. Consequently, some of the laboratory assignments might require you to program in LISP or Prolog. If you are unfamiliar with LISP or Prolog, you will be expected to quickly acquire a working knowledge of these languages as needed. If there is sufficient interest, a few of the recitation sessions will be used to introduce Java, LISP, or Prolog as needed. 3 Course Staff The instructor for the course is Dimitris Margaritis (dmarg@cs.iastate.edu) and the teaching assistant is Cornelia Stavarache (cornelia@cs.iastate.edu). For additional information (office hours, etc.), please see the course Web page at http://www.cs.iastate.edu/~cs572/. 1

The instructor and the TA will be available to answer your questions during the scheduled office hours, or at a time arranged by prior appointment, and at other times if necessary (if our schedules permit). The course Web page will be used to convey or update information concerning homework assignments, post lecture outlines, etc. We will use electronic mail to reach you when necessary. You are therefore strongly encouraged to get into the habit of reading your electronic mail and checking the course Web page once a day. If you are not familiar with electronic mail, WWW, or the network newsgroups, please consult the TA for a demonstration. 4 Recitations You are strongly urged to attend the recitations. No conceptually new material will be introduced during these sessions. At the beginning of the semester, the recitations will be used for Java tutorials as needed. As the semester progresses, the TA will use the recitations to answer your questions about homework or programming assignments, or clarify and answer questions about material covered in the lectures, and to go over the solutions to assignments after they have been graded. 5 Computer Accounts We will be using the computing facilities of the Department of Computer Science for all course-related assignments. If you do not already have a login on the departmental computer systems, you should get one (please consult the TA for details). The Computation Center and the Computer Science Department hold tutorials that are designed to help a new users to get familiar with their facilities. Please contact them for a schedule and information on signing up for one of these tutorials. The course web page located at http://www.cs.iastate.edu/~cs572/ will be used to post course materials including assignments, solutions to homeworks, lecture notes, etc. As a student in a course offered through the Computer Science department and a user of the ISU computer facilities, you are to abide by the department s Code of Computer Ethics a copy of which will be provided to you. Please note that any suspected violations of the code of ethics are viewed extremely seriously by the Computer Science department and treated in accordance with the university s policies on academic misconduct. 6 Assignments, Examinations, and Grading There will be regularly scheduled homeworks, programming assignments, examinations to help you learn the material and to help us evaluate your progress. Undergraduates (enrolled in Com S 472) and graduate students (enrolled in Com S 572) will be graded on separate curves. Homeworks, programming assignments, and examinations may have parts targeted to students enrolled in Com S 572 that may require the demonstration of a greater depth of understanding of the material than is routinely expected from the students enrolled in Com S 472. Of course, Com S 472 students are strongly encouraged to attempt to solve such parts for extra credit in a spirit of healthy competition with Com S 572 students. There will be one or two midterm examinations the first one given approximately around the 8th week of the semester. Homework assignments are handed out roughly every week or two. Laboratory assignments will be assigned every two or three weeks. You should expect roughly 5 7 homework assignments and 2 4 laboratory assignments. Students enrolled in Com S 572 are required to complete an individual research or design project in AI on a topic to be chosen in consultation with the instructor. Ideally, such a project should involve independent study of some topic beyond the material covered in class, e.g., reading current research papers on some chosen AI topic, understanding the key algorithms, and implementing and evaluating the algorithms or their variants. A written report on the project and a brief oral presentation summarizing the same is expected roughly two weeks prior to the end of the semester. 2

Students enrolled in Com S 472 are required to complete a short (approximately 10 pages) term paper on one of the topics covered in the course. The paper should ideally be based on independent study of some topic beyond the material discussed in class, e.g., extending the code developed for one of the programming assignments in interesting ways and describing the results; or designing and implementing a program with a significant AI component for some task (e.g., customized document retrieval). The paper will be due roughly two weeks prior to the end of the semester. Students should be actively thinking about potential topics for projects or term papers right from the beginning of the semester. A list of suggested topics as well as guidelines for the preparation of project reports and term papers will be made available in due course. The instructor and the TA will be available for consultation and guidance on the projects or papers as needed. The grades for Com S 472 will be based on homework assignments (15%), laboratory assignments (20%), two examinations (20% each), term paper (20%), and and participation in discussions in class (5%). The grades for Com S 572 will be based on homework assignments (15%), laboratory assignments (20%), two examinations (15% each), and research project (30%) and participation in discussions in class (5%). You are guaranteed to receive the highest applicable letter grade based on the following scale. 94% and higher: A 89% and higher: A- 85% and higher: B+ 81% and higher: B 77% and higher: B- 73% and higher: C+ 68% and higher: C 64% and higher: C- 60% and higher: D+ 55% and higher: D 50% and higher: D- The instructor reserves the right to raise grades. For example, if your final grade is 83%, you are guaranteed to receive at least a B, but you may receive a B+. Graders will email scores for homeworks, projects, and exams to students. Grades may be appealed for ONE WEEK after they are emailed except the final exam whose grade will be emailed by request only. After the appeal period has expired, grade change requests may be denied. 7 Policy on Collaboration, Late Assignments, Etc. The primary purpose of the homework and programming assignments is to clarify and enhance the understanding of the concepts covered in the lectures. Past experience with this course has shown that this is helped by increased interaction among students. Discussion of general concepts and questions concerning the homework and laboratory assignments among students is encouraged. However, each student is expected to work on the solutions individually. Sharing of solutions (including segments of code) to assignments is forbidden unless explicitly instructed otherwise. If you are unclear about this, please talk to the instructor before you proceed. Suspected cases of academic misconduct will be pursued fully in accordance with ISU policies. Each of you will be initially assigned 5 coupons. You can use each of the coupons in exchange for an extension of one day towards the handing-in of a homework or lab assignment. You can use more than one coupon on the same assignment of you like. You cannot use any coupon towards extending your term paper or project. Also, you cannot use any coupons after December 3. You should use an indelible-ink pen to 3

write on the first page of your hard copy report the number of coupons you wish to use for it if you don t, there is no guarantee that it will be taken into consideration, and the staff will assume that you do not wish to use any even if the assignment is turned-in late. On account of the large size of the class, and the need for making the solutions available in a timely manner, homework assignments that are turned in after the specified due date if no coupon has been used will be assigned zero credit. Rare exceptions to this rule might be made (at the discretion of the course staff) under demonstrably extenuating circumstances. On laboratory assignments, there is a late penalty of 5% of the grade per day up to a maximum of 7 days from the specified due date. Programs that are turned in later than 7 days after the due date will be assigned zero credit. Rare exceptions to this policy might be made (at the discretion of the course staff) under demonstrably extenuating circumstances. 8 Syllabus The following gives a tentative list of topics not necessarily in the order in which they will be covered in the course. Specific reading assignments and brief lecture outlines will be placed on the course homepage periodically. Overview foundations, scope, problems, approaches. AI as the enterprise of designing intelligent agents. Artificial Intelligence programming techniques in Java. Search and Problem-solving forward and backward, state-space, blind, heuristic, problem-reduction, A, A*, AO*, minimax, constraint propagation, neural, stochastic, and evolutionary search algorithms, sample applications. Knowledge Representation and reasoning ontologies, representing and reasoning about objects, relations, events, actions, time, and space; predicate logic, production rules, situation calculus, frames, scripts, conceptual graphs, blackboards, constraint networks, deductive, deductive, probabilistic, abductive inference; reasoning about knowledge, sample applications. Machine Learning and Knowledge Acquisition taxonomy of learning, learning from examples, memorization, explanations, induction, and exploration. Representative algorithms (e.g. for induction of decision trees, nearest neighbor, bayesian classifiers; construction of action policies) and applications. Intelligent Agents and Multi-Agent Systems simple reflex agents, goal-based agents, utilitybased agents, problem-solving agents, knowledge-based agents, learning agents, inter-agent communication and coordination, distributed problem-solving, multi-agent organizations. Sample Applications of AI, student project presentations, Summary. 9 Textbooks, Lecture Notes, and References The primary textbook for this course is Artificial Intelligence: A Modern Approach by Russel & Norvig (Second Edition). Java in a Nutshell by David Flanagan is a concise reference for people with previous programming experience. On to Java by Winston and Narasimhan (1996) is a consise but really good introduction to Java programming. Other good books on Java include the Java by Dietel and Dietel (1997) and the comprehensive online text Thinking in Java by Eckel (1997). Lectures will often draw upon a variety of sources to supplement the treatment of topics available in the primary textbook. A number of books and references are available on reserve in the Parks library. A list of useful references that can be used as a guide to literature and can provide points of entry to selected subareas of artificial intelligence can be accessed through the Com S 572 Web page. Additional sources of useful material include major journals and conference proceedings in these areas. You are strongly encouraged to explore various AI resources on the World Wide Web check the cs572 Web page for pointers. However, you 4

will not generally be responsible for material other than that which is covered in lectures, assigned readings, handouts, homeworks, or programming projects. The only exceptions to this rule are: material that is part of the prerequisites for the course; and the topic of the individual research project for Com S 572 students or the term paper for Com S 472 students. 10 Other Courses in Artificial Intelligence and Related Areas Besides Com S 472/572, Computer Science department offers the following courses in Artificial Intelligence and related areas: Elements of Neural Computation (Com S 474), Computational Models of Learning (Com S 672), Advanced Topics in Artificial Intelligence and Cognitive Modelling (Com S 673), and Research Seminar in Artificial Intelligence (Com S 610). Com S 472/572 is a prerequisite for Com S 672 and Com S 673. Note to students with disabilities: If you have a documented disability and anticipate needing accommodations in this course, please make arrangements to meet with me soon. Please request that a Disability Resources staff send a SAAR (Student Academic Accommodation Request) form verifying your disability and specifying the accommodation you will need. 5