McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... ·...

30
1 Nouvelles approches structurelles pour la planification rapide avec modèles POMDPs Joelle Pineau School of Computer Science McGill University Université Laval Vendredi 4 mars 2005 Joelle Pineau Approches structurelles pour modèles POMDPs 2 Planification pour la robotique gériatrique Transport d’objets Soins à distance Socialisation Appel à l’aide Surveillance Source d’information Suivi des ADLs (“Activities of daily living”) Aide-mémoire Aide physique Lien entre personnel de soutien

Transcript of McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... ·...

Page 1: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

1

Nouvelles approches structurelles pour la

planification rapide avec mod èles POMDPs

Joelle PineauSchool of Computer Science

McGill University

Université LavalVendredi 4 mars 2005

Joelle PineauApproches structurelles pour modèles POMDPs 2

Planification pour la robotique gériatrique

Transportd’objets

Soins à distance

Socialisation

Appel à l’aide

Surveillance

Sourced’information

Suivi des ADLs(“Activities ofdaily living”)

Aide-mémoire

Aide physique

Lien entrepersonnelde soutien

Page 2: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

2

Joelle PineauApproches structurelles pour modèles POMDPs 3

Apprentissage par renforcement

État

Utilisateur+ Environment + Robot

Action

Observation, Récompense

Joelle PineauApproches structurelles pour modèles POMDPs 4

Types d’incertitude

Effet → Actions ayant des effets non-déterministes

État → Observations partielles ou erronées

Page 3: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

3

Joelle PineauApproches structurelles pour modèles POMDPs 5

Exemple d’incertitude attribuée à l’effet

Startpositio n

Distribu tion over po ssib len ex t-step positions

Positioninitiale

Distribution des probabilitépour la position suivante

Action

P(s’) = ∫ P(s’ | s, a) P(s) ds

Joelle PineauApproches structurelles pour modèles POMDPs 6

Types d’incertitude

Effet → Actions ayant des effets non-déterministes

État → Observations partielles ou erronées

Page 4: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

4

Joelle PineauApproches structurelles pour modèles POMDPs 7

Exemple d’incertitude attribuée à l'effet

Optimisation de plans qui sont

robustes aux données manquantes,

ambiguës, datées, erronées.

P(s | z) = η P(z | s) P(s)

Joelle PineauApproches structurelles pour modèles POMDPs 8

Sommaire

• La planification robuste à l’incertitude

• Les Processus de Décision Markoviens PartiellementObservables (POMDPs)

• Algorithme 1: “Point-based value iteration” (PBVI)

• Algorithme 2: “Policy-contingent abstraction” (PolCA+)

Page 5: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

5

Joelle PineauApproches structurelles pour modèles POMDPs 9

Le modèle POMDP

• Le POMDP constitue un riche modèle pour planifier les séquencesd’actions optimales par rapport à:

– l’incertitude attribuée à l’éffet,

– l’incertitude attribuée à l’état,

– les coûts et récompenses.

Joelle PineauApproches structurelles pour modèles POMDPs 10

Applications POMDPs dans les dix dernières années

Autres:

• Entretien d’équipement[Puterman., 1994]

• Distribution sur réseaux[Thiebeaux et al., 1996]

• Vérification de circuits [correspondence, 2004]

• Génération des préférences[Boutilier, 2002]

• Diagnostique médicale[Hauskrecht, 1997]

Robotique:

• Navigation robuste[Simmons & Koenig, 1995; + many more]

• Contrôle d’hélicoptères[Bagnell & Schneider, 2001; Ng et al., 2003]

• Traitement d’images[Bandera et al., 1996; Darrell & Pentland, 1996]

• Contrôle opérationnel de robots[Pineau et al., 2003]

• Modèles de dialogue[Roy, Pineau & Thrun, 2000; Peak & Horvitz, 2000]

Page 6: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

6

Joelle PineauApproches structurelles pour modèles POMDPs 11

Le modèle POMDP

Un POMDP est défini par { S, A, Z, T, O, R }:

L’état: st-1 st

