Monday, Wednesday, Friday - 12:30 - 1:35
Reading
Reading
Assignment
A half page description of a cool robot project that requires AI. The preference is for projects that are doable with the hardware we have: wheeled robots and Lego's.
Reading
Reading
Reading
MLK Holiday
Assignment #1
| Warning Do not test your code on anything that will not give if you run into it. You might break the robot. I |
Reading
Reading
Other links
Reading
Assignment #2
Implement the following two search algorithms for the 8-queen problem starting from a randomized board with one queen in each column.
Begin with EightQueens.zip written by Zhengyi Le. If you have any questions about the code or GA please email Zhengyi. You should not use code from the web or look at code from the web.
Reading
Ants Can Solve Constraint Satisfaction Problems
Reading
Assignment #3
Implement multiple behaviors for your robot so that you can Find an infrared (IR) beacon in a playing field that contains
Find is defined as bumping into the beacon. Your robot must clearly indicate that it believes to have found the beacon.
When experimenting with IR diodes (emitters) and IR phototransistors (receivers), a continuously lit IR diode can only be detected to a range of a 0.5 meter with the Handy Board's 8-bit analog input channels. When distance is greater than 0.5 meter the signal from the IR diode is lost in the noise. Amplification of the detector output does not help, because amplification also amplifies the noise .
IR remote controls for TV's over come this problem by creating an infared signal that can be distinguished and separated (filtered) from the background noise and then amplified. The unique IR signal is created by rapidly turning the IR diode on an off at a known frequency. The receiver then uses a notch filter to isolate the signal and then amplifies the signal. Typically when around 16 consecutive cycles are detected to the detector output goes low.
The Handy Board has a Sharp IS1U60 receiver with a center frequency of 38.0 kHz. The Handy Board has no actual IR transmitter; however, you can easily connect one by using the J7 connector to drive the transmitter. Pin 3 of J7 is connected to a 38 kHz oscillator constructed from a NAND gate, resistor and capacitor (see Section 9.5 of Handy Board manual). The oscillator is enabled when the input to the NAND gate is high. This input is connected to Port A, Bit 2 of the 68HC11.
IR_control.c has code to display the output on the LCD.
The single receptor on the Handy Board can be augmented with externally mounted sensors. Digi-Key sell many different IR receivers and transmitters. The PNA4611M receiver has a wide 80 degree half power angle while the LN175 transmitter has 120 degree half power angle. These seem two of the best suited detector/emitter pairs for our purposes.
Reading
Reading
Winter Carnival - classes canceled
Assignment #4 - due Sunday, February 15th.
Tile.java implements the sliding tile puzzle. The size of the puzzle is 3x3 but can be changed by changing a constant in the source code. The board is randomized by starting with a sorted board, and then randomly doing N moves, where N is set by the bottom slider. You can select between two search methods for finding the solution : breadth first and depth first. You will notice that depth first search takes a very long time, even when the board is randomized by doing a few random moves. You can play the found solution after the search is completed.
Implement the following search algorithms for the sliding-block puzzle starting from a randomized board.
Also fix depth first search so it always finds a solution in a reasonable
Sarene give a presentation on Monday. Reserve a projector from Sammie, the departmental secretary.
You should not use code from the web or look at code from the web.
Monday
Discuss assignment.
Reading
Links
Assignment #5
Implement one of the following robotic projects:
OR
Implement a Neural Network classifier that recognizes ten Greek letters, even when noise corrupts some of the pixels. Make sure some of the letters look similar. Read the letters in from a PNG-file, display them on the screen. Use a slider to set the corrupt number of pixels. Have a button to recognize the letter. Each time the button is pressed a new set of random pixels is corrupted.
CS 23 students have code to read, display and manipulate PNG files. You can ask you favorite CS 23 student for their code or I can do that.
NeuralNet_C_CPP_Java.zip has code that a graduate student friend of mine, Zbigniew Korona, wrote in C. There are sparse comments but it works. The C++ code I wrote in graduate school. The Java code is a translation of the C code and is not very object oriented. If you want to use other code for the Neural Network please send me the link and I will look at it.
Guest lecture on Computational Linguistic by Paul Thompson.
Reading
Reading
Other readings
JONES SEMINAR
3:30pm
Spanos Auditorium - Rm 100 Cummings Hall
"Artificial Intelligence: Hype or Reality?"
Adrian Hopgood
The Nottingham Trent University
Reading
Finish beacon finding.
Reading
Other readings
Assignment #6
Take ChineseCheckers.java, a Chinese Checkers framework, written by Zhengyi and implement an agent that uses Min-Max search. The agent should be able to beat the greedy agent supplied by Zhengyi.
Reading
Reading
Other links
You can receive extra credit by give a presentation of your final project. Graduate students need to give a presentation.
Your final project can be either involve robots or a computer game. Here are my suggestions: