Sunday, February 8, 2009

Blatt 11

1.


a)


cafe.owl


determine scope:

- Besucher informieren sich über:

 * verschiedene Kaffeespezialitäten

 * Herkunft des Kaffees

 * zusätzliche Zutaten und Preise, die sich daraus ergeben

- Café bildet Geschäftsabläufe ab

- anhand von Reaktionen von Kunden kann möglicherweise die Qualität des Kaffees und des Service verbessert werden



consider reuse:

- keine passende Ontologie unter http://www.daml.org/ontologies gefunden

- Wiederverwendbarkeit vorhandener Ontologien nicht weiter betrachtet



enumerate terms:

Café, Kaffeevarianten(Kaffee, Café au Lait, Cappuccino, Espresso, doppelter Espresso, Latte Macchiato, Ristretto, Americano, Irish Coffee), Kaffeebohne Herkunft (Guatemala Hochland, Jamaika Blue Mountain), Kaffeedossierung (schwach, normal, stark), Zutaten (Milchschaum, Aroma, Alkohol, Zucker, Milch), Preis, Kunde, Mitarbeiter, Barrista, Kellner, Zubereitung, Bestellung, Bedienung, Bezahlung, Trinkgeld, Zufriedenheit, Unzufriedenheit, Beschimpfung, einmaliger Kunde, mehrmaliger Kunde



define classes:

- top-down Ansatz, da Ontologie noch recht übersichtlich

- Erzeugung von Klassen

 * Café

 * Kaffeespezialität und entsprechende Unterklassen

 * Kaffeedossierung und entsprechende Unterklassen

 * Kaffeegröße und entsprechende Unterklassen

 * Kaffeesorte und entsprechende Unterklassen

 * Mensch und entsprechende Unterklassen

 * Zutat und entsprechende Unterklassen



define properties:

- hatZurAuswahl, wirdHergestelltAus, wirdDossiertIn, wirdZubereitetIn, arbeitetIn, bedient (nimmtBestellungAufVon, serviert), wirdBedientVon, bereitetZu, bestellt, bezahlt, gibtTrinkgeldAn, beschimpft, besucht (besuchtEinmal, besuchtMehrmals), Kosten, Preise

- Umsetzung, dass die Kosten der Zutaten die Preise für die Kaffeespezialitäten bestimmen, ist problematisch

- Preis von Kaffeespezialitäten und Zutaten zunächst mit Hilfe eines ObjectProperty dargestellt, später mit Hilfe eines DatatypeProperty



define contraints:

- ein Café muss immer mindestens eine Kaffeespezialität haben

- die verschiedenen Kaffeespezialitäten haben immer bestimmte Zutaten (IrishCoffee hat immer Whisky, Milchkaffee hat immer Milch, ...)

- Disjunktheit der verschiedenen Unterklassen



define instances:

In dem Café Alex in Potsdam bestellt ein zufriedener Kunde A einen SchokoCappuccino und einen Irish_Coffee, ein unzufriedener Kunde B bestellt einen Expresso...

Sunday, February 1, 2009

Blatt 10

1.


1. alle verheirateten Paare, die ein gemeinsames Kind haben

Mann(x) Frau(y) verheiratetMit(x, y) kindVon(z, x) kindVon(z, y)

- unbestimmte Variable: z


2. alle verheirateten weiblichen katholischen Priester

Frau(x) Katholisch(x) Priester(x) verheiratetMit(x, y)

- unbestimmte Variable: y


3. alle Personen, deren Eltern verheiratet sind

- nur alle Männer oder alle Frauen bestimmbar und keine Vereinigung beider

Mann(x) kindVon(x, y) kindVon(x, z) verheiratetMit(y, z)

- unbestimmte Variable: y, z


4. alle Frauen, die ihren Gatten umbringen

Frau(x) verheiratetMit(x, y) ermordet(x, y)

- unbestimmte Variable: y