at-1 atL’environment: zt-1 zt

rt-1 rt

Transition: T = Pr(s’|s,a)États: SActions: A

Observations: ZPerception: O = Pr(z|s,a)Récompenses: R(s,a)

La croyance:“belief state”

bt-1 bt

Joelle PineauApproches structurelles pour modèles POMDPs 12

Exemples de croyances chez les robots mobiles

particules indiquant la position

Croyance uniforme Croyance bi-modale

Page 7: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

7

Joelle PineauApproches structurelles pour modèles POMDPs 13

Définition de la croyance

• La croyance est une répartition des états.Dimension: dim(B) = |S|-1

Exemple: S={s1, s2}

P(s1)

0

1

Joelle PineauApproches structurelles pour modèles POMDPs 14

Définition de la croyance

• La croyance est une répartition des états.Dimension: dim(B) = |S|-1

Exemple: S={s1, s2, s3}

P(s1)

P(s2)

0

1

1

Page 8: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

8

Joelle PineauApproches structurelles pour modèles POMDPs 15

Définition de la croyance

• La croyance est une répartition des états.Dimension: dim(B) = |S|-1

Exemple: S={s1, s2, s3, s4}

P(s1)

P(s2)

0

1

1

P(s3)

Joelle PineauApproches structurelles pour modèles POMDPs 16

La planification avec modèles POMDPs

Objectif: Trouver la séquence d’actions qui maximisel’obtention de récompenses.

!"

#$%

&+= '

