Zuerst erkläre ich, warum ich diese beiden Begriffe in Zusammenhang
bringe. Über Informatik und Mathematik habe ich schon des Öfteren geschrieben.
Alles was ich dort sagte, lässt sich unter dieser neuen Überschrift auch sagen,
vielleicht sogar etwas präziser. Möglicherweise spricht es aber andere Leser
an. Vor allem aber suggeriert es Praxisbezug und Relevanz.
Wirtschaftsinformatik
Die Wirtschaftsinformatik (WI) als Studium und Beruf erscheint mir
heute nicht nur praxisbezogener sondern auch umfassender zu sein als die
(reine) Informatik. Manche Studierende ergriffen dieses Fach, weil sie glaubten
– oder weil ihnen gesagt wurde – es sei leichter zu studieren als Informatik.
Wer immer dieser Überlegung folgte, ruinierte nicht nur den Ruf des
Studienfaches, er erlitt auch unweigerlich Schiffbruch im Beruf. Einen Beruf
anzustreben, wo man das, was gebraucht wird, nicht tun will, ist eine schlechte
Wahl. Es ist wie bei einem Arzt, der weder Kranke noch Blut sehen will. Es gibt
dann noch Jobs im Marketing, in der Verwaltung oder in den beruflichen Selbstorganisationen.
Die richtige Studienplanung eines WI-Studierenden muss all das abdecken, was
aus der Informatik UND der Ökonomie gebraucht wird. Die folgende Einschränkung
ist essentiell: Nicht alles, was man im Leben braucht, kann man in 3-5 Jahren
lernen, und erst recht nicht an einer Hochschule. Das ist aber kein Grund, um
nicht aus dem Studium das Beste zu machen.
Logik versus Mathematik
Die Frage, ob Logik nur ein Teil der Mathematik ist, oder ob sie neben
oder gar über ihr steht, sei hier ausgeklammert. Beide behandeln abstrakte
Dinge, oder anders ausgedrückt, statt mit der Realität befasst man sich nur mit
ihrer Abstraktion. Nicht zwei Kühe oder fünf Schafe interessieren, sondern die
Zahlen 2 und 5 und ihre Beziehung. Das vorhin bereits benutzte Konzept des Klammerns
lässt sich natürlich auch abstrakt behandeln, sowohl in der Logik wie in der
Mathematik. Der Mathematiker sieht gerne auf die Logik herab. Es sei eine
Mathematik nur für die Zahlen 0 und 1. Der aus der Philosophie kommende Logiker
bevorzugt die Bezeichnungen ‚wahr‘ und ‚falsch‘. Alle Bedeutungen und
Nebenbedeutungen (Konnotationen), die Worte haben, gehen jedoch verloren, wenn
man beginnt mit ihnen zu rechnen. Trotzdem lohnt es sich sehr oft zu rechnen.
Kurzer Rückblick
Das Informatikstudium in Deutschland begann als Studienfach entweder
unter den Fittichen der Mathematik oder der Elektrotechnik. Für die
Wirtschaftsinformatik standen Betriebswirte Pate. Entsprechend wurden die
Studieninhalte definiert, Das Prinzip hieß Stammstudium – X, wobei X eine
Stundenzahl für neue Inhalte war. Abhängig von der Kapazität der
Ausbildungsstätte schwankte X am Anfang zwischen 10 und 20%. Erst 10-20 Jahre
später wurden die Zahlen umgedreht. Es wurde zuerst definiert, was Informatiker
brauchten. Die übrig gebliebenen Wochenstunden wurden dann mit Stoffen aus dem
Stammstudium gefüllt. Die Überlegung dabei war, das Alte hat sich ja schon
einmal bewährt. Es kann daher nicht schaden.
Schlimmer als diese aus der Not sich ergebenden Studienverhältnisse
waren die Denkweisen, die sich damit einnisteten. Zum Beispiel: Informatik ist
Mathematik mit etwas Elektrotechnik, oder es ist BWL mit mehr Mathematik.
Heutige Studieninhalte
Auf meine diesbezügliche Nachfrage hin teilte mir ein WI-Student im
ersten Semester mit, welche Themen aus der Logik in seiner Einführungsvorlesung
vorkämen. Hier seine stichwortartige Antwort:
‚Prädikatenlogik, Aussagenlogik,
KNF, DNF, DPLL Algorithmus und Resolution‘
Das waren alles bekannte Begriffe für mich. Nur beim DPLL-Algorithmus
musste ich googeln. Hier die Antwort aus
Kiel:
Der DPLL-Algorithmus, der im Jahr 1962 von Martin Davis, Hilary
Putnam, George Logemann und Donald W. Loveland vorgeschlagen wurde, löst das
Erfüllbarkeitsproblem für Formeln in konjunktiver Normalform nach dem
Backtracking-Prinzip.
Die obige Antwort gab mir jedenfalls das Gefühl, dass die Ausbildung in
Grundlagen der mathematischen Logik nicht zu kurz kommt. Es ist ja erst das
erste Semester. Jedenfalls wird der Eindruck vermittelt, dass die Logik als
Werkzeug eine zentrale Rolle in der Informatik und auch in der WI spielt. Viel
mehr erwarte ich am Anfang eines Studiums auch nicht. Man wird sensibilisiert,
– wie es heute so schön heißt – dass in dieser Richtung etwas zu finden ist,
sollte man es brauchen. Man darf Logik und Mathematik jederzeit als Werkzeugkasten nutzen.
Einige Anwendungen aus der Praxis
Um meine Einstellung zur Ausbildung in mathematischer Logik zu
erläutern, greife ich drei Beispiele heraus, wo Logik mir in meiner beruflichen
Praxis oder erst danach begegnete.
(a) Boolesche Logik und Schaltkreisentwurf
Auf boolesche Logik stützen sich die Entwerfer elektronischer
Schaltkreise seit Anfang an. Sie ist der Arbeit des britischen Mathematikers
George Boole (1815-1864) zu verdanken. Die Boolesche (oder logische) Algebra erlaubt
es heute die logische Struktur der auf einem Chip angeordneten Schaltkreise so
zu optimieren, dass sich Einsparungen in Millionenhöhe ergeben. Auf die
Funktion des Chips bezogen, mögen sich Geschwindigkeitsgewinne ergeben.
Wesentlich mehr ins Gewicht fallen die Platzersparnisse, wenn dieselben Chips
millionenfach produziert werden. Schaltkreisoptimierung ist ein lohnendes und
unverzichtbares Geschäft. Gute Methoden und gute Werkzeuge stehen in der Praxis
in hohem Ansehen.
Diese Anwendung illustriert das Prinzip einer Optimierung. Wichtig ist es
zu wissen, welche Änderungen der Darstellung keine Veränderung des Wertes eines
Ausdrucks bedeuten. Als Ausdruck sind logische oder arithmetische Ausdrücke
gemeint. Ausdrücke sind Formeln wie (x*y+3) oder (a und nicht b). Der Fachbegriff
heißt: Äquivalenzklassen bilden. Die anzuwendende logische Transformation mag
sehr einfach und primitiv sein. Entscheidend ist, dass kleine Ersparnisse sich
hochsummieren, zuerst auf dem Chip, dann über alle jemals produzierten Chips
eines Typs hinweg.
(b) Logische Programmierung und Resolutionsprinzip
Auf das Resolutionsprinzip von J. A. Robinson wurde ich in den 1970er
Jahren aufmerksam. Es war der Kern der Programmiersprache Prolog, die 1972 von
dem Franzosen Alain Kolmerauer von der Universität Marseille erfunden worden
war. Man brauchte nur noch logische Formeln hinzuschreiben (so genannte
Horn-Klauseln), und der Kompiler erzeugte daraus ein ausführbares Programm. Es
wurde ein Theorem gebildet und nach dem Resolutionsverfahren bearbeitet.
Alle Welt interessierte sich plötzlich nur noch für ‚logisches‘
Programmieren und die damit zu erstellenden Expertensysteme. Die japanische
Regierung legte ein Förderungsprogramm auf, mit dem sie die Weltspitze im
Computermarkt erreichen wollte. Über das Schicksal dieses ‚Fifth
Generation‘-Projekts ist viel geschrieben worden. Nur so viel: Diese Form der
Programmierung erwies sich nur für einen Teil der Aufgaben geeignet, für die
Computer eingesetzt werden. Aber selbst auf ihrer Domäne, den Auskunftssystemen,
erwiesen sich Aspekte als viel wichtiger, die überhaupt nichts mit
Programmieren zu tun hatten. Google, als Beispiel, ließ neue und elegante
Programmiermethoden einfache in der Ecke stehen und konzentrierte sich auf eine
umfassende und aktuelle Datenbasis sowie das Problem, die Suchergebnisse zu
ordnen.
Auch meine Abteilung entwickelte ein erfolgreiches Expertensystem. Wir
hatten das Glück, einen erfahrenen Außendiensttechniker dafür zu gewinnen, uns
seine Heuristiken anzuvertrauen, mit deren Hilfe er Hardware- und
Softwarefehler bei bekannten IBM-Großsystemen lokalisierte und klassifizierte. Jüngere
Techniker, die dieselben Systeme betreuten, waren begeistert. Nach einigen
Jahren gab es diese spezielle Art von Systemen nicht mehr. Schon vorher war die
Wissensquelle versiegt. Was ich daraus lernte: Je spezieller Methoden sind,
umso besser mögen ihre lokalen und augenblicklichen Erfolge sein. Umso größer
ist aber auch das Risiko, dass sie sich nicht in breiten Teilen des Marktes und
über einen längeren Zeitraum hinweg einsetzen lassen.
(c) SAT Solver und Model Checking
Alle Welt redet heute von SAT-Solvern und benutzt
sie auch, teilweise ohne es zu wissen. Sie lösen Probleme, die in Klauseln der Aussagenlogik formuliert sind. Hier steckt sehr oft der DDPL-Algorithmus drin. Dank cleverer Implementierung ist man heute in der Lage, Probleme mit 100 Variablen oder Klauseln effektiv zu lösen.
Model Checking gilt als die derzeit erfolgreichste Anwendung von Logik in der Informatik. Die wirklich großen Anwendungen betrafen bisher die Verifikation von Hardware-Entwürfen und Kommunikationsprotokollen. Für den wesentlich wichtigeren Bereich der Software gibt es erste Prototypen. Die logische Theorie ist bereits recht anspruchsvoll. Entscheidend für den Erfolg ist jedoch, dass Rechenzeiten und Speicherkapazitäten eingesetzt werden können, an die man vor 10 Jahren nicht zu denken wagte. Für einen Praktiker ist entscheidend, dass ein Problem in Teilen besser gelöst wird, als dies bisher möglich war. Wenn immer der Nachweis der Systemkorrektheit durch Testautomatisierung erleichtert wird, ist dies ein Segen. Das Problem ist eines der härtesten der Branche. Alle bisherigen Ansätze blieben auf einem Niveau, das nicht befriedigte.
Model Checking gilt als die derzeit erfolgreichste Anwendung von Logik in der Informatik. Die wirklich großen Anwendungen betrafen bisher die Verifikation von Hardware-Entwürfen und Kommunikationsprotokollen. Für den wesentlich wichtigeren Bereich der Software gibt es erste Prototypen. Die logische Theorie ist bereits recht anspruchsvoll. Entscheidend für den Erfolg ist jedoch, dass Rechenzeiten und Speicherkapazitäten eingesetzt werden können, an die man vor 10 Jahren nicht zu denken wagte. Für einen Praktiker ist entscheidend, dass ein Problem in Teilen besser gelöst wird, als dies bisher möglich war. Wenn immer der Nachweis der Systemkorrektheit durch Testautomatisierung erleichtert wird, ist dies ein Segen. Das Problem ist eines der härtesten der Branche. Alle bisherigen Ansätze blieben auf einem Niveau, das nicht befriedigte.
Ein nicht ganz überzeugendes Beispiel
Zum Schluss kommt ein Logik-Enthusiast zu Wort. Ich hatte eine mir vorher
nicht bekannte Notation für eine logische Subjunktion
$x (x e F → x e T)
falsch wiedergegeben. Ich machte nämlich daraus
Für alle x (x in F → x in T).
Es war dies ein missglückter Versuch logische Formalismen leichter
lesbar zu machen. Ich wurde dafür mit Recht gerügt. Außerdem wurde ich aufgefordert,
einen Projektantrag zu unterstützen, der den Einsatz öffentlicher Mittel forderte
für
‚eine Tool-Entwicklung, die solche
Missdeutungen (und vieles mehr) erst gar nicht zulässt. Das ist eine Aufgabe
geradezu "im nationalen Interesse" und sollte damit (aus nationalem
Interesse) auch gefördert werden. …Helfen
Sie mit, bei unserem BMBF-Antrag XYZ eine Bewilligung zu erzielen.‘
Ich meinte, das wäre nicht meinem Problem angemessen. Obwohl ich der Popularisierung
mathematischer und logischer Ausbildung auf breitester Basis nicht abgeneigt
bin, halte ich Fragen der Notation als Probleme untergeordneter Bedeutung. Zu viele
Diskussionen habe ich bereits erlebt, was nun besser sei, der Punkt am Ende
eines Statements wie bei COBOL oder das Semikolon wie bei Pascal; Klammern wie
bei LISP oder begin...ends wie bei Algol. Informatiker sollten
sich für diese Art von Diskussionen zu schade sein, (junge) Wirtschaftsinformatiker
erst recht.
Robert Ottohall aus Tübingen schrieb:
AntwortenLöschenich glaube nicht, dass Mathematiker auf Logik herabschauen. Logik gehört zur Basis der Mathematik (siehe B. Russel). Ein Wirtschaftsinformatiker, der sich nicht mit Mathematik beschäftigen will, sollte lieber Heilpraktiker werden. ;)
Soeben schrieb Hartmut Wedekind aus Darmstadt:
AntwortenLöschenZeigt mir in Sachen Logik Eure Lehrbücher. Ich zeige Euch dann meine. Dann können wir streiten und zwar massiv. So geht das im Wissenschaftsbetrieb.
PS . Paul Lorenzen: "In der Logik handelt es sich um Operationen, die statt mit Zahlen mit Gedanken, konkret gefasst, mit sprachlichen Aussagen vorgenommen werden!", in "Collegium Logicum" 1963. Natürlich zitiert er in der Rektoratsrede für jedermann von 63 auch den Faust" Mein teurer Freund, ich rat Euch drum zuerst Collegium Logicum."
NB (Bertal Dresen): Mich interessiert vor allem, welche Probleme der Praxis mit Werkzeugen aus der Logik gelöst werden können. Alles andere ist holde Geisteswissenschaft.
Später fügte ich hinzu:
LöschenIch werde mich nicht mit Ihnen (oder sonst jemandem) über 'Logiken' streiten. Genauso wenig wie über Pseudocodes oder Modelierungsprachen. Ich sah darin immer imperfekte Werkzeuge, d.h. solche für arme Leute.
Hartmut Wedekinds Antwort:
Es gibt keine Logiken, es gibt nur eine Logik. Es gibt keine Erlanger und Münchner Logik. Es gibt nur eine Logik, die in verschiedenen Gewändern auftritt (klassisch, konstruktiv, als Modallogik, Relevanzlogik monotone Logik). Ob eine mehrwertige Logik und „fuzzy logic“ noch zur Logik gehören, darüber darf gestritten werden, und wird es ja auch.
Peter Hiemann aus Grasse schrieb:
AntwortenLöschengutes Verständnis und Handwerkzeug für Programmierung ist obligatorisch für IT orientierte Berufe. Oft wird aber übersehen, dass alle Menschen Fähigkeiten besitzen, die es ihnen mehr oder weniger erlauben, in mehr oder weniger logischen oder anderen Zusammenhängen zu denken und zu handeln. Es wäre vorteilhaft und angemessen, wenn IT-Spezialisten versuchen, mit ihren Aussagen auch Nichtspezialisten anzusprechen. Einige der schlimmsten kommunikativen Engpässe entstehen, wenn mögliche weiterreichende Aspekte und Perspektiven ungenutzt bleiben:
- Aussagen 'richtig' oder 'falsch' sind vernünftige Bewertungen, wenn es sich um Fragestellungen der Logik oder professionelle (wissenschaftliche und handwerkliche) Methoden handelt. Bei anderen Fragestellungen eröffnen sich potentiell vernünftige Vorstellungen, wenn sie im Rahmen eines Zusammenhangs 'passen' (richtig liegen).
- Gestaltungsspielräume für Lernvorgänge sind eng, wenn sie durch enge Vorstellungen eingeschränkt werden. Gestaltungsspielräume sind weit, wenn sie für erweiterte und neue Vorstellungen offen gehalten werden.
- Es ist wichtig, sich in andere Denkweisen versetzen zu können und Alternativen bedenken zu können.
Erich Ortner aus Konstanz schrieb:
AntwortenLöschen"Ein Begriff ist (formal) eine Funktion (Schema), deren Wert immer ein Wahrheitswert (wahr, falsch) ist", ist ein Begriff und damit auch die Logik von "Schaltwerken".
"Ein Begriff ist (material) eine Funktion (Schema), deren Wert immer ein Gegenstand (Dinge, Geschehnisse) ist", ist ein Begriff und damit die Logik (d. h. die erweiterte formale Logik) des "Human Symbol Manipulation".
Es gibt nur eine Logik!
Die Erweiterung erfolgt vom Standpunkt der Dialogischen Logik (Logik als gerichteter Ablauf eines Geschehens) auch noch um den "Wahrheitswert" non liquet oder (neben "wahr" und "falsch" auch noch) "unklar".
Klassische-formallogisch:
- Die Wahrheit von Sätzen wird vorausgesetzt (Logiker sprechen von der Wahrheitsdefinitheit bzw. -determiniertheit formallogischer Sachverhalte).
Konstruktiv-dialogisch:
- Die Wahrheit von Sätzen muss man sich (bzw. unter Dialogpartnern) schrittweise, zirkelfrei und alles explizit machend erarbeiten. "arbeiten" ist ein Prozess, also der gerichtete Ablauf (Steuerung) eines Geschehens (Logiker sprechen von der Dialogdefinitheit bzw. -determiniertheit materiallogischer Sachverhalte).
- Dabei kommt es zu Schlussfolgerungen, Entscheidungen & Handlungen der Menschen auch dann, wenn bei bestimmten Sätzen der Wahrheitswert (wahr, falsch) noch nicht feststeht (z. B. non liquet oder unklar ist).
Die Dialogische Logik ist eine Mensch-involvierte Logik, denn sie schließt in ihren "gerichteten Ablauf" (=Prozess) die Möglichkeit menschlicher "Geistesblitze" oder emergente Handlungen ein (läßt sie "gerichtet" Geschehen). Dialogische Logik ist EINE Antwort auf die Frage "Wie sind synthetische (konstruktive) Urteile a priori möglich?". Dialogische Logik ist EINE Chance der Menschheit, sich (auf elegante Weise) aus der selbstverschuldeten Unmündigkeit "systematisch" (durch Bildung = Erwerb relevanten Wissens & verantwortungsvolles Handeln) zu befreien.
Ob die Menschheit diese Chance wohl je nutzt, ist noch unklar.
LöschenPeter Hiemann aus Grasse schrieb:
AntwortenLöschenKurt Friedrich Gödel hat meines Erachtens eine der wichtigsten Aussagen über logisches Schließen geliefert. Gödel ist berühmt dafür, dass er Mathematikern am Beginn des 20. Jahrhunderts beweisen konnte, dass sie mit einer grundlegenden Vorstellung 'falsch lagen'. Diese nahmen an, dass ein Axiomensystem mit einfachen unmittelbar einleuchtenden Axiomen existiert, das die Mathematik und Logik auf eine gemeinsame, nachweisbar konsistente Basis stellt, um für jeden mathematischen Satz beweisen zu können, ob er wahr oder falsch ist, und alle wahren Sätze sollten aus dem Axiomensystem ableitbar sein. Gödel konnte zeigen, dass sich bereits im mathematischen System der natürlichen Zahlen '0, 1, 2, 3. …....Aussagen ableiten lassen, bei denen nicht entschieden werden kann, ob sie wahr oder falsch sind.
Im übertragenen Sinn würde Gödel vielleicht uns Normalsterblichen empfehlen: Prüft eure Vorstellungen sorgfältig darauf, wieweit sie 'tragfähig' sind. Diese Empfehlung bedeutet aber nicht, auf Vorstellungen zu verzichten, solange sie sinnvoll und nützlich sind und die Möglichkeit besteht, sie später rational und empirisch beweisen oder widerlegen zu können.
Über komplizierte Dinge erfolgreich nachzudenken gelingt so richtig erst dann, wenn man eine übersichtliche, knappe, wenig kryptische Notation dafür gefunden hat.
AntwortenLöschen