[Enigme]La programmation informatique
- artragis
- Messages : 8183
- Enregistré le : 29 janv. 2009, 00:00:00
- Compte Twitter : @francoisdambrin
- Contact :
[Enigme]La programmation informatique
Puisque certains on fait quelques énigmes de math, moi je vais vous faire une petite énigme d'algorithmique.
Alors, certes, ce n'est pas moi qui l'ai inventée (je vous donnerai le contexte plus tard), mais je trouve qu'elle a deux intérêt :
- elle est amusante
- elle montre que l'info, c'est pas de la magie
Notre histoire est celle de deux robots qui sont lâchés sur une ligne imaginaire qui va d'ouest en est.
Cette ligne possède des graduations, comme ça on peut dire qu'on est à la position 1, 2, 10, -30...
Nos robots sont parachutés, et tombent l'un et l'autre sur une position au hasard. On ne connait que deux choses à propos de ces positions :
- les robots sont à deux positions différentes
- les parachutes des robots tombent à une graduation à l'est des robots.
Les robots sont incapables de pivoter et leur caméra est fixe direction nord. Ils ne peuvent donc pas se voir.
Votre défi, si vous l'acceptez, programmer les robots pour qu'ils puissent se retrouver.
Attention : nous sommes en période de disette budgétaire, il est donc hors de question de développer deux programmes. C'est la même logique qui devra tourner sur les deux robots en me^me temps.
De plus, un robot, c'est bête, ça ne sait pas faire beaucoup de chose. En fait trois choses seulement :
- aller d'une case vers l'est
- aller d'une case vers l'ouest
- tester s'il y a un parachute.
Ils peuvent répéter indéfiniment la logique que vous décrirez. Elle ne s'arrêtera que lorsqu'ils se seront retrouvé sur la même graduation.
Voilà.
Alors, certes, ce n'est pas moi qui l'ai inventée (je vous donnerai le contexte plus tard), mais je trouve qu'elle a deux intérêt :
- elle est amusante
- elle montre que l'info, c'est pas de la magie
Notre histoire est celle de deux robots qui sont lâchés sur une ligne imaginaire qui va d'ouest en est.
Cette ligne possède des graduations, comme ça on peut dire qu'on est à la position 1, 2, 10, -30...
Nos robots sont parachutés, et tombent l'un et l'autre sur une position au hasard. On ne connait que deux choses à propos de ces positions :
- les robots sont à deux positions différentes
- les parachutes des robots tombent à une graduation à l'est des robots.
Les robots sont incapables de pivoter et leur caméra est fixe direction nord. Ils ne peuvent donc pas se voir.
Votre défi, si vous l'acceptez, programmer les robots pour qu'ils puissent se retrouver.
Attention : nous sommes en période de disette budgétaire, il est donc hors de question de développer deux programmes. C'est la même logique qui devra tourner sur les deux robots en me^me temps.
De plus, un robot, c'est bête, ça ne sait pas faire beaucoup de chose. En fait trois choses seulement :
- aller d'une case vers l'est
- aller d'une case vers l'ouest
- tester s'il y a un parachute.
Ils peuvent répéter indéfiniment la logique que vous décrirez. Elle ne s'arrêtera que lorsqu'ils se seront retrouvé sur la même graduation.
Voilà.
http://zestedesavoir.com une association pour la beauté du zeste.
- Nombrilist
- Messages : 63371
- Enregistré le : 08 févr. 2010, 00:00:00
Re: [Enigme]La programmation informatique
► Afficher le texte
- artragis
- Messages : 8183
- Enregistré le : 29 janv. 2009, 00:00:00
- Compte Twitter : @francoisdambrin
- Contact :
Re: [Enigme]La programmation informatique
Les robots ne peuvent pas communiquer entre eux.
http://zestedesavoir.com une association pour la beauté du zeste.
- Nombrilist
- Messages : 63371
- Enregistré le : 08 févr. 2010, 00:00:00
Re: [Enigme]La programmation informatique
Ah oui exact, faut que je modifie (si je trouve). Les robots peuvent-ils savoir quand ils se rencontrent ? La ligne est-elle un cercle ou une droite ?
Autre proposition:
Autre proposition:
► Afficher le texte
- artragis
- Messages : 8183
- Enregistré le : 29 janv. 2009, 00:00:00
- Compte Twitter : @francoisdambrin
- Contact :
Re: [Enigme]La programmation informatique
C'est plus ou moins ce que j'avais trouvé aussi nombrilist.
Pour info, c'est un problème qui m'a été posé lors d'un entretien technique pour OVH.
La ligne est effectivement droite (elle s'étend d'ouest en est).
PS : à chaque fois quand tu dis "un parachute qui n'est pas le sien", c'est très simple, si tu n'es pas sur le parachute juste à gauche de ta zone d'atterrissage, c'est qu'il n'est pas à toi. Le robot n'est a priori capable que de savoir s'il y a un parachute ou non, pas qui l'a déposé là.
Pour info, c'est un problème qui m'a été posé lors d'un entretien technique pour OVH.
La ligne est effectivement droite (elle s'étend d'ouest en est).
PS : à chaque fois quand tu dis "un parachute qui n'est pas le sien", c'est très simple, si tu n'es pas sur le parachute juste à gauche de ta zone d'atterrissage, c'est qu'il n'est pas à toi. Le robot n'est a priori capable que de savoir s'il y a un parachute ou non, pas qui l'a déposé là.
http://zestedesavoir.com une association pour la beauté du zeste.
- Nombrilist
- Messages : 63371
- Enregistré le : 08 févr. 2010, 00:00:00
Re: [Enigme]La programmation informatique
Enigme très intéressante en tout cas. Je n'avais encore jamais pensé d'algorithme destiné à fonctionner sur plusieurs entités indépendantes. Merci pour ce jeu.
"Pour info, c'est un problème qui m'a été posé lors d'un entretien technique pour OVH."
Il fallait trouver la réponse de but en blanc ?
"Pour info, c'est un problème qui m'a été posé lors d'un entretien technique pour OVH."
Il fallait trouver la réponse de but en blanc ?
- El Fredo
- Messages : 26459
- Enregistré le : 17 févr. 2010, 00:00:00
- Parti Politique : En Marche (EM)
- Localisation : Roazhon
- Contact :
Re: [Enigme]La programmation informatique
Tiens j'étais au OVH Summit à Paris le mois dernier. C'est vraiment une très bonne boite. Fondée par un immigré polonais et sa famille (les feuneus et autre anti-Schengen vont s'étrangler).
If the radiance of a thousand suns were to burst into the sky, that would be like the splendor of the Mighty One— I am become Death, the shatterer of Worlds.
- artragis
- Messages : 8183
- Enregistré le : 29 janv. 2009, 00:00:00
- Compte Twitter : @francoisdambrin
- Contact :
Re: [Enigme]La programmation informatique
globalement c'était la dernière question d'un entretien écrit d'une heure où tu n'as pas vraiment l'occasion de te poser.Il fallait trouver la réponse de but en blanc ?
L'entretien oral était encore plus chaud... et passionnant.
http://zestedesavoir.com une association pour la beauté du zeste.
- El Fredo
- Messages : 26459
- Enregistré le : 17 févr. 2010, 00:00:00
- Parti Politique : En Marche (EM)
- Localisation : Roazhon
- Contact :
Re: [Enigme]La programmation informatique
Et t'as été retenu ?
If the radiance of a thousand suns were to burst into the sky, that would be like the splendor of the Mighty One— I am become Death, the shatterer of Worlds.
- artragis
- Messages : 8183
- Enregistré le : 29 janv. 2009, 00:00:00
- Compte Twitter : @francoisdambrin
- Contact :
Re: [Enigme]La programmation informatique
Oui, mais j'ai accepté une offre d'une autre entreprise.
http://zestedesavoir.com une association pour la beauté du zeste.
- Jeff Van Planet
- Messages : 22119
- Enregistré le : 08 juin 2013, 11:41:21
Re: [Enigme]La programmation informatique
Les robots, connaissent-ils leurs positions?
En lisant l'énoncer je conclu que la ligne est finie et non infinie. Ce qui m'amène à une autre question: Connait-on le temps total de trajet d'une extrémité à l'autre?
Alors voici ce qui me vient à l'esprit spontanément:
Est-ce que je suis loin d'une réponse correcte?
En lisant l'énoncer je conclu que la ligne est finie et non infinie. Ce qui m'amène à une autre question: Connait-on le temps total de trajet d'une extrémité à l'autre?
Alors voici ce qui me vient à l'esprit spontanément:
► Afficher le texte
Le grand problème de notre système démocratique c'est qu'il permet de faire démocratiquement des choses non démocratiques.
J.Saramago
J.Saramago
- Nombrilist
- Messages : 63371
- Enregistré le : 08 févr. 2010, 00:00:00
Re: [Enigme]La programmation informatique
Les deux robots doivent faire tourner le même programme indépendamment l'un de l'autre. Ils n'échangent pas de données entre eux. Donc, ils ne peuvent pas savoir où se situe l'autre. De plus, la ligne est infinie. Le robot qui est le plus à l'ouest n'arrêtera donc jamais d'aller vers l'ouest, selon ton schéma.
- Jeff Van Planet
- Messages : 22119
- Enregistré le : 08 juin 2013, 11:41:21
Re: [Enigme]La programmation informatique
Relis ce que j'ai écrit Nombrilist, en aucuns cas il n'y à communication.
Je vais expliquer la même chose avec plus de détails.
Je vais expliquer la même chose avec plus de détails.
► Afficher le texte
Le grand problème de notre système démocratique c'est qu'il permet de faire démocratiquement des choses non démocratiques.
J.Saramago
J.Saramago
- Nombrilist
- Messages : 63371
- Enregistré le : 08 févr. 2010, 00:00:00
Re: [Enigme]La programmation informatique
Comme je l'ai déjà indiqué, on considère une ligne infinie. D'où mon commentaire. Sinon, oui, ça fonctionnerait.
Re: [Enigme]La programmation informatique
► Afficher le texte
« le capitalisme est cette croyance stupéfiante que les pires des hommes feront les pires choses pour le plus grand bien de tout le monde » (Keynes)
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré