IS418 - Intelligent Agent Design and Application
· Lectures: Thursday, 12:00 - 15:15 (SIS SR3.4)
· Instructor: Asst. Prof. Shih-Fen Cheng (sfcheng@smu.edu.sg)
In an age where data is counted in gigabytes and response time is counted in milliseconds, every firm has to seriously address these issues in order to stay competitive. Intelligent Agent Technology is one of commercial world’s most promising new technologies in addressing these issues. Used to assist decision-making, these intelligent agents can handle more information, react more quickly and make more consistent decisions than a group of human experts.
In this class, we will practice how to build intelligent agents step by step. The class progresses in three consecutive phases, each phase add in considerations that are omitted in the previous phase. We start with an agent that can only deal with stationary and deterministic environment, and as we progress to later phases, we will enhance our agents so that making decisions under uncertainties and with multiple periods are possible. At the end of each phase, we will have a mini-design project that allows students to create their own agents that solve real-world problems by applying the discussed techniques.
Towards the end of the class, students will be asked to put together what they have built previously, and come up with autonomous trading agents to compete head-to-head against each other in a commodity trading environment. These practices would equip students with the ability to address challenging real-world problems by applying intelligent agents.
The four areas we would focus on are:
1. Search. When we have a well-defined goal we would like to achieve (higher profit, lower risk, etc.), various types of search techniques can help us identify the best solution efficiently and effectively. We will introduce a wide variety of such search techniques.
2. Probabilistic reasoning. Anyone who wants to deal with real-world problems has to properly handle numerous sources of uncertainties. One of the most powerful tools in handling uncertainties is Bayesian network (BN) and we will introduce necessary foundation for understanding and using BN.
3. Decision making. With the foundation of the probabilistic reasoning framework, we would introduce how to model and solve a multi-period decision making problem in the real-world settings.
4. Machine learning. Making software that can “learn like human” is one of the ultimate goals in AI. Machine learning is widely studied for this purpose and we can already see its application in trading, planning, and even vehicle driving. Due to time limit, the coverage would not be comprehensive but introductory.
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach (Second Edition), Prentice-Hall, 2002.
We assume proficiency in at least one programming language (C++ or Java). Some part of the class will require understanding of basic probability. Mathematics will be employed where appropriate.
|
· Problem sets (x 3) |
30% (= 10% each) |
|
· Mini-Projects (x 3) |
45% (= 15% each, see below) |
|
· Final Project |
25% (see below) |
|
|
(might subject to slight adjustments at the discretion of instructor) |
There will be 3 problem sets (PS) and 3 mini-projects (MP) in this course, handed out and due at intervals of roughly two to three weeks. PS are designed to let you practice skills taught in class and MP are meant for the applications. Tasks in PS are mostly written assignments. For MP, you will be given well-defined problems and the emphasis is on modeling and implementation of algorithms.
Do not leave PS and MP to the last minute (particularly the programming part), as network servers sometimes go down, and working through the problems usually takes longer than you think (even when you take this fact into account). We provide two to three weeks for each PS and MP for a reason.
All PS and MP should be submitted and graded via SMU Vista.
All PS and MP are to be completed on your own. You are encouraged to discuss ideas and techniques broadly with other class members, but all written work (including your program code), whether in scrap or final form, are to be generated by you working alone unless otherwise expressly stated. You are not allowed to sit together and work out the details of the problems with anyone. You are not allowed to discuss the PS and MP with previous class members, nor anyone else who has significant knowledge of the details of the PS. Nor should you compare your written solutions, whether in scrap paper form, or your final work product, to other students (and vice versa). You are also not allowed to possess, look at, use, or in any way derive advantage from the existence of solutions prepared in prior years, whether these solutions were former students' work product or copies of solutions that had been made available by instructors. Violation of this policy is grounds to initiate an action that would be filed with the Dean's office. If you find any ambiguity about this policy, it is your responsibility to contact the course staff.
For MP, you could use any open-source code available online, as long as you provide proper citation and note in your final write up.
To be considered on time, assignments must be turned in by the end of the day (midnight) on the due date. We will use the SMU Vista submission timestamp to validate turn-in time. Late assignments will be assessed a penalty of one point (0.1% of course grade) per three hours or fraction thereof, up to a maximum of three days (72 hours) after the due date.
Since we provide this routine slack period, we will not grant extensions except under the most extraordinary of circumstances.
At the beginning of the term, students will be asked to form a project team of up to 2 students. All project teams will work towards the development of intelligent software agents that are capable of trading commodity futures autonomously (the description of the scenario is provided in a separate document available on Vista). The software agent has to react to both the occurrence of market events and the price dynamics of the market. The software agent should act as pure speculator (it should hold zero position at the end) and the key performance index is the profit it accumulates.
The output of the project should be a working software agent that can compete favorably with other agents and a detailed report illustrating the design logic behind it. A mini-tournament will be held among all project teams to determine which team has the best design. The project will be graded based on the quality of the design, the software implementation (you should at least have a workable software agent), and the final performance of the agent in the tournament (including both the final place and the absolute performance). The requirement for the project report will be discussed in the later part of the class.
This project is intended to help students integrate what are taught in the class. The instructor will provide a software agent skeleton for students to work from so that you can spend most of your time on building up agent’s trading strategy and don’t have to worry about technical issues (like threading, network communication, etc.).
The grading of the project consists of:
· A technical report on agent design (15%)
· Software implementation realizing the proposed design (10%).
The top two teams will receive an extra credit of 4% and 3% respectively. For all other teams who perform better than the baseline agent (supplied by the instructor), a 1% reward will be given.
(This schedule may subject to change.) Readings are from Russell & Norvig. PS = Problem Set. MP = Mini Project
|
Wk |
Topics |
Readings (Ch.) |
Events |
|
1 |
Introduction to Intelligent Agents |
1, 2 |
|
|
2 |
Solving Problem by Searching |
2, 3.1-3.3 |
PS1 out, MP1 out |
|
3 |
Uninformed and Informed Search |
3.4, 4.1-4.2 |
|
|
4 |
Local Search and Constraint Satisfaction |
4.3-, 5 |
|
|
5 |
Constraint Satisfaction |
5 |
PS1 due, PS2 out |
|
6 |
Uncertainty and Bayesian Networks |
13, 14.1-14.3 |
MP1 due, MP2 out |
|
7 |
Bayesian Networks and Probability Reasoning |
14.4-14.5 |
|
|
8 |
Recess |
|
PS2 due, PS3 out |
|
9 |
No Class! |
|
MP2 due, MP3 out |
|
10 |
Simple Decision Making |
16.1-16.3, 16.5 |
|
|
11 |
Sequential Decision Making and Learning |
17.1-17.3, 18.1-18.2 |
|
|
12 |
Learning Decision Tree |
18.3 |
PS3 due |
|
13 |
Statistical Learning |
20.1-20.2, 20.5 |
MP3 due |
|
14 |
Misc. Topics and Wrap-up |
|
|
|
15 |
Final Week: Competition running! |
|
Final project due |