Sunday, August 26, 2007
A Plethora of Databases
I can't demo all of the DBs for my class, so I'll focus on one, MySQL. A fully functional freely downloadable versions available for many platforms. I actually had a painful time getting it installed under Mac OS X, but, using a whole bucket of pixie dust, I finally got it installed and it's just fine. Starts up at boot time and is just always there. The students can install it themselves or use some other SQL DB, as long as they can generate things to hand in for comments and grading. In addition, the College has MySQL running on its CGI server that any student can access. There is also MS SQL available, but I'm not a Windows person. Students are welcome to use it. Our textbook is fully SQL-oriented, so SQL makes sense.
MySQL has a two or three nice GUI-based controllers - I downloaded two and they work just fine. (MySQL is installed on the Mac OS side of my Intel MacBook Pro and I'm running pure Windows while I type this so I can't give all the interesting details at this moment.)
I will definitely demo BDB JE and encourage students to choose it or Caché for a project. Since I'll be doing GUIs in my HCI class, also this Fall, there may be some interesting synergies.
Thursday, February 22, 2007
Hybrid Closed-book, Open-book exams
"The first half of the exam will be closed book. After you hand in your answers to the first part, the remainder of the exam will be open book. This is a strategy to evaluate your performance under both conditions."
I will update this posting after I grade the (four) exams.
Note of 8/26/2007: The exams appeared to be useful. In fact, a number of students in the classes thought the idea was just fine. So I'll continue to do this in my upcoming classes, though not necessarily for every exam.
Sunday, February 11, 2007
Interesting AI undergraduate class projects
From initial project plans
Professor Futrelle 2/11/2007
The undergraduates chose a different mix from the grads:
Modifying Buckland's Raven game
Machine translation using NLTK (Natural Language Toolkit)
Smart allies in games
Correlated knowledge in text and graphics
Responsive website via machine learning
Clustering to filter Usenet items
Pathfinding or maybe elevator scheduling
Moving image analysis
Starcraft game from an AI point of view
Interesting AI graduate class projects
From initial project plans
Professor Futrelle 2/11/2007
WEKA spam detection
AI - Games
3D object recognition - faces and cars
Machine translation for Japanese
Alarms in passive networks (alarms in homes, businesses)
Simulating animals in groups (birds, ants)
"Beyond the facts" subjective opinions in Biomedical papers
Suspicious ships activity using OWL and additional reasoning
Health behavior Ontology
Machine learning for Disease diagnosis
Natural language query/answer system - about Boston
Natural language analysis/generation of Hip Hop lyrics
Ontologies of diagrams
My general comments: The best were the ones in which the student had
found and discussed relevant papers or books.
Many had problems formatting their bibliography items - see the
Bibliography, pg. 987 of the AIMA textbook for examples. Include URLs
Monday, January 15, 2007
Real-world semantics is in the eye of the beholder
Brachman, R.J. and Levesque, H.J., Knowledge representation and reasoning. Elsevier/Morgan Kaufmann, San Francisco, CA, 2004.
I'll paraphrase their comments on page 20.
The meaning of "hammer" in some interpretation is no more or less than those objects that we consider to be hammers. As far as FOL is concerned, we do not try to say what a hammer is in the way a dictionary might, describing its shape, materials, size, or weight. All we need to say is which objects are and which are not hammers.
On pages 24 and 25, there are further statements to the effect that we can build a system that can be told that Hammer(h1) is true in some user-intended interpretation, so that the system can later come to believe other sentences that are true in that interpretation. "Hammer" is a predicate, and "h1" a term that we create; they have no other existence beyond our creation of them in our system.
I quote their fundamental tenet of knowledge representation:
“Reasoning based on logical consequence is weak, and only allows safe, logically guaranteed conclusions to be drawn. However, by starting with a rich collection of sentences as given premises, including not only facts about particulars of the intended application, but also those expressing connections among the non-logical symbols involved, the set of entailed conclusions becomes a much richer set, closer to the set of sentences true in the intended interpretation. Calculating these entailments thus becomes more like the form of reasoning we would expect of someone who understood the meaning of the terms involved."
Figure 7.6 in the AIMA textbook for the course illustrates some of this from a slightly different perspective.
Saturday, January 6, 2007
My teaching gateway page
Otherwise, I'm hard at work finishing off all the major pages for my UG and grad AI courses. First class is the UG one, the afternoon of Monday the 8th of January. Grad one is the following Thursday evening. For whatever reason, these two courses are better organized than any of mine in recent memory. (So if you're not happy, the others were worse ;-).
I've had a bit of luck learning to play Gears of War on my XBOX - enough for me to begin to see what type of artificial intelligence techniques are used in it. One example: When I pick up a weapon, my partner is aware that I now have the weapon and changes his behavior to suit his new knowledge, e.g., suggesting that I use it in a situation in which he is further aware of the fact that I'm being targeted by some nasty foes. There is nothing profound in this; it's not hard to imagine how this could be programmed in. But the accumulation of many such things, including an "understanding" of the physical environment, etc., all adds up to enough complexity and smarts to make it interesting (and to $ales).
Sunday, December 31, 2006
Nice results from my UG graphics course, Fall 2005
In the Fall of 2005, I taught undergraduate Computer Graphics, CSU540. The construction of 3D objects and lighting them was based on triangular patches. Using barycentric coordinates, as described in Peter Shirely's graphics text (A K Peters, 2005), it is possible to easily decide whether or not a ray intersects the interior of the patch.
Below are two of the best project results from the class. All programming was done from scratch in Java, using no prebuilt libraries or systems such as OpenGL. The only drawing primitive used was the ability to display a single pixel of a chosen color/intensity. I furnished a portion of the linear algebra code and the triangle intersection code. That's all.
By Alison Campanella -
By Jason Bernardo -
Subscribe to Posts [Atom]