5. alle verheirateten Paare von Selbstmördern

Mann(x) Frau(y) verheiratetMit(x, y) ermordet(x, x) ermordet(y, y)



2.


1. (Weise(x) Kahl(x)) ¬Maennlich(x) (Klug(x) Alt(x)) y.(verheiratetMit(x,y))

(Weise(x) Kahl(x)) ¬Maennlich(x) (Klug(x) Alt(x)) verheiratetMit(x, ehepartner(x)))

(Weise(x) Kahl(x)) ¬Maennlich(x) ¬((Klug(x) Alt(x)) verheiratetMit(x, ehepartner(x))))

(Weise(x) Kahl(x)) ¬Maennlich(x) (¬Klug(x) ¬Alt(x)) ¬verheiratetMit(x, ehepartner(x))

- in keine Klauselform umwandelbar



2. Stolz(vater(x)) Stolz(mutter(x)) Klug(x)

Stolz(vater(x)) Stolz(mutter(x)) ¬Klug(x)

- Klausel



3. Clever(x) Klug(x) (kennt(x,y) Klug(y))

Clever(x) (Klug(x) kennt(x,y)) (Klug(x) Klug(y))

Clever(x) ¬((Klug(x) kennt(x,y)) (Klug(x) Klug(y)))

Clever(x) (¬Klug(x) ¬kennt(x,y)) (¬Klug(x) ¬Klug(y)))

- in keine Klauselform umwandelbar



4. ¬Dominant(vater(x)) Dominant(mutter(x))

¬Dominant(vater(x)) ¬Dominant(mutter(x))

- Hornklausel



5. Klein(x) Stark(x) Seemann(x) liebt(x,y) Spinat(y) liebt(x, Olive_Oyl)

Klein(x) Stark(x) ¬Seemann(x) ¬liebt(x,y) ¬Spinat(y) ¬liebt(x, Olive_Oyl)

- in keine Klauselform umwandelbar



3.


a)

Künstler(x) ZuordnungKünstlerEpoche(x, z) Stilepoche(z)

Künstler(x) Kunstwerk(y) Schöpfer(x, y) ZuordnungKunstwerkEpoche(y, z) Stilepoche(z)


<ruleml:imp>

  <ruleml:_rlab ruleml:href="#epochekünstler"/>

  <owlx:Annotation>

    <owlx:Documentation>Zuordnung eines Künstlers zu einer Epoche</owlx:Documentation>

  </owlx:Annotation>

  <ruleml:_body>

    <swrlx:classAtom>

      <owlx:Class owlx:name="&kunst;Künstler"/>

      <ruleml:var>x</ruleml:var>

    </swrlx:classAtom>

  </ruleml:_body>

  <ruleml:_head>

    <swrlx:individuaPropertyAtom swrlx:property="&kunst;ZuordnungKünstlerEpoche">

      <ruleml:var>x</ruleml:var>

      <ruleml:var>z</ruleml:var>

    </swrlx:individuaPropertyAtom>

    <swrlx:classAtom>

      <owlx:Class owlx:name="&kunst;Stilepoche"/>

      <ruleml:var>z</ruleml:var>

    </swrlx:classAtom>

  </ruleml:_head>

</ruleml:imp>



