Was genau ist Berechnung?

20

Ich weiß, was Berechnung in einem vagen Sinn ist (es ist das, was Computer tun), aber ich möchte eine strengere Definition.

Dictionary.comDie Definitionen von Computing, Computing, Calculate und Computing sind zirkulär und helfen daher nicht weiter.

WikipediaDefiniert Berechnung als "jede Art von Berechnung, die einem genau definierten Modell folgt". Es definiert Berechnung als "den absichtlichen Prozess, der eine oder mehrere Eingaben in ein oder mehrere Ergebnisse mit variabler Änderung umwandelt". Es scheint jedoch, dass diese Definition viele Aktionen als Berechnungen umfasst, obwohl sie normalerweise nicht als Berechnungen betrachtet werden.

Zum Beispiel, würde das nicht bedeuten, dass zum Beispiel eine Bombenexplosion eine Berechnung ist, bei der der Eingang die Zündschnur und der Ausgang die Explosion ist?

Also, was genau ist Berechnung?

Kelmikra
quelle
Das ist eine großartige, klassische Frage.
Ran G.
Duplizieren ?
Raphael
@Raphael Soweit ich weiß, ist die Berechnung ein Algorithmus. Vielleicht ist die Ausführung eines Algorithmus jedoch eine Berechnung.
Kelmikra
Für mich ist "P berechenbar" == "Es gibt einen Algorithmus, der P löst" (für P ein Problem). Dies kann jedoch aus meiner TCS-Perspektive resultieren.
Raphael
@Raphael Hier wird gefragt, was Berechnung ist und nicht, was es bedeutet, dass P berechenbar ist.
Kelmikra

Antworten:

6

Vielleicht liegt das Problem hier in der Suche nach einer hochspezifischen Definition eines sehr allgemeinen Konzepts. Ich sehe das Problem, praktisch alles als Berechnung anzusehen, nicht. Obwohl wir nicht darüber nachdenken, ist alles, was wir tun, in Bezug auf die Physik der Einzelteile zum Ausdruck zu bringen, bis hin zu zumindest herumschwirrenden Quarks. Wir haben die gleiche Situation mit der Berechnung. Es gibt Inputs, Outputs und einen Prozess (die alle trivial sein könnten). Ob sie als Berechnungen oder Berechnungsmodelle interessant oder nützlich sind, ist eine ganz andere Frage.

Die stärkste funktionierende Definition, die wir haben, stammt aus der (starken) Church-Turing-These, wonach jedes physikalisch realisierbare Rechenmodell nicht leistungsfähiger ist als eine Turing-Maschine. Wenn Sie glauben, dass dies zutrifft, können wir, obwohl wir viele Möglichkeiten haben, Dinge auszudrücken, letztendlich jede Berechnung auf eine Turing-Maschine reduzieren und somit eine Definition der Berechnung als "alles, was wir auf eine Turing-Maschine reduzieren können" angeben.

In diesem Modell ist die explodierende Bombe eine Berechnung. Es ist nicht weit verbreitet (wir hoffen;)), aber wir können in gewisser Weise mit einer Turing-Maschine modellieren (obwohl es hier ein Argument über die Art der Ausgabe und die Äquivalenz mit der TM-Ausgabe gibt). Es ist auch kein gutes Rechenmodell im Allgemeinen, da es unwahrscheinlich erscheint, dass das explodierende Bombenmodell vollständig ist.

Luke Mathieson
quelle
2
Ich wette, das explodierende Bombenmodell ist Turing komplett! Explosionen könnten andere Explosionen auslösen, die zur Ausbreitung von Signalen und zur Herstellung von Or-Gates verwendet werden könnten. Bombe b könnte über ein Gerät so eingestellt werden, dass sie zu einem bestimmten Zeitpunkt explodiert. Eine Bombe in der Nähe könnte das Gerät jedoch deaktivieren, ohne dass b explodiert.
Kelmikra
@ Kyth'Py1k wie Dominotore? Ich denke nicht, dass dies vollständig sein wird, da Sie keine unbegrenzte Schleife ausführen können, da die "Berechnung" immer auf der Grundlage der Größe der Maschine / des Minenfeldes stoppt
Ratschenfreak
1
@ratchetfreak Nicht, wenn die Überreste der Bomben über Nanobots in neue Bomben umgewandelt und dann neu positioniert werden ...
Kelmikra
4

