MIDTERM QUESTIONS



1. Select two problems from the first group of problems below and answer in full detail. State that these are your selected problems of the first group.
2. Select five problems from the second group of problems below and answer them briefly. State that these are your five selected problems of the second group.
3. Select any number of additional problems from the second group and answer them briefly. State that these are your additional problems of the second group.
The problems cannot repeat.
Give your name on the first page of your test. Staple and enumerate pages.

FIRST GROUP OF PROBLEMS.

  1. Problem 1. LISP program. Simulate a robot that is in two psychological states HAPPY and UNHAPPY. (It may correspond to more internal states of FSM). When the robot is happy it remains to be happy when the sentences from the human are positive. With the first negative sentence from the human the robot becomes unhappy. Only after two consecutive positive sentences from the human it becomes happy again. Positive sentence from the human is any sentence that includes words from this list: (good bravo excellent good-robot you-are-great). Negative sentence from the human is any sentence that includes words from this list: (stupid bad no nasty idiot bad-robot). The robot manifests that it is happy by telling any random sentence that includes repeated positive word from the human's sentence. The robot manifests that it is unhappy by telling any random sentence that includes repeated negative word from the human's sentence.
    1. Draw the graph of FSM of the robot.
    2. Write the LISP program.
    3. Show its behavior.


  2. Problem 2. LISP program. Write a recursive program to create decision tree for a table. The table has rows as objects (Mary, John, Marta, Patrick,etc) and columns as features (color-eye, color-of-hair, size-of-nose,etc). The rows and columns are enumerated starting from 0. We assume that all values of features are binary. Select randomly the splitting variables. Repeate 10 times to find the solution with the minimum number of nodes in the tree. The program should return a quasiminimal tree of the form shown last Friday in the meeting. For instance (color-of-hair (color-eye (Mary Patrick) (John)) (Marta)). The branching for value 0 is at the left, the branching for value 1 of the variable is on the right. Thus value 0 of color-of-hair corresponds to subtree (color-eye (Mary Patrick) (John)) (Marta)). This problem is similar to one done on Friday but much easier.

  3. Problem 3. LISP program. You have a labyrinth in which at every cross-road you have exactly two ways - to left and to right. Write a recursive program to find gold (located in one of leafs) and return.

  4. Problem 4. LISP program. You have a labyrinth in which at every cross-road you have exactly two ways - to left and to right. Write a depth-first program to find gold (located in one of leafs) and return.

  5. Problem 5. LISP program. You have a labyrinth in which at every cross-road you have exactly two ways - to left and to right. Write a breadth-first program to find gold (located in one of leafs) and return.

  6. Problem 6. LISP program. Write a program for coloring of a graph. It should be recursive, depth-first, breadth-first or any other strategy discussed in the class. The size of the graph is unrestricted. The graph is described as a list of list of neighbors of a node. For instance:

    ( (1 2) (0 2) (0 1 3 4) (2 4) (2 3) ) Describes the graph in which neighbors of node 0 are 1 and 2, neighbors of node 2 are 0 , 1, 3, and 4, etc. The program should give one exact minimum coloring.

  7. Problem 7. LISP program. Write a recursive program to answer if the binary function in a product-of-sums form is satisfied or not (SAT problem). Example: formula (a' + b' + c') (a + b + c + d) (a' + b + e) is represented as ( ((a)(b)(c)) (a b c d) ((a) b e) )

  8. Problem 8. LISP program. Write a Genetic Algorithm for any of the problems 1 to 6 from this group.