<ruleml:imp>

  <ruleml:_rlab ruleml:href="#epochekunstwerk"/>

  <owlx:Annotation>

    <owlx:Documentation>Zuordnung eines Kunstwerks zu einer Epoche</owlx:Documentation>

  </owlx:Annotation>

  <ruleml:_body>

    <swrlx:classAtom>

      <owlx:Class owlx:name="&kunst;Künstler"/>

      <ruleml:var>x</ruleml:var>

    </swrlx:classAtom>

    <swrlx:classAtom>

      <owlx:Class owlx:name="&kunst;Kunstwerk"/>

      <ruleml:var>y</ruleml:var>

    </swrlx:classAtom>

    <swrlx:individualPropertyAtom swrlx:property="&kunst;Schöpfer">

      <ruleml:var>x</ruleml:var>

      <ruleml:var>y</ruleml:var>

    </swrlx:individualPropertyAtom>

  </ruleml:_body>

  <ruleml:_head>

    <swrlx:individualPropertyAtom swrlx:property="&kunst;ZuordnungKunstwerkEpoche">

      <ruleml:var>y</ruleml:var>

      <ruleml:var>z</ruleml:var>

    </swrlx:individualPropertyAtom>

    <swrlx:classAtom>

      <owlx:Class owlx:name="&kunst;Stilepoche"/>

      <ruleml:var>z</ruleml:var>

    </swrlx:classAtom>

  </ruleml:_head>

</ruleml:imp>



b)


Def-hasMother

Woman(y) hasParent(x, y) hasMother(x, y)


Wenn eine Person ein Elternteil hat, das weiblich ist, ist dieses Elternteil seine Mutter.



Def-hasDaughter

Woman(x) hasChild(x, y) hasDaughter(x, y)


Fehler im SWRL-Codefragment; es soll wohl heißen:

Woman(y) hasChild(x, y) hasDaughter(x, y)


Wenn eine Person ein weibliches Kind hat, ist dieses Kind die Tochter der Person.



Def-hasParent

hasConsort(y, z) hasParent(x, y) hasParent(x, z)


Wenn eine Person ein Elternteil hat, das einen Partner besitzt, ist der Partner auch Elternteil der Person.



Def-hasSister

hasSister(x, y) Woman(y) hasSibling(x, y)


Wenn eine weibliche Person ein Geschwister einer Person ist, ist sie die Schwester der Person.



Def-hasBrother

hasBrother(x, y) Man(y) hasSibling(x, y)


Wenn eine männliche Person ein Geschwister einer Person ist, ist er der Bruder der Person.



Def-hasSon

Man(x) hasChild(x, y) hasSon(x, y)


Fehler im SWRL-Codefragment; es soll wohl heißen:

Man(y) hasChild(x, y) hasSon(x, y)


Wenn eine Person ein männliches Kind hat, ist dieses Kind der Sohn der Person.



Def-hasUncle

hasUncle(x, z) hasParent (x, y) hasBrother(y, z)


Wenn ein Elternteil einer Person einen Bruder hat, ist er der Onkel der Person.



Def-hasSibling

hasChild(x, y) hasChild(z, y) differentFrom(x, z) hasSibling(x, z)


Fehler im SWRL-Codefragment; es soll wohl heißen:

isChild(x, y) isChild(z, y) differentFrom(x, z) hasSibling(x, z)


Wenn zwei Personen das gleiche Elternteil haben, sind sie Geschwister.



Def-hasNiece

hasNiece(x, z) hasDaughter(y, z) hasSibling(x, y)


Wenn eine Person ein Geschwister hat und das Geschwister eine Tochter, dann ist sie die Nichte dieser Person.



Def-hasNephew

hasSon(y, z) hasSibling(x, y) hasNiece(x, z)


Wenn eine Person ein Geschwister hat und das Geschwister einen Sohn, dann ist er die Neffe dieser Person.



Def-hasFather

hasFather(x, y) Man(y) hasParent(x, y)


Das männliche Elternteil einer Person ist der Vater dieser Person.



Def-hasAunt

hasSister(y, z) hasParent(x, y) hasAunt(x, z)


Wenn ein Elternteil einer Person eine Schwester hat, dann ist sie die Tante der Person.

Sunday, January 25, 2009

Blatt 9

1.


a)


– Eine Vorlesung besteht aus einzelnen ”Vorlesungsstunden“ , die während eines Semesters stattfinden.

– Neben dem Semester gibt es auch die vorlesungsfreie Zeit.

– Eine Vorlesung hat einen oder mehrere Dozenten.

