Technion - Israel Institute of Technology  
236501 - Introduction to Artificial Intelligence
  Spring 2011 EnglishRussianHebrewArabic  

HW3 - Tournament Results

Dear Students,

The winners, and their received bonus, are:

First place - 5 points: Yaniv sabo, Omri Steinmetz Yalon.
Second place - 4 points: Fine Eyal, De-sevilia Roy.
Third place - 3 points: Mansour Saed, Abasi Hassan.
Fourth place - 2 points: Michael Balber , Ariel Brukman.
Fifth place - 1 point: Gal Lalouche, Amit Gross.

Thank for your participation,
Last updated on 3/10/2011, 13:52:33  
Moed B Reception Hours
There will be no reception hours before Moed B. However, the course staff will be available via email. We will do our best to answer your questions promptly.
Created on 22/9/2011, 15:15:42  
Final Grades
Dear Students,

Exam and final grades have been published! If you would like to appeal, do so by sending an email to Omer with the exam's scan attached.

On another note, results of Competition3 will be updated later on.

We hope you enjoyed the course and learned principles that will benefit you in your future endeavours.

Good luck,
Omer, Assaf, Haggai, and Shaul.
Created on 13/7/2011, 12:02:48  
HW2 Lines of Action - Tournament Results
Dear Students,

Finally the tournament is over and here are the results.

Five heats were run, all with 100 moves per game limit [board size / time per turn]: 6x6 / 0.5, 8x8 / 0.5, 8x8 / 2, 8x8 / 10, 11x11 / 12.

The overall winners are:

1Ori Ziv, Shachar Gluska592
2Inbal Livni, Omer Peleg569
3Hadar Sivan, Bar Weiner532
4Anis Abboud, Muhammad Barham488
5Ran Ben Basat, Eyal Moscovici480

As in the first assignment, the winners will receive a bonus to the final grade, appropriate to their standings:
First place - 5 points
Second place - 4 points
Third place - 3 points
Fourth place - 2 points
Fifth place - 1 point

For the individual heats winners, please see the file under the tournament electronic assignment.

Thanks to all the participants!
Last updated on 9/7/2011, 13:01:19  
Reception Hours Today
Today's reception hours will be held at Taub 7.
Created on 5/7/2011, 11:08:56  
AI HW3 - Grades & Appeals
Grades for late submissions are available. The appeals should be submitted by Wednesday 20/7 at noon.
Last updated on 4/7/2011, 12:29:09  
Material in the Exam
The exam will be with closed material.
No material, including formula sheets, will be allowed.
Created on 3/7/2011, 23:21:11  
AI HW3 - grades published
HW3 grades have been published. Grades for late submissions will be published later this week.

The appeals should be submitted to Assaf's mail box on the fifth floor. Enclose a formal appeal form, and a copy of your assignment. Alternatively, you may send a scanned copy of all required documents to Assaf's e-mail.
Created on 3/7/2011, 18:24:17  
Reception Hours
Omer will hold reception hours on:
- Monday, 12:00, Taub 401
- Tuesday, 11:00, Taub 401

Assaf will hold reception hours on:
- Sunday, 17:00, Taub 733
Last updated on 3/7/2011, 12:10:48  
Informed Heuristics - Fix in Lecture Slides
There is a typo in the optimizing search presentation, in slide #24. It should read:

Given two admissible heuristics h1 & h2, h1 is more informed if:
h1 > h2
for each non-terminal state.

If you think about it logically, it makes much more sense; both heuristics are bounded by h* (the optimal path length) from above, so if h1 is greater than h2, it is necessarily closer to h*, thus, a better heuristic.
Created on 2/7/2011, 17:05:34  
AI HW2 - grades published
Dear Students,

The grades for the games assignment are now on site.
These are the grades for the dry part only, the tournament results will be published when the tournament finishes running.

Your works will be at the secretariat early next week.

If you wish to appeal, please do so until 11/7/2011, preferably by mail (to haggai@cs).
Please note that appeals of the kind of "too many points were deducted for a certain issue" will not be accepted.

