Inhalt

2. Die traditionelle Künstliche Intelligenz

Die traditionelle KI basiert auf den Prinzipien der Logik, den Regelkreisen, der Sprachwissenschaft und den Grundlagen des Denkens. Mit den Programmiersprachen Lisp und Prolog können Programme für KI-Systeme formuliert werden. Expertensysteme sind die größten erfolgreichen Beispiele in dieser Richtung. Ein Expertensystem besteht aus einer detaillierten Wissensdatenbank und einem komplexen Regelsystem für deren Nutzung. Solche Systeme werden beispielsweise für die Unterstützung medizinischer Diagnosen oder für Kreditprüfsysteme eingesetzt.

2.1 KI Klassen- und Codebibliotheken

Das sind Software-Bibliotheken oder -Klassen, die zur Programmierung im Umfeld von KI-Anwendungen genutzt werden. Sie sind nicht als Anwendungen gedacht, sondern mehr als Werkzeug zur Erstellung eigener Programme.

ACL2

ACL2 (A Computational Logic for Applicative Common Lisp) ist ein Theoremprüfer für industrielle Anwendungen. Es ist sowohl ein mathematisches Logiksystem als auch ein System von Werkzeugen zur Konstruktion logischer Beweise. ACL2 arbeitet mit GCL (GNU Common Lisp).

AI Kernel

Der AI Kernel ist eine wiederverwendbare AI-Plattform, die die Verarbeitung natürlicher Sprache benutzt und über ein Aktivator / Context-Modell verfügt, das Multitasking zwischen installierten Zellen gestattet.

AI Search II

herausgegeben von: Peter M. Bouthoorn

Prinzipiell stellt diese Bibliothek dem Programmierer eine Sammlung von Suchalgorithmen zur Verfügung, die zur Lösung der unterschiedlichsten Probleme genutzt werden können. Das Konzept dieser Bibliotheken ist, daß der Programmierer sich bei der Entwicklung von Problemlösungssoftware auf das eigentliche Programm konzentrieren sollte und sich nicht mit der Implementation von Suchalgorithmen beschäftigen muß. Die Idee wurde durch die Implementation einer Sammlung von Such-Klassen realisiert, die bei anderen Programmiersprachen wie C++ durch Merkmale wie Ableitung oder Vererbung realisiert wird. Folgende Suchalgorithmen wurden implementiert:

Zu dieser Bibliothek gibt es auch ein Buch mit dem Titel » Object-Oriented Artificial Instelligence, Using C++«.

Aleph

Dieses Dokument beinhaltet Referenzinformationen zu einer Lernplattform für gewichtete Hypothesen (A Learning Engine for Proposing Hypotheses -- Aleph). Aleph ist ein System mit Induktiver Logischer Programmierung (ILP). Es ist als Prototyp für Forschungsideen gedacht. Aleph ist eine ILP-Algorithmus, der von Dr. Ashwin Srinivasan an der Informatikfakultät der Oxford University in Prolog implementiert wurde. Es wurde besonders für die Compilierung mit dem YAP- Compiler geschrieben.

Chess In Lisp (CIL)

Die CIL-(Schach in Lisp)-Sammlung ist eine Common Lisp-Implementierung aller Kernfunktionen für die Entwicklung von Schachprogrammen. Der Hauptzweck des CIL- Projektes ist es, an Lisp interessierte KI-Forscher für die Arbeit mit Schach zu begeistern.

DAI

Dies ist eine Bibliothek für die Programmiersprache Python, die eine objektorientierte Schnittstelle zum CLIPS-Expertensystem-Tool bereitstellt. Sie beinhaltet eine Schnittstelle zu COOL (CLIPS ObjektOrientierte Sprache), die folgende Fähigkeiten bereitstellt:

FFLL

Die freie Fuzzy Logic Bibliothek (FFLL) ist eine freie Fuzzylogic- Klassenbibliothek und -API, die für geschwindigkeitskritische Anwendungen wie z. B. Videospiele optimiert wurde. FELL kann Dateien laden, die dem IEC 61131-7- Standard entsprechen.

HTK