((

BbAa

bVbabTabRbV

'

)'()',,(),(max)( )

Valeur Récompenseimmédiate

Récompenseà venir

Page 9: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

9

Joelle PineauApproches structurelles pour modèles POMDPs 17

• V(b) est repésenté par la surface supérieure d’un ensemble de vecteurs.– Chaque vecteur est une composante de la politique d’actions.– Dim(vecteur) = nombre d’états.

• Pour optimiser le plan: modifier/rajouter des vecteurs.

La fonction POMDP

P(s1)

V(b)

b

2 états

Joelle PineauApproches structurelles pour modèles POMDPs 18

Solution optimale pour POMDP

• Exemple: 2 états, 3 actions, 3 observations

P(crime)

V0(b)

b

Longueur du plan # vecteurs 0 1

Page 10: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

10

Joelle PineauApproches structurelles pour modèles POMDPs 19

Solution optimale pour POMDP

• Exemple: 2 états, 3 actions, 3 observationsLongueur du plan # vecteurs

0 1 1 3

V1(b)

b

Appeler-911Enquêter

Dormir

P(crime)

Joelle PineauApproches structurelles pour modèles POMDPs 20

Solution optimale pour POMDP

• Exemple: 2 états, 3 actions, 3 observationsLongueur du plan # vecteurs

0 1 1 3 2 27

V2(b)

b

Appeler-911

P(crime)

Dormir

Enquêter

Page 11: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

11

Joelle PineauApproches structurelles pour modèles POMDPs 21

Solution optimale pour POMDP

• Exemple: 2 états, 3 actions, 3 observationsLongueur du plan # vecteurs

0 1 1 3 2 27 3 2187

V3(b)

b

Appeler-911

P(crime)

Dormir

Enquêter

Joelle PineauApproches structurelles pour modèles POMDPs 22

Solution optimale pour POMDP

• Exemple: 2 états, 3 actions, 3 observationsLongueur du plan # vecteurs

0 1 1 3 2 27 3 2187 4 14,348,907V3(b)

b

Appeler-911

P(crime)

Dormir

Enquêter

Page 12: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

12

Joelle PineauApproches structurelles pour modèles POMDPs 23

Combien de vecteurs pour un problème de cette taille?

104 (navigation) x 103 (dialogue) états1000+ observations100+ actions

Joelle PineauApproches structurelles pour modèles POMDPs 24

Le défi de la multiplication des croyances

)A(Z

1!"="nn

O

Le nombre de vecteurs se multiplie de faconexponentielle en fonction de la longueur du plan:

Γ = # vecteursn = longueur du planA = # actionsZ = # observations

Page 13: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

13

Joelle PineauApproches structurelles pour modèles POMDPs 25

La planification optimale considère toutes lescroyances de façon équivalente

Croyance uniforme Croyance bi-modale Croyance N-modale

→ Aucune séquence d’actions ou d’observations nepeut mener à cette croyance N-modale.

particules indiquant la position

Joelle PineauApproches structurelles pour modèles POMDPs 26

Sommaire

• La planification robuste à l’incertitude

• Les Processus de Décision Markoviens PartiellementObservables (POMDPs)

• Algorithme 1: “Point-based value iteration” (PBVI)

• Algorithme 2: “Policy-contingent abstraction” (PolCA+)

Page 14: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

14

Joelle PineauApproches structurelles pour modèles POMDPs 27

Algorithme: Point-based value iteration

P(s1)

V(b)

b1 b0 b2

Approche:Choisir un petit ensemble de points

Optimiser un plan pour ces points ⇒ la valeur et le gradient

a,z a,z

⇒ points séparés et plausibles

Choisir l’action d’apres la valeur ⇒ ( )bbV !="#$

$max)(

Joelle PineauApproches structurelles pour modèles POMDPs 28

Analyse de complexité

Espace: Temps:

)A(Z

1!"n

O )AS(Z

1!"n

O

)B(O )BZAS(1!

"n

O

Espace: Temps:

Page 15: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

15

Joelle PineauApproches structurelles pour modèles POMDPs 29

• Alterner entre:

1. l’ajout de nouveaux points, et

2. l’optimisation du plan.

• Terminer quand:- le temps allouer à la planification est échu, ou- une bonne politique d’actions est en place.

Version “anytime” de l’algorithme PBVI

Joelle PineauApproches structurelles pour modèles POMDPs 30

Le choix des croyances

• Stratégies antécédantes:

États seulement Discrétisation Echantillonage

• Propriétés théoriques à utiliser?

x1

x0

x2

Page 16: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

16

Joelle PineauApproches structurelles pour modèles POMDPs 31

ε ≤ α’· b’ - α · b’

≤ (α’ - α) · (b’ - b)

≤ ∑i

Propriété théorique de PBVI

Lemma: L’erreur introduite lorsque la valeur est estimée par une itération de programmation dynamique sur un ensemble de points B, plutot que sur le simplex Δ est limitée par:

b b’

ε

δ

α’α

Rmax(1-γ)( - αi ) ( bi’ - bi ) bi’ ≥ bi

( - αi ) ( bi’ - bi ) bi’ < biRmin(1-γ)

Joelle PineauApproches structurelles pour modèles POMDPs 32

L’espace des croyances possibles

b0

b b b…

b b b…… …

… … …

a,za,z

a,z

a,za,z

a,z

Propriété théoriques valable pour l’espace des croyances possibles.

Page 17: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

17

Joelle PineauApproches structurelles pour modèles POMDPs 33

L’espace des croyances possibles

b0

b b b…

b b b…… …

… … …

Propriété théoriques valable pour l’espace des croyances possibles.

a,za,z

a,z

a,za,z

a,z

Points choisis, B Candidats, B

Joelle PineauApproches structurelles pour modèles POMDPs 34

Analyse: La planification pour robots interactifs

Objectif: Trouver le patient etcommuniquer un message.

États = Position-du-robot × Position-du-patient

Observations = Position-du-robot + Patient-trouvé

Actions = {Nord, Sud, Est, Ouest, Message}

870 états30 observations5 actions

Page 18: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

18

Joelle PineauApproches structurelles pour modèles POMDPs 35

Résultats

Patient found 17% of trialsPatient found 90% of trials

No Belief PBVI

No Belief

PBVI

Joelle PineauApproches structurelles pour modèles POMDPs 36

Comparaison des techniques de sélection des croyances

Page 19: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

19

Joelle PineauApproches structurelles pour modèles POMDPs 37

Erreur

a) Récompense b) Erreur

Joelle PineauApproches structurelles pour modèles POMDPs 38

Comparison avec d’autres approches

