Friday, January 30, 2009


All my ideas are up for reading and quoting
My ideas and notes!!


I am making short notes on interesting topics being covered in the class. Am trying to gather information about a possible desktop intelligent agent project that can tell/recommend the user about his desktop/web habits. Helping him noting his habits and giving certain recommendations about helpful tips. I am publishing my google notebook(above) that everyone can see and comment. This post should grow in size with the recommendations and help from you pouring in. The idea is to build a framework that the agent can work upon on the GNOME desktop to gather information.
First are the goal definitions of the project which are right now upto the imagination! But a few ideas are on the table:

1) Important list of web addresses and setting up monitors on the addresses to keep track of certain information(like bank balance, grades, important emails)
2) Tracking user behavior like reading, playing games, location(IP address based, maybe use some web tool). Based on this change a quick view GNOME panel. Doing a little NLP on docs we read might create a user profile.
3) What else!!!
Here be dragons!!!!/ see this link for an interesting idea.

Framework based on the GNOME desktop system. For the web we may need to look at Firefox addons/extensions.... Python is some thing that can be used very easily with GNOME GTK to gather signals....PyGTK is something you may want to look at..


Thursday, January 29, 2009

Re: CSE471/598 TA office hours update

A correction, the office hour is on Wednesday. Thanks to Rao.

As a reminder, since homework 1 due next Thursday, I will have office hour on next Wednesday, 2:00PM-3:00PM. See you then.