– Dozenten und Studenten sind Personen mit bestimmten Attributen.

– Eine Vorlesung kann im Rahmen des Bachelor- oder Masterprogramms stattfinden. 

– Eine Vorlesung zählt zu einem bestimmten Schwerpunkt. 

– Der Dozent kann zu einem bestimmten Lehrstuhl gehören. 

– Manche Vorlesungen haben zusätzlich eine Übung. 

– Vorlesungen, Übungen, Seminare und Praktika sind Lehrveranstaltungen. 

– Es gibt Vorlesungen mit 2 bzw. 4 SWS. 

– Zwischen Vorlesungen kann es Abhängigkeiten geben (z.B. muss man eine bestimmte Vorlesung gehört haben, bevor man an einer anderen teilnehmen kann...) 


<rdf:RDF

  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

  xmlns:owl="http://www.w3.org/2002/07/owl#"

  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

  xmlns:hpi="http://www.hpi.de/"

  xml:base="http://www.hpi.de/">


  <owl:Class rdf:resource="Vorlesung"/>

  <owl:Class rdf:resource="Vorlesungsstunde"/>

  <owl:Class rdf:resource="Semester"/>

  <owl:ObjectProperty rdf:about="bestehtAus">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Vorlesungsstunde"/>

  </owl:ObjectProperty>

  <owl:ObjectProperty rdf:about="findetZeitlichStatt">

    <rdfs:domain rdf:resource="Vorlesungsstunde"/>

    <rdfs:range rdf:resource="Semester"/>

  </owl:ObjectProperty>


  <owl:Class rdf:about="VorlesungsfreieZeit">

    <owl:disjointWith rdf:resource="Semester"/>

  </owl:Class>


  <owl:Class rdf:about="Vorlesung">

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatDozent"/>

        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="Person"/>

  <owl:Class rdf:about="Dozent">

    <rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:Class rdf:about="Student">

    < rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:DatatypeProperty rdf:about="Attribut">

    <rdfs:domain rdf:resource="Person"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:Class rdf:about="Studium"/>

  <owl:Class rdf:about="Bachelor">

    < rdfs:subClassOf rdf:resource="Person"/>

  </owl:Class>

  <owl:Class rdf:about="Master">

    <rdfs:subClassOf rdf:resource="Person"/>

    <owl:disjointWith="Bachelor"/>

  </owl:Class>

  <owl:ObjectProperty rdf:about="findetStattIm">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Studium"/>

  </owl:ObjectProperty>


  <owl:DatatypeProperty rdf:about="Schwerpunkt">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:DatatypeProperty rdf:about="Lehrstuhl">

    <rdfs:domain rdf:resource="Dozent"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>


  <owl:Class rdf:about="VorlesungOhneÜbung">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

  </owl:Class>

  <owl:Class rdf:about="VorlesungMitÜbung">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <owl:disjointWith rdf:resource="VorlesungOhneÜbung"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatÜbung"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:Class rdf:about="Lehrveranstaltung"/>

  <owl:Class rdf:about="Vorlesung">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Übung">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Seminar">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>

  <owl:Class rdf:about="Praktika">

    < rdfs:subClassOf rdf:resource="Lehrveranstaltung"/>

  </owl:Class>


  <owl:Class rdf:about="VorlesungMit2SWS">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatSWS"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>

  <owl:Class rdf:about="VorlesungMit4SWS">

    <rdfs:subClassOf rdf:resource="Vorlesung"/>

    <owl:disjointWith rdf:resource="VorlesungMit2SWS"/>

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatSWS"/>

        <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">4</owl:cardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>


  <owl:ObjectProperty rdf:about="istAbhängigVon">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="Vorlesung"/>

  </owl:ObjectProperty>


</rdf:RDF>



b)


Vorlesungen haben Belegungspunkte.


  <owl:DatatypeProperty rdf:about="Belegungspunkte">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;nonNegativeInteger"/>

  </owl:DatatypeProperty>