Created on 29/6/2011, 17:19:49  
AI HW2 - reserve duty
Students with the following IDs, please send a scan of your reserve duty confirmations (if you have any) to Haggai, ASAP, otherwise you may be penalized for late submission (I couldn't find the confirmations in my mail and they aren't attached to your submitted document):

037067527, 200447001
039967856, 300874385
200135234, 309409647
201324126, 314091521
302672738, 303083265
302847942, 306476664
303052864, 322116229
306294190, 310885678
314595497, 326919586

Created on 26/6/2011, 10:30:35  
Assignment 3 - Important Note
You are not allowed to use external libraries/resources in the assignment.
Last updated on 22/6/2011, 19:50:54  
Assignment 3 - Updates
It appears that many of you have already implemented parts of the Porter stemming algorithm for the third section. In addition, students brought to our attention several examples in which the simple stemming algorithm (that you were asked to implement in the first ‘feature extraction’ section) may eventually harm the classification performance. As a result, in the first section, we allow you to choose whether to analyze the current simple stemming algorithm or the Porter stemming algorithm.
Created on 18/6/2011, 18:21:50  
Homework Assignment 3 - Agent Comparator
The agent comparator has been changed to allow k-fold cross validation instead of leave-one-out.
This should speed up the experimentation process.
Remember to use at least 10 folds to get a significant result.
Created on 14/6/2011, 21:51:06  
Next Week's Tutorials
Next week's tutorials will take place in different form:
- Since Tuesday is the faculty's research day, Tuesday's tutorial is canceled.
- To allow students from both groups to attend Monday's tutorial, I have booked Taub 7 instead of Taub 3.
- The tutorial will be a recital and summary tutorial. No new material will be taught. However, it is strongly recommended that you attend.
- In addition, we will extend the tutorial to two hours.

If there is anybody who would like to attend the tutorial but can absolutely not do so, contact me ASAP, and we will find a solution.

Created on 14/6/2011, 16:34:57  
Homework Assignment 3 - Updated Version
External links do not work in the previous version of the paper and work in the current.
Last updated on 13/6/2011, 19:02:14  
Reception Hours
In addition to Assaf's reception hours on Monday and Tuesday, Omer will be holding reception hours on Wednesday between 1230-1430.
These reception hours are intended for HW1 appeals and general questions about the course material.
For questions regarding HW3, please make an effort to meet Assaf.
Created on 12/6/2011, 19:19:55  
Homework Assignment 3 - Updates & Clarifications
1. Fix in the document: page 3, change "...a threshold is set on the minimum value of the idf.." to "...a threshold is set on the maximum value of the idf.."
2. I've posted a FAQ for the assignment at . Please keep on checking for updates in FAQ.
3. I will hold reception hours on Monday 13/6 16:40-17:40, and on Tuesday 14/6 16:00-17:00. However, I encourage you to send me emails with your questions before coming to my office hours (answers for common questions will be posted on FAQ). Note that there will be no reception hours in the week after (due to milluim service).

Last updated on 12/6/2011, 19:14:43  
Homework Assignment 3 - Text Categorization
The third (and final) assignment has been published.
Since you have all put tremendous amounts of effort in the previous assignments, we designed this one to be significantly lighter than its predecessors.
Good luck!
Created on 8/6/2011, 13:05:50  
Tutorial Cancellation
There will be no tutorials this week.
Created on 6/6/2011, 09:55:01  
Homework Assignment 2 - deadline postponed to 6/6 12:00
Dear Students,

The deadline for homework assignment 2 is postponed to Monday 6/6/11 12:00.
This is the final deadline - there will be no more postponements for this homework.

Students who have approved individual postponements (miluim) have their extra time starting from 6/6/11 12:00.
You must submit your files electronically before your deadline, but can submit the printed document to the course box after the holiday, by Sunday 12/6/11 14:00.

All students, but especially those with postponements, please note that your printed document must be identical to your submitted PDF document.
This means no new text, data, experiments, analysis or any other difference from the PDF document is allowed, except for very minor corrections.

Created on 4/6/2011, 17:17:58  
Homework Assignment 1 - Competition Problems
The actual problems used in the competition have been uploaded to the "Assignments" section.
Created on 1/6/2011, 13:23:28  
Homework Assignment 1 - Competition Results!
The competition was very close, but eventually, five lucky (and very talented) teams took the prize.

