Machine de turing (entièrement configurable) ...

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

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.