Das Hidden Markov Model Toolkit (HTK) ist eine portable Werkzeugsammlung zur Erstellung und Bearbeitung von Hidden Markov-Modellen (HMM). Das HTK besteht aus einer Sammlung von Bibliotheksmodulen und Werkzeugen, die im C-Quellcode vorhanden sind. Die Werkzeuge stellen ausgeklügelte Funktionen zur Sprachanalyse, zum HMM-Training, Test und Ergebnisanalyse. Die Software unterstützt die Verwendung sowohl der gleichmäßigen Gaußschen Dichtemischung und der diskreten Verteilung. Das HTK beinhaltet umfangreiche Dokumentationen und Beispiele.

JACK

JACK ist eine neue Bibliothek, die eine eingeschränkte Programmierung und Suche für Java bereitstellt. JACK besteht aus drei Komponenten:

Quellen und Dokumentationen finden sich unter dem oben angegebenen Link.

LK

LK ist eine Implementierung der Lin-Kernighan-Heuristik für das Rundreiseproblem und für das Rucksackproblem. Es wurde für 2D-geometrische Instanzen optimiert und auf bestimmte Instanzen mit bis zu einer Million Orte angewandt. Das Programm beinhaltet ebenfalls Instanzengeneratoren und Perl-Skripte für TSPLIB- Instanzen. Diese Implemenierung führt die »effiziente Clusterkompensation« ein. Das ist eine experimentelle Algorithmen-Technik, deren Verwendung die Lin-Kernighan-Heuristik robuster im Hinblick auf geclusterte Daten macht.

Nyquist

Das Computer-Musikprojekt an der CMU entwickelt Computermusik und interaktive Vorführungstechniken, um die menschliche Erfahrung und Kreativität mit und durch Musik zu steigern. Dieses interdisziplinäre Bestreben beinhaltet Gebiete der Musiktheorie, der Erkenntniswissenschaft, der Künstlichen Intelligenz und des Maschinellen Lernens, der Mensch-Maschine-Interaktion, der Echtzeitsysteme, der Computergraphik und -animation, von Multimedia, Programmiersprachen und der Signalverarbeitung. Ein praktisches Ergebnis dieser Anstrengungen ist z. B. eine interaktive Performance, bei der einige menschliche Musiker mit intelligenten Computern in Echtzeit improvisieren.

OpenCyc

OpenCyc ist die OpenSource-Version von Cyc, der größten und umfangreichsten allgemeinen Wissensdatenbank und allgemeinschlußfolgernden Maschine. Eine Ontologie basiert auf 6000 Konzepten und 60000 Behauptungen dazu.

PDKB

Die PDKB (Public Domain Knowledge Bank) ist eine KI-Wissensbasis von allgemeingültigen Regeln und Tatsachen. Sie basiert auf der Cyc Upper Ontology und auf der MELD-Sprache

Python Fuzzy Logic Module

Ein einfaches Modul für Fuzzy-Logic. Die Datei in diesem Verzeichnis heißt fuz.tar.gz. Der Autor plant auch einen einfachen genetischen Algorithmus und eine Bibliothek für ein neurales Netzwerk. Bitte prüfen Sie die Datei 00_index für entsprechende Versions-Informationen.

QUANT1

QUANT/1 steht für Typ-QUANTifizierer. Es soll eine Alternative zu Prolog- ähnlichen (Resolutions-)Sytemen sein. Die Hauptkomponenten weisen noch unzureichende Fähigkeiten zur Eliminierung von Quantifizierern auf, Scolemisation, einfache Verständlichkeit, Operationen für umfangreiche Formeln, Akzeptanz von Nicht-Horn-Formeln und Iterative Vertiefung. Die aktuelle Bibliothek, die in diesem Projekt verwendet wird, nennt sich ATPPCF (Automatic Theorem Prover in calculus of Positively Constructed Formulae).

ATPPCF will als Bibliothek (Inferenzmaschine) und als eine Erweiterung der Prädikatenverarbeitungs-Sprache als eine neue logische Sprache verstanden werden. Die Bibliothek kann in andere Programmiersprachen wie TCL, Python oder Perl eingebunden werden. Die vorrangige Inferenzmethode der Maschine wird die »Suche der Inferenz in der Sprache der Positiv Konstruierten Formeln (PCF)« sein (einer Untermenge der Prädikatenberechnung, die in beide Richtungen umgesetzt wurde). Die Sprache wird als Skriptsprache für die Maschine verwendet. Es gibt aber auch Möglichkeiten, diese mit den Erweiterungssprachen der Hauptsoftware zu ersetzen.

