public class WumpusKnowledgeBase extends KnowledgeBase
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACTION_FORWARD |
static java.lang.String |
ACTION_SHOOT |
static java.lang.String |
ACTION_TURN_LEFT |
static java.lang.String |
ACTION_TURN_RIGHT |
static java.lang.String |
BREEZE |
static java.lang.String |
FACING_EAST |
static java.lang.String |
FACING_NORTH |
static java.lang.String |
FACING_SOUTH |
static java.lang.String |
FACING_WEST |
static java.lang.String |
HAVE_ARROW |
static java.lang.String |
LOCATION |
static java.lang.String |
OK_TO_MOVE_INTO |
static java.lang.String |
PERCEPT_BREEZE |
static java.lang.String |
PERCEPT_BUMP |
static java.lang.String |
PERCEPT_GLITTER |
static java.lang.String |
PERCEPT_SCREAM |
static java.lang.String |
PERCEPT_STENCH |
static java.lang.String |
PIT |
static java.lang.String |
STENCH |
static java.lang.String |
WUMPUS |
static java.lang.String |
WUMPUS_ALIVE |
Constructor and Description |
---|
WumpusKnowledgeBase(DPLL dpll,
int caveXandYDimensions)
Create a Knowledge Base that contains the atemporal "wumpus physics" and
temporal rules with time zero.
|
WumpusKnowledgeBase(int caveXandYDimensions) |
Modifier and Type | Method and Description |
---|---|
boolean |
ask(Sentence query) |
AgentPosition |
askCurrentPosition(int t) |
boolean |
askGlitter(int t) |
boolean |
askHaveArrow(int t) |
java.util.Set<Room> |
askNotUnsafeRooms(int t) |
boolean |
askOK(int t,
int x,
int y) |
java.util.Set<Room> |
askPossibleWumpusRooms(int t) |
java.util.Set<Room> |
askSafeRooms(int t) |
java.util.Set<Room> |
askUnvisitedRooms(int t) |
int |
getCaveXDimension() |
int |
getCaveYDimension() |
void |
makeActionSentence(Action a,
int t)
Add to KB sentences that describe the action a
|
void |
makePerceptSentence(AgentPercept p,
int time)
Add to KB sentences that describe the perception p
(only about the current time).
|
PropositionSymbol |
newSymbol(java.lang.String prefix,
int timeStep) |
PropositionSymbol |
newSymbol(java.lang.String prefix,
int x,
int y) |
PropositionSymbol |
newSymbol(java.lang.String prefix,
int timeStep,
int x,
int y) |
void |
setCaveXDimension(int caveXDimension) |
void |
setCaveYDimension(int caveYDimension) |
void |
tellTemporalPhysicsSentences(int t)
TELL the KB the temporal "physics" sentences for time t
|
java.lang.String |
toString() |
asCNF, askWithTTEntails, asSentence, getSentences, getSymbols, size, tell, tell, tellAll
public static final java.lang.String LOCATION
public static final java.lang.String BREEZE
public static final java.lang.String STENCH
public static final java.lang.String PIT
public static final java.lang.String WUMPUS
public static final java.lang.String WUMPUS_ALIVE
public static final java.lang.String HAVE_ARROW
public static final java.lang.String FACING_NORTH
public static final java.lang.String FACING_SOUTH
public static final java.lang.String FACING_EAST
public static final java.lang.String FACING_WEST
public static final java.lang.String PERCEPT_STENCH
public static final java.lang.String PERCEPT_BREEZE
public static final java.lang.String PERCEPT_GLITTER
public static final java.lang.String PERCEPT_BUMP
public static final java.lang.String PERCEPT_SCREAM
public static final java.lang.String ACTION_FORWARD
public static final java.lang.String ACTION_SHOOT
public static final java.lang.String ACTION_TURN_LEFT
public static final java.lang.String ACTION_TURN_RIGHT
public static final java.lang.String OK_TO_MOVE_INTO
public WumpusKnowledgeBase(int caveXandYDimensions)
public WumpusKnowledgeBase(DPLL dpll, int caveXandYDimensions)
dpll
- the dpll implementation to use for answering 'ask' queries.caveXandYDimensions
- x and y dimensions of the wumpus world's cave.public AgentPosition askCurrentPosition(int t)
public java.util.Set<Room> askSafeRooms(int t)
public boolean askGlitter(int t)
public java.util.Set<Room> askUnvisitedRooms(int t)
public boolean askHaveArrow(int t)
public java.util.Set<Room> askPossibleWumpusRooms(int t)
public java.util.Set<Room> askNotUnsafeRooms(int t)
public boolean askOK(int t, int x, int y)
public boolean ask(Sentence query)
public int getCaveXDimension()
public void setCaveXDimension(int caveXDimension)
public int getCaveYDimension()
public void setCaveYDimension(int caveYDimension)
public void makeActionSentence(Action a, int t)
a
- action that must be added to KBtime
- current timepublic void makePerceptSentence(AgentPercept p, int time)
p
- perception that must be added to KBtime
- current timepublic void tellTemporalPhysicsSentences(int t)
t
- current time step.public java.lang.String toString()
toString
in class KnowledgeBase
public PropositionSymbol newSymbol(java.lang.String prefix, int timeStep)
public PropositionSymbol newSymbol(java.lang.String prefix, int x, int y)
public PropositionSymbol newSymbol(java.lang.String prefix, int timeStep, int x, int y)