LokWeb and LWB 7 maart 2006 by Maarten and Hilverd
Contents LokWeb LWB
Aanmelden LokWeb -ga naar het LOKweb: -klik daar op het RUG-logo -klik op 'aanmelden op het LOKweb‘ -vul de betreffende velden in en klik op de button 'aanmelden' (als adres moet een adres gebruikt worden dat
Inloggen LokWeb -ga opnieuw naar het LOKweb: -klik daar op het RUG-logo -klik op 'door naar het LOKweb' en gebruik vervolgens gebruikersnaam en wachtwoord dat per is ontvangen.
LokWeb Assignments -English version of LOKweb-assignments:
LokWeb Assignments Kennislogica –Communicatieprotocollen OPGAVE 3
Modules user module- general module cpc module- classical prop. logic k, s4, s5 modules- modal logic kn, s4n modules- multimodal logic Use the function load to load modules. Example: load(kn);
The User Interface De interface bestaat uit drie onderdelen 1.Het hoofdscherm 2.Het statusscherm 3.Het optiescherm
Informatiesysteem Naast standaard help bevat het informatiesysteem ook: 1.Informatie over LWB 2.Een voorbeeld van een LWB-sessie 3.Syntax beschrijving 4.Beschrijving van elke functie 5.Referentie handleiding
Notation
On TCW2 Logic WorkBench can be run from Hilverd's account: ~hreker/lwb –load(cpc); –a:=(~(p v q) & (s r)-> q v p) & (((d->c)->d)->d); –b:=simplify(a);
How to use it LWB can be run on Mac, Solaris and Linux. Use the ASCII version by entering “~hreker/lwb” in a shell, and use the XLWB by issuing “~hreker/xlwb”. The XLWB is the GUI version.
Important Instructions assigning a formula: f := (p1 v p2) & p3; assigning a theory: theory := [f, p1 -> p2, ~p2]; simplifying a formula: simplify((p2 p3) & p0->p1 & p0-> ~p3); => p2 -> p1 & p0 -> ~p3
Important Instructions concat (concatenating theories): concat([p & q, r], [p -> r], [t]); => [p & q, r, p -> r, t] union: union([1,1,2], [2,2,3]); => [1,2,3] member: member(p0 & p1,[p3, p0 & p1, ~p2] ); => true
Important Instructions remove superfluous subformulas: remove((true v p0) & p1 -> false); => ~p1 which module am I working in? which(provable); => kn comments: # comment
consistent(T): theory T is consistent provable(F,T): formula F is provable in theory T satisfiable(F): formula F is satisfiable Important Instructions
Logic Modules Tell LWB explicitly which logic to use. This is done by loading the proper module. E.g.: load(cpc) cpc: classical propositional logic k, s4, s5: modal logic kn, s4n: multimodal logic
Multi-agent modeling LWB can be used to implement situations, problems, and reasoning in MAS. Model the environment. Model what access agents have to the environment. Put all of this into a theory Check consistency.
Multi-agent modelling Describe the initial situation. Test what conclusions can be drawn: provable(situation -> hypothesis, theory); Update the theory when new information is available: newtheory =: concat(oldtheory, update);
Voorbeeld Muddy Children
Tenminste 1 kind heeft modder op zijn gezicht: at_least_one_muddy := muddy1 v muddy2 v muddy3; Kind 1 kan de andere kinderen zien: one_can_see_others := (muddy2 -> box1 muddy2) & (muddy3 -> box1 muddy3) & (~muddy2 -> box1 ~muddy2) & (~muddy3 -> box1 ~muddy3); Muddy Theorie: muddy_theory := [at_least_one_muddy, one_can_see_others, two_can_see_others, three_can_see_others]; Controle consistent(muddy_theory); => true
Muddy Children Alleen kind 3 heeft modder op zijn gezicht: situation1 := muddy3 & ~muddy2 & ~muddy1; provable(situation1 -> box3 muddy3, muddy_theory); => true Maar als er 2 kinderen zijn met modder op hun gezicht zijn er 2 stappen nodig. situation2 := muddy3 & muddy2 & ~muddy1; provable(situation2 -> box1 muddy1, muddy_theory); provable(situation2 -> box2 muddy2, muddy_theory); provable(situation2 -> box3 muddy3, muddy_theory); => false, false, false
Muddy Children Ze weten nu dat er minstens 2 kinderen zijn met modder standstill := ~box1 muddy1 & ~box2 muddy2 & ~box3 muddy3; at_least_two := (muddy1 & muddy2) v (muddy2 & muddy3) v (muddy1 & muddy3); provable( situation2 & standstill -> at_least_two, muddy_theory); => true
Muddy Children Vader vraagt het nog een keer muddy_theory2 := concat([at_least_two], muddy_theory); consistent(muddy_theory2); => true Nu weten kind 2 en 3 dat ze vies zijn provable(situation2 -> box2 muddy2, muddy_theory2); provable(situation2 -> box3 muddy3, muddy_theory2); => true, true
Samenvatting Web interface, en versies voor Linux/Mac Eenvoudige notatie –maar pas op voor box# bij modale logica Laad de juiste module(s) Controleer op consistentie