Historische Entwicklung der Informatik
1. Anfänge der Informatik
Als Anfänge der Informatik gelten die Versuche der Mechanisierung geistiger Tätigkeiten. Derartige Versuche bezogen sich auf folgende Gebiete:
-
das Rechnen mit Ziffern und führte zur Entwicklung mechanischer Rechenmaschinen sowie auf
-
das Berechnen algorithmischer Prozesse, deren Gegenstände
-
Begriffe oder logische Aussagen und Aussagenverbindungen waren, die durch Symbole formuliert werden.
Mit den Anfängen der Informatik ist LEIBNITZ (1646 1716) verbunden. Sein Entwurf eines Untersuchungsgebietes zur Mechanisierung geistiger Tätigkeiten entspricht dem Wesen der heutigen Informatik. Es umfaßte:
Fragen der Codierung (basierend auf dem dualen Zahlensystem!)
die Entwicklung einer allumfassenden Begriffsschrift
> Syntax und Semantik algorithmischer Sprachen
die Schaffung eines logischen Kalküls (Menge syntaktischer Umformungsregeln)
den Aufbau einer dual arbeitenden Rechenmaschine
Ziel: Aufbau einer universellen symbolischen Sprache (Begriffsschrift zum Aufbau einer Universalwissenschaft), die in einem Kalkül alle Fragen auf einfachste Weise mit einer der Mathematik analogen Gewißheit zu beantworten gestattet.
Zentrale Zielstellung der Informatik:
Befreiung des Menschen von gleichförmiger geistiger Tätigkeit bzw. die Unterstützung und Ergänzung seiner kreativen geistigen Tätigkeit durch deren Übertragung auf technische Geräte.
Als angewandte Wissenschaft hing die historische Entwicklung der Informatik stark von den technisch ingenieurmäßigen Verwirklichungsmöglichkeiten ab und lief parallel zur Entwicklung von:
Signalwesen
Regelungs und Steuerungstechnik
Technik der Speicherung (einschließlich Lese und Schreibgeräte).
2. Geschichte des mechanischen Rechnens mit Ziffern und
Symbolen
2.1. Das mechanische Ziffernrechnen
Die zunächst in Europa verbreiteten altertümlichen Rechenmittel:
römische Zählsteinchen (calculi > Kalkül)
der Abacus (Ursprung war der chinesischer suan pan) und
das Kerbholz (computare)
bildeten keine Grundlage für die Mechanisierung des Ziffernrechnens.
Diese Grundlage entstand mit der Einführung des aus Indien stammenden dekadischen Positionsziffernsystems mit arabischen Ziffern (AL KHOWARIZMI).
Grundbausteine mechanischer Rechenmaschinen sind:
Zahnrad
Staffelwalze
Sprossenrad
Zahnstange
(Grundprinzip dieser Rechenmaschinen war die Zuordnung zwischen Ziffern und Zähnen der Zahnräder)
Anwendungsbedarf bestand bei den umfangreichen Tafelberechnungen, z.B. Logarithmen Tafel, trigonometrische Funktionen usw..
Beispiele historischer mechanischer Rechenmaschinen:
1645: PASCAL Addiermaschine
1671: LEIBNITZ 4 Spezies Maschine
1823: BABBAGE difference engine für Tafelberechnungen
Der LEIBNITZ'sche Vorschlag einer Zahlenbasis 2 für Rechenmaschinen wurde erst 1933 durch ZUSE (Relaisrechner) bzw. 1948 durch VON NEUMANN (Universalrechner) aufgegriffen.
2.2. Mechanisches Rechnen mit Symbolen
LEIBNITZ sah in der symbolischen Darstellung von Begriffsinhalten die entscheidende Voraussetzung für ihre mechanische Handhabung.
Grundlage seines Vorschlags bildete das aus Indien stammende Buchstabenrechnen (Buchstaben zur Bezeichnung beliebiger mathematischer Objekte).
Nach LEIBNITZ sollten den Begriffen Zahlen zugeordnet werden. Begriffliche Unterordnungen sollten durch Teilbarkeitsbeziehungen ausgedrückt werden. Sein Ziel war die Entscheidung wissenschaftlichen Meinungsstreits durch Ausrechnen. Diese Vision der mechanischen Ableitung aller Weisheit ist vergleichbar mit den Inhalten der heutigen Künstlichen Intelligenz.
Wesentliche Untersuchungsfelder in den vergangenen Jahrhunderten bildeten:
Kryptologie: (Altertum/ ab 15.Jhd.)
Entwicklung und Untersuchung von Geheimschriften zur Ver
bergung des Sinns von Nachrichten hinter sinnlosen Worten.
Ziel: Aufbau unberechenbaren Verschlüsselungen.
Die mathematischen Untersuchungen von SHANNON zur Sicher
heit von Verschlüsselungsverfahren (2. Weltkrieg) führten
zur Entwicklung der INFORMATIONSTHEORIE.
Textmanipulation:
ab 1946: Übersetzerprogramme zwischen natürlichen Sprachen (zunehmend Erfolge in der Gegenwart)
1950: Texteditorprogramme
1960: Programme zur automatischen Silbentrennung
Untersuchung von Spielstrategien:
1912: Automat für Schach-Endspiele König/Turm König
1950: SHANNON Theorie maschineller Schachspiele
Entstehung einer Vielzahl von Programmen für Schach, Dame, Go usw.
Mathematische Beweise:
- automatische Durchführung von Beweisen (Nachprüfung auf korrekte Anwendung von Regeln)
- automatisches Finden von Beweisen
Problem der Unmöglichkeit der Durchmusterung aller Möglichkeiten > kombinatorische Explosion (z.B. beim Schachspiel 10200 Varianten)
> Grundlagen automatischer Beweisfindung:
Anwendung plausibler, heuristischer Regeln
Wichtigstes Betrachtungsgebiet: Prädikatenkalkül 1. Stufe
Anfänge 1929/1930: SKOLEM/HERBRAND
1956: DARTHMORE Konferenz
MINSKY prägt den (unglücklichen) Begriff "artifiziell intelligence" und greift damit die Idee der Übertragung menschlicher intellektueller Leistungen auf Automaten wieder auf > Anhänger und Kritiker.
1965: ROBINSON Resolutionsprinzip
1972: Implementierung der auf der Prädikatenlogik 1. Stufe basierenden Programmiersprache PROLOG
Logisches Rechnen:
um 1670 LEIBNITZ: Entwurf eines logischen Kalküls
1847 BOOLE: Algebraisierung der Logik (BOOLE'sche Algebra)
ab 1880: Bau logischer Rechenmaschinen
1938 SHANNON Untersuchungen des Aussagenkalküls durch Relaisschal- tungen
1952/53: Minimierung von Schaltfunktionen und Aussageformen (OUINE/KARNAUGH)
3. Entwicklung des Signalwesens
3.1. Nachrichtenübertragung
Altertum: z.B. Anordnung von 1 bis 5 Fackeln
1791: CHAPPE Semaphore; Napoleonisches Nachrichtensytem in Europa: Laufzeit für ein Zeichen 1/4 h für 1000 km.
1817: MARRYAT internationaler Flaggencode
1840: Morsetelegraphen
1861: REIS Fernsprecher
1897: Funkensender
1935: Fernsehen
3.2. Codierungstheorie
Konstruktion von binären Codes mit technisch relevanten besonderen Eigenschaften.
Anfänge ab 1870
1937: 3 aus7 Codes für störungssicheren Telegraphiecodes
1948: Informationstheorie von SHANNON (Informationsübertragung unter Störungen)
1948: WIENER: Kybernetik
Basis: Theorie der Störungsbeseitigung (Störungen unter liegen statistischen Gesetzen)
Informationstheorie von SHANNON
oberflächliche Deutung neurophisiologischer Arbeiten von McCULLOCH und PITT (1943)
1950: HAMMING Codes zur Übertragungsfehlerkorrektur
2.3.3. Regelung
Die Regelungstheorie basiert auf der Nutzung von Signalen zur Steuerung von Maschinen.
Durch das Prinzip der Rückkopplung entsteht ein geschlossener Signalkreislauf, wodurch aus dem Ausgangssignal das neue Eingangssignal berechnet werden kann.
Wesentliche Entwicklungsstufen:
WATT: Drehzahlsteuerung von Dampfmaschinen
ROUTH/HURWITZ/NYQUIST: Untersuchungen zur Stabilität von Regelkreisen
1925: WAGNER Rückkopplungen in biologischen Systemen
1933: FRISCH Regelkreise in der Volkswirtschaft 1948:
1948: WIENER Theoretische Synthese von Wahrscheinlichkeitstheorie,
Fouriertransformation und Passivitätsbedingung
SHANNON Abtasttheorie (Verbindung von Codierungstheorie und der Theorie der kontinuierlichen Signale)
2.4. Automaten und Algorithmen
2.4.1.Automatenprinzip
Automat... der sich selbst Bewegende
erste Entwicklungen im Altertum: um 100: HERON
um 1500: Entwicklung erster Uhrwerke > großer Auftrieb für Automatenbau, häufig "Androiden"
Programmsteuerungen:
ab 1730: Entwicklung der Lochplattensteuerung für Fabrikationssteuerungen (z.B. Webstühle) > erste Nurlesespeicher (ROM)
1833: BABBAGE analytical engine (digitaler Rechenautomat)
Grundkonzept:
Rechenwerk (difference engine)
Zahlenspeicher
Steuerwerk
E/A Möglichkeiten
Programmspeicherung: Lochkarte
heutigen Rechnern basieren auf diesem Grundkonzept, damals scheiterte seine Verwirklichung an den technischen Realisierungsmöglichkeiten (Mechanik)
1886: HOLLERITH Zähl und Registriemaschinen
Technik der Lochkartenverarbeitung > Beginn der modernen Datenverarbeitung
Anlagenkonfiguration:
Kartenlocher, Kartenprüfer, Sortiermaschine,
Schreibwerk, Tabelliermaschine (Addiermaschine auf der
Basis elektromagnetischer Stellwerke)
1943: ZUSE erste funktionstüchtige programmgesteuerte Rechenmaschine (BABBAGE'sches Prinzip!)
1944: USA MARK 1 (15m Länge, 100 000 Einzelteile (davon 3 000 Kugellager), 80 km Leitungsdrähte)
Leistungen: + 0,3 s, * 6 s, / 11 s
heute vergleichbarer Rechner auf 5x5mm Chip
1948: PRINCETON Maschine VON NEUMANN > universeller Rechner
(Grundidee: speicherprogrammierbarer Rechner)
2.4.2. Algorithmen
um 820: AL KHOWARIZMI entwickelte als erster ein System von Anweisungen über die Folge von Schritten zur Ausführung von Grundrechenarten mit arabischen Ziffern sowie bei der Lösung einer Gleichung > Begriff "Algorithmus"
(im 16. Jhd.: Gegensatz zwischen "Abacisten" und "Algorithmikern" (Nutzer des arab. Ziffernsystems und der damit verbundenen Rechenregeln))
Später erfolgte eine Erweiterung des Begriffs "Algorithmus" hinsichtlich "eines nach festen Regeln ablaufenden Spiels von Zeichen" (z.B. EUKLIDISCHER Algorithmus für ggT.)
Die Entwicklung der Algorithmen war ebenfalls von der Idee geprägt, ein universelles Verfahren zum Auffinden aller Wahrheit aufzustellen.
(LEIBNITZ: aufgrund von Problemen hinsichtlich der Entscheidbarkeit und der Berechenbarkeit blieb sein Bemühen zum Aufbau eines vollständigen Regelsystems erfolglos)
Durch Untersuchungen zur Formalisierung, d.h. der Abwendung von der inhärent unscharfen natürlichen Sprache und der Zuwendung zu symbolischen Sprachen für die Beschreibung von Algorithmen und Objekten entstanden die Voraussetzungen für die schrittweise Realisierung der LEIBNITZ'schen Ziele.
1879: FREGE Begriffsschrift
1930: Gödel: Vollständigkeit des Prädikatenkalküls 1. Stufe
(Kalkül: Kollektion rein mechanisch anzuwendender syntaktischer Umformungsregeln > gut geeignet für Implementierungen auf Rechnern)
Die Definition eines Kalküls setzt den Nachweis seiner Korrektheit und Vollständigkeit voraus.
(Korrektheit: alle syntaktisch im Kalkül herleitbaren Schlußfolgerungen folgen auch semantisch in der Welt.
Vollständigkeit: alle Schlußfolgerungen, die semantisch gelten sind auch syntaktisch herleitbar.
Entscheidbarkeit: für jede Aussage muß in endlicher Zeit nachprüfbar sein, ob sie aus Axiomem folgen oder nicht)
Das Entscheidungsproblem trotzte in Einzelfällen einer algorithmischen Lösung und führte zur präzisen Definition des Begriffs "Algorithmus"
1934: Gödel: Gleichungskalkül
1936: POST
CHURCH LAMBDA Kalkül > LISP
1937: TURING TURING Maschine
1947: MARKOW
> Gleichwertigkeit aller Definitionen mit der Klasse der partiell rekursiven Funk- tionen
1951: RUTISHAUSER Anstoß zu algebraischen Sprachen (Begriff stammt von
BOTTENBRUCH 1958) zur Verwendung als Programmiersprachen für
Rechenanlagen
Zunächst standen bei der Entwicklung algorithmischer Sprachen Fragen der Notation im Mittelpunkt und führten zur Herausbildung der begrifflichen Grundlagen der Programmierung. Dieser Prozeß unterlag folgenden Einflußfaktoren:
- funktionelle Fähigkeiten der Rechenanlagen
- symbolische Adressen (1953)
- indirekte Adressierung (1955)
- maschinelle Übersetzung von algorithmischen Sprachen in Maschinensprache (1951 1957)
- Listenarbeit (1959 McCARTHY)
- Verbunde (1966 HOARE)
Die semantische Basis der Programmiersprachen (einheitliches und vollständiges begriffliches System der Programmierung) entstand durch folgende Arbeiten:
1959 GREEN Namenserzeugung
SAMELSON Blockstruktur
1965 WIRTH Referenzkonzept
1970 SCOTT Fixpunkttheorie (grundlegende mathematische Behandlung der Semantik)
1973 DIJKSTRA Theorie der Prädikat Transformation
BACKUS funktionelle Programmierung
1974 BAUER Untersuchung formaler Methoden der Programmkonstruktion
Damit war prinzipiell der heutige Stand erreicht.
Dostları ilə paylaş: |