Loom als Regelsystem



Ähnliche Dokumente
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

32.4 Anpassen von Menüs und Symbolleisten 795i

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Erwin Grüner

RUP Analyse und Design: Überblick

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Programmieren Tutorium

Installation des edu- sharing Plug- Ins für Moodle

Kapitel 10 Aktive DBMS

1 Mathematische Grundlagen

Einführung in. Logische Schaltungen

1.5 Umsatzsteuervoranmeldung

Bauteilattribute als Sachdaten anzeigen

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Programmierkurs Java

Druckerscriptsprache

LinguLab GmbH. Bedienungsanleitung Allgemeine Definition

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Vereinsverwaltung DFBnet Verein. Anleitung Familienbeiträge und Gemeinschaften

LISP. Eine Einführung

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Kommunikationsbetrieb

Grammatiken. Einführung

Microsoft Access 2013 Navigationsformular (Musterlösung)

DURCH VIDA ERZEUGTE PROTOKOLLDATEIEN 1 EINFÜHRUNG

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Algorithmische Kryptographie

CATIA V5. Volumenmodellierung, Zeichnungen. von Werner Koehldorfer. 1. Auflage

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Klausur Software-Engineering SS 2005 Iwanowski

Statistik II. Statistik II, SS 2001, Seite 1 von 5

Einführung in die Java- Programmierung

SDK zur CRM-Word-Schnittstelle

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Anzeige von eingescannten Rechnungen

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Datenexport aus JS - Software

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

AcQuickPrint / AcSetPrinter Publizieren leicht gemacht / Drucker in Layouts tauschen

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Hilfe zur Urlaubsplanung und Zeiterfassung

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Frankieren in Microsoft Word mit dem E Porto Add in der Deutschen Post

Grundbegriffe der Informatik

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Inventur. Bemerkung. / Inventur

Anleitung Abwesenheitsmeldung und -Weiterleitung (Kundencenter)

Formale Sprachen und Grammatiken

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

Binäre Suchbäume (binary search trees, kurz: bst)

Erste Schritte. Lavid-F.I.S. Faktura. Erste Schritte

Computeranwendung und Programmierung (CuP)

Installation des edu-sharing Plug-Ins für Moodle

Inventur. mit Microsoft Dynamics NAV 2013 R2

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

2 Evaluierung von Retrievalsystemen

Produktvariationen Informationsblatt für Lieferanten

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

Haufe-Lexware GmbH & Co KG Download von lex-blog.de. Einrichtung der neuen Datenbank:

NEUE FUNKTIONEN IN IQ4DOCS 1.4.3

Java: Vererbung. Teil 3: super()

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Computer Schulung, Shop, Support, Service und Büro Center

Hilfedatei der Oden$-Börse Stand Juni 2014

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Änderungen an der Mareon-Schnittstelle

Arbeiten mit UMLed und Delphi

3 Objektorientierte Konzepte in Java

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Android VHS - Weiterbildungskurs Ort: Sulingen

Benutzung der LS-Miniscanner

Anleitung: Einrichtung Kontowecker im Sparkassen-App

VIDA-LOGDATEIEN VIDA ALL-IN-ONE

Stapelverarbeitung Teil 1

Kapitel 5. 5 Beschriftungsobjekte. AutoCAD 2013 Layout- und Plot-Management

Attribut-Zertifikat importieren zur Nutzung in Sign Live! CC

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Hinweise zum neuen Buchungssystem

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

How to do? Projekte - Zeiterfassung

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Einführung in die Programmierung für Wirtschaftsinformatik

GEVITAS Farben-Reaktionstest

Programmiersprachen und Übersetzer

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Nutzerhandbuch Zentrale Klassenverwaltung

Installationsanleitung Spamfilter Outlook 2003

Anwendertreffen 20./21. Juni

Lokale Installation von DotNetNuke 4 ohne IIS

Dokumentation Data Dictionary (SIP)

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Informatik IC2. Balazs Simon

Transkript:

Loom als Regelsystem Loom:... Kombination von Beschreibungslogik und Regelsystem mit Defaults und oo-paradigma... Systemmeldungen von Loom deuten darauf hin, dass intern eine Art von Rete-Algorithmus abläuft. starke Ähnlichkeiten zwischen Klassifikations- und Retealgorithmus. Effiziente Instanzklassifikation: Minimierung der Tests zur Bestimmung der Zugehörigkeit von Individuen. Einf. in die KI Regeln in Loom 1-1