old

PBV

I

new

PB

VI

Page 20: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

20

Joelle PineauApproches structurelles pour modèles POMDPs 39

Comparison avec d’autres approches

old

PBV

I

new

PB

VI

Joelle PineauApproches structurelles pour modèles POMDPs 40

Choix d’actions par QMDP

Page 21: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

21

Joelle PineauApproches structurelles pour modèles POMDPs 41

Choix d’action par PBVI

Joelle PineauApproches structurelles pour modèles POMDPs 42

Choix d’action avec nombre réduit de croyances

Page 22: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

22

Joelle PineauApproches structurelles pour modèles POMDPs 43

PBVI en résumé

• Contribution algorithmique:

– Nouvel algorithme pour l’échantillonage des croyances.

– Sélection efficace des points.

– Version “anytime”.

• Contribution pratique:

– Performance supérieure aux algorithmes précédants pour problèmes connus.

– Nouveau problème (1 ordre de magnitude sur les problèmes précédants).

• Contribution théorique:

– Erreur due à l’approximation est limitée.

[ Pineau, Gordon & Thrun, IJCAI 2003. Pineau, Gordon & Thrun, NIPS 2003. ]

Joelle PineauApproches structurelles pour modèles POMDPs 44

Le vrai défi

Comment passer de 870 étatsaux problèmes plus réalistes?

Pictures courtesy of Sebastian Thrun.

Page 23: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

23

Joelle PineauApproches structurelles pour modèles POMDPs 45

Navigation

La structure dans les POMDPs

⇒ Plusieurs domaines de planification possèdent descaractéristiques structurelles qui peuvent être exploitées.

Cognitive support Social interaction

High-level controller

Move AskWhere

Left Right Forward Backward

Joelle PineauApproches structurelles pour modèles POMDPs 46

Méthodes structurelles pour POMDPs

Méthodes factorielles[Boutilier & Poole, 1996; Hansen & Feng, 2000; Guestrin et al., 2001]

– Idée: Représenter l’espace des états avec des facteurs à valeur multiple.

Méthodes hiérarchiques[Wiering & Schmidhuber, 1997; Theocharous et al., 2000; Hernandez-Gardiol &

Mahadevan, 2000; Pineau & Thrun, 2000]

– Idée: Exploiter connaissances du domaine pour diviser un problèmecomplexe en plusieurs problèmes de taille réduite.

Page 24: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

24

Joelle PineauApproches structurelles pour modèles POMDPs 47

Sommaire

• La planification robuste à l’incertitude

• Les Processus de Décision Markoviens PartiellementObservables (POMDPs)

• Algorithme 1: “Point-based value iteration” (PBVI)

• Algorithme 2: “Policy-contingent abstraction” (PolCA+)

Joelle PineauApproches structurelles pour modèles POMDPs 48

Une hiérarchie de POMDPs

Act

ExamineHealth Navigate

MoveVerifyFluids ClarifyGoal

North South East West

VerifyMeds

tâche

action abstraite

action de base

Page 25: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

25

Joelle PineauApproches structurelles pour modèles POMDPs 49

PolCA+: Planification POMDP avec hiérarchie

Navigate

Move ClarifyGoal

South East WestNorthACTIONSNorthSouthEastWest

ClarifyGoalVerifyFluidsVerifyMeds

Étape 1: Choisir les actionsAMove = {N,S,E,W}

Joelle PineauApproches structurelles pour modèles POMDPs 50

PolCA+: Planification POMDP avec hiérarchie

Navigate

Move ClarifyGoal

South East WestNorth

ÉTATSX-positionY-position

X-goalY-goal

HealthStatus

ACTIONSNorthSouthEastWest

ClarifyGoalVerifyFluidsVerifyMeds

Étape 1: Choisir les actions

Étape 2: Minimiser les états AMove = {N,S,E,W}

SMove = {s1,s2}

Page 26: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

26

Joelle PineauApproches structurelles pour modèles POMDPs 51

PolCA+: Planification POMDP avec hiérarchie

Navigate

Move ClarifyGoal

