Produktionssystem (Informatik)
Ein Produktionssystem, genauer ausgedrückt, ein System von „Produktionen“, ist ein Computerprogramm, das typischerweise dazu verwendet wird, um irgendeine Form künstlicher Intelligenz bereitzustellen, die hauptsächlich aus einer Reihe von Verhaltensregeln besteht, aber auch den Mechanismus enthält, der erforderlich ist, um diese Regeln zu befolgen, falls das System auf Zustände der Welt reagiert. Diese als „Produktionen“ bezeichneten Regeln bilden eine grundlegende Darstellung, die sich etwa bei der automatisierten Planung ebenso wie bei Expertensystemen und bei der Auswahl von Aktionen als nützlich erweist.
„Produktionen“ bestehen aus zwei Teilen: einer sensorischen Vorbedingung (oder „IF“ -Anweisung) und einer Aktion (oder „THEN“). Wenn die Voraussetzung einer „Produktion“ dem aktuellen Zustand der Welt entspricht, wird die „Produktion“ als „ausgelöst“ (engl. „triggered“) bezeichnet. Falls die Aktion einer „Produktion“ ausgeführt wird, gilt sie als „abgeschossen“ (engl. „fired“). Ein Produktionssystem enthält einen Regelinterpreter. Der Regelinterpreter muss einen Mechanismus zum Priorisieren von „Produktionen“ bereitstellen, wenn mehr als eine solche ausgelöst wird.
Aus der Sicht der Theorie der formalen Sprachen bezeichnet ein Produktionssystem einen Fundus an Grammatikregeln, anhand derer ein Interpreter eine Folge von Anweisungen abarbeitet.
Ein Produktionssystem wird funktionaler im technischen Sinne, wenn es zusätzlich mit einer Datenbank verknüpft ist, wobei die Datenbank zuweilen als „Speicher“ bezeichnet wird und Daten über den aktuellen Status bzw. über das „Wissen“ (engl. „knowledge“) enthält; ein Regelinterpreter ist in solch einer Konstellation mit enthalten, denn letzterer gehört zum Produktionssystem mit dazu.
Beziehung zur logischen Programmierung
BearbeitenSowohl Russells als auch Norvigs „Einführung in die künstliche Intelligenz“[1] als auch John Sowas „Wissensrepräsentation: Logische, philosophische und rechnergestützte Grundlagen“[2] charakterisieren Produktionssysteme als logische Systeme, die durch Vorwärtsverkettung argumentieren. Stuart Shapiro, der John Sowas Buch rezensiert[3], argumentiert jedoch, dass dies eine falsche Darstellung ist. In ähnlicher Weise argumentieren Kowalski und Sadri[4] dahingehend, dass Produktionssysteme keine logische Semantik besitzen, da Aktionen in Produktionssystemen als Imperative verstanden werden. Ihr logisches und computergestütztes „Logic Production System“[5] (LPS) kombiniert Logikprogramme, die als „Überzeugungen“ eines Softwareagenten gedeutet werden, mit reaktiven Regeln, die als Ziele eines Agenten interpretiert werden. Sie argumentieren, dass die reaktiven Regeln in „LPS“ den Produktionsregeln eine logische Semantik verleihen, die letzteren ansonsten fehlen würden.[6]
Literatur
Bearbeiten- David Klahr et al. (Hrsg.): Production system models of learning and development. The MIT Press, Cambridge, Mass. 1987, ISBN 0-262-11114-4.
Einzelnachweise
Bearbeiten- ↑ Stuart J. Russell, Peter Norvig: Artificial intelligence: A modern approach. 4. Aufl., Pearson Education Limited, Hoboken, NJ, [2021], ISBN 978-0-13-461099-3.
- ↑ John F. Sowa: Knowledge representation: logical, philosophical, and computational foundations. Brooks/Cole, Pacific Grove, CA, 2000, ISBN 0-534-94965-7.
- ↑ S. Shapiro: Review of Knowledge representation: logical, philosophical, and computational foundations. In: Computational Linguistics. Bd. 2, H. 2 (2001), S. 286–294.
- ↑ Robert Kowalski, Fariba Sadri: LPS - a logic-based production system framework. Department of Computing, Imperial College, London, 12. Januar 2009.
- ↑ "LPS|Logic Production Systems" ic.ac.uk-Internetportal (Department of Computing, Imperial College, London), o. J., Website abgerufen am 25. März 2021.
- ↑ Robert Kowalski, Fariba Sadri: Integrating logic programming and production systems in abductive logic programming agents. In: Web reasoning and rule systems: third international conference, RR 2009, Chantilly, VA, USA, October 25 - 26, 2009; proceedings. A. Polleres, T. Swift (Hrsg.) (Lecture Notes in Computer Science; 5837) Springer, Berlin 2009, ISBN 978-3-642-05081-7, S. 1–23 (PDF: Preprint ohne Seitennummerierung).