Qu'est-ce que le calcul exactement?

20

Je sais ce qu'est le calcul dans un sens vague (c'est ce que font les ordinateurs), mais j'aimerais une définition plus rigoureuse.

Dictionary.comLes définitions de calcul, calcul, calcul et calcul sont circulaires, donc cela n'aide pas.

Wikipediadéfinit le calcul comme «tout type de calcul qui suit un modèle bien défini». Il définit le calcul comme «le processus délibéré qui transforme une ou plusieurs entrées en un ou plusieurs résultats, avec un changement de variable». Mais il semble que cette définition inclut de nombreuses actions en tant que calculs, même si elles ne sont généralement pas considérées comme du calcul.

Par exemple, cela n'impliquerait-il pas, disons, qu'une bombe explosant est un calcul, l'entrée étant le fusible allumé et la sortie étant l'explosion?

Alors, quel est exactement le calcul?

Kelmikra
la source
C'est une grande question classique.
Ran G.
Dupliquer ?
Raphael
@Raphael Pour autant que je sache, le calcul! = Un algorithme. Peut-être que l'exécution d'un algorithme est un calcul.
Kelmikra
Pour moi, "P est calculable" == "Il existe un algorithme qui résout P" (pour P certains problèmes). Cela peut être le résultat de mon point de vue TCS, cependant.
Raphael
@Raphael Cela demande ce qu'est le calcul, pas ce que signifie que P soit calculable.
Kelmikra

Réponses:

6

Le problème ici est peut-être de chercher une définition très spécifique d'un concept très général. Je ne vois pas le problème de voir pratiquement tout comme un calcul. Bien que nous n'y pensions pas, tout ce que nous faisons est exprimable en termes de physique des composants, jusqu'à au moins des quarks qui bourdonnent. Nous avons la même situation avec le calcul. Il y a des entrées, des sorties et un processus (qui pourraient tous être triviaux). Qu'ils soient intéressants ou utiles en tant que calculs ou modèles de calcul est une question très différente.

La définition de travail la plus solide que nous ayons provient de la (forte) thèse de Church-Turing, qui stipule que chaque modèle de calcul physiquement réalisable n'est pas plus puissant qu'une machine de Turing. Si vous pensez que cela est vrai, alors même si nous pouvons avoir beaucoup de moyens d'exprimer les choses, nous pouvons finalement réduire chaque calcul à une machine de Turing, donnant ainsi une définition du calcul comme "tout ce que nous pouvons réduire à une machine de Turing".

Dans ce modèle, la bombe explosive est un calcul. Ce n'est pas largement applicable (nous espérons;)), mais nous pouvons modéliser d'une certaine manière avec une machine de Turing (bien qu'il y ait un argument ici sur la nature de la sortie et l'équivalence avec la sortie de la MT). Ce n'est pas non plus un bon modèle de calcul en général, dans la mesure où il semble peu probable que le modèle de la bombe explosive soit Turing complet.

Luke Mathieson
la source
2
Plutôt hors sujet, mais je parie que le modèle de bombe explosive est Turing complet! Les explosions pourraient déclencher d'autres explosions, qui pourraient être utilisées pour propager des signaux et fabriquer des or-gates. La bombe b pourrait être configurée pour exploser à un moment donné via un appareil, mais une bombe à proximité pourrait désactiver l'appareil sans provoquer l'explosion de b, ce qui autorise les non-portes.
Kelmikra
@ Kyth'Py1k comme des portes domino? Je ne pense pas que ce sera complet car vous ne pouvez pas boucler indéfiniment car le "calcul" s'arrêtera toujours en fonction de la taille de la machine / du champ de mines
ratchet freak
1
@ratchetfreak Pas à moins que les restes des bombes ne soient transformés en nouvelles bombes via des nanobots, puis repositionnés ...
Kelmikra
4

C'est la question que Turing a tenté de résoudre dans son célèbre article de 1936, On numeros calculables, avec une application au Entscheidungsproblem , un article dans lequel il propose (ce que l'on a appelé) le modèle de machine de Turing. Voir en particulier la section 9.

Le travail de Turing s'inscrit dans le contexte des nombres calculables . Il existe d'autres notions de calcul appropriées pour calculer d'autres types de structures, et leur étude fait partie de la théorie du calcul (également connue sous le nom de théorie de la récursivité).

La principale différence entre la notion courante de calcul et votre exemple (une bombe qui explose) est la chose en cours de calcul. Que calcule ta bombe qui explose? Une autre différence est le moyen de calcul, mais on peut imaginer un engin mécanique qui utilise des bombes pour calculer quelque chose de plus légitime.