Dies ist die Frage, die Turing in seinem berühmten Aufsatz über berechenbare Zahlen aus dem Jahr 1936 mit einer Anwendung auf das Entscheidungsproblem zu lösen versuchte . Siehe insbesondere Abschnitt 9.

Turings Arbeit steht im Kontext berechenbarer Zahlen . Es gibt andere Begriffe der Berechnung, die für die Berechnung anderer Arten von Strukturen geeignet sind, und ihre Untersuchung ist Teil der Berechnungstheorie (auch als Rekursionstheorie bekannt).

Der Hauptunterschied zwischen dem allgemeinen Begriff der Berechnung und Ihrem Beispiel (einer explodierenden Bombe) ist das, was berechnet wird. Was wird von Ihrer explodierenden Bombe berechnet? Ein weiterer Unterschied ist das rechnerische Mittel, aber man kann sich einen mechanischen Apparat vorstellen, der Bomben verwendet, um etwas legitimeres zu berechnen.

Ein weiterer Punkt ist, ob die klassischen Vorstellungen von Rechnen auf das zutreffen, was wir heute als Rechnen betrachten - nämlich die wechselseitige Interaktion zwischen Computer und Benutzer. Dies ist eine verbreitete Kritik, die gegen den klassischen Begriff der Berechenbarkeit gerichtet ist, obwohl die Interaktion mit den Werkzeugen der Berechnungstheorie modelliert werden kann (es ist einfach nicht das, was Sie im Unterricht lernen).

Yuval Filmus
quelle
Natürlich ist eine Explosion eine Berechnung. Es "berechnet" genau die einheitliche Transformation, die die Explosion beschreibt. Übrigens waren die Physiker, die ich getroffen habe, oft "verärgert", als Sie sagten, dass (sagen wir) ein Quantentor eine Einheit berechnet, anstatt es zu entwickeln, oder das physikalische System entsprechend transformiert (" nimmt das Tor einen Stift und Papier und berechnet das unitary "?) :)
Ran G.
Ich las Abschnitt neun von "Über berechenbare Zahlen, mit einer Anwendung auf das Entscheidungsproblem", aber es schien nicht wirklich zu helfen. Obwohl ich es nicht sehr gründlich gelesen habe, schien es den Grundstein für Turing-Maschinen zu legen. Wollen Sie damit sagen, dass Berechnung alles ist, was als Aktion einer Turing-Maschine modelliert werden kann? Wenn ja, wäre nicht fast alles eine Berechnung? Bombenexplosionen könnten beispielsweise als Turing-Maschine modelliert werden, sodass die Positionen, die Geschwindigkeit und die Typen der Quantenteilchen der umgebenden Teilchen als binär codiert werden.
Kelmikra
"Was wird von deiner explodierenden Bombe berechnet?" Die Zustandsänderung der die Bombe umgebenden Teilchen nach den Gesetzen der Physik wird berechnet.
Kelmikra
"Ein weiterer Punkt ist, ob die klassischen Vorstellungen von Rechnen auf das zutreffen, was wir heute als Rechnen betrachten - nämlich die wechselseitige Interaktion zwischen Computer und Benutzer." Ich glaube nicht, dass dies als Berechnung angesehen wird. Von autonomen Robotern wird angenommen, dass sie Berechnungen durchführen, obwohl sie nicht mit Benutzern interagieren müssen.
Kelmikra
Hier ist eine Idee: Computing ist der Prozess des Erzeugens von Ausgaben, um Rückschlüsse von Optimierern (z. B. Menschen und Robotern) zu ermöglichen. Wie ist das?
Kelmikra
1

ABxAyBxAx

xxyxy

t=0t=1

Fazit: Jede Zuordnung definiert eine Berechnung. Jedes "Gerät", das eine Eingabe in die entsprechende Ausgabe umwandelt, führt diese spezifische Berechnung durch ("berechnet").