Screamer

Screamer ist eine Erweiterung von Common Lisp, die die Unterstützung nichtdeterministischer Programmierung hinzufügt. Screamer besteht aus zwei Ebenen. Die nichtdeterministische Basisebene enthält die Unterstützung für Backtracking und unlösbare Nebeneffekte. Darüberhinaus stellt Screamer eine umfassende und klare Programmiersprache zur Verfügung, in der man gemischte Systeme numerischer und symbolischer Art formulieren und lösen kann. Zusammengenommen erweitern diese zwei Ebenen Common Lisp praktisch mit der gesamten Funktionalität von Prolog und strengen Programmiersprachen wie CHiP und CLP(R). Desweiteren ist Screamer voll in Common Lisp integriert. In Screamer geschriebene Programme können auch mit anderen Common Lisp-Erweiterungen wie z.B. CLOS, CLIM und Iterate zusammenarbeiten.

SPASS

SPASS: Ein automatisierter Theoremprüfer für First-Order-Logik mit Gleichheit. [...]

ThoughtTreasure

ThoughtTreasure ist ein Projekt zur Erzeugung einer Datenbank allgemeingültiger Regeln zur Verwendung in jeder Applikation. Es besteht aus einer Datenbank von etwas über 100000 Regeln und einer C-API zur Integration in die eigenen Anwendungen. Python-, Perl-, Java- und Tcl-Schnittstellen sind bereits verfügbar.

Torch

Torch ist eine in C++ geschriebene Bibliothek für maschinelles Lernen. Ihr Ziel ist es, den besten derzeit verfügbaren Algorithmus zur Verfügung zu stellen. Sie ist (und bleibt) also immer im Entwicklungsstadium.

Torch ist eine offene Bibliothek, deren Autoren jeden ermuntern möchten, neue Pakete zu entwickeln, um sie in zukünftige Versionen auf der offiziellen Website mit einzubauen.

2.2 KI Software-Kits, Anwendungen usw.

Es gibt verschiedene Anwendungen, Software-Kits usw. für Forschungszwecke auf dem Gebiet der Künstlichen Intelligenz. Ihre Handhabung ist sehr unterschiedlich, abhängig davon, ob sie für spezielle Forschungszwecke oder mehr als einfach zu bedienende kommerzielle Software entworfen wurden.

ASA - Adaptive Simulated Annealing

ASA (Adaptive Simulated Annealing) ist ein mächtiger, umfassender Optimierungsalgorithmus in C, der besonders nützlich ist für nichtlineare und/oder stochastische Systeme. ASA wurde entwickelt, um die statistisch beste Annäherung einer nichlinearen nichtkonvexen Kostenfunktion über einen D- dimensionalen Raum zu finden. Dieser Algorithmus gestattet die Berechnung von Abkühlzeiten für eine Temperatur T, deren Wert in der Abkühlzeit k exponentiell sinkt, wobei T = T_0 exp(-c k^1/D). Die Einführung einer Wiederabkühlung erlaubt auch eine Anpassung, um die Empfindlichkeiten in dem multidimenaionalen Parameterraum zu ändern. Diese Abkühlung ist schneller als die schnelle Cauchy-Abkühlung, wo T = T_0/k, und viel schneller als die Boltzmann-Abkühlung, wo T = T_0/ln k.

Babylon

BABYLON ist eine modulare, konfigurierbare hybride Umgebung für die Entwicklung von Expertensystemen. Wichtige Merkmale sind die Verwaltung von Objekten, Regeln mit Vorwärts- und Rückwärtsverkettung, Logik (Prolog) und Constraints. BABYLON wurde in Common Lisp implementiert und eingebettet.

cfengine

Cfengine oder die Konfigurations-Maschine ist eine Hochsprache für den Bau von Expertensystemen, die große Computernetzwerke administrieren und konfigurieren. Cfengine nutzt die Idee der Klassen und eine primitive Form der Intelligenz, um die Konfiguration großer Systeme auf die günstigste Art zu definieren und zu automatisieren. Cfengine wurde als Teil des »Computer-Immunsystems« konzipiert.

