Midterm Review Questions, CS 2400 (Hasker)
The exam will be open-book, open-note, but individual (with no discussion
on exam content with anyone until the exam is graded).
Review questions (for reference only - the exam may include other topics!):
- Give a one-sentence explanation of the Turing test.
- Explain why while the Turing Test may be a necessary
condition, it may not be sufficient.
- The textbook gives a definition of AI. Quote the definition (to
remind us what it is) and explain one way in which it differs from what
the general public might think of as the goals of AI/AI research.
- What are the four aspects of defining an AI agent (PEAS)? Briefly explain
why each is needed.
- Explain how a light switch (even one with a motion sensor to detect
when someone enters the room) fails to meet the PEAS criteria.
- Explain a major difference between informed
and uninformed search.
- Why are most search spaces graphs?
- How can we make a graph search problem into a simpler, tree search
problem?
- Give a domain in which breadth-first search is clearly better than
depth-first search or even iterative deepening.
- Explain how best-first search works.
- Why is admissibility important in A*?
- How does the static board evaluation function play a role in minimax
search?
- Minimax assigns a value to every move (to a given depth) in the
search space, especially each of the possible moves for MAX. Give a case
in which alpha-beta pruning would not assign a value for each of
MAX's possible moves.
- Using the propositional logic notation, define new propositions and
use those to express a rule such as "if the ignition is on and the
battery is charged, then the lights will be on". Then rephrase this as a
rule that says if the ignition is on and the lights are not on, then the
battery is not charged.
- Assume our blocks world contains a
predicate
clear_table
, and write a definition of that using
forall and there exists.
- Give a blocks-world formula stating that all blocks in stacks of 1
block - that is, all blocks are on the table and clear. Then give a
blocks-world formula stating they are all in stacks of two blocks:
every block is either on the table or on another block, and the second
block must be on the table. Don't forget to include that the top of
each stack is clear.
- Create a strips operator for reversing a stack of two blocks. That
is, if x is on y, then reorganize them so y is on x. Be sure to include
the gripper's state and which blocks are clear.