PRODUKTIONS VORSCHRIFTEN


PRODUCTION RULES
Copyright © By William H. Wilson
For original English text, go to: http://www.cse.unsw.edu.au/~billw/cs9414/notes/kr/rules/rules.html

link: Brothers Ed. 3, Abschnitt 15, p. 347 –

Zweck:
Um das System, das Wissen darstellen in Form von Regeln zu beschreiben. Regelbasierte Systeme verwenden typischerweise RAM, , die zunächst enthält die Eingabedaten, die insbesondere durchzuführen, und Schluss, , um wirksame Regeln zu finden und anzuwenden.
Keywords: entgegengesetzten Schluss, Condition-Action Regeln, Conflict Resolution, Expert Systems, Feuer , O-Leitung, logische Schlussfolgerung, Zyklus, Welligkeit Regeln , Regeln basierendes System , Arbeitsspeicher
Plan:
  • Condition-Action Regeln darstellen kann Wissen
  • rückwärts und vorwärts Verknüpfung
  • Regeln, Fakten, Arbeitsgedächtnis, Inferenz
  • Match-Entscheidungs-Aktion Zyklus: Strategien zur Konfliktlösung
  • Bagger Beispiel eines Systems

Einleitung

„Produktion“ im Titel dieser Notizen (oder „Herstellung Regel“) ist ein Synonym für „Regel“, dh, Condition-Action Regeln (siehe unten). Der Begriff scheint aus dem Begriff verwendet, um die Regeln des <ein Rewrite entstanden sein Chomsky Typ der Grammatik, wo zum Beispiel kontextfreie Grammatik Regeln manchmal auch als kontext-freie Produktionen verwiesen wird.

Regeln

Sie riefen auch

Condition-Action Regeln.

Diese Komponenten sind auf Basis von Regeln sind wie folgt:

wenn dann

oder

wenn dann

Beispiel: wenn Der Patient hat ein hohes Maß an Ferritin im Blut Enzym und Der Patient hat das Cys282? Tyr Mutation im HFE-Gen dann , um den Patienten zu machen gemohromotoz * * medizinische Anwendung dieser Regel wird nicht angegeben hier Regeln ausgewertet werden können:

  • umgekehrte Schlussfolgerungen
  • direkte Rückschlüsse

Meinung O

  • Um die Entscheidung zu bestimmen muss, um in die entgegengesetzte Richtung auf der Suche nach Rechtfertigung für die Entscheidung zu arbeiten.
  • Schließlich muss die Entscheidung durch die Tatsachen gerechtfertigt werden.


Direkte Ausgabe

  • Da einige Fakten, nach vorne zu arbeiten durch Rückschluss netto.
  • entdeckt, welche Schlussfolgerungen aus den Daten gezogen werden können.


Gerade Pins 2

Während das Problem gelöst ist oder nicht, die Regeln des „if“ wird über die aktuelle Situation ausgeführt:

  1. Sammlung Regel, dass „wenn“-Teil erfüllt ist.
  2. Wenn mehr als eine Regel ist Teil der „if“ wird durch die Verwendung einer Strategie der Konfliktlösung, um alle bis auf einen beseitigen durchgeführt.
  3. Tun Sie, was Teil der Regel „, dann“ sagt zu tun.

Produktion Regeln

Die Produktion besteht normalerweise aus

  • Regelwerk
  • Arbeitsgedächtnis, die temporären Daten speichert
  • direkte Rückschlüsse Schlussfolgerungen Motor

Spiel-Resolve-Act-Zyklus

Spiel Entscheidungs-Aktion-Zyklus, der den Motor abschließend.

Schleife

mit den Bedingungen der Regeln mit dem Inhalt des Arbeitsspeichers erfüllen wenn keine Regel zutrifft dann Stop Konfliktlösung Act (dh führen Sie den Ausgang der Regel)

Ende Schleife


Dredge

  • Bagger ist eine einfache Regel, das, wie Sie Elemente in einem Supermarkt, Hotel Pack beschreibt.Erklären
  • Bagger, beschreiben wir eine Reihe von möglichen Strategien zur Lösung von Konflikten.
  • Arbeitsspeicher Bagger hat Tabellen Objektattribute (Komposition) an der Supermarktkasse verknüpft.
  • Es gibt 4 Schritte im Bagger, Bagger, und verwendet das Element im Arbeitsspeicher, die so genannte „Step“ zu verfolgen, wo er ist zu halten.
  • Jede Regel überprüft den Wert „Crock“ als Teil seiner wenn Teil, und würde nur zu einer der vier Schritte anwenden.
  • Dies macht es einfacher, sicher sein, dass die Regeln nicht in unerwarteter Weise (die Falle, ein auf Regeln basierendes System zu schaffen) zu interagieren.

Schritte Bagger

  1. Bestellung überprüfen: Stellen Sie sicher, dass der Kunde gewählt hat, zu sehen, ob etwas fehlt, schlage Ergänzungen.
  2. Pack große Elemente: Legen Sie große Gegenstände in der Tasche, legte eine große Flasche in den ersten Platz.
  3. Updates Schutz Artikel: in einem mittelständischen Elemente, lege Tiefkühlkost in Plastiktüten.
  4. Pack Kleinteile: in kleine Einzelteile zu setzen, wo es Raum.