CLEARS

Das System CLEARS ist eine interaktive graphische Entwicklungsumgebung für Berechnungs-Semantiken. Das Werkzeug gestattet die Untersuchung und den Vergleich verschiedener semantischer Formalismen und ihre Wechselwirkung mit der Syntax. Dies befähigt den Nutzer, einen Überblick über den Bereich der Möglichkeiten semantischer Konstruktionen zu bekommen und auch, wo eine echte Übereinstimmung zwischen den Theorien herrscht.

CLIG

CLIG ist ein interaktives, erweiterbares Zeichenprogramm zur Visualisierung linguistischer Datenstrukturen wie z. B. Bäume, Merkmalsausprägungen, Discourse Representation Structures (DRS), logische Formeln usw. All das kann miteinander vermischt und frei kombiniert sowie ineinander eingebettet werden. Das Programm wurde sowohl als eigenständige Anwendung als auch zur Erweiterung von Sprach- Anwendungen gedacht, die ihre Ausgaben graphisch darstellen.

CLIPS

CLIPS ist ein produktives Entwicklungs- und Liefer-Expertensystem-Werkzeug, das eine komplette Umgebung für die Konstruktion von Regeln und/oder objektbasierten Expertensystemen zur Verfügung stellt.

CLIPS stellt ein übergreifendes Werkzeug zur Arbeit mit einer großen Vielfalt an Wissensdaten bereit. Es werden die folgenden drei Programmierarten unterstützt: regelbasiert, objektorientiert und prozedural. Regelbasierte Programmierung erlaubt es, Wissen als Heuristik oder »Faustregeln« darzustellen, die eine Menge von Aktionen spezifizieren, die dann in einer gegebenen Situation angewandt werden. Objektorientierte Programmierung erlaubt es, komplexe Systeme als einzelne Komponenten darzustellen (die dann leicht für die Modellierung anderer Systeme oder zur Erzeugung neuer Komponenten wiederverwendet werden können). Die prozeduralsprachlichen Fähigkeiten von CLIPS sind ähnlich denen von C, Pascal, Ada und Lisp.

EMA-XPS - Hybride graphische Expertensystem-Shell

EMA-XPS ist eine hybride grafische Expertensystemschale. Sie basiert auf der textorientierten Schale Babylon 2.3 der Gesellschaft für Mathematik und Datenverarbeitung (GMD). Zusätzlich zu Babylon's KI-Fähigkeiten (objektorientierte Datenrepräsentation, vorwärts- und rückwärtsverkette Regeln - eingebunden in Regelmengen, Hornklauseln und Constraintnetzwerke) wird eine grafische Benutzerschnittstelle bereitgestellt, die unter dem X11-Window-System und der OSF/Motif Fensterbibliothek realisiert ist.

FOOL & FOX

FOOL steht für Fuzzy Organizer OLdenburg. Es ist das Ergebnis eines Projektes der Universität Oldenburg. FOOL ist eine graphische Benutzerschnittstelle für die Entwicklung von Fuzzy-Regelbasen. Das Werkzeug ist behilflich bei der Erzeugung und Pflege einer Datenbank, die das Verhalten eines Fuzzy-Controllers oder ähnlichem spezifiziert.

FOX ist eine kleine, aber leistungsfähige Fuzzy-Engine, die diese Datenbank liest, einige Eingabewerte einliest und neue Steuerwerte berechnet.

FUF and SURGE

FUF ist eine erweiterte Implementierung des Formalismus der Funktionalen Einheitlichen Grammatiken (FEGs). Sie wurde von Martin Kay eingeführt, der sich auf die Aufgabe der Erzeugung der natürlichen Sprache spezialisiert hat. Sie wurde um die folgenden Merkmale zu den Basisformalismen ergänzt:

