1 / 24

LokWeb and LWB

7 maart 2006 by Maarten and Hilverd. LokWeb and LWB. Contents. LokWeb LWB. Register @ LokWeb . goto: www.ou.nl/lok click on the RUG-logo click on 'aanmelden op het LOKweb‘ Fill in your student e-mail address (@student.rug.nl). LokWeb Assignments.

bertha-guy
Download Presentation

LokWeb and LWB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 7 maart 2006 by Maarten and Hilverd LokWeb and LWB

  2. Contents • LokWeb • LWB

  3. Register @ LokWeb • goto: www.ou.nl/lok • click on the RUG-logo • click on 'aanmelden op het LOKweb‘ • Fill in your student e-mail address (@student.rug.nl)

  4. LokWeb Assignments • English version of LOKweb-assignments: http://www.ai.rug.nl/mas/lokweb/

  5. LokWeb Assignments • Kennislogica • Communicatieprotocollen • OPGAVE 3

  6. 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); • http://www.lwb.unibe.ch/

  7. The User Interface De interface bestaat uit drie onderdelen • Het hoofdscherm • Het statusscherm • Het optiescherm http://www.lwb.unibe.ch/pics/sample_x.gif

  8. Informatiesysteem Naast standaard help bevat het informatiesysteem ook: • Informatie over LWB • Een voorbeeld van een LWB-sessie • Syntax beschrijving • Beschrijving van elke functie • Referentie handleiding

  9. Notation

  10. 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);

  11. 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.

  12. 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

  13. 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

  14. Important Instructions • remove superfluous subformulas:remove((true v p0) & p1 -> false); => ~p1 • which module am I working in?which(provable); => kn • comments: # comment

  15. Important Instructions • consistent(T): theory T is consistent • provable(F,T): formula F is provable in theory T • satisfiable(F): formula F is satisfiable

  16. 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

  17. 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.

  18. 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);

  19. Voorbeeld Muddy Children

  20. Muddy Children • At least one child has mud on his face :at_least_one_muddy := muddy1 v muddy2 v muddy3; • Child 1 kan see the other children (also for 2 & 3):one_can_see_others := (muddy2 -> box1 muddy2) & (muddy3 -> box1 muddy3) & (~muddy2 -> box1 ~muddy2) & (~muddy3 -> box1 ~muddy3); • Muddy Theory:muddy_theory := [at_least_one_muddy, one_can_see_others, two_can_see_others, three_can_see_others]; • Consistence check:consistent(muddy_theory); => true

  21. Muddy Children • Exactly one child has mud on his face: situation1 := muddy3 & ~muddy2 & ~muddy1; provable(situation1 -> box3 muddy3, muddy_theory);=> true • In case of two muddy children, we need 2 steps: 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

  22. Muddy Children • All now know that at least two have mud on their face: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

  23. Muddy Children • Father restates his questionmuddy_theory2 := concat([at_least_two], muddy_theory);consistent(muddy_theory2); => true • Now child 2 & 3 know they’re muddyprovable(situation2 -> box2 muddy2, muddy_theory2); provable(situation2 -> box3 muddy3, muddy_theory2);=> true, true

  24. Conclusion • Linux only; use tcw2 • Easy notation • Watch out for box# with modal logic • Load the correct module(s) • Controleer op consistentie

More Related