Das Arbeitsgedächtnis

Schritt: Bestellung überprüfen
Bag1:
Ausgepackt: Brot
          Glop
          Granola (2)
          Eis
          Chips

Objektattribute

Art der Behälter PUNKTGRÖSSE eingefroren?
Brot Plastikbeutel Medium nicht
Glop Jar Kleine Nein
Granola Karton Große Nein
Eis Karton Medium Ja
Pepsi Flasche Große Keine
Chips Plastikbeutel Medium nicht

Regeln Schritt 1:

 B1:
wenn der Schritt Check-Bestellung
und es gibt eine Tüte Chips
und es gibt keine Soft-Drink-Flasche
fügen Sie dann eine Flasche alkoholfreies Getränk zur Ordnung

B2:
wenn der Schritt Check-Bestellung
dann einzustellen, um den Check-Schritt
und starten Sie den Pack-large-Elemente Schritt

welche dieser Regeln sollte gewählt werden, wenn in Schritt-Verfahren zu testen?


Conflict Resolution

Die spezifische Reihenfolge
Wenn der Zustand des
Regel ist eine Erweiterung eines anderen, mit der ersten Regel, weil es mehr spezialisierte für die Aufgabe ist. Wie bestelle ich
Wählen Sie die erste Regel im Text, die Aufträge von oben nach unten.
Bestelldaten
Sortieren von Daten in einer Liste der Prioritäten. Wählen Sie eine Regel, die auf Daten, die die höchste Priorität haben gilt.
Größe bestellen
Wählen Sie eine Regel, die die größte Anzahl von Bedingungen hat.


Konfliktlösung fortgesetzt

Die Neuheit der Bestellung

am häufigsten verwendete Regel hat höchste Priorität oder
least recently used Regel hat höchste Priorität oder
am häufigsten die höchste Priorität verwendet oder
least recently used dies hat die höchste Priorität.
Mehr
Context Restriction
reduzieren die Wahrscheinlichkeit von Konflikten durch die Trennung der Regeln in Gruppen, nur einige von ihnen sind jederzeit aktiv. Es gibt ein Verfahren, das aktiviert und deaktiviert Gruppen.

Rules Schritt 2

 B3:
wenn der Schritt Pack-large-Artikel
und es gibt eine große Artikel zu verpackenden
und es gibt eine große Flasche zu verpackenden
und es ist eine Tasche mit <6 große Gegenstände
dann stellte die Flasche in die Tüte

B4:
wenn der Schritt Pack-large-Artikel
und es gibt eine große Artikel zu verpackenden
und es ist eine Tasche mit <6 große Gegenstände
legen Sie dann das große Stück in die Tüte

B5:
wenn der Schritt Pack-large-Artikel
und es gibt eine große Artikel zu verpackenden
dann eine neue Tasche

B6:
wenn der Schritt Pack-large-Artikel
dann eine neue Tasche

Das Arbeitsgedächtnis

 Schritt: Pack-mittel-Artikel
Bag1: Pepsi
Granola (2)
Ausgepackt: Brot
Glop
Eis
Chips

Rules Schritt 3:

 B7:
wenn der Schritt Pack-mittel-Artikel
und es ist ein Medium zu verpackenden Artikel
und es ist eine leere Tasche oder ein Beutel mit mittlere Werte
und der Sack ist noch nicht voll
und das Medium Element wird eingefroren
und das Medium Artikel ist nicht auf einen Gefrierbeutel
dann das entsprechende Medium Element in einem Gefrierbeutel

B8:
wenn der Schritt Pack-mittel-Artikel
und es ist ein Medium zu verpackenden Artikel
und es ist eine leere Tasche oder ein Beutel mit mittlere Werte
und der Sack ist noch nicht voll
dann das entsprechende Medium Element in der Tasche

B9:
wenn der Schritt Pack-mittel-Artikel
und es ist ein Medium zu verpackenden Artikel
dann eine neue Tasche

B10:
wenn der Schritt Pack-mittel-Artikel
dann brechen Sie die Pack-mittel-Elemente Schritt
und starten Sie den Pack-small-Elemente Schritt

Das Arbeitsgedächtnis

 Schritt: pack-small-Artikel
Bag1: Pepsi
Granola (2)
Bag2: Brot
Eis (in Gefrierbeutel)
Chips
Ausgepackt: Glop

Regeln Schritt 4

 B11:
wenn der Schritt Pack-small-Artikel
und es ist ein kleiner Punkt zu verpackenden
und der Sack ist noch nicht voll
und der Beutel enthält keine Flaschen
dann setzen Sie den kleinen Punkt in der Tasche

B12:
wenn der Schritt Pack-small-Artikel
und es ist ein kleiner Punkt zu verpackenden
und der Sack ist noch nicht voll
dann setzen Sie den kleinen Punkt in der Tasche

B13:
wenn der Schritt Pack-small-Artikel
und es ist ein kleiner Punkt zu verpackenden
dann eine neue Tasche