(1) Wir können die Diskussion auf diese Arten von Berechnungen ausweiten. Dies ist sinnvoll, wenn Sie an Funktionen denken, die nicht rekursiv sind, aber ich bevorzuge, nicht dorthin zu gehen.

Ran G.
quelle
Das Problem bei dieser Definition ist, dass sie nicht der tatsächlichen Verwendung des Wortes "Berechnung" entspricht. Von PCs wird angenommen, dass sie Berechnungen durchführen, Sprengstoff beispielsweise nicht.
Kelmikra,
IMHO ist eine Zuordnung genau das, was eine Berechnung nicht ist. Ich denke, Sie verwechseln Syntax und Semantik. Sie verstehen Mapping eindeutig als eine wie auch immer definierte Input-Output-Beziehung. Nach all meinen Büchern ist das Semantik. Die Berechnung ist das Mittel, das verwendet wird, um die Ausgabe, die einer Eingabe entspricht, tatsächlich durch eine Folge von Schritten zu erhalten. Während Sie vielleicht sagen, dass jede Berechnung ein Mapping definiert (wenn auch nur ein syntaktisches), halte ich es für falsch, zu glauben, dass ein Mapping eine Berechnung definiert, es sei denn, Sie erklären sorgfältig, dass Sie sich mit Hypercomputing befassen, was ein wenig über die Frage hinausgeht.
Babou
Ich sollte den Geist meiner Antwort klarstellen (mir ist klar, dass es nicht so formuliert ist): Die Zuordnung selbst ist keine Berechnung. Der Prozess eine Eingabe in einen Ausgang Umwandlung ist eine Berechnung dieses spezifischen Zuordnungs (Funktion). Was ich zu vermitteln versucht habe, ist, dass der spezifische Prozess relevant ist, jeder solche Prozess ist eine Berechnung (sogar eine sehr abstrakte, z. B. ein "Orakel").
Ran G.
1

Ich werde nicht versuchen zu definieren, was eine Berechnung ist, was von Luke Mathieson und Yuval Filmus ziemlich gut gemacht wurde.

Das Nachdenken über ein explodierendes Gerät als Berechnung hat mich jedoch zu einem wichtigen Nebenproblem geführt: Wenn die Explosion eine Berechnung ist, was berechnet sie dann? Abgesehen von einer Darstellung des Geräts nach seiner Explosion.

Was ich anstrebe, ist, dass wir ziemlich genau definieren können, was wir als eine Berechnung betrachten, und sogar, was als eine angesehen werden kann. Wir können eine Berechnung beschreiben. Aber können wir sagen, was es berechnet?

Berechnung ist, wie allgemein definiert, ein rein syntaktisches Spiel. Es ist ein Spiel mit physischen Strukturen, die nach präzisen Regeln transformiert werden. Da unser einziges Werkzeug (bis auf Standardtransformationen) zur Darstellung physikalischer Strukturen letztendlich die Zeichenfolge ist, wird die Berechnung als eine Art formale Transformation auf Zeichenfolgen definiert. Dies gilt für Turingmaschinen, Lambda-Kalkül, partielle rekursive Funktionen und andere weniger beliebte Modelle. Das Wort Kalkül (wie im Lambda-Kalkül) spiegelt tatsächlich diese Ansicht wider, da im Lateinischen Kalküle kleine Steine ​​sind, die zur Darstellung verwendet werden.

Was dies jedoch nicht sagt, ist, welche Bedeutung dieser Syntax zuzuordnen ist, was sie darstellt. Hier ist das Wenige, von dem ich denke, dass ich es verstehe, da ich kein Spezialist für solche Probleme bin (also überprüfe mich noch einmal). Das Problem wird durch die Modelltheorie abgedeckt .

Bei einem formalen Repräsentationssystem, das möglicherweise mit einer Logik (Axiome und Inferenzregeln) oder einem Berechnungssystem (Transformationsregeln) verknüpft ist, ist ein Modell der formalen Theorie eine mathematische Struktur mit Komponenten, die diesen Regeln folgen.

Dieselbe Berechnung oder genauer gesagt dieselbe Beschreibung einer Berechnung kann tatsächlich viele Modelle haben, die sehr unterschiedlichen Entitäten entsprechen.