Un autre point est de savoir si les notions classiques de calcul s'appliquent à ce que nous percevons aujourd'hui comme du calcul - à savoir, une interaction bidirectionnelle entre l'ordinateur et l'utilisateur. Il s'agit d'une critique courante contre le notionnel classique de calculabilité, bien que l'interaction puisse être modélisée à l'aide des outils de la théorie du calcul (ce n'est tout simplement pas ce que vous apprenez en classe).

Yuval Filmus
la source
Bien sûr, une explosion est un calcul. Il "calcule" exactement la transformation unitaire qui décrit l'explosion. BTW, de nombreuses fois les physiciens que j'ai rencontrés étaient "bouleversés" lorsque vous dites que (disons) une porte quantique calcule une unité, plutôt que de la faire évoluer, ou transforme le système physique en conséquence (" la porte prend-elle un stylo et du papier et calcule-t-elle le unitary "?) :)
Ran G.
J'ai lu la section neuf de "Sur les nombres calculables, avec une application au Entscheidungsproblem", mais cela n'a pas vraiment semblé aider. Bien que je ne l'ai pas lu très attentivement, il semblait poser les bases des machines Turing. Voulez-vous dire que le calcul est tout ce qui peut être modélisé comme une action effectuée par une machine de Turing? Si c'est le cas, presque tout ne serait-il pas un calcul? Par exemple, les explosions de bombes pourraient être modélisées comme une machine de Turing de telle sorte que les positions, la vitesse et les types des particules quantiques des particules environnantes soient codés comme binaires.
Kelmikra
"Que calcule ta bombe qui explose?" Le changement des états des particules entourant la bombe selon les lois de la physique est en cours de calcul.
Kelmikra
"Un autre point est de savoir si les notions classiques de calcul s'appliquent à ce que nous percevons aujourd'hui comme du calcul - à savoir, une interaction bidirectionnelle entre l'ordinateur et l'utilisateur." Je ne pense pas que ce soit tout à fait ce qui est considéré comme du calcul. Les robots autonomes sont considérés comme effectuant des calculs, même s'ils n'ont pas besoin d'interagir avec les utilisateurs.
Kelmikra
Voici une idée: l'informatique est le processus de génération de sorties afin d'aider à l'inférence faite par les optimiseurs (par exemple les personnes et les robots). Comment ça?
Kelmikra
1

ABxUNEyBxUNEX

XXyXy

t=0t=1

Conclusion: tout mappage définit un calcul. Tout "périphérique" qui transforme une entrée en sortie correspondante effectue ("calcule") ce calcul spécifique.



(1) nous pouvons étendre la discussion à ces types de calculs, qui auront du sens lorsque vous pensez à des fonctions qui ne sont pas récursives, mais je préfère ne pas y aller.

A sonné.
la source
Le problème avec cette définition est qu'elle ne correspond pas à la façon dont le mot "calcul" est réellement utilisé. Les PC sont considérés comme faisant des calculs, contrairement aux explosifs.
Kelmikra
À mon humble avis, un mappage est exactement ce qu'un calcul n'est pas. Je pense que vous confondez la syntaxe et la sémantique. Vous comprenez clairement que le mappage est une relation entrée-sortie, quelle que soit sa définition. D'après tous mes livres, c'est de la sémantique. Le calcul est le moyen utilisé pour obtenir réellement la sortie correspondant à une entrée à travers une séquence d'étapes. Bien que vous puissiez dire que tout calcul définit un mappage (ne serait-ce que syntaxique), je pense qu'il est faux de considérer qu'un mappage définit un calcul, à moins que vous n'expliquiez soigneusement que vous vous lancez dans l'hypercalcul qui semble un peu au-delà de la question.
babou
Je devrais clarifier l'esprit de ma réponse (je me rends compte qu'elle n'est pas formulée de cette façon): la cartographie elle-même n'est pas un calcul. Le processus de conversion d'une entrée en sortie est un calcul de ce mappage spécifique (fonction). Ce que j'essayais de transmettre, c'est que le processus spécifique est pertinent, un tel processus est un calcul (même très abstrait, par exemple, un "oracle").
Ran G.
1

Je n'essaierai pas de définir ce qu'est un calcul, ce qui a été plutôt bien fait par Luke Mathieson et Yuval Filmus.

Cependant, penser à un appareil explosif comme un calcul m'amène à un problème secondaire important: si l'explosion est un calcul, alors que calcule-t-elle? Autre qu'une représentation de l'appareil après son explosion.

Ce que je vise, c'est que nous pouvons définir assez précisément ce que nous considérons comme un calcul, et même ce qui peut être vu (artificiel?) Comme tel. Nous pouvons décrire un calcul. Mais peut-on dire de quoi il s'agit?

