Han Stiekema | 1339141 |
Roland Veen | 1211404 |
Gert-Jan de Vries | 1339192 |
Bij elk type relatie hoort een bepaalde vorm van vertrouwen, wat inhoudt dat onderling geheimen wel of niet worden doorverteld. Zo geldt bijvoorbeeld dat 2 personen die een verkering-relatie tot elkaar hebben meer aan elkaar vertellen, dan 2 personen met een kennis-relatie.
Gegeven deze situatie kunnen we ons een paar vragen stellen. Neem bijvoorbeeld 2 personen met een verkerings-relatie, waarvan er 1 is vreemdgegaan. Wie komen er achter dit geheim? Komt de andere persoon uit deze relatie achter dit geheim? Op welke manier bereikt de informatie de personen? Dit soort vragen willen we gaan beantwoorden met een model in Logic WorkBench (LWB).
![]() ![]() |
mag_vertellen(a,b,onderwerp) ![]() ![]() ![]() [(vriend(a,b) ![]() ![]() ![]() ![]() ![]() (kennis(a,b) ![]() ![]() ![]() ![]() ![]() ![]() ![]() (verkering(a,b) ![]() ![]() |
De vriendenkring met de bijbehorende relaties hebben we in LWB gemodelleerd middels lijsten vriend_van, kennis_van en verkering_met, waarin steeds een combinatie van twee personen staat. Het voorkomen van de combinatie van twee personen in een lijst geeft aan dat die twee personen met elkaar de relatie hebben die de lijst beschrijft. Als er in geen enkele lijst een combinatie bestaat tussen persoon A en persoon B, dan zijn de personen onbekenden van elkaar. Verder hebben we een functie relatie(x,rel,y) gemaakt, die true levert als x een relatie van type rel heeft met y. Deze functie verzorgt ook de symmetrie-eis (eis 1). Doordat de relatie-lijsten gewoon door alle agents opgevraagd kunnen worden zijn eisen 3 en 4 triviaal geworden. Eis 2 (uniciteit van relaties) is in deze kleine groep eenvoudig te controleren, dus daar hebben we geen expliciete modellering van gemaakt.
Voor het vertellen van de roddels hebben we een functie mag_vertellen(a,b,onderwerp) gemaakt die gebruik maakt van de eerder beschreven relatie-functie. Door het gebruik van deze relatie-functie hebben we bijna letterlijk de logische expressie voor de vertel-actie kunnen overnemen.
Met de mag_vertellen-functie kunnen we nu het verspreiden van een roddel door de vriendenkring simuleren. In het kort komt het roddelen erop neer dat we werken met een aantal dagen (in LWB gewoon een tellertje dat oploopt). Op elke dag ontmoet elke agent elke andere agent. Als agent A agent B ontmoet en agent A is op de hoogte van de roddel, dan wordt bekeken (met de mag_vertellen-functie) of agent A de roddel mag vertellen aan agent B. Als dat het geval is wordt de kennis van de groep zodanig aangepast dat agent B ook op de hoogte komt van de roddel (als hij het nieuwtje nog niet kende). Zodra de kennis van de groep aan het eind van een dag gelijk is aan de kennis aan het begin van de dag heeft het geen zin om nog verder te roddelen (iedereen heeft immers iedereen ontmoet, en heeft dus de kans gehad om de roddel te vertellen). Op dat moment stopt het programma.
Merk hierbij op dat er in onze uitwerking een vaste volgorde van vertellen is, die de snelheid waarmee de roddel wordt verspreid zou kunnen beinvloeden, maar iedereen die de roddel te weten zou kunnen komen, weet er na verloop van tijd ook vanaf en juist deze eindsituatie heeft onze interesse.
HOE DE CODE TE GEBRUIKEN + VOORBEELD UITVOER
Om de verspreiding van roddels binnen een model te bekijken met dit programma dient de functie maak_model als volgt gebruikt te worden:
modelnaam :== | maak_model( | |
[Anne, Petra], | # Personen die de roddel weten | |
Petra, | # Het onderwerp van de roddel | |
[Anne, Dirk, Els, Erwin, Petra, Piet], | # Een lijst van alle agenten in het model | |
[[Dirk,Els],[Els,Anne],[Piet,Erwin]], | # Vriendrelaties | |
[[Anne,Piet],[Piet,Petra],[Petra,Dirk]], | # Kennisrelaties | |
[[Erwin,Petra]], | # Verkeringsrelaties | |
mag_vertellen_v2 | # mag_vertellen voorwaarde | ); |
We hebben een aantal verschillende situaties binnen bovenstaande vriendenkring geanaliseerd. Per situatie staat het verloop van de kennis over de roddel beschreven en weergegeven in een illustratie:
We hebben nog 4 situaties bekeken, waarbij we ons hebben afgevraagd of iedereen het antwoord te weten komt. Het antwoord blijkt weer uit de verschillende plaatjes:
Situatie 3De initiële situatie is dat de roddel over Erwin gaat en zowel Erwin als Els de roddel kennen. Els heeft geen relatie met Erwin en kan de roddel daarom naar al haar relaties doorvertellen. Ook Anne en Dirk kennen Erwin niet en vertellen daarom de roddel aan al hun relaties. Zodoende komen ook Piet en Petra de roddel te weten, zodat ook in dit geval na verloop van tijd iedereen de roddel kent. |
![]() |
Situatie 4De initiële situatie is dat de roddel over Piet gaat en hij de enige is die ervan op de hoogte is. Piet is bevriend met Erwin en vertelt hem daarom de roddel over zichzelf. Erwin heeft verkering met Petra en vertelt haar daarom alles wat hij weet. Piet is slechts een kennis van Petra waardoor Petra de roddel ook door mag vertellen aan Dirk. Vervolgens vertellen Dirk en Els de roddel ook door omdat ze geen relatie met Piet hebben, zodat ook in deze situatie iedereen de roddel te weten komt. |
![]() |
Situatie 5De initiële situatie is dat de roddel over Els gaat en zowel Els als Piet de roddel kennen. Els vertelt de roddel over zichzelf aan haar vrienden Anne en Dirk. Daarnaast heeft Piet geen relatie met Els en mag daarom de roddel ook doorvertellen aan Petra en Erwin. Ook nu raakt iedereen op de hoogte van de roddel. |
![]() |
Situatie 6Neem nu als initiële situatie dat de roddel over Erwin gaat en zowel Erwin als Piet de roddel kennen. De roddel is dan dus bekend bij twee vrienden waarvan het onderwerp geen andere vrienden heeft aan wie hij over zichzelf kan vertellen en de ander bij wie de roddel bekend is geen relaties heeft die hecht genoeg zijnIn dit geval blijkt dat de roddel niet verder doorverteld wordt. Laten we nu kijken waarom dit gebeurt:Er zijn twee personen die de roddel kennen: Erwin en Piet. Aanschouw de relaties die Erwin heeft: Erwin is bevriend met Piet en heeft verkering met Petra.
Aanschouw nu de relaties die Piet heeft: Piet heeft als kennis Petra en Anne en Erwin als vriend.
Dus alle personen die de roddel kennen, kunnen de roddel niet doorvertellen. De kennis van de roddel blijft dus beperkt tot Erwin en Piet. |
![]() |
Situatie 7Als uitgangspunt hebben we hier een situatie genomen met enkel vriend-van relaties. De vriendenkring is gelijk aan de vorige situaties, maar alle kennis-van en verkering-met relaties zijn vervangen. We nemen weer de situatie waarbij er een geheim bestaat over Petra en waarin Anne op de hoogte is van dat geheim. Anne is geen vriend van Petra en vertelt het geheim aan alle vrienden (Piet en Els). Els vertelt het geheim vervolgens om dezelfde reden door aan Dirk. Piet kan het geheim niet doorvertellen omdat het over Petra gaat, met wie hij een vriend-van relatie heeft. Petra vertelt het echter zelf door aan Erwin, waardoor iedereen op de hoogte komt van het geheim.Merk op dat we ook situaties hebben bekeken met slechts kennis-van relaties of slechts verkering-met relaties. De resultaten hiervan gaven geen verschil met de originele vriendenkring. |
![]() |
Situatie 8Neem nu dezelfde situatie als situatie 4 (een geheim over Piet en hij is de enige die dat weet), maar verander alle relaties weer in vriend-van relaties. Omdat Piet geheimen over zichzelf aan zijn vrienden vertelt komen Anne, Petra en Erwin het geheim te weten. Els en Dirk kunnen echter niet op de hoogte komen van het geheim, omdat Anne en Petra niet mogen roddelen over vrienden en dus mogen ze het geheim over hun vriend Piet niet doorvertellen. In deze situatie zal dus niet iedereen op de hoogte komen van het geheim. |
![]() |
Situatie 9In deze situatie hebben we als basis de 'standaard' vriendenkring genomen en die aangevuld met willekeurige relaties zodat iedereen een relatie heeft met iedereen. We gaan uit van situatie 6, die met de standaard vriendenkring niet tot verspreiding van de roddel leidde. Door het grote aantal relaties wordt de roddel in tegenstelling tot situatie 6 vrij snel verspreid. De uitbreiding van de situatie tot een fully connected vriendenkring heeft ervoor gezorgd dat iedereen nu wel op de hoogte komt van het geheim. |
![]() |
Situatie 10We nemen als basis weer de standaard vriendenkring, maar nu vullen we die aan met enkel vriend-van relaties. Verder gaan we uit van de situatie waarin er een geheim over Petra bestaat en Anne op de hoogte is van dit geheim (situatie 1). We zien nu dat in deze situatie de verspreiding van de roddel behoorlijk beperkt blijft. Petra vertelt de roddel door aan Els, die in deze situatie een vriend relatie met Petra heeft, maar aangezien zowel Anne als Els een vriend relatie met Petra hebben mogen ze het geheim niet verder doorvertellen en blijft de kennis over de roddel beperkt tot deze drie agents. |
![]() |
We zien dat wanneer het aantal relaties toeneemt de waarschijnlijkheid dat de roddel doorverteld wordt ook toeneemt zodat meer mensen de roddel te weten komen. Een sterk beperkende factor blijkt een groepje van slechts vrienden om het onderwerp van de roddel en een initiële situatie waarin de kennis over de roddel zich binnen dit groepje bevindt. De roddel zal zich verspreiden binnen de groep van vrienden rond het onderwerp, maar verlaat deze groep niet aangezien agenten niet over hun eigen vrienden mogen roddelen.
We gaan uit van de situatie identiek aan situatie 1. In situatie 1 kwam de Erwin (die een verkering-relatie heeft met Petra) op de hoogte van het geheim. We zien nu dat door de extra restrictie dit geheim niet langer wordt doorverteld aan Erwin, omdat hij een verkering_met relatie heeft met het onderwerp van de roddel (Petra). | ![]() |
Hier hebben we gekeken naar de effecten van de extra vertel-restrictie op situatie 7. We zien dat wederom de hele vriendenkring het geheim te weten krijgt, maar als we wat verder kijken zien we ook dat door de nieuwe vertel-restrictie de volgorde waarin de kennis wordt verspreid is veranderd. Anne mag nu het geheim niet aan Piet vertellen (want hij is een vriend van Petra). Petra is echt zelf degene die het geheim aan Piet vertelt, waardoor hij het geheim alsnog kent. | ![]() |
Tot slot hebben we situatie 9 bekeken met de nieuwe vertel-restrictie. We zien nu dat Petra door niemand op de hoogte gebracht wordt van de roddel, aangezien zij verkering met Erwin heeft. De verspreiding van de roddel is dus ingeperkt. | ![]() |
Wanneer de relaties tussen alle personen common knowledge zijn, weet iedereen precies hoe een roddel zich zal verspreiden wanneer iemand van de roddel af weet. Als een persoon A de roddel aan persoon B vertelt, dan weet B van de roddel, vanwege het perfecte communicatiemedium weten A en B ook dat B er vanaf weet, maar ze weten ook dat beide dat weten etc. etc. Dit geldt voor alle agents die een directe relatie hebben en de roddel weten dan wel te weten komen. Paarsgewijs (tussen paren die de roddel te weten zijn gekomen) bestaat er dus 'common knowledge' over de roddel.
Daarnaast is het zo dat persoon B precies weet aan wie A de roddel zal vertellen en A weet aan wie B de roddel zal doorvertellen. Ook weet A van de relaties aan wie B het zal doorvertellen aan wie zij het doorvertellen (en daarmee dat zij paarsgewijs 'common knowledge' over de roddel bereiken) etc. etc. omdat het relatienetwerk common knowledge is. Kortom, er geldt, wanneer we het temporele aspect buiten beschouwing laten (oftewel: wanneer de roddel verteld mag worden, wordt deze ook ooit verteld en we kijken of de common knowledge eventually geldt), binnen de groep van agents die de roddel te weten komen dat de roddel common knowledge wordt.
Echter, zoals ook situatie 6 aangeeft zijn er situaties waarin de roddel niet aan iedereen verteld kan/mag worden (bovendien zijn er andere relatienetwerken denkbaar waarbij er bijvoorbeeld onafhankelijke groepen van vrienden zijn die buiten hun groep niemand kennen). De personen aan wie de roddel niet verteld mag worden, zullen dan ook nooit kennis over de roddel verkrijgen, laat staan een grotere kennisdiepte.
Common Knowledge over de roddel binnen een willekeurige groep agents kan dus hooguit ontstaan wanneer iedereen de roddel te weten kan komen.