logo

Enigmo 15 : L'interrupteur aléatoire


« Précédent 1 2 Suivant » +


re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1841127 Posté le 30-04-08 à 18:17
Posté par Profilsimon92 simon92


re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1841405 Posté le 30-04-08 à 19:16
Posté par Profilmikayaou mikayaou

Et toc !...

second degré, bien sûr

re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842281 Posté le 01-05-08 à 00:09
Posté par Profilinfophile infophile

Bonsoir

Juste pour parler un peu de la programmation :

Jusqu'à l'année dernière où je n'avais jamais touché à la programmation je pensais que c'était un "outil magique" qui en tapant deux trois lignes de codes fournissait la réponse à l'énigme sans se casser la tête. J'avais tord, car pour obtenir la réponse de cette façon il faut pouvoir concevoir le programme de A et Z, et il faut faire preuve comme en maths de rigueur et de logique :

1) Etablir une stratégie pour résoudre le problème, c'est-à-dire concevoir un algorithme répondant au problème.
2) Mettre en forme celui-ci avec le langage utilisé.
3) Optimiser le programme ainsi crée.
4) Vérifier la robustesse de ce dernier, en d'autres termes s'assurer que l'exécution du programme couvre bien tous les cas.

Et étant débutant je vous assure que ce n'est franchement pas évident

Donc même si le recours à l'informatique est moins "élégant" qu'une belle démonstration mathématique, cette méthode reste toutefois intéressante et loin d'être simple.

A+
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842378 Posté le 01-05-08 à 09:12
Posté par Profilmaster_och master_och

gagnéBonjour

Tout à fait d'accord avec toi infophile, il m'arrive parfois de commencer la réalisation d'un programme pour generer toutes les solutions et au cours de sa réalisation je me dit que j'aurai pu economiser beaucoup de temps si j'ai essayé de trouver une seule solution à la main.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842379 Posté le 01-05-08 à 09:18
Posté par Profildhalte dhalte

gagnéJe rejoins tout à fait infophile, qui en passant, a dû choisir son pseudo après sa conversion.