Le calcul, tel qu'il est communément défini, est un jeu purement syntaxique. C'est un jeu de structures physiques qui se transforment selon des règles précises. Puisque notre seul outil (jusqu'aux transformations standard) pour représenter les structures physiques est finalement la chaîne de symboles, le calcul finit par être défini comme une sorte de transformations formelles sur des chaînes de symboles. C'est le cas des machines de Turing, du lambda-calcul, des fonctions récursives partielles et d'autres modèles moins populaires. Le mot calcul (comme dans le lambda-calcul) reflète en fait ce point de vue car, en latin, les calculs sont de petites pierres utilisées pour la représentation.

Mais ce que cela ne dit pas, c'est quel sens doit être attaché à cette syntaxe, ce qu'elle représente. Voici le peu que je pense comprendre, car je ne suis pas un spécialiste de ces questions (alors revérifiez-moi). Le problème est couvert par la théorie des modèles .

Étant donné un système formel de représentations, éventuellement associé à une logique (axiomes et règles d'inférence) ou à un système de calcul (règles de transformation), un modèle de la théorie formelle est une structure mathématique avec des composants qui suivent ces règles.

Le même calcul, ou plus précisément la même description d'un calcul peut en fait avoir de nombreux modèles correspondant à des entités très différentes.

Par exemple, un algorithme GCD décrit un calcul. Mais il peut être interprété sur des nombres naturels ou sur des polynômes.

Cela rappelle la citation de Bertrand Russell :

Les mathématiques peuvent être définies comme le sujet dans lequel nous ne savons jamais de quoi nous parlons, ni si ce que nous disons est vrai.

La situation est à peu près la même pour le calcul. C'est un jeu formel, où les mouvements peuvent être compris de différentes manières. Mais il existe en fait des liens profonds entre les mathématiques formellement définies par les systèmes axiomatiques et la théorie du calcul.

Le calcul, l'algorithmique, a été défini pour résoudre des problèmes mathématiques, et de nombreux concepts modernes ont été pensés par des logiciens qui essayaient de comprendre les mécanismes qui nous permettent de prouver des théorèmes, à partir d'axiomes et en appliquant des règles d'inférence.

Ainsi, pour revenir au dispositif explosif, il peut certainement être interprété comme une manipulation d'une représentation, c'est-à-dire comme un calcul. Mais il est généralement assez difficile de lui associer un sens autre que lui-même.

Cependant, ce n'est pas toujours vrai, ou ne l'était pas. Le principe du calcul analogique repose sur l'idée que différents systèmes de représentation peuvent être utilisés pour des calculs qui sont liés d'une manière précise. Ensuite, nous pouvons calculer avec un système pour avoir une idée de ce que l'autre système (trop lourd à utiliser, par exemple un univers :) calculerait dans le paramètre correspondant.

babou
la source
0

J'aime répondre à ce genre de questions sur la terminologie en termes éthymologiques.

Ainsi, le calcul vient du mot latin compŭtus qui signifie littéralement «calcul».

Dans les langues latines telles que le français, l'italien, l'espagnol ou le portugais (entre autres), cette éthymologie est partagée avec "conte" (une histoire) en français compte / conte en espagnol cuenta / cuento en portugais conta / conto etc ...

Donc calculer c'est raconter et raconter comment ce calcul a été fait.

Par conséquent, je dirais que le calcul est le processus d'utilisation de règles mathématiques et logiques pour traiter une information donnée afin que de nouvelles informations significatives soient déduites des données d'origine, en gardant une trace de la façon dont ces nouvelles informations ont été générées (processeur, mémoire, entrée et sortie sont alors les fondamentaux impliqués)

Luis Sieira
la source
En français, un conte est "conte", "cuento" en espagnol. Alors que "compte" est un calcul, ou une facture, "cuenta" en espagnol. Je ne sais pas si, bien qu'homophones, "compte" et "conte" partagent une étymologie commune (pas de "h" afaik), mais cette étymologie commune semble se confirmer sur le web. Donc toute cette affaire de calculabilité n'est que des contes?
babou
Je l'ai corrigé. Je suis censé ne pas faire ce genre d'erreurs, mais je ne suis toujours pas si bon en français
Luis Sieira
Ou peut-être que les contes ne sont que des calculs. Vous prenez un tas de personnages avec une personnalité donnée dans certaines conditions initiales, et le reste de l'histoire est calculé
Luis Sieira
"garder une trace de la façon dont ces nouvelles informations ont été générées (processeur, mémoire, entrée et sortie sont alors les fondamentaux impliqués)." Cela n'implique-t-il pas que quelque chose n'est pas un calcul à moins que l'on garde une trace de leur utilisation de la mémoire tout en le faisant? Cela ne semble pas juste ...
Kelmikra