B14:
wenn der Schritt Pack-small-Artikel
dann beenden Sie die Packung-kleine-Elemente Schritt
und stoppen

Durchführungsbestimmungen in Prolog

Klicken Sie hier, um die Prolog-Code für ein einfaches System von Regeln der Produktion zu sehen.

Um diesen Code zu verwenden, kopieren Sie sie in Ihr eigenes Verzeichnis, zum Beispiel,

% cd
% cp ~ ~ cs9414/public_html/Examples/rules-swi.pro

Prolog und starten Sie dann den folgenden Dialog zu tun:


Dialog mit dem Regeln-swi.pro

%  Prolog-Regeln swi.pro 
? -.   wm (X)  

[Prologue wird Ihnen zeigen, was er weiß, Fakten (a, b, c). Vergessen Sie nicht, geben Sie „,“ nach jeder Entscheidung ist Prologue]
.

 -.  run 
Ja
? -.   wm (X)  

[Antwort sagt Ihnen, dass Prolog, dass die Zeit nicht wusste, was A, B und C wahr sind, und welche anderen „Fakten“, weiß sie jetzt. Vergessen Sie nicht „,“ C]

? -.   already_fired (X, Y)  

[Dieses Mal, sagt die Antwort, dass die beiden Regeln gefeuert werden, und gibt ihre Namen und ihre Bedingungen. Regeln benannt null auch genannt wird – ist ein Workaround im Code zu vermeiden Prologue beklagen, dass already_fired nicht definiert ist, in jenen Fällen, wo die Regeln nicht gebrannt wurden].


Verstehen und das Spiel mit der Code

Sie können auch mit dem Code zu spielen – zum Beispiel durch das Schreiben eigener Regeln und Fakten, und das System arbeitet mit ihnen.

Um den Code vollständig zu verstehen, müssen Sie über einige der zusätzlichen Funktionen von Prolog zu lesen: op , behaupten , einfahren und Wiederholung .

Du kannst über sie in den untenstehenden Links erfahren:

op http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/op.html
behaupten http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/ext-prolog.html#assert
einfahren http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/ext-prolog.html#retract
wiederholen http://www.cse.unsw.edu.au/~billw/cs9414/notes/prolog/ext-prolog.html#retract

Diese Themen sind nicht nachprüfbar COMP9414 für Studenten.


Skalierung

zwei Probleme, die offensichtlich an Versuchen zur kommerziellen Nutzung von regelbasierten Systemen geworden sind:

  1. stoppen die Regeln der Interaktion mit jedem anderen auf unerwartete Weise, wie die Anzahl der Regeln wuchs groß;
  2. Wartung: Hinzufügen von zusätzlichen Regeln auf unerwünschtes Verhalten (oder befassen sich mit ungewöhnlichen Fälle), ohne zu verderben den Rest des Systems Verhalten zu korrigieren.

Eine teilweise Lösung des ersten Problems ist es, sektsyyanavanyh Produktionssysteme einsetzen, , wo zu einem bestimmten Zeitpunkt nur ein Teil der verabreichten aktiv, baut so jemand ein System ist, kann nur auf diese Vorschriften zu konzentrieren, und, hoffentlich, um ihre Wechselwirkung zu verstehen. Das System effektiv Bagger sektsyyanavanay Produktionssystem, mit dem Wert Schritt zu bestimmen, welche Regeln sind zu jeder Zeit aktiv.

bekannteste Ansatz zur Wartung Problem (und das betrifft auch das Problem der Wechselwirkung) ist der Einsatz von geführten Pulse (DDR). Wenn Sie die regelbasierte Systeme zur großtechnischen Anwendung verwenden möchten, sollten Sie verbringen einige Zeit, sich auf die DDR zu lesen.

Paul Compton

, Wer einen Puls-Betrieb während der Arbeit im Garvan Institute of Medical Research. Entwickelt Jetzt ist er Teil der School of Computer Science and Engineering an der UNSW.

Details DDR

Sie können Informationen über die in der DDR <finde ein und Paul Compton-Homepage

natürlich UNSW COMP9416 Regel-basierten Systemen deckt üblicherweise Pulse Regeln im Detail.


Zusammenfassung: auf Regeln basierendes System
Regelbasierte Systeme bestehen aus einem Satz von Regeln, Speicher-und Inferenz. Allgemeine Programmierkenntnisse, wie eine einfache Bedingung-Aktion-Paare. Arbeitsspeicher zunächst in das System eingegeben, aber das Verhalten, das, wenn eine Regel ausgelöst wird auftreten, kann eine Bedingung des Arbeitsspeichers Veränderung zu bewirken. Ableitung des Motors muss über eine Strategie für den Umgang mit Konflikten, in denen mehr als eine Regel hat das Recht, zu feuern.

CRICOS Provider Code Nr. 00098G

Copyright (C) Bill Wilson, 1996-2008, außer wenn ein anderer mit Quellenangabe gestattet.
Ein Großteil des Materials auf dieser Seite basiert auf einer früheren Version auf Basis von
Claude Sammut.

Comments are closed.