Diese Erweiterungen erlauben die Entwicklung großer Grammatiken, die effizient verarbeitet werden können und viel einfacher verstanden und gepflegt werden können. SURGE ist eine große syntaktische Realisierung der englischen Grammatik, die in FUF geschrieben wurde. SURGE wurde entwickelt, um als »Blackbox«-Komponente für die Syntaxgenerierung in einem größeren Syntax-Generierungssystem zu dienen, das eine umfangreiche Datenbank der englischen Syntax enthält. SURGE kann auch als Plattform für die Untersuchung von Grammatiken genutzt werden, wobei auch Generierungs-Aspekte eine Rolle spielen.

The Grammar Workbench

Scheint veraltet zu sein??? Es ist von der Seite verschwunden, obwohl das Elternprojekt noch läuft.

Die Grammar Workbench (kurz: GWB) ist eine Umgebung für die komfortable Entwicklung von Affix-Grammatiken im AGFL-Formalismus. Sie kann verwendet werden,

GSM Suite

GSM-Suite ist eine Sammlung von Programmen zur Nutzung endlicher Maschinen in einer graphischen Oberfläche. Die Sammlung besteht aus Programmen zum Editieren, Compilieren und Ausdrucken von Zustandsmaschinen. Die Suite beinhaltet einen Editor (gsmedit), einen Compiler (gsm2cc), der eine C++-Implementierung einer Zustandsmaschine erzeugt, einen PostScript-Generator (gsm2ps) und zwei andere kleine Programme. GSM fällt unter die GNU Public License und ist deshalb frei nutzbar unter den Bedingungen dieser Lizenz.

Illuminator

Illuminator ist eine Sammlung von Werkzeugen zur Entwicklung von OCR- und Bilderkennungs-Software. Illuminator hat zwei Hauptkomponenten: eine Bibliothek zur Darstellung, zur Speicherung und Weiterverarbeitung von OCR-Informationen (früher unter dem Namen dafslib bekannt), und einen X-Windows »DAFS«- Dateibetrachter (illum). Illuminator und dafslib wurden entwickelt, um bestehende OCR-Formate zu ersetzen und sich als Industriestandard durchzusetzen. Insbesondere sind sie erweiterbar, um mehr als nur Englisch zu verarbeiten.

Die Merkmale dieser Version:

Isabelle