The winners are...

1) Inbal Livni, Omer Peleg (33.47)
2) Ran Ben Basat, Eyal Moscovici (30)
3) Shmuel Keter, Artium Nihamkin (29.22)
4) Ori Shalev, Noam Lavie (28.86)
5) Shachar Gluska, Ori Ziv (28.46)

Congratulations to the winning teams, and thank you all for participating in the competition!
Last updated on 29/5/2011, 15:09:09  
Homework Assignment 1 - Competition Results!
We tested the agents on a dozen engineered problems, each one representing a different aspect of the multi-robot problem. The agents were given 10, 30, and 90 seconds to solve each one of these problems.

Each one of the winning teams will receive a bonus to the final grade, appropriate to their standings:
First place - 5 points
Second place - 4 points
Third place - 3 points
Fourth place - 2 points
Fifth place - 1 point
Last updated on 29/5/2011, 15:06:04  
Homework Assignment 2 - updates
Dear Students,

1. Due to many students requests, the submission deadline is postponed to Sunday 5/6/11 18:00. All individual postponements (e.g. miluim) are counted starting from the new time.

2. The reception hours of Monday 30/5 are postponed to Wednesday 1/6 12:30-14:30, Taub 741 lab.

3. The email/course site announcements and the FAQ both supersede the document in case of contradictions.

Last updated on 28/5/2011, 17:57:47  
Homework Assignment 2 - clarifications
Dear Students,

Two fixes in the document:
1. Page 6: Black pieces coordinates corrected (was 2..N-2, now 1..N-2).
2. Page 6: White is the first player to make a move in the game. Although the example in page 7 states the black opens, this is wrong. I repeat previous information about the game: the move limit will always be even, so the code will always calculate the opening player to be the white.

Current versions: doc(v4) / code(v6)

Created on 27/5/2011, 18:12:28  
Homework Assignment 2 - updates
Dear Students,

Code changes:
1. - print status changed
2. LinesOfActionState.getWinner - bugfix: test for winner corrected

Current versions: doc(v3) / code(v6)

Created on 27/5/2011, 13:49:18  
Homework Assignment 2
Dear Students,

In the last few days I've been asked by many students "how do I begin?" and "what should I test?".

This is a research project, so there's no one correct answer. You have absolute freedom with your experiments and with the way you present your player and its abilities, as long as you fulfill the requirements described in the HW document and in the FAQ.

But I will give the following advice:

1. You should start this exercise with familiarizing yourselves with the game's rules and the exercise requirements.
2. You will probably gain more insight of the game's properties by playing against the AIs noted in the document (but remember they don't have the spin operation) and by playing against each other, than by theoretically contemplating your heuristic function (although this should also help). Learn from examples - if you can pinpoint critical moves, if you see behaviors and playing decisions that affect the game outcome, this is great. It will help you shape your heuristic function.
3. I expect some indication to why your heuristic function is good or well reasoned. You can show this in any way you see fit, but it has to be convincing.
4. Regarding the experiments - you should pick an interesting parameter, i.e. one that has a large effect on your player's behavior, or that gives some insight of the qualities of the game. It may happen that the parameter you chose does not have any real effect on the player or the game outcome. This is also a valid result, but in any case you should conduct the experiments in such a way that will convince me they have some importance (an example of a non interesting experiment is the effect of search depth on CPU usage of your agent).
5. Do not spend too much time running superfluous experiments. You do not need to run games for all the possible combinations of game parameters. You should pick interesting and representing game parameters, and show the player's behavior that results from these parameters. You do not need to compare your final heuristics to all previous heuristics you've tried in order to prove its supremacy. If you see some parameter range in which interesting phenomenon occurs, you should explore it further. Do not spend an excessive amount of time building the "best" heuristic function for winning the tournament. The most important part of this exercise is the analysis of your results. Obviously, this needs interesting results. But a massive amount of results and poor analysis won't lead to a good grade.

I would like to emphasize that the above is just a general advice.
These are not minimum requirements for a 100 grade but rather minimum requirements for a reasonable grade for your project.
Creative works will get higher grades (maybe even bonuses) than non creative ones.

