Startseite < Informatik < Algorithmen Datenstrukturen / Software-Engineering / Programmiersprachen / [ DRUCK , 2004 , 2005 , 2006 , 2007 , 2008 , 2009 ] Künstliche Intelligenz < KI-Architekturen Planen > > Schach Privates / Inhalt >
Künstliche Intelligenz
Roboter/Computerprogramme weisen intelligentes Verhalten auf.
Einführung Definitionen zum Thema Künstliche Intelligenz
Was versteht man unter Künstlicher Intelligenz?
KI ist das, was die Computer heute noch nicht können! :-)

Die Künstliche Intelligenz (KI; englisch: artificial intelligence, AI) ist eine Teildisziplin der Informatik. In dieser Teildisziplin wird untersucht, wie man intelligentes Verhalten von Computern erfassen und nachvollziehen kann oder wie man allgemein Probleme löst, die Intelligenzleistung voraussetzen. [INFODUDEN S. 364ff]

Dabei stellt sich natürlich sofort die Frage:
  1. Was ist Intelligenz?
Doch diese Frage kann wohl kaum mit ein paar wenigen Worten umschrieben werden, denn ähnlich wie bei den Begriffen Leben und Liebe liegt auch hier keine eindeutige Definition vor. Oder, wissen Sie, was Intelligenz ist? Falls JA — nur raus damit: Werden Sie Autor!

Der Psychologe William Stern definierte bereits im Jahre 1912, dass die Intelligenz die allgemeine Fähigkeit eines Individuums sei, sein Denken bewusst auf neue Forderungen einzustellen; sie sei allgemeine geistige Anpassungsfähigkeit an neue Aufgaben und Bedingungen des Lebens. [KI-HANDBUCH S. 1f] Doch diese Definition wirft weitere Rätsel auf:
  1. Was ist Leben und was ist ein Individuum?
  2. Was ist bewusstes Denken?
  3. Was ist geistige Anpassungsfähigkeit?
Diese und viele andere Rätsel bezüglich der Intelligenzdefinition sind philosophischer Natur und werden wahrscheinlich bis in alle Ewigkeit ungelöst bleiben.

Oft wird die „Künstliche Intelligenz” auch als wissensbasierte Datenverarbeitung bezeichnet, wie etwa: KI ist keine Zauberei, sondern eine ingenieurmäßige Disziplin der Informatik. In der KI ist die Findung einer korrekten und umfassenden Intelligenzdefinition eher zweitrangig. Viel mehr versucht man in der KI für gegebene Anforderungen, die offensichtlich Intelligenzleistung voraussetzen, ähnliche Gegebenheiten in der Natur wiederzufinden, diese zu verstehen, um schließlich nachahmend gemäß den Anforderungen ingenieurmäßig modellieren zu können. Diese Vorgehensweise soll nun am Beispiel eines Expertensystems veranschaulicht werden:
  • Ein kommerzielles Unternehmen möchte das Wissen seiner Experten mit jahrzehntelanger Erfahrung nicht gleichzeitig verlieren, wenn diese kündigen oder in Rente gehen. Deshalb wünscht sich das Unternehmen ein System, welches das Wissen sowie den Sachverstand eines Experten zumindest wiedergeben kann. Als natürliches Vorbild dient hier selbstverständlich der menschliche Sachverstand des Experten. Beim Versuch den menschlichen Sachverstand zu verstehen, stößt der KI-ler natürlich auf Grenzen. Deshalb kommt der Psychologe ins Spiel, der schon einiges über den menschlichen Verstand, insbesondere Sachverstand, aussagen und somit dem KI-ler bei der Modellierung sehr behilflich sein kann. Es entsteht (normalerweise) ein Expertensystem (++Hoffnung), welches ähnlich wie sein natürliches Vorbild (hier: Sachverstand des Experten) fachlich schließen, erklären und letztlich im Sinne der Anforderung den Experten ersetzen wird.
Ein paar wenige Wissenschaften, von denen die KI bereits profitiert, sind im Folgenden aufgelistet:
  • Die Psychologie,
  • die Neurologie,
  • die Zoologie,
  • die Logik, die Stochastik und vieles mehr.