Beispielsweise beschreibt ein GCD-Algorithmus eine Berechnung. Aber es kann auf natürlichen Zahlen oder auf Polynomen interpretiert werden.

Dies erinnert an Bertrand Russell'quote :

Mathematik kann als das Fach definiert werden, in dem wir nie wissen, wovon wir sprechen oder ob das, was wir sagen, wahr ist.

Bei der Berechnung ist die Situation so ziemlich die gleiche. Es ist ein formelles Spiel, bei dem die Bewegungen auf viele verschiedene Arten verstanden werden können. Tatsächlich besteht jedoch eine tiefe Verbindung zwischen der Mathematik, die formal durch axiomatische Systeme und die Berechnungstheorie definiert ist.

Berechnungen, Algorithmen, wurden definiert, um mathematische Probleme zu lösen, und viele der modernen Konzepte wurden von Logikern entwickelt, die versuchten, die Mechanismen zu verstehen, die es uns ermöglichen, Theoreme zu beweisen, ausgehend von Axiomen und der Anwendung von Inferenzregeln.

Um auf die Explosionsvorrichtung zurückzukommen, kann sie daher durchaus als Manipulation einer Darstellung, dh als Berechnung, ausgelegt werden. Aber es ist im Allgemeinen ziemlich schwer, ihm eine andere Bedeutung als sich selbst zuzuordnen.

Dies ist jedoch nicht immer der Fall oder war es nicht. Das Prinzip der analogen Berechnung beruht auf der Idee, dass unterschiedliche Darstellungssysteme für Berechnungen verwendet werden können, die auf eine präzise Art und Weise zusammenhängen. Dann können wir mit einem System berechnen, um eine Vorstellung davon zu bekommen, was das andere System (zu unhandlich, um es tatsächlich zu verwenden, zum Beispiel ein Universum :) in der entsprechenden Einstellung berechnen würde.

babou
quelle
0

Ich beantworte gerne solche Fragen zur Terminologie in ethymologischen Begriffen.

Die Berechnung kommt also vom lateinischen Wort compŭtus, was wörtlich "Berechnung" bedeutet.

In lateinischen Sprachen wie Französisch, Italienisch, Spanisch oder Portugiesisch (unter anderem) wird diese Ethymologie mit "tale" (eine Geschichte) in Französisch (conte) in Spanisch (cuenta) / cuento in Portugiesisch (conta / conto usw.) geteilt.

Berechnen heißt also, zu berechnen und zu erzählen, wie diese Berechnung durchgeführt wurde.

Daher würde ich sagen, dass bei der Berechnung mathematische und logische Regeln verwendet werden, um eine bestimmte Information zu verarbeiten, sodass aus den Originaldaten neue aussagekräftige Informationen abgeleitet werden, die verfolgen, wie diese neuen Informationen erzeugt wurden (Prozessor, Speicher, Eingabe und Ausgang sind dann die Grundlagen beteiligt)

Luis Sieira
quelle
Auf Französisch ist eine Geschichte "conte", auf Spanisch "cuento". Während "compte" eine Berechnung oder eine Rechnung ist, ist "cuenta" in Spanisch. Ich weiß nicht, dass Homophone, "compte" und "conte" eine gemeinsame Etymologie haben (kein "h" afaik), aber diese gemeinsame Etymologie scheint im Internet bestätigt zu sein. Das ganze Geschäft mit der Berechenbarkeit besteht also nur aus Geschichten?
Babou
Je l'ai corrigé. Ich sollte diese Art von Fehlern nicht machen, aber ich schreibe immer noch nicht so gut Französisch
Luis Sieira
Oder Geschichten sind nur Berechnungen. Sie nehmen eine Reihe von Charakteren mit einer bestimmten Persönlichkeit in einigen Anfangsbedingungen, und der Rest der Geschichte wird berechnet
Luis Sieira
"Verfolgen Sie, wie diese neuen Informationen generiert wurden (Prozessor, Speicher, Eingabe und Ausgabe sind dann die Grundlagen)." Bedeutet dies nicht, dass etwas keine Berechnung ist, es sei denn, man verfolgt dabei die Speichernutzung? Das klingt nicht richtig ...
Kelmikra