South East WestNorth

ÉTATSX-positionY-position

X-goalY-goal

HealthStatus

ACTIONSNorthSouthEastWest

ClarifyGoalVerifyFluidsVerifyMeds

PARAMÈTRES

{bh,Th,Oh,Rh}

Étape 1: Choisir les actions

Étape 2: Minimiser les états

Étape 3: Extraire les paramètres

AMove = {N,S,E,W}

SMove = {s1,s2}

Joelle PineauApproches structurelles pour modèles POMDPs 52

PolCA+: Planification POMDP avec hiérarchie

Navigate

Move ClarifyGoal

South East WestNorth

ÉTATSX-positionY-position

X-goalY-goal

HealthStatus

ACTIONSNorthSouthEastWest

ClarifyGoalVerifyFluidsVerifyMeds

OPTIMISATION

πh

PARAMÈTRES

{bh,Th,Oh,Rh}

Étape 1: Choisir les actions

Étape 2: Minimiser les états

Étape 3: Extraire les paramètres

Étape 4: Optimiser tâche h

AMove = {N,S,E,W}

SMove = {s1,s2}

Page 27: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

27

Joelle PineauApproches structurelles pour modèles POMDPs 53

PolCA+ pour planification du Nursebot

• Objectif: Un robot est déployé dans un foyer de personnes âgées,pour fonctions d’accompagnement, aide-mémoire et contact social.

Joelle PineauApproches structurelles pour modèles POMDPs 54

Résultats

-2000

2000

6000

10000

14000

0 400 800 1200

Time Steps

Cu

mu

lative

Re

wa

rd

PolCA+

PolCA

QMDP

Hiérarchie + Croyance

Execution Steps

Hiérarchie + Croyance

Hiérarchie + CroyancePolCA+

Nombre d’actions exécutées

Som

me

des r

écom

pens

es

Page 28: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

28

Joelle PineauApproches structurelles pour modèles POMDPs 55

Comparaison de la performance de l’usager

0.1 0.10.18

Erre

ur p

ar a

ctio

n

Usager 1 Usager 2 Usager 3

POMDPIgnorer la croyance

Erreur par action

Joelle PineauApproches structurelles pour modèles POMDPs 56

Expériences avec population cible

Page 29: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

29

Joelle PineauApproches structurelles pour modèles POMDPs 57

PolCA+ en résumé

• Contribution algorithmique:– Nouvelle approche hiérarchique pour planification POMDP.– Minimisation automatique des états et observations.

• Contribution pratique:– Première instance de contrôle de haut-niveau pour robots par POMDP.– Nouvelle application pour modèles de dialogue.

• Contribution théorique:– Pour cas particuliers (parfaitement observables), garantie d’optimalité

récursive.

[ Pineau, Gordon & Thrun, UAI 2003. Pineau et al., RAS 2003. Roy, Pineau & Thrun, ACL 2001]

Joelle PineauApproches structurelles pour modèles POMDPs 58

Conclusion

Défi:Développer des algorithmes tractables permettantl’optimisation d’une politique d’actions robuste àl’incertitude.

Contribution:Deux algorithmes complémentaires: PBVI et PolCA+, quipermettent l’extension des POMDPs et mènent audéploiement en milieu pratique.

Page 30: McGill University School of Computer Science - Nouvelles …jpineau/talks/jpineau-ulaval... · 2006-01-03 · McGill University Université Laval Vendredi 4 mars 2005 Approches structurelles

30

Joelle PineauApproches structurelles pour modèles POMDPs 59

Travail à venir

• Algorithmes présentés requièrent un modèle POMDP:– Apprentissage automatique du modèle

– Adaptation à l’usager

• Solutions pour domaines avec un grand nombre d’états:– Échantillonage des états

– Projection et réduction de la dimension

– Domaines avec états continus / hybrides

Joelle PineauApproches structurelles pour modèles POMDPs 60

Questions?

Collaborateurs: Geoffrey Gordon, Judith Matthews, Michael Montemerlo,Martha Pollack, Nicholas Roy, Sebastian Thrun