Top Banner
LokWeb and LWB 7 maart 2006 by Maarten and Hilverd
24

LokWeb and LWB

Dec 31, 2015

Download

Documents

bertha-guy

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LokWeb and LWB

LokWeb and LWB

7 maart 2006

by Maarten and Hilverd

Page 2: LokWeb and LWB

Contents

• LokWeb

• LWB

Page 3: LokWeb and 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)

Page 4: LokWeb and LWB

LokWeb Assignments

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

Page 5: LokWeb and LWB

LokWeb Assignments

• Kennislogica– Communicatieprotocollen

• OPGAVE 3

Page 6: LokWeb and LWB

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/

Page 7: LokWeb and LWB

The User Interface

De interface bestaat uit drie onderdelen1. Het hoofdscherm

2. Het statusscherm

3. Het optiescherm

http://www.lwb.unibe.ch/pics/sample_x.gif

Page 8: LokWeb and LWB

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

Page 9: LokWeb and LWB

Notation

Page 10: LokWeb and LWB

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

Page 11: LokWeb and LWB

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.

Page 12: LokWeb and LWB

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

Page 13: LokWeb and LWB

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

Page 14: LokWeb and LWB

Important Instructions

• remove superfluous subformulas:remove((true v p0) & p1 -> false); => ~p1

• which module am I working in?which(provable); => kn

• comments: # comment

Page 15: LokWeb and LWB

• consistent(T): theory T is consistent

• provable(F,T): formula F is provable in theory T

• satisfiable(F): formula F is satisfiable

Important Instructions

Page 16: LokWeb and LWB

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

Page 17: LokWeb and LWB

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.

Page 18: LokWeb and LWB

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

Page 19: LokWeb and LWB

Voorbeeld

Muddy Children

Page 20: LokWeb and LWB

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

Page 21: LokWeb and LWB

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

Page 22: LokWeb and LWB

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

Page 23: LokWeb and LWB

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

Page 24: LokWeb and LWB

Conclusion

• Linux only; use tcw2

• Easy notation– Watch out for box# with modal logic

• Load the correct module(s)

• Controleer op consistentie