begin process at 2012 05 28 11:13:12
  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é :6 006 / 497

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 Source avec une capture SLIDESHOW IMAGES ET TEXTES EN PUR JAVASCRIPT par ansuzpeorth
Source avec Zip INPUT TEXT AUTOMATIQUE CREATION SUPPRESSION par lycanges
Source avec Zip Source avec une capture TABLE_SV : TABLEAU DYNAMIQUE, MONTRER/CACHER COLONNE SUR DEM... par synanceia
COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol

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 administrateur CS

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...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,061 sec (3)

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