SECOND GROUP OF PROBLEMS.

  1. List your 10 favourite robot types or robots from movies and science fiction. For each, write why are you impressed with it ?
  2. Explain what does it mean that the physical world is inaccessible, nondeterministic, nonepisodic, dynamic and continuous and why this makes robotics more difficult than AI.
  3. Give two different definitions of a robot and tell why you prefer one of them.
  4. Write Asimov Laws using Predicate Calculus. What kind of simplification you have to do?
  5. Explain the main principles of Subsumption Architecture in contrast to the architecture of Shakey and early AI robots.
  6. List and explain Brooks dogmas.
  7. For each of the problems below define the space search in terms of its primitives. Initial state, final state(s), actions, constraints, evaluation function, etc.
    1. A mobile robot in a labyrinth. Go from point to point.
    2. A mobile robot in a labyrinth. Collect cans and putting them at the labyrinth entrance. A limited number of cans can be taken at once.
    3. Control of two hands of a humanoid robot. You do not want the hands to collide with the body or with each other.
    4. Control of two hands of a humanoid robot. You want both hands together to grasp an object.
    5. Assembly of a small pyramide of blocks by a robot arm.
    6. Robot solving the Tower of Hanoi problem.
    7. Generate the best tree from examples to play the game of "20 questions".
  8. List as many as you know robot types, such as industrial robot arms, surgery robots, fire-fighting robots. Write a very short characteristics of each.
  9. Breitenberg Vehicles, Walter Grey's Turtles and BEAM robots. Philosophy and solutions.
  10. Turing test. Dialog, movement, complete behavior. Describe various types of Turing test as relevant to robotics and robot soccer.
  11. What are intelligent agents. Give examples in robotics.
  12. Partial robotics problems to be solved for a robot soccer competition. List and explain.
  13. Talking heads, robot theatre and human-robot interactivity. Your ideas and what has been done so far in the world.
  14. Write a short recursive Lisp program to simplify Boolean expression represented as Lisp lists in prefix notation. Do not write all rules, do not try to get optimal solution. Just explain the principle of simplifying circuit recursively from inputs to outputs and outputs to inputs. Especially consider all "propagation of constants" rules such as (AND X 0) ==> 0 or (OR 1 Y) ==> 1.
  15. Association list in Lisp. Its construction, role and functions operating on it. Examples of your own applications.
  16. Show, on a single simple example, all conversions between trees, DAGs, lists and structures from dotted pairs.
  17. Define function Union that does a set-theoretical union of two sets represented as lists.
  18. Define function CARTESIAN_PRODUCT of two sets. It must be recursive.
  19. Show one practical application of any Lisp mapping function.
  20. Property lists in Lisp and their uses.
  21. Analyze functions copy, equal and sum from class. They are examples of binary recursion. Define your own practical function with the same general pattern as these three functions.
  22. Give examples of tail recursion.
  23. Discuss the program to find symbolic derivatives of arithmetic expression. Show the simple case rules and the general recursion pattern. How simplification is included in derivation. Do not write the whole program, just explain its principles using a mixture of Lisp code and natural language.
  24. Stacks in Lisp.
  25. Queues in Lisp.
  26. Destructive versus non-destructive operations on lists. Give examples.
  27. Explain what is Garbage Collection and why it is important for the user.
  28. Oriented and non-oriented graphs. Definitions.
  29. How to represent graphs in Lisp? Give at least two representations.
  30. Labeled graphs and relations. How to represent them in Lisp. Examples of applications.
  31. Vacuum cleaner problem in Lisp.
  32. A problem with N missionairies and N cannibals in Lisp. Search based on recursion or OPEN/CLOSED lists.
  33. Suppose that the boat takes 4 items (like man, cabbage, wolf and a goat) Solve the problem of man, two wolves, goat and cabbage or show that it has no solution.
  34. Give definition and example of supervised learning.
  35. Give definition and example of unsupervised learning.
  36. Give definition and example of reinforcement learning.
  37. Give definition and example of learning based on logic synthesis.
  38. Give definition and example of learning based on evolutionary methods (like genetic algorithm).
  39. Give definition and example of learning based on decision treee induction from examples.
  40. Write top functions of a learning program based on decision treee induction from examples. You are given a list of examples as input-output mappings. (cares). The result is a tree.
  41. What is the basic idea of Occam Razor learning?
  42. What is the basic idea of PAC (Probably Approximate Correct) learning?
  43. Give definition and example of Q-learning.
  44. Give definition and example of TD-learning.
  45. Give definition and example of Bayesian learning.
  46. Explain approaches to combine various learning methods by for instance voting or weighted decision functions.
  47. What is Data Mining?
  48. Draw a diagram of a Learning Agent. Explain the role of each block.
  49. Symbolic learning in robotics. Example.
  50. Neural Net learning in robotics. Example.
  51. Fuzzy Logic learning in robotics. Example.