J'ajoute qu'une branche très importante et très active des mathématiques actuelles étudie justement les processus de programmation (algorithmique, preuves, optimisations, cryptages, et j'en passe), et que c'est justement en grande partie grâce à cette recherche que vous pouvez, amis Toiliens, partager aujourd'hui de si beaux instants mathématiques à travers le réseau, les images si rapidement échangées et affichées, le silicium qui, de vulgaire sable de plage, est devenu le cerveau oh combien performant de vos ordinateurs.

La recherche de solutions singulières dans la théorie des groupes n'a pu se faire que grâce à des programmes informatiques et donc grâce à des chercheurs mathématiciens qui, heureusement pour l'avancement des sciences, ne se sont pas sentis dévalorisés par l'utilisation de cet outil.

Notre activité à nous est ludique. Les énigmes proposées ont déjà été résolues, nos trouvailles ne vont pas faire avancer la connaissance de l'humanité. Aussi, il est concevable que celui qui propose l'énigme émette des règles du jeu, comme par exemple l'interdiction de tout moyen électromécanique pour prouver sa solution. Mais en dehors de tels préceptes explicitement énoncés à l'occasion de chaque énigme, je ne vois pas quel manque d'élégance il y aurait à utiliser un outil ma foi fort puissant.

Et la maitrise de l'outil n'est pas en soi un motif de rejet, ce serait comme de reprocher à un sauteur à la perche sa grande taille. Ou à Srivanasa Ramanujan son cerveau ou les conditions de sa jeunesse qui l'ont poussé vers la voie qu'il a choisie.

Au final, les résolutions que je mène par ordinateur m'apportent moins de satisfaction que celles que je résouds par la logique pure, mais quand celle-ci se montre rétive à ma sagacité, j'avoue que l'alternative me convient.

@master : je te conseille par la suite d'inverser le processus, de commencer d'abord par rechercher des solutions par la logique. C'est cette recherche, si elle s'avère stérile dans un premier temps, qui doit mener aux idées qui vont te permettre de concevoir un programme adapté, voire élégant.

Ceci dit, je vais maintenant à la manif. Il n'y a pas, hélas, que les activités purement intellectuelles dans la vie.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842383 Posté le 01-05-08 à 09:25
Posté par Profilmaster_och master_och

gagnéBien dit dhalte .
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842390 Posté le 01-05-08 à 09:38
Posté par Profilborneo borneo

Hello,

ceux qui pensent que le recours à l'informatique est "fastoche" sont souvent ceux qui ne savent pas s'en servir  
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842393 Posté le 01-05-08 à 09:40
Posté par Profilmaster_och master_och

gagné
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1842522 Posté le 01-05-08 à 10:54
Posté par Profilmatovitch matovitch

perduBonjour à tous!
Je ne sais pas si c'était du second degré, mais en tout cas c'était de l'humour!
Je fais partie des sous-programmeur (et même en-dessous ) vu que je programme particulièrement en VB6...
qui d'après de nombreux avis (issus de codes sources) est plus rapide que le VB.net.
J'ai aussi fait un test entre le VB6 et le C (avec un test de primalité), et le C s'avère un peu plus rapide.
Je vais essayer de verifier tes calculs en faisant mon algorythme on pourra ainsi comparer.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843853 Posté le 01-05-08 à 16:00
Posté par Profildhalte dhalte

gagnéAlors c'était du second degré, ou de l'auto dérision.

algorithme et pas algorythme, quoique dans un algorithme qui balance, on y trouve souvent du rythme.

Bonne programmation à toi alors.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843868 Posté le 01-05-08 à 16:02
Posté par Profilmatovitch matovitch

perduMerci dhalte, mais j'ai du mal! (ça fait une demi heure que je fait du débug )
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843874 Posté le 01-05-08 à 16:05
Posté par Profilmatovitch matovitch

perduouille! (je fais)
Peux-tu m'expliquer brièvement comment fonctionne ton programme ?
(une boucle que tu  mets en binaire ?)
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843890 Posté le 01-05-08 à 16:09
Posté par Profildhalte dhalte

gagné  ' Technique de recherche de connectivité des circuits :
  ' On part de circuits élémentaires qui sont représentés par les extrémités de chaque cavalier.
  ' On compare chaque circuit avec les autres pour déterminer s'ils ont au moins un point en commun.
  ' Si oui, on fusionne ces deux circuits.
  ' On recommence tant que on trouve au moins une intersection.
  ' A la fin, on a les circuits individuels.
  '
  ' Dans notre cas présent, on ajoute aux circuits représentés par les 9 cavaliers les deux circuits reliant d'une part les quatre plots de gauche, et d'autre part les quatre plots de droite.
  ' Ainsi au final, si on trouve un circuit contenant le plot en haut à gauche ainsi que le plot en bas à droite, alors les deux bords sont connectés.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843916 Posté le 01-05-08 à 16:14
Posté par Profildhalte dhalte

gagnéJ'ai oublié de dire que cette recherche que je décris dans mon topic précédent concerne uniquement une configuration donnée. Je fais aussi une boucle externe sur les 3$ 2^{n^2} positions possibles des 3$ n^2 cavaliers.

L'algorithme définitif de recherche de connectivité est légèrement différent de l'explication car j'y ai ajouté des optimisations purement techniques.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1843972 Posté le 01-05-08 à 16:23
Posté par Profilmatovitch matovitch

perduJe me noie dans ton vocabulaire technique, enfin de toute manière quand on programme, on ne comprend jamais que soit même, et ce malgré l'abondance des commentaires
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1846220 Posté le 02-05-08 à 16:05
Posté par Profilmatovitch matovitch

perduOuf!
J'ai enfin terminé mon programme, mais, chose inquiètante : je ne trouve pas pareil que toi !

P(1) = 1 (instantané)
P(2) = 14/16 (instantané)
P(3) = 434/512 (instatané)
P(4) = 54704/65536 (5 secondes)

Je vais mettre le code sur internet ce soir...si tu veux plus d'informations je suis disponible.
(sache que je suis persuadé que mon algo marche je l'ai verifié et revérifié...)
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1846359 Posté le 02-05-08 à 16:52
Posté par Profildhalte dhalte

gagnéMatovitch. Je crois que Code Source a analysé ton programme et qu'il l'a refusé, va savoir pourquoi...

Plutôt que polluer le topic de crapul, je te propose de continuer à polluer Enigmo15.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1846388 Posté le 02-05-08 à 17:00
Posté par Profilmatovitch matovitch

perduOui, pardon excuse-moi, c'est bon (j'ai du télécharger firefox   )
Voici le lien (pas d'exe et désolé pour le multipost):
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847025 Posté le 02-05-08 à 20:49
Posté par Profilmatovitch matovitch

perduJe trouve : P(5) = 27811232/33554432 (1h 5min)
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847066 Posté le 02-05-08 à 21:08
Posté par Profildhalte dhalte

gagnéDésolé, mais avec aucun commentaire pour me guider, je n'ai pas la fibre humanitaire suffisante pour déboguer ton programme.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847094 Posté le 02-05-08 à 21:22
Posté par Profilmatovitch matovitch

perduAlors tu es humain !
D'accord, je mets à jour tout de suite !
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847207 Posté le 02-05-08 à 22:11
Posté par Profilmatovitch matovitch

perduBonsoir dhalte!
J'avais tort, il y a un bug dans mon programme.
Il ne prends pas en compte les vrai rebroussement comme :
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847230 Posté le 02-05-08 à 22:22
Posté par Profilmatovitch matovitch

perduEnigmo 15 : L'interrupteur aléatoire :*: :*: :*:

Je te renverrai la version corrigée de mon programme (commentée)!
Sinon merci, car tu m'as fait aprécier la vrai difficulté du problème.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847380 Posté le 02-05-08 à 23:13
Posté par Profildhalte dhalte

gagnéParce qu'il y a des vrais et des faux rebroussements ?
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847396 Posté le 02-05-08 à 23:17
Posté par Profilsimon92 simon92

tu savais pas?
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847410 Posté le 02-05-08 à 23:24
Posté par Profildhalte dhalte

gagnéEh, Simon, tu te marres comme une baleine et ça fait vraiment plaisir à voir.
Tu l'avais cherchée la réponse à cette énigme ? Qu'est-ce que tu en penses ?
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847425 Posté le 02-05-08 à 23:34
Posté par Profilsimon92 simon92

oulala, j'essaie de mettre de la bonne humeur, j'espère que c'est pas reproché.
En tout cas, je vous felicite tous pour vos programmes car je serais incapable de faire votre travail.
J'ai lu plus haut que tu n'aimais les gens qui disaient que c'était de la triche les solutions programmées et tout, je suis tout a fait d'accord avec toi, mais je pense tout de même qu'une solution purement mathématiques, est beaucoup plus élégante.
Je n'ai pas reflechit à ce problème car, je fais moins souvents maintenant les enigmes mensuelles, je vais peut-être m'y remettre un peu .  Vu que celle ci ne m'a pas inspiré et ne m'aurait rapporté qu'un poisson je n'ai donc pas participé .
J'espère que j'ai le droit de parler sur ce topic si je n'ai pas participer a l'énigme.

J'espère avoir mal compris le sens de ton post
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847437 Posté le 02-05-08 à 23:44
Posté par Profilborneo borneo

Hello,

moi j'ai cherché, mais pas trouvé.

Bravo à ceux qui s'y sont risqués.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847489 Posté le 03-05-08 à 01:22
Posté par Profilisisstruiss isisstruiss

Bonsoir,

Je me permets de m'immiscer dans votre discussion maths/info pour apporter un nouveau regard, étant moi-même amatrice de mathématiques appliquées, donc à cheval entre les deux manières de procéder.

Autant en maths qu'en info on peut se contenter de raisonnements très bêtes ou développer la manière de procéder. Faire un algorithme "force brute" pour résoudre un problème est du même niveau que tester toutes les possibilités de tête, à la main, avec un tableur ou peu importe. On peut, de tête, éliminer beaucoup de possibilités et chercher une solution au problème par raisonnement. De même, on peut, de tête, réfléchir à un algorithme efficace, c'est-à-dire de faible compléxité, qui ne se contentera pas de faire des bêtes boucles. L'algorithme réfléchi éliminera certains sous-arbres de l'exploration soit parce qu'on ne trouvera pas de meilleure solution que celle trouvée pour l'instant, soit parce que le calcul est équivalent à un autre sous-arbre. On évitera à l'ordinateur de faire le même calcul des nombreuses fois tout comme on ne le ferait pas nous-même. Ceci est très important dans les algorithmes itératifs ou dans des nombreuses boucles.

Ma conclusion est que choisir entre papier-crayon et programmation n'est en aucun cas une indication du niveau du raisonnement caché derrière. Tout réside dans la manière de le faire. Et le choix papier/programmation doit dépendre aussi du problème à traiter.

En particulier à propos des énigmes de l', on les fait tous pour le plaisir. Ceux qui ne jurent que par le papier-crayon, qu'ils soient heureux ainsi. Ceux qui prennent plus de plaisir à développer un algorithme et programmer, qu'ils s'amusent aussi. Soyez un peu plus ouverts d'esprit pour vous rendre compte que nous sommes tous différents et qu'il est très bien ainsi, il n'y a pas une seule vérité. La beauté est subjective.

Isis
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847506 Posté le 03-05-08 à 06:49
Posté par Profilinfophile infophile

+1 Isis
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847538 Posté le 03-05-08 à 09:22
Posté par Profilmatovitch matovitch

perduJe dis "vrai" rebroussement, car le chemin que suit le circuit "recule" d'une colonne, ce qui est possible lorsque l'on a 16 cavaliers où plus...
D'où le bug...que je corrige avant ce soir.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1847555 Posté le 03-05-08 à 09:51
Posté par Profildhalte dhalte

gagnéA Simon :

Tu as tout à fait mal interprété le sens de mon message. Je pensais que mon smiley tout souriant éviterait la méprise. Je suis franchement et sincèrement désolé que tu aies pu même un instant avoir un doute.

Comme tu avais répondu à nos échanges, je souhaitais seulement t'inviter au débat.

Je t'assure que tu es le bienvenu et te réaffirme qu'il n'y avait strictement aucune acrimonie dans mon propos précédent, bien au contraire.

A isisstruiss :
Bienvenue dans notre Club, où Infophile et moi (les deux seuls membres actuellement, mais il reste très ouvert) partageons tes vues.
- Recherche initiale cérébrale
- Analyse du problème, recherche des invariants, d'une méthode de résolution (c'est l' "algorithme", mais il peut très bien être à ce moment humainement réalisable).
- Si le résultat des cogitations ne permet pas humainement de trouver la solution, création d'un "programme" informatique qui réalise le "programme" cérébral établi ci-dessus.
- Plus la réflexion humaine aura été féconde, plus le programme sera compact, élégant, efficace.

Finalement, se jeter sur l'écriture d'un programme sans avoir réfléchi à simplifier le problème initialement, c'est une attitude qui va à l'encontre de l'esprit des énigmes, mais inversement, s'interdire l'outil par principe quand le cerveau seul ne peut aller plus loin dans la démarche, c'est se condamner à continuer à vivre au 16ième siècle.

Mathématiquement et informatiquement vôtre.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1874837 Posté le 16-05-08 à 10:34
Posté par Profilgloubi gloubi

gagnéBonjour,

dhalte, matovitch >> Très étonné du temps de réflexion de vos programmes !

Pour ma part, je trouve p(4) = 54722/216 en 0.016 s
et p(5) = 27858752/225 en 9 s !

J'ai fait des essais sur des interrupteurs rectangulaires;
largeur d'électrode 5, distance inter-électrodes 6: p(5*6) = 783996236/230 en 422 s,

de même p(6*5) = 968197822/230 en 360 s.

Je ne me suis pas attaqué au cas 6*6, qui devrait prendre environ 7 heures.


L'explication vient certainement de l'algorithme utilisé.
Personnellement j'emploie la "méthode du labyrinthe":
partant de la case du haut à gauche je suis le "mur de gauche", jusqu'à me retrouver sur une des cases de droite (le courant passe),
ou alors retour sur l'électrode de gauche, case du bas (pas de solution).

Je tiens la procédure, en Pascal (sous Delphi), à votre disposition.

A+,
gloubi
  
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1875573 Posté le 16-05-08 à 19:45
Posté par Profildhalte dhalte

gagnéSuper, gloubi.

Ton idée est bonne, mais ton explication surement insuffisante, car si je suis ta directive, je trouve que le circuit ci dessous ne connecte pas les bords. Je suppose que tu t'autorises à traverser quelques murs !

Mais elle est effectivement à retenir car certainement plus efficace que mon approche de fusion des circuits, au vu des temps que tu annonces.

J'avais pensé à cette approche de fusion plutôt que de labyrinthe pour le cas d'un interrupteur à 3 dimensions, où l'algo du labyrinthe tombe en défaut.
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1882077 Posté le 19-05-08 à 18:52
Posté par Profilmatovitch matovitch

perduBonjour gloubi!
Je précise que mon programme ne marche pas...
Et je dis bravo à vous 2 car j'ai laissé tomber !
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1882931 Posté le 20-05-08 à 10:08
Posté par Profilgloubi gloubi

gagnéBonjour,

dhalte
>>

Citation :
je trouve que le circuit ci dessous ne connecte pas les bords.


Lequel?

Et pour info, je n'ai pas de murs a traverser! S'il y a un chemin d'une électrode à l'autre, je le trouve forcément.
Pour un interrupteur à deux dimensions, bien sûr.

gloubi
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1883333 Posté le 20-05-08 à 17:55
Posté par Profildhalte dhalte

gagnéTiens, c'est vrai, lequel ?
J'ai dû faire une fausse manœuvre, parce que l'aperçu montrait l'image jointe.

Bon, je la reposte :
Tu disais partir "de la case du haut à gauche" et suivre le "mur de gauche". Je ne dois certainement pas comprendre ce qui est pourtant limpide...

Enigmo 15 : L'interrupteur aléatoire :*: :*: :*:
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1884178 Posté le 21-05-08 à 10:24
Posté par Profilgloubi gloubi

gagnéBonjour,

Le mur de gauche, en rouge sur le dessin:
en bleu, les murs inutilisés.
Enigmo 15 : L'interrupteur aléatoire :*: :*: :*:
A propos j'ai testé le cas 6*6, mais avec une variable qui ne sait compter que jusqu'à 2 milliards et des brouettes,
j'en ai été pour mes frais (6h45 de temps PC perdu). Je vais recommencer avec un réel sur 80 bits, ce sera mieux !

gloubi
re : Enigmo 15 : L'interrupteur aléatoire * * *#msg1884280 Posté le 21-05-08 à 12:17
Posté par Profildhalte dhalte

gagnéPigé, j'étais parti sur l'idée que tu considérais les cavaliers comme les murs. En fait, le cavalier est le chemin... De plus, les bords sont eux aussi reliés.
J'ai donc compris ton idée jusqu'au bout. Félicitations.

« Précédent 1 2 Suivant » +


Challenge (énigme mathématique) terminé .
Nombre de participations : 23
:)39,13 %60,87 %:(
9 14

Temps de réponse moyen : 80:11:44.

Répondre à ce sujet

réservé Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster
attention Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.

  • Ce topic

    imprimer Imprimer
    réduire la tailleRéduire   /   agrandir la tailleAgrandir

    Pour plus d'options, connection connectez vous !
  • Fiches de maths



maths - prof de maths haut de pagehaut Retrouvez cette page sur ilemaths l'île des mathématiques
© Tom_Pascal & Océane 2012