begin process at 2010 02 09 20:59:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > MACHINE DE TURING (ENTIÈREMENT CONFIGURABLE) ...

MACHINE DE TURING (ENTIÈREMENT CONFIGURABLE) ...


 Information sur la source

Note :
9,5 / 10 - par 4 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Expert Date de création :25/04/2005 Vu / téléchargé :4 859 / 457

Auteur : LocalStone

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Bonsoir à tous ...
Avant d'entrer dans les détails, je vais brièvement expliquer ce qu'est une machine de Turing ... C'est une machine abstraite qui peut représenter n'importe quel algorithme. C'est un peu compliqué à expliquer, mais une fois que l'on a compris comment ça fonctionne, c'est super simple. Je vous conceille Google pour mieux comprendre ...
Le problème principal de la machine est qu'elle doit comprendre une bande de taille infinie ... Et comme tout le monde le sait, infini et informatique, c'est pas compatible. Donc pour résoudre ce problème, j'ai créé une sorte de système de double-pointeur-objet ... Enfin c'est un peu bordelique. L'autre difficulté était de créer un système pour parser tous les états possibles ... Pareil, un peu galère, mais au final, ça fonctionne ...


 Conclusion

La machine est quasiment terminée, mais il manque encore pas mal de chose ... Déjà, je vais finir toute la programmation orientée objet, parce que l'interface est un peu (voir beaucoup) brouillon. Ensuite, je dois créer un tutoriel pour permettre à l'utilisateur de rentrer tous les états sans devoir forcement modifier le code-source ...
Ensuite, et surtout, dans la version définitive, je vais ... COMMENTER ! Parce que le code est immense et il n'y a quasiement aucun commentaire alors c'est un peu chaud pour suivre (et je m'en excuse).
Juste un truc ... Pour ceux que le script amuse, pour pouvoir ajouter ces propres états, il suffit d'utiliser la méthode Learn(strQuintuplet); autant de fois qu'il y a d'état. Voilà ...
Je radote, mais c'est une version BETA ! Alors, c'est normal que ce soit un peu le bordel ...
++ !
(c) LocalStone

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

RÉCUPERER LA LARGEUR D'AFFICHAGE D'UN TEXTE
DÉBUT D'UNE LIBRAIRE DE GESTION AVANCÉE DU STYLE ...
PSEUDO SELECTBOX EN DHTML ...
Source avec Zip JEU DE LA VIE DE CONWAY ...
Source avec Zip CONVERTISSEUR DE COULEUR RGB VERS HTML ET VICE VERSA

 Sources de la même categorie

Source avec Zip MOOTABLEAU par Miky76
Source avec Zip CALCULER VOTRE IMC par lesnouesremy
CONSOLE DOS par djebbipgm
Source avec Zip PLUGIN JQUERY ARTE: AJOUTER DU TEMPS REEL SUR VOS PAGES WEB par arthurobriot
FAIRE UN FILTRE DES VILLES par scropfi01

Commentaires et avis

Commentaire de LocalStone le 25/04/2005 01:26:19

Juste un truc, j'ai falli me suicider à cause de ce script ... Alors vous avez interet à commenter, proposer des choses, etc. ...

Commentaire de coucou747 le 25/04/2005 12:31:36

Très joli code, sauf pour le nom des fonctions, on s'y perds...
en général, on met une majuscule pour le nom du constructeur, et on reprend le nom du constructeur pour les méthodes...

ça reste bien programmé, on ne vois pas souvent ce genre de sources sur javascriptfr !

Commentaire de LocalStone le 25/04/2005 13:27:34

Merciiii ... Serieux, ça fait plaisir, parce que j'ai pas mal galéré. Est-ce que tu peux m'en dire plus pour les conventions d'appellation comme celle que tu as dit ? Parce qu'en fait, j'ai essayé de suivre la notation hongroise pour les variables, et quitte à faire les choses, autant les faire complètement ...

Commentaire de fg85 le 25/04/2005 14:13:48

Le script est bien fait, c'est en effet niveau expert/confirmé. Quelque petit commentaire constructif ?
- Il y a des parties de code que tu utilisais pour faire des test 'style : alert("stop")' qui sont placé sous commentaire, mieux vo les supprimés lorsque tu met sa sur javascriptfr . Sa permet d'augmenté la visibilité.
- Au bout d'un moment, il n'y au plus que des 0 qui s'affiche et ta machine en transforme un sur deux par un 1 .

Sinon le système est facile à comprendre après le démarrage du script.

Pour les curieux, voici ce que j'ai compris :
Quand la machine tombe sur un 2 : Elle baisse le nombre de droit jusqu'a avoir un 1. Et baisse (puis augmente si <0) le nombre de gauche, puis continue son trajet .
Quand la machine tombe sur un 1 ou un 0 : Une fois sur 2 (sa dépend de l'intervalle) elle transforme le 1 par 0 et le 0 par 1 , si bien que la suite parfaite est (0,1,0,1,0,1,0,1)

LocalStone c'est juste ?

------------------------------
http://fg.logiciel.free.fr

Commentaire de LocalStone le 25/04/2005 14:45:24

Salut fg85,
Je vais essayer de t'expliquer concrêtement comment fonctionne la machine, plutôt que te dire si tu as juste ou non ...
En fait, il n'y absolument aucune mathématique dans cette machine. On peut la programmer pour qu'elle effectue une opération mathématique, mais la machine en soit n'utilise pas les maths. En effet, tout est formel. Dans la machine que j'ai posté, j'ai mis les symboles "0", "1" et "2", mais j'aurais très bien pu mettre une boite de concerve, un sèche-cheveux et un chat (mais "0", "1" et "2", c'est plus pratique ...).
Ensuite, la machine fonctionne en fonction des quintuplets que l'on lui donne par la méthode Learn(strQuintuplet); ... Et on défini un état par une suite de quintuplet. Par exemple, si tu sais que la machine n'utilise que 2 symboles, tu auras que 2 quintuplets nécessaires pour définir un état. Et un quintuplet "(a0, X, O, +1, a1)", tu peux le traduire comme ça : "Si la machine est à l'état a0 et que le symbole actuel est X, alors je le remplace par O, je vais à droite et je passe à l'état a1" ...
Est-ce assez clair, ou tu veux plus d'explication ?

Commentaire de fg85 le 25/04/2005 14:54:46

Ok MERCI ! Je comprend mieux maintenant ;-)
Merci de cette explication .

Cordialement
------------------------------------------------
http://fg.logiciel.free.fr

Commentaire de thralia le 10/05/2005 11:34:13

Je n'ai strictement rien à dire sur ce script : il est parfait ! Et respect à toi, fg85 : d'une part pour cette source, et d'autre part pour ton langage sans fautes d'orthographe(ca se perd).
Encore merci et bravo !

Commentaire de thralia le 10/05/2005 11:38:23

OOPS!!! Vous aurez compris que je m'adressais à toi,localstone;bien que je n'aie rien contre toi,fg85

Commentaire de ifebo le 10/05/2005 19:48:00

Houa ! J'ai bien fait de suivre ton conseil LocalStone et d'approfondir la définition avec l'aide de Google.
Super ! Génial ! Et je pèse mes mots avec cette autre machine de Turing : Mon cerveau ! Si je meurs demain ce sera avec quelques cellulles grises en +  ;-)

Commentaire de LocalStone le 11/05/2005 11:05:02

Ha bah euh ... Merci !

Commentaire de homelaet le 30/09/2005 11:56:33

on doit t'appeler maitre ou LocalStone :) ?

Commentaire de LocalStone le 01/10/2005 11:55:54

Bah comme tu veux. J'aime bien "ma seigneurie", mais c'est toi qui choisi !

Commentaire de miximog le 18/11/2005 19:10:41

Ma seigneurie !
tu n'aurai pas les chevilles qui anflent ?!
:)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales