Roddelen in een groep

Teamleden

Han Stiekema  1339141
Roland Veen  1211404
Gert-Jan de Vries  1339192

Inleiding

In dit project bekijken we een groep mensen die bepaalde relaties met elkaar hebben. Er zijn 3 verschillende types relaties: vriend(in), kennis en verkering (eventueel nog een relatie onbekende indien geen van de eerdergenoemde relaties geldt). Twee personen hebben slechts 1 type relatie tot elkaar en die relatie is wederzijds.

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

Aannames en logica

Hieronder beschrijven we de aannames (spelregels) voor het roddelen, steeds gevolgd door onze vertaling van de aannames naar logische expressies. Aan de relaties zijn de volgende vier eisen gesteld:
  1. Als A een relatie heeft met B, dus vriend, kennis of verkering, dan is dat wederzijds
  2. Er is één soort relatie mogelijk tussen A en B
  3. als A een relatie met B heeft dan weten A en B dat allebei
  4. als A en B een relatie met elkaar hebben weet iedereen dat.
Ofwel:
  1. x,y Personen: (vriend(x,y) vriend(y,x) )
    (kennis(x,y) kennis(y,x) )
    (verkering(x,y) verkering(y,x) )
  2. x,y Personen: (vriend(x,y) (kennis(x,y) verkering(x,y)))
    (kennis(x,y) (vriend(x,y) verkering(x,y)))
    (verkering(x,y) (kennis(x,y) vriend(x,y)))
  3. x,y Personen: relatie(x,y) (Kx relatie(x,y) Ky relatie(x,y) )
  4. x,y,i Personen: relatie(x,y) Ki relatie(x,y)
Voor het doorvertellen van roddels gelden de volgende regels: Merk op dat deze regels niets zeggen over het wel dan niet vertellen van een roddel wanneer deze over je verkering gaat. We nemen aan dat wanneer A een roddel over zijn vriend niet mag vertellen, A een roddel over zijn verkering ook niet mag vertellen. De aangepaste regels worden dus als volgt: Al deze regels hebben we samengevat in één expressie:

a,b,onderwerp Personen ::  mag_vertellen(a,b,onderwerp)
   (b = onderwerp)
   [(vriend(a,b) vriend(a,onderwerp) verkering(a,onderwerp))
    (kennis(a,b) vriend(a,onderwerp) verkering(a,onderwerp) (a = onderwerp))
    (verkering(a,b) (a = onderwerp))]

Uitwerking in LWB

Hier zullen we kort beschrijven hoe we de opdracht hebben uitgewerkt. Deze beschrijving zal vrij globaal zijn. Voor details verwijzen we naar de bijbehorende LWB code (de code is met elke tekst-editor te bekijken). Zoals misschien uit onderstaande beschrijving zal blijken hebben we ervoor gekozen om niet alle mogelijkheden voor elke relatie en elke actie op te sommen in LWB notatie, maar maken we gebruik van de mogelijkheid om procedures te definieren. Het gebruik van deze procedures maakt de code niet alleen leesbaarder (en dus makkelijker te controleren), maar het zorgt ook voor een veel snellere uitvoering.

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

De lijst std_vrienden (analoog voor kennissen en verkering) bestaat uit paren van agenten die vrienden van elkaar zijn. De mag_vertellen voorwaarde verwijst naar een functie waarin deze voorwaarde beschreven staat. Vervolgens dient een aanroep gedaan te worden van roddelen("Modelbeschrijving", modelnaam);. Wanneer dit alles door LWB wordt uitgevoerd, wordt er uitvoer geretourneerd als in dit voorbeeld, waarin alle onderstaande situaties worden doorgerekend.

Roddelen maar!

We gaan uit van de volgende vriendenkring, bestaande uit 6 personen, elk met onderlinge relaties: Uitgaande van deze vriendenkring stellen we ons enkele situatie voor waarin een bepaald geheim over iemand bestaat en één of meer agents hiervan op de hoogte is. Elk van de volgende situaties hebben we getest in ons model. Het resultaat van elke test is weergegeven in een plaatje. Elke cirkel is een agent en de cirkel met dik gedrukte rand geeft het onderwerp van de roddel aan. Een blauw ingekleurde cirkel betekent dat de betreffende agent op de hoogte is van het geheim. De pijlen tussen de agents geven hun onderlinge relatie weer. Zodra agent A het geheim aan agent B heeft verteld wordt de dubbele pijl vervangen door een enkele blauwe pijl van A naar B.

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:

Algemeen

Situatie 1

De initiële situatie is dat de roddel over Petra gaat en zowel Petra als Anne de roddel kennen. Anne heeft geen relatie met Petra en kan de roddel daarom naar al haar relaties doorvertellen. Op een gegeven moment weet ook Piet de roddel. Aangezien Piet bevriend is met Erwin en Petra slechts een kennis is van Piet, mag Piet de roddel over Petra doorvertellen aan Erwin. Op deze manier komen alle personen de roddel te weten.

Situatie 2

De initiële situatie is dat de roddel over Petra gaat en zowel Petra als Dirk de roddel kennen. Vergelijkbaar als in de eerste situatie is de relatie tussen Piet en Petra niet hecht genoeg om de roddel niet door te vertellen. Zodoende beland de roddel via Els en Anne ook weer bij Piet, die de roddel weer door mag vertellen aan Erwin. Ook nu zijn na verloop van tijd alle personen op de hoogte van de roddel.

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 3

De 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 4

De 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 5

De 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 6

Neem 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.
  • Erwin mag de roddel aan Piet vertellen, maar Piet wist de roddel al, dus dit zorgt niet voor uitbreiding van de kennis over de roddel.
  • Erwin zal de roddel niet aan Petra vertellen omdat de roddel over hemzelf gaat.
  • Tot slot zal Erwin de roddel niet aan een onbekende vertellen.
Conclusie: Erwin kan er niet voor zorgen dat de roddel zich verspreidt.
Aanschouw nu de relaties die Piet heeft: Piet heeft als kennis Petra en Anne en Erwin als vriend.
  • Voor zowel Petra als Anne geldt dat Piet de roddel niet aan hen mag vertellen omdat de roddel over zijn vriend Erwin gaat.
  • Piet mag de roddel niet aan Erwin vertellen omdat Erwin het onderwerp van de roddel is.
  • Tot slot zal Piet de roddel niet aan onbekenden vertellen.
Conclusie: Ook Piet kan er niet voor zorgen dat de roddel zich verspreidt.
Dus alle personen die de roddel kennen, kunnen de roddel niet doorvertellen. De kennis van de roddel blijft dus beperkt tot Erwin en Piet.

Wijzigingen in relaties

We hebben nog wat meer geexperimenteerd met ons model. We hebben hiervoor zowel de vriendenkring als de vertelregels aangepast. Voor het aanpassen van de vriendenkring vonden we het interessant om het effect te zien van slechts 1 type relatie en het effect van een 'fully connected' vriendenkring (iedereen heeft een relatie met iedereen). In onderstaande tabel zijn twee voorbeelden van elke situatie te zien.

Situatie 7

Als 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 8

Neem 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 9

In 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 10

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

Wijzigingen in vertel-restricties

Zoals eerder vermeld hebben we naast een aangepaste vriendenkring ook gekeken naar de effecten van andere vertel-restricties. We hebben de bestaande vertel-restricties uitgebreid met de beperking dat er geen geheimen worden doorverteld aan personen met wie het onderwerp zelf een vriend_van of verkering_met relatie heeft. Hiermee hebben we weer enkele experimenten gedaan:
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.

Ook het effect van de andere vertel-restricties op de andere situaties hebben we bekeken. Daarbij bleek echter dat er ofwel geen verandering was ofwel dat de verandering vergelijkbaar was met die in situatie 1. De nieuwe vertel-restricties blijken dus niet van erg grote invloed te zijn op de verspreiding van de roddel.

Common Knowledge over relaties

We hebben gezien dat roddels vaak over de groep van agenten verspreid raken, zodat iedereen de roddelt te weten komt. Maar wordt er ooit common knowledge bereikt?

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.

Conclusie

Roddels blijken zeer gemakkelijk verspreid te worden onder groepen van agenten binnen de gekozen modellering. Des te meer relaties er tussen de agenten zijn, des te groter de kans is dat iedereen de roddel te weten komt. Beperkende factoren zijn natuurlijk geïsoleerde groepen binnen de totale groep, maar ook vriendengroepen (of kennisgroepen) rond het onderwerp van de roddel mits de initiële kennis tot deze groep beperkt is. Een grotere restrictie van de voorwaarden voor het doorvertellen van roddels blijkt de verspreiding van de roddels wel enigszins te beperken. Veel hangt echter af van de vriendenkring. Veel hechte relaties (vriend of verkering) beperken de verspreiding van roddels, maar bij een minder hechte groep worden roddels vaak erg snel verspreid.

Vervolgonderzoek

De modellering die we hier hebben gemaakt is een versimpelde weergave van de realiteit. Om een betere weerspiegeling van de werkelijkheid te krijgen hebben we enkele mogelijkheden tot uitbreiding van ons model in gedachten: Met deze complexere modellering van een vriendenkring zou een dergelijk project gedaan kunnen worden om een wat realistischer beeld te krijgen van de verspreiding van roddels in het echte leven.