CS代考 6CCS3AIN, Tutorial 01 Answers(Version 1)

6CCS3AIN, Tutorial 01 Answers(Version 1)
1. One example is a robocup football playing robot, a nao communication robot.
(a) It has many different kinds of sensors: microphones, camera, tactile sensors, sonars (to detect things in front of it), wifi so can take input from the web….
(b) Make noise, eyes change colour to express emotions, prehensile hands to grip things, motors that move its limbs with many degrees of freedom….
(c) Operates in the physical world. We might think specifically about the robocup environment.
2. The physical robocub environment is:
• Partially accessible: the nao robot only ever “sees” a small part of the environment — the bit in its (quite narrow) field of view, and within the range of the camera and microphones. It may also have to make decisions about what to process from the input it does get — for example it may take up too much resources to process all the sound input it receives.
• Non-deterministic: errors in the motors might mean a particular action isn’t performed successfully. Also, if you’re only perceiving/modelling the world to a certain degree of granularity, then differences that are imperceptible to you may make a difference to the outcome of your actions.
• Episodic or sequential – depends what level of granularity you think about it at. If you think about a tournament as an episode, you might argue that your actions within the tournament are unlikely to affect its performance in any future tournament. Although you might also argue that what you do will affect others’ model of you, and so may mean they perform differently against you. If you’re thinking of a game as a sequence of episodes, then the environment is sequential, since the choices the robot makes (particularly if you think about how it interacts with its team and the assumptions it makes about them) can affect its performance later in the game. Or if you’re thinking of the robot as something that learns based on its experience, or that its building up a model of its opponents and team mates based on its experience, then sequential.
• Dynamic: There are lots of other agents and processes acting on the environment.
• Continuous: The motors can turn through any number of degrees and can be combined in many different ways. The touch sensors can (in principle) record a continuous range of pressures. But you might argue it’s likely to be treated as discrete.
It’s important to justify your answers and make clear what assumptions you’re making!
3. A companion robot that helps care for an elderly person. It’s environment is the physical world, specifically the person’s home.
• Inaccessible: the robot does not know what’s going on in other rooms, but also cannot know for sure what’s going on the person’s mind, or with their health.
• Non-deterministic: often the outcome of their actions might also depend on the person. For instance, think about communicative actions: the robot might make a noise with the intention of cheering the person up, but this might not always have the desired effect.
• Sequential: it needs to think about past and future actions when deciding what to do. For instance, when deciding whether to recharge its battery, it ought to think about whether this will prevent any important future actions. Or when deciding whether to remind the person to take their pills it might think about how many times it’s already done this and how annoyed it normally makes the person.
• Dynamic: the person also acts on the environment, but also things like central heating system, weather, other agents.
• Continuous: any number of noises or movements the robot can make, any number of inputs that can be recorded. But in practice likely treated as discrete.
4. (a)
One possibility:
Another possibility:
e0,0, αn, e0,1, αn, e0,2, αn, e0,3, αe, e1,3, αn, e1,4
e0,0, αn, e0,1, αn, e0,2, αe, e0,2, αe, e0,2, αn, e0,3, αe, e1,3, αn, e1,4 1

(b) Some possibilities:
e0,0, αe, e1,0, αe, e2,0, αn, e2,1, αe, e3,1, αe, e3,1, αe, e3,1, αn, e3,2, αe, e4,2, αn, e4,3, αe, e5,3, αe, e5,3, αn, e5,4, αe, e5,4, αn, e5,5
e0,0, αn, e0,1, αn, e0,2, αe, e0,2, αn, e0,3, αe, e1,3, αn, e1,4, αn, e1,5
(c) No. Since it can only go east and north, it cannot get over the obstacle in column 4 and then down to
(5, 0).
(d) The maximum value is 10 if it gets to the goal (which it can reach as above).
The minimum value it can get is -10, which it gets if it goes through the circle. Though this is not a terminal point, the agent cannot pass through the circle more than once (because it can only move north and east).
(e) There are two obvious routes: αn, αn, αn, αn,αe, and αn, αn, αn, αe, αn. However, because of the obstacle in (1, 2) any sequence like:
or
αn,αn,αe,…αe,αn,αe,αn αn,αn,αe,…αe,αn,αn,αe
will also work and so, we have two possible routes, each of which has between 5 and ∞ steps.
Since each transition has a probability of 0.5 of occurring, the total probability of all these runs will be:
∞∞
2·􏰄0.55+n =2·􏰄0.5n (1) n=0 n=5
There is a simple formula to calculate the sum of an infinite geometric series (knowledge of this wouldn’t be expected in the exam):
􏰄∞ a.rm
a.rk = 1 − r k=m
Applying this, we get the total probability as:
2 ·
􏰄∞ 􏰂0.55􏰃
0.5n = 2 · 1 − 0.5
n=5
= 4·0.55
= 0.53 = 0.125
Note that the important bit here is figuring out what the set of possible runs are and thus what the probability calculation would look like. Actually doing the calculation (and knowing what the sum of the geometric series is) is much less important. In other words, getting to eqn (1) is what you need to be able to do.
5. If we assume that the vacuum cannot enter a square with an obstacle, then we have:
function vacuum agent(Location, Dirty, Obstacle). if Dirty = Yes then Suck
elseif Location = A and Obstacle = No, then Right elseif Location = B and Obstacle = No, then Left.
In the absence of obstacles this will move from room to room sucking up dust, and therefore clean the rooms. However, once there are obstacles, we have no guarantees of cleanliness since the vacuum may not be able to reach the dust.
2

6. When sensors only report correctly 80% of the time, the vacuum can not “see” dust that is there, meaning that it may leave rooms dirty. Repeatedly checking rooms (as in the program above) means that the probability of not seeing dust and so not sucking it, tends to zero the longer that the program runs, but will be non-zero for any finite run. You might consider changing the program so the agent always does Suck, without bothering to check whether it thinks it’s dirty or not.
Obstacles are less of a problem in the sense that if the vacuum doesn’t “see” one and so tries to move when it shouldn’t, all that happens if the vacuum doesn’t move (we ignore the possibility of damage when hitting the obstacle). The vacuum can even figure out that there is an obstacle from its failure to move.
3