Die Mathematik, welche ihrerseits als interdisziplinär betrachtet wird, ist wie in fast allen Bereichen dieser Welt auch in der KI lediglich nur ein Mittel zum Zweck. Die Stärke, worin sich die KI von den anderen Bereichen unterscheidet, lautet: „Lösungsfindung”. Ja sehr wohl — Lösungen kann man maschinell suchen und finden. Was noch viel beeindruckender ist, will ich indirekt mit einer Frage ausdrücken: Was bedeutet ‚interdisziplinäre Lösungsfindung’ für uns?
Schlimm, tragisch, traurig oder lustig?
Schlimm ist: Egal wie der KI-ler es anstellen möge, erweisen sich die Algorithmen, die für Intelligenzleistung verantwortlich sind, als extrem langsam; es tritt (fast) immer exponentielles Verhalten auf. Das ist eigentlich typisch für diese Disziplin der Informatik. Alles, was Probleme macht und auf kurz oder lang unlösbar scheint, wird der KI übergeben.
Das Tragische an dieser Geschichte ist, dass all jenes, was die KI mit hohem Aufwand löst, ihr entrissen und der Mustererkennung oder einer anderen Disziplin, gutgeschrieben wird. (Berichtigung: Statt ‚gutgeschrieben’ triffts wohl ‚zu Gute kommt’ besser, und das wäre ganz und gar nicht tragisch!)
Das Traurige an dieser Geschichte ist, dass die Mustererkennung ein hohes Ansehen in der Industrie und Wirtschaft genießt, wohingegen überzeugte KI-ler nur belächelt und nicht für voll genommen werden.
Und wenn meine Tochter eines Tages vor die Wahl gestellt wird, ob Mustererkennung oder KI, dann wird sie sich für die Mustererkennung entscheiden.
Und wenn KI-gesteuerte Roboter einmal die Menschheit vernichten werden, dann wird das schon seine Gründe haben. :-( LOL
Pro!
Behauptung: KI kann dazu verwendet werden, die Zahl der Unfälle zu verringern.
  1. Beispiel 1: Ich denke dabei ganz besonders an medizinische Unfälle, die zum Beispiel mit Hilfe eines Arztkoffer-KI-Assistenten nicht passiert wären.
  2. Beispiel 2: Eine KI-geregelte Ampelsteuerung mit einem gegebenenfalls übergeordneten intelligenten Leitsystem für einen stressfreien Straßenverkehr würde die Zahl riskanter Fahrmanöver und somit auch die Zahl der Unfälle erheblich reduzieren.
  3. Beispiel 3: Ihr Beispiel bitte via E-Mail an info@stefan-baur.de. :-)
Rückführung: Daher glaube ich, dass die KI die Zahl der Unfälle verringern kann.
Vorwärts mit Content-Programmierung!
Letztendlich wird mit der KI versucht, intelligentes (evtl. auch menschliches) Verhalten — überwiegend ohne menschlichen Zutuns — zu simulieren. Die Frage ist nun: Kann man mit vielen Menschen ebenfalls intelligentes Verhalten simulieren? Vielleicht ist es ja möglich, mit Hilfe vieler Menschen einen menschlichen Verstand zu approximieren.

KI-Maschinen lösen bestimmte Arten von Problemen. Anders ausgedrückt, suchen sie nach Lösungen in einem bestimmten Suchraum. Dies tun sie nach bestimmten Regeln bis ein Mensch eingreift und die Regeln oder den Suchraum ändert. Nach meinen Wunschvorstellungen sollte absolut jeder einzelne Mensch die Möglichkeit haben, die Regeln sowie den Suchraum nach seinen eigenen Vorstellungen zu ändern, zu erweitern, zu annotieren, zu berichtigen und zu bejahen oder zu negieren. Dieser Datenerfassungsmaschine entgeht nichts. Jede Programmierung hat Auswirkungen auf den Zustand des Datenfasses (Suchraum und Regeln, evtl. Heuristiken etc.) und somit auch auf die Ergebnisse einer beliebigen Benutzeranfrage, die ihrerseits wiederum Teil des Datenfasses wird. Eine Benutzeranfrage wäre auch zugleich ein wichtiges Programmierelement einer Content-Sprache. Ich spreche von einem kollektiv intelligenten Wesen mit menschlichen Zügen vor dem man schon fast Angst haben sollte. Ob dieses Wesen nun für ein harmonisches Mensch-Umwelt-Gleichgewicht sorgt oder Kriege entscheidet, will ich nicht näher beleuchten.