Eine Vorlesung wird von mindestens einem Studenten besucht.


  <owl:Class rdf:about="Vorlesung">

    <rdfs:subClassOf>

      <owl:Restriction>

        <owl:onProperty rdf:resource="hatBesuchendeStudenten"/>

        <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>

      </owl:Restriction>

    </rdfs:subClassOf>

  </owl:Class>



Eine Vorlesung wird an einer bestimmten Uni gelesen.


  <owl:DatatypeProperty rdf:about="Uni">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>



Eine Vorlesung hat bestimmte Dozenten.


  <owl:DatatypeProperty rdf:about="Dozenten">

    <rdfs:domain rdf:resource="Vorlesung"/>

    <rdfs:range rdf:resource="&xsd;string"/>

  </owl:DatatypeProperty>



d)


Individuum Semantic Web


<hpi:Semester rdf:about="SiebentesSemester"/>

<hpi:Vorlesungensstunde rdf:about="ErsteVorlesungsstunde">

  <hpi:findetZeitlichStatt rdf:resource="SiebentesSemester"/>

</hpi:Vorlesungensstunde>

<hpi:Master rdf:about="MasterIT-SystemsEngineering"/>

<owl:Nothing rdf:about="Nothing"/>

<hpi:VorlesungMitÜbung rdf:about="SemanticWeb"> 

  <hpi:bestehtAus rdf:resource="Vorlesungsstunde"/>

  <hpi:hatDozent rdf:datatype="&xsd;nonNegativeInteger">1</hpi:hatDozent>

  <hpi:findetStattIm rdf:resource="Master"/>

  <hpi:Schwerpunkt rdf:datatype="&xsd;string">Internettechnologien</hpi:Schwerpunkt>

  <hpi:hatÜbung rdf:datatype="&xsd;nonNegativeInteger">1</hpi:hatÜbung>

  <hpi:hatSWS rdf:datatype="&xsd;nonNegativeInteger">4</hpi:hatSWS>

  <hpi:istAbhängigVon rdf:resource="Nothing"/>

  <hpi:hatBelegungspunkte rdf:datatype="&xsd;nonNegativeInteger">6</hpi:hatÜbung>

  <hpi:hatBesuchendeStudenten rdf:datatype="&xsd;nonNegativeInteger">32</hpi:hatBesuchendeStudenten>

  <hpi:Uni rdf:datatype="&xsd;string">UniPotsdam</hpi:Uni>

  <hpi:Dozent rdf:datatype="&xsd;string">DrHaraldSack</hpi:Dozent>

</hpi:VorlesungMitÜbung>



2.


a)


Human hasMother.Human


<owl:Class rdf:about="Human">

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hasMother"/>

      <owl:someValuesFrom rdf:resource="Human"/>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>



hasMother.( hasMother.Human) Grandchild


<owl:Class rdf:about="Grandchild"/>


<owl:Class>

  <rdfs:subClassOf="Grandchild"/>

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hasMother">

      <owl:someValuesFrom>

        <owl:Restriction>

          <owl:onProperty rdf:resource="hasMother">

          <owl:someValuesFrom rdf:resource="Human"/>

        </owl:Restriction>

      </owl:someValuesFrom>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>

    


Human(Thorsten)


<Human rdf:about="Thorsten"/>



b)


<owl:Class rdf:about="PizzaBelag">

<owl:Class rdf:about="Gemüse">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>


Gemüse PizzaBelag



<owl:Class rdf:about="PizzaBelag">

  <owl:disjointWith rdf:resource="Pizza"/>

</owl:Class>


PizzaBelag Pizza



<Gemüse rdf:about="Zucchini"/>


Gemüse(Zucchini)



<owl:Class rdf:about="Pizza"/>

<owl:Class rdf:about="PizzaBelag"/>

