Notre PC fonctionne-t-il comme machine de Turing? Le modèle d'une machine de Turing se compose d'une bande mémoire infinie, ce qui signifie des états infinis. Mais supposons que si notre PC a 128 Mo de mémoire et 30 Go de disque, il aurait 256 ^ 30128000000 états et donc, il a des états finis.
Je sais que nous pouvons écrire un type de programme qui, si pendant l'exécution nous manquons de mémoire, demandera d'échanger le disque mémoire avec un disque mémoire vide et de reprendre l'exécution.
Mais que se passe-t-il si nous n'échangeons pas le disque de mémoire, dans ce cas, est-il juste de considérer PC comme FA ?
Réponses:
Vous avez raison de dire que les ordinateurs physiques ont une mémoire finie et ne sont donc pas complets. Il existe d'autres façons dont la théorie de la calculabilité n'est pas un bon modèle de calcul - elle ne prend pas en compte les contraintes de temps et de mémoire. La théorie de la complexité a été inventée (peut-être) comme une représentation plus réaliste de l'informatique, mais IMHO souffre de problèmes similaires (mais plus subtils).
D'un autre côté, pour étudier mathématiquement les capacités et les limites de l'informatique, nous devons utiliser une certaine abstraction qui n'est pas contrainte. Cela rend l'analyse possible. De même, en mécanique statistique, nous supposons que le nombre d'éléments (atomes ou molécules) est si grand, que le comportement est proche de la limite (c'est-à-dire que nous laissons le nombre d'éléments tendre à l'infini). L'étude de l'informatique dans une perspective asymptotique présente des avantages similaires, mais est parfois trompeuse. Voici quelques exemples de ces derniers:
Un autre problème est que les vrais ordinateurs ne fonctionnent pas du tout comme les machines Turing. Ils fonctionnent comme des machines RAM, qui sont une meilleure abstraction pour le calcul réel.
la source
Je pense que vous avez déjà donné la réponse vous-même. Si l'aspect principal qui vous préoccupe est la (in) finitude des états, alors une machine de Turing en tant que telle n'existe que comme "un appareil hypothétique".
Peu importe la quantité de mémoire que vous donnerez à votre PC, elle sera toujours limitée, vous pouvez donc trouver un programme qui fonctionnera sur une "vraie" machine de Turing, mais pas sur ce PC en raison de la bande délimitée.
http://en.wikipedia.org/wiki/Turing_machine#Comparison_with_real_machines
la source
Au moment où les machines Turing ont été inventées, les ordinateurs étaient des femmes qui exécutaient des calculs sur du papier brouillon. Telle est la notion de calcul exprimée par les machines de Turing. Leur ruban n'en fait pas plus partie que le papier brouillon ne fait partie d'une personne qui effectue des calculs.
Il s'agit toujours d'un bon modèle de calcul sur ordinateur car les limites des ressources des ordinateurs sont généralement assez grandes. Les modèles de calcul intrinsèquement finis ne deviennent utiles que lorsque le nombre d'états possibles est très petit.
la source
Un ordinateur moderne est Turing complet, généralement ce terme est utilisé à l'exception de périphérique de stockage infini. En pratique, la mémoire peut être assez longue. Par exemple, en plus d'être des approximateurs de fonctions universelles, les réseaux de neurones récurrents avec mémoire (et fonctionnant de manière répétée) sont censés être Turing complets. En effet, les Neural Turing Machines poussent cette idée à un niveau inférant davantage des algorithmes simples.
la source