CSCE 782: News

 Final Grades Posted
Posted on Saturday, 14 December 2002, 11:08AM
on the left, as usual. We do not accept returns.

 And the Winner is.....
Posted on Friday, 06 December 2002, 05:07PM
Chikomalo! who was, believe it or not, undefeated. United3 came in fighting at second place and Robots in third. The scores were

Chikomalo BetirCarolina United3 PSG Robots Leonis
Tulips 1,3 5,2 1,4 3,8 5,7 6,1
Chikomalo 4,0 7,2 6,3 10,4 12,1
BetirCarolina 6,7 2,7 6,7 3,4
United3 8,9 5,1 12,2
PSG 2,6 4,12
Robots 4,5

Please remember that your final grade still depends largely on the quality of your writeup. These are to be turned in using the usual method. Thanks to all of you! You did a great job! I hope you had some fun too.

 Test 2 Graded and PS 6 due date
Posted on Sunday, 01 December 2002, 12:33PM
The grades for test is now grades. I gave everyone credit for question 9 and on question 39 I accepted 2 and 4 as answers. Everyone received 10 extra points. These are already reflected in the posted grade.

Also, unless you have talked to me about it, the due date for PS 6 is Monday 2002-12-09@12:00:00, in the dropbox.

 Tournament Moved to Friday
Posted on Thursday, 14 November 2002, 09:40AM
In order to give you a couple more days to prepare, I have moved the tournament to Friday Dec 6. I have reserved one of the Unix labs on the first floor of Swearingen from 1pm-3pm for that day. At least one of your group members needs to be there for the duration. Update: Friday, 15 November 2002, 10:51AM It looks like it will be in room 1D41.

 Voting Theory in the News
Posted on Sunday, 03 November 2002, 10:28AM
There appears an article on Science News titled Are we using the worst voting procedure?. It talks about why plularity vote sucks, Arrow's impossibility theorem, and the old Borda count—all in the context of the US election process. I found this on Slashdot.

 Reciprocity.nlogo Bug
Posted on Sunday, 03 November 2002, 10:23AM
Laura Zavala found a bug in the reciprocity.nlogo code I gave out with PS5. Namely, the code I gave out sometimes allows an agent to carry the package for another agent even thought the packages are on different spokes (basically, it delivers the package on the wrong spoke). She created a modified reciprocity2.nlogo which fixes this problem.

Of course, you will probably not need to download it since you are implementing your own exchange mechanism anyway. Still, it will be usefull if you want to compare your results to the reciprocity results.

 More on Biter
Posted on Saturday, 26 October 2002, 08:41AM
Biter is not just a piece of code for you to use. It is also my ongoing research project. Our research into the use of Biter as a teaching and research tool has already lead to various publications (Paul is a PhD student), namely: Paul is no longer working on Biter. Currently, Hrishikesh Goradia is working on Biter beans. I mention all of this because I am always looking for people who want to do MS/PhD theses in this very exciting area. There are many fun projects that we can do. So, if you have any interest, please come talk to me. As an aside, I'm also interested is studying the effectiveness of Netlogo as a tool for multiagent prototyping (so far, its awesome, but has a few problems), so, anyone?

 PS4 Graded
Posted on Thursday, 24 October 2002, 04:08PM
By now you should have received your grades for PS4. It was very interesting to notice the different ways in which you implemented a solution. Many of your solutions showed that performance degraded rapidly as one changed the number of mailmen from 1 to 10 and then stabelized. This, I am sorry to say, reflects a problem with your algorithms, thought not an easy one to solve. There really is no reason why adding another agent should increase the distance travelled. However, as many of you noticed, it is sometimes very hard to prevent an agent from doing the work that should best be done by another agent.

 Test1 and PS3 Grades Done
Posted on Saturday, 12 October 2002, 12:34PM
By now you should have received an email with your PS3 grade and comments.

For both PS3 and Test1 the grades were lower than I had hoped. As far as PS3 I think most of you simply underestimated the time it would take you to finish it. None of these programming assignments are the type that you can start and finish the weekend before they are due. That is why you get three weeks.

There were some confusing questions on the test (as always) which some of you have pointed out and I have given credit for them. Overall, however, there seems to be three groups: those who did the readings and paid attention in class, those who did the readings, and those who did very little. Also, everyone in class received an extra 10 points on the test. These points are already reflected on the grades posted. You can pick up your graded tests during our next meeting.

 Test 1 Solutions
Posted on Wednesday, 09 October 2002, 04:02PM
Well, I hope everyone did OK. The answers to test 1 are posted on the left. I will be grading it and PS 3 over the next couple of days. Hopefully I'll be done by Monday.

 Mailing List
Posted on Wednesday, 02 October 2002, 08:19AM
I often forward questions that people ask me to the class mailing list, along with my answers. You might want to subscribe if you have not done so already.

 On Mindreading
Posted on Tuesday, 01 October 2002, 09:24PM
The Three Dead Trolls in a Baggie have a great skit called Welcome to the Internet Helpdesk. It is about a guy who works the helpdesk for an ISP. One of the funniest bits goes like:
Helpdesk: Internet Help desk, may I help you?
    User: I can't get my email.
Helpdesk: Hmmm, can you be a little more specific.
    User: No.
Helpdesk: Please hold.
Need I say more? You know who you are.

 JADE on Solaris
Posted on Monday, 30 September 2002, 06:05PM
I have confirmed that the MeetingScheduler demo for JADE does not work on Solaris. The error is:
        at CalendarBean.JCalendar.setLocale(
I don't know why this is. I sent an email to the JADE mailing list. Update: Monday, 30 September 2002, 09:29PM No answer yet from the JADE people, but Seang-Chan Ryu writes:
Actually, I think, Meeting Scheduler works on Solaris, too. The thing is it doesn't work with java1.4. I changed something in your the makefile.
JAVA=java  =>

And it seems working, although I don't know why exactly.
Well, I don't know why either, but I did this (I also did a make clean;make before) and it seems to work for me too. If you make this change you should also change to use the 1.3 javac, just to be consistent. Update: Tuesday, 01 October 2002, 07:47AM Olleg Samoylov from the JADE mailing list explains that:
I got this trouble too (on Linux J2SDK 1.4). As I undestand it is not OS depended bug, but JVM version depended. CalendarBean (which used in MeetingScheduler) don't work in JVM 1.4.
The CalendarBean is not written by the JADE developers. So, make sure you use java1.3.Update: Tuesday, 01 October 2002, 08:55AM Heiko Holtschneider from the JADE mailing list says that he got java1.4 to work by replacing CalendarBean.jar with the new jcalendar.jar dowloaded from here. He also warns that:
I had some problems integrating it in the example since the paths somehow changed but it works fine with this jcalendar.
I think it will be easier for me if you just stick to using java1.3. Update: Tuesday, 01 October 2002, 11:46AM Paul Buhler has provided a pointer to a mailing list message that explained this problem. Somehow I missed it when first searching the archives.

 Calendaring Is Coming!
Posted on Sunday, 22 September 2002, 06:08PM
I thought this wired article was interesting in view of PS3. Its about the popularity of a website that shares calendar's from Apple's iCal (not to be confused with the iCal RFC). It might also mark the birth of the verb "calendaring".
"Potter predicted the arrival of open-source calendar servers would lead to an explosion of public calendaring on the Web."

 PS 2 Graded
Posted on Thursday, 19 September 2002, 01:58PM
By the time this gets posted you should have received your grade and comments for PS2 on email. I noticed overall improvement in the effort and quality of the solutions. Some of you, however, still need to improve your documentation. It is very important for you to explain why you chose that approach.

An interesting idea that many of you touched on is the tradeoff between maximizing the global utility and the computational and communnication complexity among the agents. After seeing all your solutions I am more convinced than before that there is little to be gained by trying sophisticated coordination mechanism on this radar problem. That is, while it is possible to eek out a few more utility points with a complicated negotiation system, it hardly seems worth it. The main point that we should remember is that simple mechanisms sometimes work just as well. Of course, these simple mechanisms have to be a little more sophisticated than the obvious solution. I also wish I could explain what is it about this problem, and others like it, that make it unsuitable for resolution with complex mechanisms.

This brings to something else I learned from you. I noticed that several students are attacking these problems by first listing a set of problems with my solution and then trying to find a solution that overcomes those problems. This seems like the beginning of a methodology for building emergent systems. Namely:
  1. Implement the obvious solution.
  2. Write a list of all the problems or opportunities for improvement (for want of a more positive name) with that solution.
  3. Come up with a system that overcomes 2. Make sure it still performs better than the obvious solution.
Obviously, step 3 requires some further breakdown.

 Bug in radarschallenge.nlogo
Posted on Wednesday, 11 September 2002, 03:59PM
One of you pointed out a bug in my radarschallenge implementation. I have updated the file. The problem was a missing set of parentheses in target-in-sight. The correct code is:
to-report target-in-sight [the-target]
  locals [angle]
  set angle abs (towards the-target - heading)
  set angle min list angle (360 - angle)
  report angle <= radar-amplitude / 2

 PS 1 Graded
Posted on Thursday, 05 September 2002, 09:15PM
I have finished grading PS 1. To see everyone's grades click on the Grades link on the left. You should have received the email with your individual comments by the time you read this. My comments are preceded by the # symbol. In general, the scores achieved fell into three categories. Most were able, with a bit of effort, to achieve a score of around 70. There were a handful of exceptional cases that pushed it to the 75-80 range. On the other hand, there were a few who only managed numbers around 50. I have a few other observations.
  • Some of you pursued a very regimented scheme of assigning tiles to agents which did not allow for any opportunistic behavior. Remember, it is important for agents to be goal-driven as well as reactive. For example, if a hole appears right next to the tile you are pushing, use it!
  • There were several implementations were some of the robots stayed fixed (more on this below). I must admit that I was surprised at the quality of these solutions. I would have assumed that having a robot stay put while there are tiles available would really hurt one's score more. I believe that the reason there was not as much a noticeable difference is because in the other solutions, where the robots always moved, the robots would interfere with each other and undo some of the gains. I guess sometimes the best thing to do is nothing.
  • The reason many of you had fixed robots and abandoned tiles is because many of you were assigning to each tile the robot that was closest to that tile (yes, you were doing doing this). The problem arises when there is one robot that is closer than any other robot to two or more tiles. In that case only one of those tiles will have a robot assigned to it, the rest will be orphaned.
  • A few of those high scores I mentioned earlier were achieved with a bit of "cheating". Several of you changed the move-one function to not move other robots. Such a change violates the spirit of the problem. I did not take off any points for this. In the future I hope you will try to obey the spirit of the problem. I realize this is hard since we do not have complete specifications of these problems.
  • The problem of dead tiles, which shows up when the program tries to ask a dead tile to do something, is due to the inherent parallelism in netlogo. Since all the robots are moving in parallel it is possible for robot-1 to get a reference to tile-1, then robot-2 push tile-1 into a hole and kill it, then robot-1 ask its reference to tile-1 to do something. If you want to prevent these types of problems you should look into without-interruption.
Anyway, good show! As far as grades, students who do more than is expected receive As, students who do what is expected receive B, students who do less than expected receive Cs, the rest should drop the class.

 PS0 Solutions Posted
Posted on Wednesday, 28 August 2002, 04:19PM
I have posted the solutions to PS0. Simply go to PS0 and click on the picture to see the applet and then download the source code.

Jose M Vidal
Last modified: Sat Dec 14 11:08:47 EST 2002