<owl:ObjectProperty rdf:about="hatBelag">

  <rdf:domain rdf:resource="Pizza"/>

  <rdf:range rdf:resource="PizzaBelag"/>

</owl:ObjectProperty>


hatBelag.T Pizza

T hatBelag.PizzaBelag



<owl:Class rdf:about="Pizza">

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hatBelag"/>

      <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>


Pizza ≥2 hatBelag



<owl:Class rdf:about="Pizza"/>

<owl:Class rdf:about="PizzaMargarita">

  <rdfs:subClassOf rdf:resource="Pizza"/>

  <rdfs:subClassOf>

    <owl:Restriction>

      <owl:onProperty rdf:resource="hatBelag"/>

      <owl:someValuesFrom rdf:resource="Tomate"/>

    </owl:Restriction>

  </rdfs:subClassOf>

</owl:Class>


PizzaMargarita Pizza

PizzaMargarita hatBelag.Tomate



<owl:Class rdf:about="PizzaOhneFleisch"/>

<owl:Class rdf:about="PizzaOhneFisch"/>

<owl:Class rdf:about="VegetarischePizza">

  <owl:intersectionOf rdf:parseType="Collection">

    <owl:Class rdf:about="PizzaOhneFleisch"/>

    <owl:Class rdf:about="PizzaOhneFisch"/>

  </owl:intersectionOf>

</owl:Class>


VegetarischePizza PizzaOhneFleisch PizzaOhneFisch



<owl:Class rdf:about="PizzaBelag"/>

<owl:Class rdf:about="PizzaMargarita">

  <rdfs:subClassOf rdf:resource="Pizza"/>

</owl:Class>

<owl:Class rdf:about="Fleischlos">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>

<owl:Class rdf:about="Fleisch">

  <rdfs:subClassOf rdf:resource="PizzaBelag"/>

</owl:Class>

<owl:Class rdf:about="Fleischlos">

  <owl:disjointWith rdf:resource="Fleisch"/>

</owl:Class>

<owl:ObjectProperty rdf:about="hatBelag">

  <rdf:domain rdf:resource="PizzaMargarita"/>

  <rdf:range rdf:resource="Fleischlos"/>

</owl:ObjectProperty>


PizzaMargarita Pizza

Fleischlos PizzaBelag

Fleisch PizzaBelag

Fleischlos Fleisch

hatBelag.T PizzaMargarita

T hatBelag.Fleischlos



3.


a) Zeigen Sie mit Hilfe des Tableaux Verfahrens, dass die folgenden Wissensbasis erfüllbar ist: 


Student besucht.Vorlesung

Vorlesung besuchtVon.(Student Fleissig)

Student(einStudent)

¬Fleissig(einStudent)



in Negationsnormalform umwandeln:


{¬Student besucht.Vorlesung, ¬Vorlesung besuchtVon.(Student Fleissig), Student(einStudent), ¬Fleissig(einStudent)}



Tableaux:

(1) (Student(einStudent))

(2) (¬Fleissig(einStudent))

(3) (¬Student besucht.Vorlesung) (einStudent)

(4 | β aus 3) (¬Student(einStudent))          (5 | β aus 3) (( besucht.Vorlesung) (einStudent))

                                                                          (6 | δ aus 5) (besucht(einStudent, VorlesungX))


...



b) Zeigen Sie mithilfe des Tableaux Verfahrens, dass die folgende Wissensbasis unerfüllbar ist:


Vogel Fliegt

Pinguin Vogel

Pinguin Fliegt

Pinguin(tweety)



in Negationsnormalform umwandeln:


{¬Vogel Fliegt, ¬Pinguin Vogel, ¬Pinguin ¬Fliegt , Pinguin(tweety)}


...



(c) Zeigen Sie mithilfe des Tableaux Verfahrens, dass ( R.E)(a) eine logische Konsequenz der Wissensbasis K = {C(a),C R.D, D E F, F E} ist.