Midterm Review Questions, CS 2400 (Hasker)

The exam will be closed-book, closed-note, and in-class (with Respondus browser on Canvas). You can bring a page of notes.

Review questions (for reference only - the exam may include other topics!):

  1. Give a one-sentence explanation of the Turing test.
  2. Explain why while the Turing Test may be a necessary condition, it may not be sufficient.
  3. 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.
  4. What are the four aspects of defining an AI agent (PEAS)? Briefly explain why each is needed.
  5. Explain how a light switch (even one with a motion sensor to detect when someone enters the room) fails to meet the PEAS criteria.
  6. Explain a major difference between informed and uninformed search.
  7. Why are most search spaces graphs?
  8. How can we make a graph search problem into a simpler, tree search problem?
  9. Give a domain in which breadth-first search is clearly better than depth-first search or even iterative deepening.
  10. Explain how best-first search works.
  11. Why is admissibility important in A*?
  12. What are the inputs and outputs of the static board evaluation function, and how does it play a role in minimax search?
  13. 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.
  14. 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.
  15. Assume our blocks world contains a predicate clear_table, and write a definition of that using forall and there exists.
  16. 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.
  17. 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.