Mir geht es lediglich um größtmögliches Potential. Wenn also dieses künstliche, „menschliche” Wesen irgendwann einmal das Potential besitzen sollte, die Welt vor dem Untergang zu bewahren, dann stricke ich gerne an diesen Gedanken. Aus diesem Grunde drehe ich zunächst ein wenig an meiner Zielsetzung, derart dass am Ende die Eigenschaft „multimenschlich” immer im Vordergrund stehen wird. Die Technik dazu gibt es bereits, jetzt ist „multimenschlich” angesagt!

Ich fange mit der Programmierbarkeit von Content an:
  1. Content-Programmierung
    1. Definition: ‚Content neuer Generation’.
      1. Content-Sprache

        Hohes, fast natürlichsprachliches Niveau für eine — so wie ich es nenne — „Weltweit-Jedermann-Programmiersprache.” Dabei wird besonders viel Wert auf Universalität, Handhabbarkeit in der Bedienung und Flexibilität gelegt. Die von mir anvisierte, programmierbare, sprachliche Endversion stellt eine Obermenge einer Teilmenge von Esperanto dar, die mir selbst noch nicht ganz bewusst ist. Deshalb konzentriere ich mich zunächst auf die Substantive von Esperanto. Ausgewählte Esperanto-Substantive sollen durch hieroglyphenartige Symbole (multimenschlich modifizierbare Views auf Knoten sowie auf deren Umfeld einer multimenschlich modifizierbaren Taxonomie) substituiert werden. Der Trick dabei ist, dass diese Hieroglyphen als reines Esperanto gelesen werden können, was meines Erachtens eine notwendige Schlüsseleigenschaft darstellt, um schließlich Esperanto in den Stand einer Weltsprache heben zu können – so mein Basic Approach.
      2. Content-Generierung

        Jeder Mensch kann Content generieren, wie dieser in der Content-Sprache programmiert werden kann, soll sich durch die Schnittstelle klären. Ein statisches Content-Programm kann man sich als eine Art Wikipedia-Eintrag vorstellen, wobei die Inhalte tief mit der semantischen Ebene verzahnt sind. Dynamisch wird der Content erst durch den regelbasierten Programmieranteil sowie durch den permanenten Wandel des Datenfasses. Wie wäre es wenn jeder Mensch dieser Welt, pro Tag etwa 5 Minuten lang, Content in einer ihm zugewiesenen Rolle generiert? Eine weitere Herausforderung besteht darin, einen abstrakten sowie mächtigen Content-Typ zu finden. ‚Es’ soll ja auch Spaß machen.
      3. Content-Veröffentlichungsprozess

        Ein Content, der veröffentlicht werden will, unterliegt einem zyklenhaften Veröffentlichungsprozess, der überwiegend von echten Menschen begleitet wird (Lektorat, Annotation, Alpha, Beta, evtl. Übersetzungen etc.). Desweiteren darf der Autor nicht sein eigener Lektor, Annotator etc. sein. Erst mit der erfolgreichen Veröffentlichung eines programmierten Contents wird das Verhalten auch öffentlich wirksam. Handelt es sich um einen Content-Virus – haha, alle Zeichen stehen Kopf –, wird dieser nicht veröffentlicht oder wieder zurück in den Veröffentlichungsprozess eingegliedert.
    2. Laborexperiment

      Als erstes Projekt für den Laborversuch ‚Content neuer Generation’ wähle ich die Herausforderungen eines Schachcomputers, der rein nach kollektiver Programmierung kalkulieren soll. Dieser Schachcomputer soll mit einer dafür ausgelegten Content-Sprache (hohes Abstraktionsniveau) im Mehrnutzerbetrieb entwickelt werden, womit der dabei resultierende Schachcomputer ein (multimenschliches) Programm dieser Content-Sprache wäre und somit reinen Content darstellt. Das Content-Verhalten (hier: Das Verhalten des Schachcomputers) kann zum Beispiel demokratisch zustandekommen, wenn demokratrisch über Regeln abgestimmt werden kann — dabei soll die effektive Intelligenz stets von der Gesamtheit des menschlichen Kollektivs kommen. Für die Suche nach Lösungen wird die KI als interdisziplinäres Mittel zum Zweck eingesetzt — soviel zum Grundgedanken meines derzeitigen Strebens.
  2. … voraussetzung hierfür: Globale, universelle Content-Programmierung in einer ‚Jeder-Mann-Programmiersprache’. Hierbei gilt:
    1. „Der Weg ist das Ziel, denn der Weg ist reich.”