I wish you an interesting time with this research project,
Created on 26/5/2011, 12:40:09  
Homework Assignment 2 - updates
Dear Students,

The FAQ was updated with information of testing memory usage.

I will hold reception hours on Monday 30/5 14:00-16:00.

Created on 25/5/2011, 23:43:32  
Homework Assignment 2 - updates
Dear Students,

1. A new version of the code is up. The change: line 34: -INFINITY --> best_value .

2. The FAQ section has been updated.

3. Students who have done Miluim service in this HW period should notify Haggai by email before the HW's due date. You should also send a scan of the service period to Haggai, or attach a copy of it to the submitted document.
Please note that students who will not notify Haggai in time will not be eligible for any postponements resulting from the miluim service.
The postponement is one day for each service day, and applies to both the printed document and the submitted code (meaning you will participate in the tournament if submitted on time).

Created on 24/5/2011, 13:19:13  
Homework Assignment 1 - Competition Agents
Many of the submitted agents fail to solve even the easiest problems.
If your IDs are in the list below, contact Omer ASAP.

Last updated on 23/5/2011, 16:57:18  
Tutorial Slides
This week's tutorial's slides have been published.
Created on 23/5/2011, 12:31:33  
Homework Assignment 2 - updates
Dear Students,

A small bugfix: line 217: argument (...) --> ((...)).
Current versions: doc(v3) / code(v4)

Please note that the FAQ section for HW2 has been updated.

I will hold reception hours at the LARA lab Taub 741 on: Monday 23/5 14:00-16:00, Wednesday 25/5 12:30-14:30.
You are of course always welcome to send me any question you have by email.

Last updated on 19/5/2011, 13:17:48  
Multiple Robots Problem - A Reality?
Last updated on 19/5/2011, 12:25:19  
Homework Assignment 2 - updates
Dear Students,

Please note the following changes:

1. In page 5, the text "one turn may contain several moves" was incorrect and removed.
2. In page 9, B[3,3] can also move 1 square diagonally to south-east.
3. In page 5, the opening player was changed to white, in order to conform with the code (less hassle for you, I hope).


1. loa_game line 123: self.board --> self.board[i_row][i_col]
2. loa_game lines 214, 217: current_player --> getCurrentPlayer()
3. In order to not change too much of the code, calculation of the current player stays as is. Note that it also determines the opening player of the game, but you may assume that the number of game turns will always be even.

Created on 18/5/2011, 12:57:37  
Homework Assignment 2 - updates
Sorry, forgot to write another change in the document:
3. There are N-2 pieces (not N/2-2) for each player on the opposing edges of the board at the beginning of the game.

Created on 16/5/2011, 17:04:37  
Homework Assignment 2 - updates
Dear Students,

Document changes:
1. Cell indices are now 0 based, to reflect those in the code.
2. The indices of square rotation have been fixed.

Code changes:
1. Added an interactive player.
2. Board printing improved.

Current version is doc(v2)/code(v2).

Created on 16/5/2011, 16:58:14  
Tutorial Slides
This week's tutorial slides have been published.
Created on 15/5/2011, 21:44:54  
Homework Assignment 2 - Lines of Action
Homework assignment 2 has been published!
We strongly advise you to start working on it ASAP.
Created on 15/5/2011, 01:16:02  
Homework Assignment 1 - Postponement & Late Submission Policy
The deadline has been postponed to Sunday, May 8th, at 1200 (noon). All other previously given postponements, with the exception of miluim, are moot.

Submissions beyond Sunday will result in a 5 point reduction for each day, and will not participate in the competition.
Last updated on 2/5/2011, 23:15:34  
Special Reception Hour - Result Analysis
Many students are not sure how to analyze their results. Omer will be holding a special reception hour on this matter at 1730, room 741. If you're not sure which graphs to present or which statistical tests to perform, it is recommended that you attend.
Created on 2/5/2011, 01:11:53  
Homework Assignment 1 - Report Length
You may extend your report by 1-2 pages to make the graphs more readable.
Do not go over the 10 page limit without explicit permission from Omer.
Created on 28/4/2011, 10:09:18  
Tomorrow's Tutorial
Tomorrow's tutorial (26/4) will not take place.
Created on 25/4/2011, 16:23:05  
Homework Assignment 1 - Updates
Dear students,

