reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

Prolog
Grundlagen und Anwendungen
Stefan Schmitgen

Print on Demand - Dieser Artikel wird für Sie gedruckt!

59,99 €

inkl. MwSt. · Portofrei
Dieses Produkt wird für Sie gedruckt, Lieferzeit 5-6 Werktage
Menge:

Produktbeschreibung

1 Einführung.- 2 Einfache Konstrukte und Programme in Prolog.- 2.1 Fakten.- 2.2 Fragen.- 2.3 Regeln.- 2.4 Exkurs: Arbeiten mit einem Prolog-Interpreter.- 3 Elementare Prädikatenlogik.- 3.1 Aussagenlogik.- 3.1.1 Begriffe.- 3.1.2 Der semantische Folgerungsbegriff.- 3.1.3 Der syntaktische Folgerungsbegriff.- 3.1.4 Äquivalenz von Syntax und Semantik.- 3.1.5 Normalformen.- 3.1.6 Resolution.- 3.1.7 Prolog-Algorithmus.- 3.2 Prädikatenlogik.- 3.2.1 Syntax.- 3.2.2 Semantik.- 3.2.3 Äquivalenz von Syntax und Semantik.- 3.2.4 Normalformen.- 3.2.5 Resolution.- 4 Die Syntax von Prolog.- 4.1 Die Beschreibung der Metasprache.- 4.2 Prolog-Datentypen.- 4.2.1 Atome.- 4.2.2 Zahlentypen.- 4.2.3 Variablen.- 4.3 Strukturen.- 4.4 Prolog-Programm.- 4.5 Die Datentypen Term und Liste.- 5 Einfache Built-in-Prädikate.- 5.1 Input/Output.- 5.1.1 Output.- 5.1.2 Input.- 5.2 Arithmetik.- 5.3 Vergleich.- 5.3.1 Vergleich von Tennen.- 5.3.2 Vergleich von Zahlen.- 6 Ablauf der Lösungssuche in Prolog.- 6.1 Lösungsverfahren.- 6.2 Trace, Boxenmodell.- 6.3 Rekursion.- 6.4 Besonderheiten bei einigen prozeduralen Built-in-Prädikaten.- 6.5 fail.- 6.6 true.- 6.7 repeat.- 6.8 not.- 6.9 Der Cut.- 7 Listen und Listenmanipulation.- 7.1 Notation.- 7.2 Built-in-Prädikate für Listen.- 7.3 Kleine Programme mit Listen.- 7.4 Sortieren von Listen.- 7.5 ASCII-Listen.- 8 Terme, Strukturen und Operatoren.- 8.1 Termklassifizierung.- 8.2 Aufbau von Strukturen, Definition von Operatoren.- 8.3 Definition von Operatoren.- 9 Programmkontrolle.- 9.1 Ablaufsteuerung.- 9.2 Debugger.- 10 Filehandling.- 10.1 Schreiben auf Dateien.- 10.2 Lesen von Dateien.- 10.3 Allgemeine Prädikate zur Dateibearbeitung.- 11 Manipulieren der Datensammlung.- 11.1 Programm-Datensammlung.- 11.2 Inhalt der Programm-Datensammlung.- 11.3 Interne Datensammlung.- 11.4 Programmstatus.- 12 Sonstige Built-in-Prädikate.- 12.1 Sammeln von Antworten.- 12.2 Benutzen von Betriebssystembefehlen.- 13 Anwendungen.- 13.1 Mengen.- 13.2 Parser.- 13.3 Spiele.- 13.3.1 Nimm.- 13.3.2 Siebzehn und Vier.- 13.4 Logik.- 13.4.1 Transformation in Prolog-Form.- 13.4.2 Syntaktische Transformation.- 13.4.3 Beschränkte Quantoren.- 13.4.4 Query und Insert für Teile der Aussagenlogik.- 13.4.5 Erkennen von Zyklen.- 13.5 Mathematik.- 13.5.1 Differenzieren.- 13.5.2 Umwandlung der p-adischen Zahlendarstellung in die Dezimaldarstellung.- 14 Expertensysteme.- 14.1 Der Begriff des Expertensystems.- 14.2 Die Struktur eines Expertensystems.- 14.2.1 Komponenten eines Expertensystems.- 14.2.2 Realisierungsmöglichkeiten.- 14.3 Die Realisierung eines Expertensystems in Prolog.- 14.3.1 Struktur und Aufbau.- 14.3.2 Merken von Antworten, Lösungsweg und benutzten Regeln.- 14.3.3 Die Fragekomponente.- 14.3.3.1 Das Grundgerüst der Fragekomponente.- 14.3.3.2 Hilfefunktionen der Fragekomponente.- 14.3.3.3 Rückgängigmachen einer Antwort.- 14.3.4 Die Wissensrepräsentation.- 14.3.4.1 Besonderheiten bei möglichen Mehrfachlösungen.- 14.3.5 Die Erklärungskomponente.- 14.3.5.1 Ausgabe aller Fragen und Antworten.- 14.3.5.2 Ausgabe aller getesteten und erfolgreichen Regeln.- 14.3.5.3 Ausgabe der falsifizierten Regeln.- 14.3.5.4 Warum eine mögliche Lösung keine Lösung ist.- 14.3.6 Der Rahmen für die einzelnen Komponenten.- 14.3.7 Einbinden von Datenbankaufrufen und Programmen.- 14.3.8 Abänderungen und Erweiterungsmöglichkeiten.- A Die Syntax von Prolog.- B Built-in-Prädikate.- C Realisierung eines Expertensystems.- C.1 Die Schale des Expertensystems.- C.2 Beispiel "Autosuche?.- D Anpassung von Regeln an die Schale des Expertensystems.- D.1 Die Regeldatei.- D.2 Die Datei mit den Erklärungen.- Stichwortverzeichnis.
Die Programmiersprache PROLOG hat in den letzten Jahren, nicht zuletzt durch zahl reiche Anwendungen im Bereich der Expertensysteme und der natiirlichsprachlichen Ver arbeitung, immer mehr an Bedeutung gewonnen. Gegeniiber prozeduralen Programmier sprachen, wie z.B. Pascal, in denen Verfahren zur Losung eines Problems programmiert werden miissen, besteht Programmieren in PROLOG im Prinzip aus einer Beschreibung des Problems. Daraus ergeben sich natiirlich ganz andere Methoden und Schwierigkeiten beim Entwurf eines Prograrnms. Dieses Buch ist aus Vorlesungen an der Universitiit Karlsruhe entstanden. Aus den dabei gemachten Erfahrungen resultiert auch der Aufbau des Buches. Zuerst werden einfache Programme und Konstrukte in Prolog vorgestellt, urn den Leser mit der Vorgehensweise bei der Programmierung in PROLOG vertraut zu machen. N ach einem Exkurs iiber Grundlagen der Logik schliefit sich ein Kapitel iiber die Syntax der Sprache an, wobei wir uns an der Syntax von C-Prolog orientiert haben. Bevor dann eine ausfiihrliche Darstellung der wichtigsten Built-in-Priidikate mit Beispielen stattfindet, wird auf den Ablauf bei der Losungssuche in PROLOG eingegangen. Die Anwendungen sind in zwei Bereiche aufgeteilt. Zum einen werden relativ kurze Bei spiele iiber Mengen, Parser, Spiele, Logik und Mathematik vorgestellt, und zum anderen ist den Expertensystemen ein ganzes Kapitel gewidmet. Hierbei geht es weniger urn eine Vorstellung und allgemeine Diskussion solcher Systeme, sondern urn die Entwick lung einer Shell fiir die Implementation von Expertensystemen. 1m Anhang befindet sich dann, bis auf ein Modul fiir die Wissenserfassung, das vollstiindige Programm fiir diese Entwicklungsumgebung.
1 Einführung.- 2 Einfache Konstrukte und Programme in Prolog.- 2.1 Fakten.- 2.2 Fragen.- 2.3 Regeln.- 2.4 Exkurs: Arbeiten mit einem Prolog-Interpreter.- 3 Elementare Prädikatenlogik.- 3.1 Aussagenlogik.- 3.1.1 Begriffe.- 3.1.2 Der semantische Folgerungsbegriff.- 3.1.3 Der syntaktische Folgerungsbegriff.- 3.1.4 Äquivalenz von Syntax und Semantik.- 3.1.5 Normalformen.- 3.1.6 Resolution.- 3.1.7 Prolog-Algorithmus.- 3.2 Prädikatenlogik.- 3.2.1 Syntax.- 3.2.2 Semantik.- 3.2.3 Äquivalenz von Syntax und Semantik.- 3.2.4 Normalformen.- 3.2.5 Resolution.- 4 Die Syntax von Prolog.- 4.1 Die Beschreibung der Metasprache.- 4.2 Prolog-Datentypen.- 4.2.1 Atome.- 4.2.2 Zahlentypen.- 4.2.3 Variablen.- 4.3 Strukturen.- 4.4 Prolog-Programm.- 4.5 Die Datentypen Term und Liste.- 5 Einfache Built-in-Prädikate.- 5.1 Input/Output.- 5.1.1 Output.- 5.1.2 Input.- 5.2 Arithmetik.- 5.3 Vergleich.- 5.3.1 Vergleich von Tennen.- 5.3.2 Vergleich von Zahlen.- 6 Ablauf der Lösungssuche in Prolog.- 6.1 Lösungsverfahren.- 6.2 Trace, Boxenmodell.- 6.3 Rekursion.- 6.4 Besonderheiten bei einigen prozeduralen Built-in-Prädikaten.- 6.5 fail.- 6.6 true.- 6.7 repeat.- 6.8 not.- 6.9 Der Cut.- 7 Listen und Listenmanipulation.- 7.1 Notation.- 7.2 Built-in-Prädikate für Listen.- 7.3 Kleine Programme mit Listen.- 7.4 Sortieren von Listen.- 7.5 ASCII-Listen.- 8 Terme, Strukturen und Operatoren.- 8.1 Termklassifizierung.- 8.2 Aufbau von Strukturen, Definition von Operatoren.- 8.3 Definition von Operatoren.- 9 Programmkontrolle.- 9.1 Ablaufsteuerung.- 9.2 Debugger.- 10 Filehandling.- 10.1 Schreiben auf Dateien.- 10.2 Lesen von Dateien.- 10.3 Allgemeine Prädikate zur Dateibearbeitung.- 11 Manipulieren der Datensammlung.- 11.1 Programm-Datensammlung.- 11.2 Inhalt der Programm-Datensammlung.- 11.3 Interne Datensammlung.- 11.4 Programmstatus.- 12 Sonstige Built-in-Prädikate.- 12.1 Sammeln von Antworten.- 12.2 Benutzen von Betriebssystembefehlen.- 13 Anwendungen.- 13.1 Mengen.- 13.2 Parser.- 13.3 Spiele.- 13.3.1 Nimm.- 13.3.2 Siebzehn und Vier.- 13.4 Logik.- 13.4.1 Transformation in Prolog-Form.- 13.4.2 Syntaktische Transformation.- 13.4.3 Beschränkte Quantoren.- 13.4.4 Query und Insert für Teile der Aussagenlogik.- 13.4.5 Erkennen von Zyklen.- 13.5 Mathematik.- 13.5.1 Differenzieren.- 13.5.2 Umwandlung der p-adischen Zahlendarstellung in die Dezimaldarstellung.- 14 Expertensysteme.- 14.1 Der Begriff des Expertensystems.- 14.2 Die Struktur eines Expertensystems.- 14.2.1 Komponenten eines Expertensystems.- 14.2.2 Realisierungsmöglichkeiten.- 14.3 Die Realisierung eines Expertensystems in Prolog.- 14.3.1 Struktur und Aufbau.- 14.3.2 Merken von Antworten, Lösungsweg und benutzten Regeln.- 14.3.3 Die Fragekomponente.- 14.3.3.1 Das Grundgerüst der Fragekomponente.- 14.3.3.2 Hilfefunktionen der Fragekomponente.- 14.3.3.3 Rückgängigmachen einer Antwort.- 14.3.4 Die Wissensrepräsentation.- 14.3.4.1 Besonderheiten bei möglichen Mehrfachlösungen.- 14.3.5 Die Erklärungskomponente.- 14.3.5.1 Ausgabe aller Fragen und Antworten.- 14.3.5.2 Ausgabe aller getesteten und erfolgreichen Regeln.- 14.3.5.3 Ausgabe der falsifizierten Regeln.- 14.3.5.4 Warum eine mögliche Lösung keine Lösung ist.- 14.3.6 Der Rahmen für die einzelnen Komponenten.- 14.3.7 Einbinden von Datenbankaufrufen und Programmen.- 14.3.8 Abänderungen und Erweiterungsmöglichkeiten.- A Die Syntax von Prolog.- B Built-in-Prädikate.- C Realisierung eines Expertensystems.- C.1 Die Schale des Expertensystems.- C.2 Beispiel "Autosuche".- D Anpassung von Regeln an die Schale des Expertensystems.- D.1 Die Regeldatei.- D.2 Die Datei mit den Erklärungen.- Stichwortverzeichnis.

Inhaltsverzeichnis



1 Einführung.- 2 Einfache Konstrukte und Programme in Prolog.- 2.1 Fakten.- 2.2 Fragen.- 2.3 Regeln.- 2.4 Exkurs: Arbeiten mit einem Prolog-Interpreter.- 3 Elementare Prädikatenlogik.- 3.1 Aussagenlogik.- 3.1.1 Begriffe.- 3.1.2 Der semantische Folgerungsbegriff.- 3.1.3 Der syntaktische Folgerungsbegriff.- 3.1.4 Äquivalenz von Syntax und Semantik.- 3.1.5 Normalformen.- 3.1.6 Resolution.- 3.1.7 Prolog-Algorithmus.- 3.2 Prädikatenlogik.- 3.2.1 Syntax.- 3.2.2 Semantik.- 3.2.3 Äquivalenz von Syntax und Semantik.- 3.2.4 Normalformen.- 3.2.5 Resolution.- 4 Die Syntax von Prolog.- 4.1 Die Beschreibung der Metasprache.- 4.2 Prolog-Datentypen.- 4.2.1 Atome.- 4.2.2 Zahlentypen.- 4.2.3 Variablen.- 4.3 Strukturen.- 4.4 Prolog-Programm.- 4.5 Die Datentypen Term und Liste.- 5 Einfache Built-in-Prädikate.- 5.1 Input/Output.- 5.1.1 Output.- 5.1.2 Input.- 5.2 Arithmetik.- 5.3 Vergleich.- 5.3.1 Vergleich von Tennen.- 5.3.2 Vergleich von Zahlen.- 6 Ablauf der Lösungssuche in Prolog.- 6.1 Lösungsverfahren.- 6.2 Trace, Boxenmodell.- 6.3 Rekursion.- 6.4 Besonderheiten bei einigen prozeduralen Built-in-Prädikaten.- 6.5 fail.- 6.6 true.- 6.7 repeat.- 6.8 not.- 6.9 Der Cut.- 7 Listen und Listenmanipulation.- 7.1 Notation.- 7.2 Built-in-Prädikate für Listen.- 7.3 Kleine Programme mit Listen.- 7.4 Sortieren von Listen.- 7.5 ASCII-Listen.- 8 Terme, Strukturen und Operatoren.- 8.1 Termklassifizierung.- 8.2 Aufbau von Strukturen, Definition von Operatoren.- 8.3 Definition von Operatoren.- 9 Programmkontrolle.- 9.1 Ablaufsteuerung.- 9.2 Debugger.- 10 Filehandling.- 10.1 Schreiben auf Dateien.- 10.2 Lesen von Dateien.- 10.3 Allgemeine Prädikate zur Dateibearbeitung.- 11 Manipulieren der Datensammlung.- 11.1 Programm-Datensammlung.- 11.2 Inhalt der Programm-Datensammlung.- 11.3 Interne Datensammlung.- 11.4 Programmstatus.- 12 Sonstige Built-in-Prädikate.- 12.1 Sammeln von Antworten.- 12.2 Benutzen von Betriebssystembefehlen.- 13 Anwendungen.- 13.1 Mengen.- 13.2 Parser.- 13.3 Spiele.- 13.3.1 Nimm.- 13.3.2 Siebzehn und Vier.- 13.4 Logik.- 13.4.1 Transformation in Prolog-Form.- 13.4.2 Syntaktische Transformation.- 13.4.3 Beschränkte Quantoren.- 13.4.4 Query und Insert für Teile der Aussagenlogik.- 13.4.5 Erkennen von Zyklen.- 13.5 Mathematik.- 13.5.1 Differenzieren.- 13.5.2 Umwandlung der p-adischen Zahlendarstellung in die Dezimaldarstellung.- 14 Expertensysteme.- 14.1 Der Begriff des Expertensystems.- 14.2 Die Struktur eines Expertensystems.- 14.2.1 Komponenten eines Expertensystems.- 14.2.2 Realisierungsmöglichkeiten.- 14.3 Die Realisierung eines Expertensystems in Prolog.- 14.3.1 Struktur und Aufbau.- 14.3.2 Merken von Antworten, Lösungsweg und benutzten Regeln.- 14.3.3 Die Fragekomponente.- 14.3.3.1 Das Grundgerüst der Fragekomponente.- 14.3.3.2 Hilfefunktionen der Fragekomponente.- 14.3.3.3 Rückgängigmachen einer Antwort.- 14.3.4 Die Wissensrepräsentation.- 14.3.4.1 Besonderheiten bei möglichen Mehrfachlösungen.- 14.3.5 Die Erklärungskomponente.- 14.3.5.1 Ausgabe aller Fragen und Antworten.- 14.3.5.2 Ausgabe aller getesteten und erfolgreichen Regeln.- 14.3.5.3 Ausgabe der falsifizierten Regeln.- 14.3.5.4 Warum eine mögliche Lösung keine Lösung ist.- 14.3.6 Der Rahmen für die einzelnen Komponenten.- 14.3.7 Einbinden von Datenbankaufrufen und Programmen.- 14.3.8 Abänderungen und Erweiterungsmöglichkeiten.- A Die Syntax von Prolog.- B Built-in-Prädikate.- C Realisierung eines Expertensystems.- C.1 Die Schale des Expertensystems.- C.2 Beispiel "Autosuche".- D Anpassung von Regeln an die Schale des Expertensystems.- D.1 Die Regeldatei.- D.2 Die Datei mit den Erklärungen.- Stichwortverzeichnis.