Isabelle ist ein bekannter allgemeiner Theoremprüfer, der an der Cambridge University und an der TU München entwickelt wurde. Existierende Logiken wie Isabelle/HOL stellen eine Umgebung zum Theorembeweisen zur Verfügung, die für recht große Anwendungen sofort einsetzbar sind. Isabelle kann auch als Rahmen für ein Rapid Prototyping deduktiver Systeme genutzt werden. Es wird mit einer großen Bibliothek ausgeliefert, die aus den Teilen Isabelle/HOL (klassische höherwertige Logik), Isabelle/HOLCF (Scott's Logik für berechenbare Funktionen mit HOL), Isabelle/FOL (klassische und intuitionistische first-order Logik) und Isabelle/ZF (Zermelo-Fraenkel Mengentheorie über die FOL) besteht.

Jess, die Java-Expertensystem-Oberfläche

Jess wurde der bekannten CLIPS Expertensystem-Oberfläche nachempfunden. Es ist komplett in Java geschrieben. Mit Jess kann man bequem seinen Anwendungen die Fähigkeit des »Schlußfolgerns« implementieren. Jess ist kompatibel zu allen Java- Versionen ab Version 1.0.2. Jess implementiert folgende CLIPS- Konstrukte: defrules, deffunctions, defglobals, deffacts und deftemplates.

learn

Learn ist ein Vokabel-Lernprogramm mit Speicher-Modell.

LISA

LISA (Lisp-based Intelligent Software Agents) ist ein Produktionsregelsystem, das stark von JESS (Java Expert System Shell) beeinflußt wurde. Im Inneren besitzt es einen Schlußfolgerungsalgorithmus, der auf dem Rete-Mustervergleich basiert. LISA stellt auch die Fähigkeit des Schließens über gewöhnliche CLOS-Objekte zur Verfügung.

NICOLE

NICOLE (Nearly Intelligent Computer Operated Language Examiner) ist eine Theorie oder ein Experiment. Es untersucht, ob ein Computer, dem genügend Kombinationen über die Beziehungen von Wörtern, Phrasen und Sätzen eingespeist wurden, antworten kann. Es ist ein Versuch, eine Unterhaltung durch das Lernen von Wortbeziehungen zu simulieren. Ein Mensch kommuniziert mit NICOLE über die Tastatur, und das Programm antwortet mit seinen eigenen Sätzen, die automatisch auf der Grundlage der in der Datenbank gespeicherten Muster gebildet werden. Jeder neu eingegebene Satz, über den NICOLE nichts weiß, wird in die Datenbank geschrieben, wodurch die Wissensbasis des Programms erweitert wird.

Otter: Ein automatisiertes Deduktionssystem

Unser aktuelles automatisiertes Deduktionssystem Otter wurde entwickelt, um Theoreme der Prädikatenlogik erster Ordnung zu beweisen. Die Schlußregeln des Otter-Systems basieren auf der Auflösung und Paramodulation, und es enthält Unterstützungen für die Termersetzung, Termanordnung, Knuth-Bendix- Vervollständigung, Gewichtung und Strategien zur gerichteten und eingeschränkten Beweissuche. Otter kann auch als symbolischer Taschenrechner benutzt werden und besitzt ein Gleichungs-Programmiersystem.

PVS

PVS ist ein Überprüfungssystem. D. h., es ist eine Spezifizierungssprache mit integrierten Werkzeugen und einem Theorembeweiser. Es wurde beabsichtigt, den Stand der Technik der mechanisierten formalen Methoden abzudecken und ausreichend allgemein formuliert, um für wichtige Anwendungen genutzt werden zu können. PVS ist ein Forschungs-Prototyp: es wird entwickelt und erweitert wie wir neue Fähigkeiten entwickeln oder anwenden und wie die Belastung in der Realität neue Anforderungen bedingt.

SNePS

Das kangfristige Ziel der SNePS-Forschungsgruppe ist der Entwurf und die Implementierung eines kognitiven maschinellen Agenten, der die natürliche Sprache benutzt. Diese Forschungsergebnisse sollen in die Künstliche Intelligenz, die maschinelle Linguistik und kognitive Wissenschaften einfließen, die notwendig für diese Bemühungen sind. Der dreiteilige Fokus dieser Gruppe liegt auf der Wissensrepräsentation, dem Schlußfolgern und der Generierung und dem Verstehen der natürlichen Sprache. Die Gruppe ist weithin bekannt für die Entwicklung des SNePS-Wissensrepräsentations- und Schlußfolgerungssystems sowie Cassie, seinem kognitiven maschinellen Agenten.

Soar

Soar wurde als allgemeine kognitive Architektur entwickelt. Wir beabsichtigen, der Soar-Architektur letztendlich folgende Fähigkeiten zu implemetieren:

Mit anderen Worten: unser Ziel für Soar ist es, alle Fähigkeiten, die von einem allgemeinen intelligenten Agenten erwartet werden zu unterstützen.

TCM

TCM (Toolkit for Conceptual Modeling) ist unsere Sammlung graphischer Editoren. TCM beinhaltet graphische Editoren für Entity-Relationship-Diagramme, Klassen- Relationship-Diagramme, Daten- und Ereignisflußdiagramme, Zustandsübergangsdiagramme, Jackson-Prozeßstrukturdiagramme und System- Netzwerkdiagramme, Funktionsverfeinerungsbäume und verschiedene Tabelleneditoren wie z. B. einen Funktions-Entitäten-Tabelleneditor und einen Funktionszerlegungs- Tabelleneditor. TCM ist leicht zu bedienen und führt zahlreiche Konsistenzprüfungen aus, manche davon sofort, andere auf Benutzerwunsch.

WEKA

WEKA (Waikato Environment for Knowledge Analysis) ist das Werkzeug zur Anwendung maschineller Lerntechniken auf praktische Probleme. Es ist ein umfangreicher »Softwarearbeitsbereich«, der eine Analyse realer Daten gestattet. WEKA integriert verschiedene Werkzeuge des maschinellen Lernens in einem gemeinsamen System unter einer einheitlichen Benutzeroberfläche. Es wurde entworfen, um eine Vereinfachungs-Methodologie zu unterstützen, die es dem Nutzer gestattet, interaktiv mit einfachen Maschinen-Lernwerkzeugen zu experimentieren, bevor nach komplexeren Lösungen gesucht wird.


Inhalt