Regeln in Loom Syntax zur Definition von Regeln: (defproduction <name> :when <Bedingung> [ :perform <Aktion> :do (<Lisp-Code>) ] ) <Bedingung> ist eine production expression in dem mindestens ein Transitionstest, d.h. ein Ausdruck in einer der folgenden Formen vorkommen muss: :detects <expr> : <expr> ist nun ableitbar :undetects <expr> : <expr> ist nicht mehr ableitbar :changes <expr> : <expr> hat seinen Wert verändert (Jeweils bezogen auf den letzten Zustandsübergang) :do (<Lisp-Code>) beliebiges Lisp-Programmfragment Einf. in die KI Regeln in Loom 1-2

Beispielregel in Loom (defconcept Person) (defconcept Student :is-primitive Person) (defrelation aufgaben) (defconcept Übungen-gemacht :is (:and Person (:at-least 2 aufgaben))) (defproduction Schein :when (:and (Student?x) (:detects (Übungen-gemacht?x))) :do ((format t "Schein ausstellen für ~s"?x))) (tell (:about Fritz Person Student (aufgaben a1))) (tell (aufgaben Fritz a2)) Rete match changes for state 2 in context BUILT-IN-THEORY: > entry: I FRITZ C ÜBUNGEN-GEMACHT Schein ausstellen für I FRITZ Einf. in die KI Regeln in Loom 1-3

Alternativ: Aktionen & Methoden (1) Alternative zu :do: Aufrufe von überladenen Methoden, die z.b. Attribute von Objekten verändern. (defproduction Schein :when... :perfom (note-eintragen?x)) Aktionen definieren generische Operationen (analog CLOS), die durch eine oder mehrere Loom-Methoden implementiert sind. (defaction note-eintragen (?stud) :filters (:most-specific :last-one) :missing-method :warning) ; default ; default Filter: :overrides (Priorisierung) :most-specific (spezifischste) :last-one (zuletzt definierte) :select-one (zufällig) :select-all (alle) :warning Einf. in die KI Regeln in Loom 1-4

Alternativ: Aktionen & Methoden (2) Anpassung des Beispiels: (defproduction Schein :when (:and (Student?x) (:detects (Übungen-gemacht?x))) :perform (note-eintragen?x)) (defrelation matr-nr :domain Matrikel :range Student) (defconcept Matrikel) (defrelation punkte :domain Student) (defrelation note) (tell (punkte Fritz 18)) (tell (:about eins-zwei-drei matrikel (matr-nr Fritz))) (defaction note-eintragen (?stud) :filters (:most-specific :last-one) :missing-method :warning) Einf. in die KI Regeln in Loom 1-5

Alternativ: Aktionen & Methoden (3) (defmethod <name> (<params>) &key :title <string> :with <retrieve-stat> :response <Lisp-Code>) :situation <retrieve-stat> :overrides <method-title> :title Unterscheidet die verschiedenen Methoden symbolisch (vgl. mit Loom-Ausgabe) :situation :with Drückt mit Hilfe einer Anfrage (wie in retrieve) die Situation aus, in der diese Methode anwendbar ist. Gibt die Möglichkeit einer weiteren Bindung ohne Auswahlrelevanz. :overrides :response Priorisierung der Methode durch Angabe von schwächer gewerteten Methoden(-titeln) Liste von Lisp-Ausdrücken die ausgeführt werden. Einf. in die KI Regeln in Loom 1-6

Zurück zum Beispiel (defmethod note-eintragen (?stud) :title "sehr gut" :situation (> (punkte?stud) 18) :with (matr-nr?mat?stud) :response ((tell (note?mat 1)))) (defmethod note-eintragen (?stud) :title "gut" :situation (:and (> (punkte?stud) 10) (<= (punkte?stud) 18)) :with (matr-nr?mat?stud) :response ((tell (note?mat 2)))) (pi fritz) -> (TELL (:ABOUT FRITZ... (AUFGABEN A1) (AUFGABEN A2))) (pi eins-zwei-drei) -> (TELL (:ABOUT EINS-ZWEI-DREI... MATRIKEL (MATR-NR FRITZ) (NOTE 2))) Einf. in die KI Regeln in Loom 1-7

Nützliches Bemerkungen: Aktionen werden bei Bedarf automatisch (mit defaults) erzeugt. Konzepte und Relationen in :situation, :with und :when Klauseln müssen bei der Definition der Methode bereits vorhanden sein. Hilfsfunktionen: (list-productions) Auflistung aller Regeln (pb <ACTIONorMETHODorPRODUCTION>) Gibt die entsprechende Definition (list-methods (fb <method>)) Listet alle Methoden mit diesem Bezeichner auf Einf. in die KI Regeln in Loom 1-8