Fortsetzung folgt …
Themenübersicht Themen der Künstlichen Intelligenz
Die KI ist wie ein Fass ohne Boden, das Stoffgebiet der KI ist rießig, selbst wenn man sich nur auf ein einziges Teilgebiet der KI spezialisieren würde, bestünde dennoch bis in alle Ewigkeit immenser Forschungsbedarf an allen Ecken und Enden. Dieser Abschnitt soll Ihnen einen kleinen Überblick über das Stoffgebiet der KI verschaffen.
KI-Architekturen
Zum Thema KI-Architekturen hat sich in der Vergangenheit extrem viel Interessantes getan. Hier gehen nämlich die Meinungen der KI-ler weit auseinander, wie ein intelligentes System in seiner Architektur auszusehen hat. Es gibt bereits viele grundlegend unterschiedliche Strukturierungsansätze intelligenter Systeme, welche leicht zu weiteren Ansätzen inspirieren — vorausgesetzt der Betrachter kann sich von der Bewunderung der überwältigenden Ideenvielfalt losreissen. :-)
Zu diesem Thema ist noch lange nicht das letzte Wort gesprochen.
Wissensrepräsentation, Logik und Kalküle
Hierbei dreht sich Alles um die Frage, wie man mit vorhandenem Wissen formal zu Schlussfolgerungen kommt.
Als Grundlage dafür dient die Logik. Während der Bereich der Aussagenlogik sowie der Prädikatenlogik schon ziemlich ausgereizt ist, versprechen weitere Logiken wie zum Beispiel mehrwertige Modallogiken noch viel Raum für Forschung und neue Erkenntnisse.
Kalküle stellen Ableitungsregeln, ohne die sonst keine Schlussfolgerung möglich wäre, zur Verfügung. Der Gentzen-Kalkül zum Beispiel hat schon viele KI-ler beeindruckt und der Resolutionskalkül liegt bereits der wissensbasierten Programmiersprache Prolog zugrunde.

Das schon fast zur Resignation drängende Problem bei dieser Art zu Schließen (symbolische Wissensverarbeitung) liegt in der äußerst schlechten, exponentiellen Laufzeit. Die Suche nach einer Kompensation tut sich auf — kann man die schlechte Laufzeit nicht durch weitere Strategien kompensieren?
Automatisches Beweisen
Will man mathematische Sätze von Rechenmaschinen beweisen lassen, spricht man vom automatischen Beweisen. Hier greift der KI-ler tief in die Trickkiste der theoretischen Informatik. Die Vollständigkeit sowie die Entscheidbarkeit einer Theorie bestimmen darüber, ob ein Satz der entsprechenden Theorie beweisbar ist oder nicht. Beispielsweise sind im Allgemeinen Sätze der Peano Arithmetik nicht beweisbar, wohingegen Sätze der Presburger Arithmetik aber auch Sätze der Reellen Arithmetik beweisbar bzw. widerlegbar sind. Die Entwicklung von solchen Satz-Beweisern ist nicht nur eine Angelegenheit für Anhänger der theoretischen Informatik, sondern auch für KI-ler. Um das automatische Beweisen praxistauglich zu machen, versucht der KI-ler vorwiegend entsprechende Entscheidungsverfahren in ihrer Laufzeit zu beschleunigen, zum Beispiel durch Bestimmung geeigneter Heuristiken. Denn ein Roboter mit einer Reaktionszeit von fünf Stunden dürfte wohl kaum auf Bewunderung stoßen. :-)

Ein interessanter Anwendungsfall des automatischen Beweisens wäre: kann man ein Computerprogramm in einen Satz der Presburger bzw. Reellen Arithmetik überführen, so hat man auch die Möglichkeit die Korrektheit des Computerprogramms automatisch zu beweisen.

Der praktische Teil meiner Studienarbeit war die Realisierung eines automatischen Beweisers, ein Entscheidungsverfahren für Formeln der Presburger Arithmetik. Diesen Beweiser finden Sie als Applet unter Meine Studienarbeit vor.
Weitere Themen
  1. Semantische Netze
  2. Neuronale Netze
  3. Planen
  4. Bild- und Spracherkennung
  5. Maschinelles Lernen
  6. Fuzzylogik
  7. Expertensysteme
  8. Robotik