Teaching Assistant (CSE 471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Re: CSE471/598 TA office hours update

As a reminder, since homework 1 due next Thursday, I will have office hour on next Thursday, 2:00PM-3:00PM. See you then.

Teaching Assistant (CSE 471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Homework 1 assigned; Due next thursday (5th Feb)


  Homework 1 is now completely assigned; It will be due next Thursday at the beginning of the class.
The homework is accessible from the homepage


Wednesday, January 28, 2009

"retail robots" in automated warehouses..

---------- Forwarded message ----------
From: J. Benton <>
Date: 2009/1/28
Subject: Nice multi-agent system of "retail robots".

Complete with video...


CSE471/598 TA office hours update

Hi friends,
   Sorry for sending this email late, there is an update of the TA office hours. After discussing with Rao, we decide that I will hold one more office hour on Wednesday from 2:00PM to 3:00PM in the weeks that have project or homework due. I wish the extra hour can help more students with their questions.
   Since it is late for this week, I welcome all students who show up between 2:00PM - 5:00 PM JUST FOR TODAY !! 

Teaching Assistant (CSE 471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Tuesday, January 27, 2009

Stochastic vs. Limited Senses

While reading through the book today, I came up with a question. Where's the line between a lack of good senses and a stochastic environment? The examples we've had in class of what makes an environment stochastic (e.g. car trouble with the taxi) could be monitored with an appropriately advanced sensor array. An omniscient agent (or omniscient objective observer) would consider every environment fully deterministic.
So is there a clear line between the two? I would think that something that is beyond practical (such as monitoring the surfaces of a taxi's tires to know when it will weaken enough to burst from the pressure) would be in the stochastic column, but what about not knowing that a tire is going flat, because the taxi lacks a tire pressure monitoring system (which is practical)?

Vacuum Contingency Problem Graph?

Today in class, we saw graphs for the single-state problem and multiple-state problem "The vacuum world." The professor also mentioned that in a contingency situation, a tree or subgraph would be used.

What would a graph look like if we had non-deterministic actions and an inaccessible environment, ie a contingency problem?

My initial thoughts are that it would be very simple, consisting of two states and a new action "Sense" which would detect if both rooms were clean. If this action succeeded, it would proceed to the final state otherwise it would sit in the first state and continue stumbling around.

(You can probably make this cleaner, but I'm just giving an example of how many details I think are abstracted out for this kind of problem)

Assuming a random sequence of commands, this is about as dumb and inefficient as it can be. However it does handle the Murphy's Law case, where the vacuum actually dirties the carpet.

I'm curious to know what other people think the graph would look like, and how, if possible, you could start to optimize given the contingency problem.

A simple example to illustrate contingent problem

Here is a simple example that illustrates the need for sensing (and contingent plans)

We have a patient who might or might not have a disease d.

If the patient has disease, then medicating her (M) will cure her.

If however, she *doesn't* have the disease, medicating her will kill her.

There is a simple injection I  that if given to a patient with the disease, makes their tongue
red; it has no effect on the patients without disease.

Your goal is to ensure that the patient doesn't have the disease (and is alive!).

The initial configuration is { D or ~D}

after injection

{(Disease, tongue-red) (disease, tongue-not-red)}

now we do a "look-see" and medicate only if the tongue is red.

So the full plan is:

If tongue-red
   then medicate
   {else do nothing}

Notice that this solution is not a "line" (or "sequence") plan. It corresponds to a
subgraph in the state-space.

This example also illustrates another  interesting point. The "disease" is not directly
observable, but it can be indirectly observed from the tongue-redness, after the
"injection" action. (So, while sensing can reduce uncertainty, it may not be as simple as
"just find out what state you are in"--you may have to do additional world-changing actions
before you can sense).


Saturday, January 24, 2009

Lisp for OSX

I'm using the OSX (Allegro) version from  I don't know if it does everything for the class but so far I have it up and running in emacs and I have done about half of project 0 with no problems.  If anyone knows this is a bad solution then I wouldn't mind other ideas.

your photographs, please... (reply to this message with an attachment)


To help me associate names to faces (and vice versa), please email me a (G-rated) picture of yourself.


Lisp on Linux and Mac OS X

Does anyone know of a Lisp interpreter for Linux or Mac OS X that will do everything needed for the class?

Thursday, January 22, 2009

Readings for next week: Chapter 3

The problem solving agents disussion for next week is in Chapter 3.

If we make tremendous progress, we may start nibbling at chapter 4 by thursday


Thinking Cap topic 1:

 By now I hope you all had enough time to get yourself signed up to the class blog. As I said, participation is "required" in this class. Participation involves
doing assigned readings, being attentive in the class, and most importantly, taking part in the class blog discussions.

While any discussions you want to do on the blog are fine, I will occasionally throw in topics I want you to discuss. For historical reasons, we will call them thinking-cap topics.  Here is the first discussion topic  for your edification. 

As for the quantity vs. quality of your comments, I suggest you go by the Woody Allen quote below for guidance.. ;-)
  --Rao ]]

Here are some of the things that I would like to see discussion/comments from the class. Please add your thoughts as comments to this blog post. Also, please check any comments already posted to see if your viewpoint is already expressed (remember--this is not a graded homework, but rather a discussion forum).

1. Explain what you understand by the assertion in the class that often it is not the hardest environments but rather the medium-hard ones that give most challenges to the agent designer (e.g. stochastic is harder in this sense than non-deterministic; multi-agent is harder than  much-too-many-agents; partially accessible/observable is harder than full non-observable).

2. We said that accessibility of the environment can be connected to the limitations of sensing in that what is accessible to one agent may well be inaccessible/partially accessible to another. Can you actually think of cases where partial accessibility of the environment has nothing to do with sensor limitations of the agent?

3. Optimality--given that most "human agents" are anything but provably optimal, does it make sense for us to focus on optimality of our agent algorithms? Also, if you have more than one optimality objective ( e.g., cost of travel and time of travel), what should be the goal of an algorithm that aims to get "optimal" solutions?

4. Prior Knowledge--does it make sense to consider agent architectures where prior knowledge and representing and reasoning with it play such central roles (in particular, wouldn't it be enough to just say that everything important is already encoded in the percept sequence)? Also, is it easy to compare the "amount" of knowledge that different agents start with?

5. Environment vs. Agent complexity--One big issue in agent design is that an agent may have very strong limitations on its memory and computational resources. A desirable property of an agent architecture should be that we can instantiate it for any <agent, enviornment> pair, no matter how complex the enviornment and how simplistic the agent. Comment on whether or not whether or not this property holds for the architectures we saw. Also, check out "Simon's Ant" on the web and see why it is related to this question.

6. Anything else from the first two classes that you want to hold-forth on.



The question is have I learned anything about life. Only that human being are divided into mind and body. The mind embraces all the nobler aspirations, like poetry and philosophy, but the body has all the fun. The important thing, I think, is not to be bitter... if it turns out that there IS a God, I don't think that He's evil. I think that the worst you can say about Him is that basically He's an underachiever. After all, there are worse things in life than death. If you've ever spent an evening with an insurance salesman, you know what I'm talking about. The key is, to not think of death as an end, but as more of a very effective way to cut down on your expenses. Regarding love, heh, what can you say? It's not the quantity of your sexual relations that counts. It's the quality. On the other hand if the quantity drops below once every eight months, I would definitely look into it. Well, that's about it for me folks. Goodbye. "
                ---Boris in Love & Death (1975 )

For those people waiting to register..


This message is directed at  3-4 people had expressed interest in getting into the class, as well as anyone currently registered who is planning to drop the class.

I was hoping earlier that there may be a chance to  increase the capacity of the class, but now that option seems infeasible. I can shuffle seats between the 471/598 sections, but cannot add any (despite the fire code capacity of the room is 47, the university records say that its capacity is 44 and it apparently is too involved to change this).

My suggestion for students trying to get in is to  monitor the registration site until Sunday midnight to see if seats become available because of students dropping (and my request for students who are anyway planning to drop is to do so earlier than sunday midnight :->).

In the unlikely event where seats become available too late to help the interested, I can try to sign late-registration papers; but that is the maximum I can do.


Re: CSE471/598 TA office hours

Sorry I didn't put my office in last email, it is BY 513BA. Thanks Rao for the reminder.

On Wed, Jan 21, 2009 at 12:26 PM, Yunsong Meng <> wrote:
Hi friends,
   Hope you've already started your assignment 0. I temporarily have office hour at 2:00PM to 3:00PM on Friday this week in case you need any help with your project. And from next week, my regular office hour will be at 2:00PM to 3:00PM on Monday. Please feel free to contact me for further assistance.

Teaching Assistant (CSE471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Teaching Assistant (CSE471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Wednesday, January 21, 2009

Which can be done at present

I play FIFA '09, or watch my roommate play, enough to know that the AI in that game certainly makes a great game of soccer even if it cheats somtimes ;D.  
I remember hearing a while back about the DARPA challenge that had life size cars navigating desert roads.  While many failed, there were many that also succeeded.  More recently DARPA had its urban challenge ( and some cars completed that course as well.  It was pretty hilarious to watch some of them crash and burn or get stuck in a loop.  Even though the cars could make it through the urban challenge, I don't think they could make it in the center of Cairo with the rapidly changing traffic patterns and so much action.  Maybe if it went really really slowly...  
Datamining is also quite possible.  Neural networks are often used as they are particularly good at finding patterns in data efficiently but, if I remember correctly, they need to be trained before hand and often require lots of data.

If you don’t want to learn LISP...

...perhaps this article by Paul Graham (of Y Combinator) may help.

Which of the following can be done at present?

Which of the following can be done at present?

- Play a decent game of table tennis
- Drive along a curving mountain road
- Drive in the center of Cairo
- Play a decent game of bridge
- Discover and prove a new mathematical theorem
- Write an intentionally funny story
- Give competent legal advice in a specialized area of law
- Translate spoken English into spoken Swedish in real time
- Playing an (entertaining) game of Soccer
- Solving NYT crossword puzzles at close to expert level
- Navigating in deep space
- Learning patterns in databases (datamining…)
- Supporting supply-chain management decisions at fortune-500 companies
- Learning common sense from the web
- Navigating desert roads
- Navigating urban roads
- Bluffing humans in Poker..

Thoughts anyone? :)

CSE471/598 TA office hours

Hi friends,
   Hope you've already started your assignment 0. I temporarily have office hour at 2:00PM to 3:00PM on Friday this week in case you need any help with your project. And from next week, my regular office hour will be at 2:00PM to 3:00PM on Monday. Please feel free to contact me for further assistance.

Teaching Assistant (CSE471/598)
Department of Computer Science and Engineering
School of Computing & Informatics
Arizona State University

Tuesday, January 20, 2009

followups from today's class..

1. While I said the course will focus on AI as "Acting rationally", I tried at least a few times, on why it is useful to consider the human angle
 (acting like humans, thinking like humans etc) at least as long as we are interested in having AI systems co-exist with humans. For an elaboration
 of this argument, here is a talk on "human-aware AI" that I gave sometime back: (and audio: )

2. With respect to the list of AI applications I asked you to think whether they are currently feasible or not, here is a little graphic that AAAI
(association for the advancement of AI) made recently to give an idea of the AI landscape (and the kind of applications currently feasible)  (the emphasis was a bit more on the day-to-day life than stuff like planetary exploration
but still it will give you an inkling for various subfield buzzwords)


ps: Here is the seinfeld episode where Uncle Leo is misunderstood just because he had menacing eyebrows stenciled on his face..

      Also, my magellan question is a bit incorrect. It should have said "Magellan made three voyages; in one of them he died.." He actually
      circumnavigated the earth only in the last voyage--but for half of that voyage he was dead (after a battle in Philippines)

Thinking and acting.

In today's class Dr. Rao discussed the different definitions of AI and touched the topic of thinking versus acting. Just to build a context, it was discussed that thinking doesn't help in all situations; there are times when we need to act reflectively rather than think through to the action. There are opposite situations too wherein one should "look before leaping", in nutshell the deliberation problem.

Now humans tend to do both these kinds of actions with pretty much ease and (mostly!) decide the right approach for the right circumstances. This made me wonder whether there was a relation that decided the deliberation time?

Is it that the delay that can be afforded before taking any action, so as not to affect any kind of performance matrix (pre-set or not), that decides in humans which approach should be taken, i.e. a reflexive action or a deliberative? And is it the error in estimating this delay quantity that we relate with the characteristic of hastiness?

By saying performance matrices, I mean to talk about scoring well or save one's own life in respectively an exam or on the middle of a busy road.

Monday, January 19, 2009

Looking forward to the class

Hello everyone,

I took CSE 240 a year and a half ago. One fourth of that class was devoted to scheme, which is almost exactly like LISP. Started reading our AI textbook last week. My LISP training from CSE 240 definitely isnt sufficient for this class. I will need to spend a good deal of time learning LISP on my own, which is fine by me. I enjoy learning new programming languages.

A few questions for the instructor...

1. I noticed that 15 students are undergrads and 25 are graduate students. How will that effect the grading and work-load for undergrads and graduate students?

2. How do you read input from a keyboard in LISP?

3. Can you give us an estimate of how much time it will take to complete each project?

4. I glanced at project #1. The LISP code is included in the project. Will we need to write additional LISP code to complete project #1?

- Todd MacLeod

Welcome to CSE471/598 Mailing List...

Dear all:

 If you are getting this mail, it means you are either already registered for the course or have expressed interest in getting into the class.

[For those of you trying to get into the class--please show up for the first class; it is possible a few seats might be added by the end of the week]

Those of you who are already registered would also have got invitations to join the class blog by now.

The homepage for this class is at (*NOTE*--I don't maintain the class homepage on the blackboard).

Note that mails sent to the mailing list will be archived on a mail archive site ( )
as well as the class blog ( ). Both of these are also accessible from the class home page.

All of you registered to the class will also have posting privileges for the class blog. You can start threads as well as comment on existing threads.