
AgentKnowledgeRepresentation AgentKnowledgeRepresentation What is knowledge? ● "the fact or condition of knowing something with familiarity gained through experience or association" (Merriam-Webster 1988) ● simply: association of statements about the world Why represent knowledge? ● for reasoning ● for learning ● for sharing ● for ease of transfer to computers ● for ease of explanation to humans What to represent? ● the environment and the domain ● the task ● the agent himself ● the user ● the other agents Viewpoints: ● structural ● functional ● behavioral ● causal ● ... formalisms, models and notations: ● FormalLogic, expert rules ● SemanticNets, frames, OO, SharedOntology and the SemanticWeb ● FiniteStateMachines http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?AgentKnowledgeRepresentation (1 of 2)9/23/2005 3:09:19 PM AgentKnowledgeRepresentation ● PetriNets ● BayesianNetworks ● decision trees ● task decomposition (TCA) ● neural nets exercise: Use the different models to represent very simply the different types of knowledge of a soccer player: his behavior on the field, his knowledge of the soccer rules, his perception of the field, his tactics, his model of the other players... Discuss the choice of the models. reference: Knowledge Representation, Logical, Philosophical, and Computational Foundations, John F. Sowa, Brooks/Cole (last edited September 16, 2004) Find Page by browsing or searching http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?AgentKnowledgeRepresentation (2 of 2)9/23/2005 3:09:19 PM FormalLogic FormalLogic Informal definition: Logics allow to assert statements about the world and prove properties thereof, given: ● a set of primitive notations and rules to write sentences by combining them ● an ontology to define the terms ● a syntax that provides the tools to establish the validity of the inference of a statement: ❍ axioms ❍ rules of inference ● semantics that provide the tools for the interpretation of the sentences Propositional logic: ● boolean propositions, and, or, negation ● semantics: truth tables (true, false) ● syntax: a set of standard axioms + modus ponens ● good for theorem proving but poor expressiveness example: heads => me tails => ~you ~heads => tails you => ~me First order logic: ● predicates that can contain constants, variables and functions, existential and universal quantifiers ● good expressiveness (enables to express generality for example) but theorem proving is difficult (ie VERY long) and sometimes impossible ● Prolog uses resolution and unification mechanisms on a subset of first order logic example: http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?FormalLogic (1 of 2)9/23/2005 3:11:02 PM FormalLogic Different ways to represent the sentence: Every trailer truck has 18 wheels: Ax, trailerTruck(x) => eighteenWheeler(x) Ax, trailerTruck(x) => numberOfWheels(x,18) (Ax)((truck(x) and (Ey)(trailer(y) and part(x,y))) => (Es)(set(s) and count(s,18) and (Aw)(member(w,s) and part(x,w))) )) more: ● conceptual graphs ● ModalLogic ● higher order logics ref: ● Genesereth's excellent course on logics [1] ● Sowa's book on knowledge representation (last edited January 14, 2002) Find Page by browsing or searching http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?FormalLogic (2 of 2)9/23/2005 3:11:02 PM ModalLogic ModalLogic motivation: classic logic limitations: (example is from Wooldridge) ● Bel(Janine, Father (Zeus, Cronos)) ● (Zeus = Jupiter) ● Bel(Janine, Father (Jupiter, Cronos)) ● Janine believing p is not dependent on the truth of p. Normal Modal Logic for Possible Worlds: ● Classical propositional logic extended by 2 operators. " " (necessarily) and " " (possibly). ● The semantics of modal connectives define what worlds are considered accessible from other worlds. ● The formula f is then TRUE if f is TRUE for all worlds accessible from the current world. ● The formula f is TRUE if f is TRUE for in at least one world accessible from the current world. ● The two modal operators are duals of each other: f = ~ ~f The modal operators can be used in various contexts and take specific meanings. ex: temporal logic, deontic logic, epistemic logic. For our purpose, we will use modal operators in the context of epistemic logic (logic of knowledge). From the point of view of an agent A (we will not represent A to keep notations simple), f will be read as: "A believes f". example: An agent is playing poker. Complete knowledge of the opponents hand is impossible to determine. The ability to play is determined partially by the agent's belief in the opponents hand. Suppose agent has Ace of Spades. First compute all the possible ways the cards could be dealt to the opponent. These are possible worlds. Then eliminate those worlds that are not possible given what the agent knows. What is left over are the epistemic alternatives (worlds possible given ones beliefs). Something TRUE in all worlds is said to be believed by the agent (It is TRUE that the agent has the Ace of Spades). more: http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?ModalLogic (1 of 2)9/23/2005 3:12:22 PM SemanticNets SemanticNets definitions A semantic net is a graph of concepts connected with associative links that describe the relationships between them. Frames refine semantic nets by allowing the description of each concept with a set of slot/filler pairs, and by restricting the types of links. A filler can either be a value or a procedure. Mammal subclass: Animal warm_blooded: yes http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?SemanticNets (1 of 2)9/23/2005 3:16:42 PM SemanticNets Elephant subclass: Mammal * colour: grey * size: large Clyde instance: Elephant colour: pink owner: Fred Nellie: instance: Elephant size: small ref: [3] more: SemanticWeb and ResourceDescriptionFramework (last edited January 15, 2004) Find Page by browsing or searching http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?SemanticNets (2 of 2)9/23/2005 3:16:42 PM SharedOntology SharedOntology short definition of an ontology: a "specification of a conceptualization" (Gruber). in plain English: Ontology is "the study of existence, of all the kinds of entities -abstract and concrete- that make up the world." (Sowa) Ontologies describe concepts and the relationships between them. Think of an ontology as an encyclopedia or a glossary of terms. Ontologies constitute the backbone of knowledge representation, because they provide: ● the predicates in logics, ● the classes of an object-oriented system, ● the domains of a database, http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?SharedOntology (1 of 2)9/23/2005 3:19:17 PM SharedOntology ● the concepts of a semantic network. For agents to be able to communicate they need to share at least the ontology of the domain they are involved in. A few known efforts in sharing ontologies: ● Knowledge Interchange Format (KIF) [1], Ontolingua. ● XML, OML [2][4] ● SemanticWeb, DAML, OIL ● CYC [3] (last edited October 20, 2002) Find Page by browsing or searching http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?SharedOntology (2 of 2)9/23/2005 3:19:17 PM SemanticWeb SemanticWeb ● XML ● XML Schema ● ResourceDescriptionFramework ● Dublin Core ● RDFS ● OIL, DAML, OWL ● DAML-S, OWL-S Neal Arthorne's presentation [1] puts these concepts nicely together. references ● official site: http://www.w3.org/2001/sw/ ● a good overview by Tim Berners-Lee: http://www.w3.org/DesignIssues/Semantic.html ● http://semanticweb.org ● Protege is a semantic web editing tool: http://protege.semanticweb.org/ (last edited September 21, 2004) Find Page by browsing or searching http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?SemanticWeb9/23/2005 3:20:34 PM ResourceDescriptionFramework ResourceDescriptionFramework <?xml:namespace ns = "http://www.w3.org/RDF/RDF/" prefix = "RDF" ?> <?xml:namespace ns = "http://purl.oclc.org/DC/" prefix = "DC" ?> <?xml:namespace ns = "http://person.org/BusinessCard/" prefix = "CARD" ? > <RDF:RDF> <RDF:Description RDF:HREF = "http://uri-of-Document-1"> <DC:Creator RDF:HREF = "#Creator_001"/> </RDF:Description> <RDF:Description ID="Creator_001"> <CARD:Name>John Smith</CARD:Name> <CARD:Email>[email protected]</CARD:Email> <CARD:Affiliation>Home, Inc.</CARD:Affiliation> </RDF:Description> </RDF:RDF> ref: ● example taken from the following introduction to RDF [4] ● Pierre-Antoine Champmin's RDF tutorial [2] http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?ResourceDescriptionFramework (1 of 2)9/23/2005 3:21:12 PM FiniteStateMachines FiniteStateMachines Finite State Machines, or Finite Automata, are a simple type of state transition diagrams. Here is a formal definition: definition (adapted from Sipser) A finite automaton is a 5-tuple (Q, S, d, q, F), where: 1. Q is a finite set called the states, 2. S is a finite set called the alphabet, 3. d: Q x S -> Q is the transition function, 4. q, an element of Q, is the start state, 5. F, a subset of Q, is the set of accept states. The state machine above accepts the string abbaaa, but does not accept aba. example http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?FiniteStateMachines (1 of 3)9/23/2005 3:23:14 PM FiniteStateMachines basic call in telephony originating IN call http://eureka.sce.carleton.ca:8080/cgi-bin/agentcourse.cgi?FiniteStateMachines (2 of 3)9/23/2005 3:23:14 PM FiniteStateMachines use ● to represent change ● pattern recognition implementation ● a table (door controller example) ● a state variable + a "switch... case" statement ● the State Pattern (see: [6] or [7])
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages68 Page
-
File Size-