Bereitschaftsbeitrag

Zur Front

1. Dezember 2024

Bezugsgrößen

Eine Bezugsgröße bezeichne einen Gegenstand, welcher in einem Verhältnis steht, dessen verbleibenden Gegenstand wir einlösen.

Eine Bezugsgröße heiße natürlich, wenn der betreffende Gegenstand durch Verfolgung ins Bewußtsein getreten ist, und künstlich, wenn er selbst eingelöst wurde.

Wir verwenden Bezugsgrößen in unserer Haltung, etwa wenn ich begänne, jemandem auszuweichen, sobald er mir näher als den dreifachen Abstand meines Daumens bei ausgestrecktem Arm zu meiner Nase käme, wobei ein im dreifachen Abstand gelegener Ort eine künstliche Bezugsgröße ist und ein im einfachen gelegener auch, es sei denn, ich streckte meinen Arm und Daumen aus und meinte jenen meines Daumens. Der Ort meiner Nasenspitze hingegen ist bei geöffneten Augen eine natürliche.

Bezugsgrößen, welche die Bedingung der Verhaltensregeln betreffen, wie der genannte Ort im vorigen Beispiel, sind Vergleichsgrößen, und jene, welche die (Re-)Aktion betreffen, Zielgrößen. Würde ich etwa Gold für das doppelte Gewicht in Silber tauschen, so bedürfte ich einer Waage, deren Arme im Verhältnis 2:1 stehen, als natürliche Zielgröße, wobei ich sie als solche aber nur mithilfe der künstlichen Vergleichsgröße der doppelte Länge erkennen könnte. Habe ich sie aber als solche erkannt, etwa durch Verschiebung eines Stabs, so kann ich fortan versuchen, ihre Arme in die Horizontale zu bringen und damit den Tausch zu bewerkstelligen. Natürlich würden wir auch die Horizontale (der Arme) als eine Zielgröße bezeichnen, selbst wenn sie keine Bezugsgröße wäre, sondern nur Teil der eingelösten Absicht, aber das kann man in der Praxis sowieso nie so genau wissen, also ob man einen Teil der Absicht noch wieder auf etwas anderes bezieht oder nicht. Außerdem können die Zielgrößer einer Regel offensichtlich die Vergleichgrößen anderer Regeln sein, und ebenso ihre Vergleichsgrößen die Zielgrößen anderer.

Künstliche Bezugsgrößen bilden also die Grundlage unserer Kreativität und erlauben uns, komplexe Verhaltensregeln zu befolgen. Ihr Auftreten in Algorithmen ist mit dem folgenden Dilemma verbunden.
  1. Entweder wir verwenden eine Bezugsgröße überall wo sie Anwendung findet an einer Stelle im Algorithmus, doch dann ist der Algorithmus ungegliedert, oder
  2. wir bilden die Bezugsgröße für jede Stelle, wo sie Anwendung findet, neu, doch dann ist der Algorithmus redundant.
Ich  möchte dies an dem folgenden MC68000 Assemblerprogramm veranschaulichen, welches das knifflige Problem löst, einen Wert mit 6 zu multiplizieren, um den ihm entsprechenden :ersten Eintrag aus einem Datensatz zu lesen, dessen Elemente jeweils 6 Bytes groß sind, wovon die ersten vier für den ersten Eintrag in ihnen reserviert sind.
add.l   d0,d0
move.l  d0,d1

add.l   d0,d0
add.l   d1,d0

move.l  (a0,d0.l),d1
Es ist egal, welche Hilfen zur Verfügung stehen (beispielsweise (a0,6*d0,l)), früher oder später tritt genau diese Schwierigkeit in jedem Assemblerprogramm auf (Verlust der Gliederung, um Redundanz zu vermeiden).

Wir Menschen lösen dieses Problem wie folgt: Wir bilden alle möglichen künstlichen Bezugsgrößen auf einen Schlag und erinnern uns dann an sie. Das heißt, wir gehen die voranstehende Aufgabe wie folgt an.
Doppelte(x)=x+x
Vierfache(x)=Doppelte(x)+Doppelte(x)
Sechfache(x)=Doppelte(x)+Vierfache(x)
move.l  (a0,Sechsfache(d0.l)),d1
Entscheidend hierbei ist, daß wir uns über die Frage, wo wir das Doppelte lassen, bis wir es benutzt haben, um das Vierfache zu bestimmen, um es dann mit dem Vierfachen zusammen zur Bestimmung des Sechsfachen heranziehen zu können, keine Gedanken machen müssen, weil eine einmal bestimmte künstliche Bezugsgröße verfügbar bleibt, bis wir, wie man so sagt, den Faden verlieren.

Unser Gedächtnis funktioniert automatisch, und wenn wir mit Computern wie mit Menschen kommunizieren wollen, müssen wir dafür sorgen, daß auch Computer die Aufgabe, künstliche Bezugsgrößen parat zu halten, automatisch erledigen, was funktionale Programmiersprachen übrigens leisten, allerdings nur unter einem etwas unhandlichen Überbau, konkret des angenommenen Vorliegens der Geschichte des Universums in einer Datenreihe. Es ist aber gar nicht nötig, das gesamte Programm als die Berechnung einer Funktion zu verstehen, um den Problemen der Verwendung von Variablen in Algorithmen auszuweichen: Es genügt, eine neue Klasse von Objekten einzuführen, nämlich die künstlichen Bezugsgrößen, deren Wert einmal als eine Funktion berechnet wird und sich hinfort nicht mehr ändert, gerade wie es in unserem Denken geschieht.

Labels: , , , , , , , , ,