For many of you, this is the first time working on an assignment of this kind. We have therefore decided to assist you in two ways:
1. We have uploaded some helpful guidelines for empirical research.
2. We have postponed the assignment's deadline by one week.

There will be no further postponements, and the next assignment will be published immediately after.
We remind any of you who have miluim to notify us on time; otherwise, you will not be able to participate in the competition.
Last updated on 16/4/2011, 21:34:53  
Homework Assignment 1 - Example
An example file has been uploaded, just to make sure that everybody understands how to create a basic problem instance and what kind of result we expect from the agent.
Created on 13/4/2011, 09:24:32  
Next Week's Reception Hours
Omer will be holding reception hours at the lab (741) in these periods:
* Monday 1730-onwards
* Tuesday 1630-onwards
* Wednesday 1230-1430
Last updated on 7/4/2011, 22:47:29  
Homework Assignment 1 - Code Fix 3
Two fixes were added to the assignment's code:
1. States can be "revived" from closed if a new (shorter) path has been found. This fix was shown in class.
2. A new implementation for PriorityQueue. This should give a significant performance boost for large-scale search.
Created on 5/4/2011, 19:37:40  
Reception Hours
Omer will be holding reception hours at the lab (741) in these periods:
* Tuesday 1630-onwards
* Wednesday 1230-1430
Created on 4/4/2011, 23:10:46  
Homework Assignment 1 - Clarifications
We would like to make a few clarifications regarding the assignment:

Preprocessing - Our intention was to prevent people from running code in the agent's constructor or any other method that isn't solve(). Within solve(), you can do whatever you deem fit.

Threading - Creation of new threads or processes is strictly prohibited.
Created on 3/4/2011, 17:56:26  
Homework Assignment 1 - Documentation Fix
The obstacle_locations parameter of MultiRobotState does not need to contain the room's borders. These are enforced by the width and height parameters.
Created on 3/4/2011, 00:37:11  
Homework Assignment 1 - Code Fix 2
In, the agent should return a *list* of actions, and not a set.
In, the hash() and cmp() functions were added to Node.
Updated versions have been uploaded.
Created on 30/3/2011, 18:09:30  
Homework Assignment 1 - Code Fix
In, the line "from problem.problem import..." should be "from problem import...".
A fixed version of the code has been uploaded.
Created on 29/3/2011, 17:35:13  
Homework Assignment 1: The Multiple-Robot Problem
The first assignment has been published!
Please pay read the instructions carefully.
Any questions should be addressed to Omer.
Created on 28/3/2011, 19:33:46  
Homework Assignment 0 - Solution Proposal
A solution proposal for homework assignment 0 has been published.
Created on 22/3/2011, 15:18:45  
Important Dates
Dear students,

Please take notice of the following dates, and plan your time accordingly.

27/3 - First assignment publishing
24/4 - First assignment submission, second assignment publishing
29/5 - Second assignment submission, third assignment publishing
26/6 - Third assignment submission

Disclaimer: these dates are tentative, and may change during the semester.
Created on 22/3/2011, 13:54:21  
Course Material
The course material section will be updated on a weekly basis.
Make sure to check once in a while for updates.
Created on 14/3/2011, 13:48:45  
Change of Lecture Rooms
Beginning next week, Shaul's lectures will be held in Taub 2 (auditorium).
Created on 9/3/2011, 19:01:18  
Tutorial 1 Slides
The slides have been uploaded to the course website.
Created on 7/3/2011, 15:55:21  
Homework Assignment 0
Homework Assignment 0 has been published!
Created on 1/3/2011, 19:52:45  
Tutorial 0
Tutorials this week are being held!
We will give a brief introduction to the Python programming language.
If you are not familiar with Python, and missed yesterday's tutorial, it is highly recommended that you attend today's tutorial.
Last updated on 1/3/2011, 08:50:05  
Welcome to "Introduction to Artificial Intelligence"!
Dear students,
We wish you an interesting, productive, and enjoyable semester.
Good luck,
Intro to AI course staff.
Created on 27/2/2011, 13:29:35