Klappentext



Die Programmiersprache PROLOG hat in den letzten Jahren, nicht zuletzt durch zahl­ reiche Anwendungen im Bereich der Expertensysteme und der natiirlichsprachlichen Ver­ arbeitung, immer mehr an Bedeutung gewonnen. Gegeniiber prozeduralen Programmier­ sprachen, wie z.B. Pascal, in denen Verfahren zur Losung eines Problems programmiert werden miissen, besteht Programmieren in PROLOG im Prinzip aus einer Beschreibung des Problems. Daraus ergeben sich natiirlich ganz andere Methoden und Schwierigkeiten beim Entwurf eines Prograrnms. Dieses Buch ist aus Vorlesungen an der Universitiit Karlsruhe entstanden. Aus den dabei gemachten Erfahrungen resultiert auch der Aufbau des Buches. Zuerst werden einfache Programme und Konstrukte in Prolog vorgestellt, urn den Leser mit der Vorgehensweise bei der Programmierung in PROLOG vertraut zu machen. N ach einem Exkurs iiber Grundlagen der Logik schliefit sich ein Kapitel iiber die Syntax der Sprache an, wobei wir uns an der Syntax von C-Prolog orientiert haben. Bevor dann eine ausfiihrliche Darstellung der wichtigsten Built-in-Priidikate mit Beispielen stattfindet, wird auf den Ablauf bei der Losungssuche in PROLOG eingegangen. Die Anwendungen sind in zwei Bereiche aufgeteilt. Zum einen werden relativ kurze Bei­ spiele iiber Mengen, Parser, Spiele, Logik und Mathematik vorgestellt, und zum anderen ist den Expertensystemen ein ganzes Kapitel gewidmet. Hierbei geht es weniger urn eine Vorstellung und allgemeine Diskussion solcher Systeme, sondern urn die Entwick­ lung einer Shell fiir die Implementation von Expertensystemen. 1m Anhang befindet sich dann, bis auf ein Modul fiir die Wissenserfassung, das vollstiindige Programm fiir diese Entwicklungsumgebung.


Ähnliche Artikel