AIILE.gridworld.agent.reflex
Class ReflexAgent

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byAIILE.connection.AbstractConnectionTemplate
                  extended byAIILE.gridworld.connection.AbstractGridWorld
                      extended byAIILE.gridworld.agent.AbstractGridWorldAgent
                          extended byAIILE.gridworld.agent.reflex.ReflexAgent
All Implemented Interfaces:
java.beans.beancontext.BeanContextProxy, ConnectionTemplate, GridWorld, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ReflexAgent
extends AbstractGridWorldAgent

Below is a very basic agent. It is an on-line agent. When the agent enters the gridworld environment it is supplied information about it's current position. This information is itself and a list of visible or successor grid nodes to move to. The agent then randomly chooses a node to traverse. The agent does not have a memory and makes its decisions in real time, thus an on-line agent. This agent is only provided to give the user a sence of what methods are available and how they interact with the environment.

When this reflex agent is run in the gridworld you will notice that at each step the display shows the current position (orange) and the green successor nodes. Since this is an on-line agent, after a move the previous current position is changed to a visited node (blue), but the successor nodes are still green. This agent is only looking at the new successor nodes around the current position, but the display leaves all of the visible nodes to see. It is up to the agent to keep track of the visible nodes and use them as it desires.

In order for the JavaBean component architecture to work properly, this agent class must be accompanied by two other classes, the ReflexAgentCustomizer and the ReflexAgentBeanInfo class. See the AIILE web page for getting started.

Since:
Oct 09, 2003
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ReflexAgent()
          Creates a new instance of ReflexAgent
 
Method Summary
 void finish()
          This is used to finish up the agent's run if it is needed
 void init()
          can be used to initialize the agent after the agent is allowed to start
 void run()
          This method is used to run the agent, add your agent logic here
 void setStart(boolean b)
          This method must be over written to start the agent running in the environment
 
Methods inherited from class AIILE.gridworld.agent.AbstractGridWorldAgent
getEnvironmentInfo, getMove, isFinish, isStart, isValidMove, setEnvironmentInfo, setFinish, setMove, setValidMove
 
Methods inherited from class AIILE.gridworld.connection.AbstractGridWorld
receiveEnvironmentInfo, receiveFinishInfo, receiveMoveInfo, receiveStartInfo, receiveValidMoveInfo, sendEnvironmentInfo, sendFinishInfo, sendMoveInfo, sendStartInfo, sendValidMoveInfo, setEnvironmentInfoBuddy, setFinishInfoBuddy, setMoveInfoBuddy, setStartInfoBuddy, setValidMoveInfoBuddy
 
Methods inherited from class AIILE.connection.AbstractConnectionTemplate
getBeanContextProxy, receive, send
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReflexAgent

public ReflexAgent()
Creates a new instance of ReflexAgent

Method Detail

init

public void init()
can be used to initialize the agent after the agent is allowed to start

Specified by:
init in class AbstractGridWorldAgent

run

public void run()
This method is used to run the agent, add your agent logic here

Specified by:
run in class AbstractGridWorldAgent

finish

public void finish()
This is used to finish up the agent's run if it is needed

Specified by:
finish in class AbstractGridWorldAgent

setStart

public void setStart(boolean b)
This method must be over written to start the agent running in the environment

Specified by:
setStart in interface GridWorld
Specified by:
setStart in class AbstractGridWorldAgent