• No results found

to reply-attack

In document Altru¨ısme in DIAL (pagina 26-33)

3.3 Procedures

3.3.7 to reply-attack

De procedure to reply attack is, vergeleken met de overige procedures in DIAL erg groot. Door de grootte van de procedure oogt to reply-attack ingewikkeld.

Om zich te kunnen verdedigen moet een agent over meer dan ´e´en reputatiepunt beschik-ken. De lijst met aanvallen (attacks) wordt gefilterd op basis van de reputatiepunten van de aanvaller (regel 2). Alleen de aanvallen van agents die over meer dan ´e´en repu-tatiepunt bezitten, worden behandeld.

De agent kiest vervolgens at random een aanval uit voor een tegenaanval. De aan-val bevat informatie over de aanaan-vallende agent, de tegenstander, en over de gebruikte propositie (regels 5 & 6). Met behulp van de propositie wordt de evidence en impor-tance waarde opgehaald van de verdedigende agent (regels 7 & 8). De evidence en importance waarde van de tegenstander worden in regel 7 en 8 opgehaald. De regel opponent.props[proposition] is de opinie van de tegenstander, want props bevat de lijst met opinies en proposition is simpelweg een index.

De omgeving van de agents reflecteert de heersende publieke opinie en bepaalt uiteinde-lijke wie de winnaar is van de dialoog. In regel 11 wordt de gemiddelde evidence waarde (envir) van de omgeving van de agent en de tegenstander berekend door middel van evidenceOf (). De regels 14 t/m 18 bepalen of de verdedigende agent punten wint of verliest. Hiervoor wordt de evidence waarde van de agent en de tegenstander vergeleken met de gemiddelde evidence waarde van de omgeving envir (regel 14). Indien de agent meer overeenkomt met de omgeving dan zijn tegenstander doet, wint de agent punten en komt de tegenstander meer overeen met de omgeving dan verliest de agent punten. Deze punten worden vervolgens verrekend met de reputatiepunten van de twee betrok-ken agents (regels 26 & 27).

In de regels 29 t/m 33 wordt de omgeving van de verliezende partij op de hoogte gesteld van het verlies. De publieke opinie wordt aangepast. De laatste if-else constructie (regel 35) past, voor zover mogelijk, de opinie van de verliezende partij aan. De omvang van de aanpassing hangt van accepti () en accepte(). Deze acceptance procedures bepalen of een opinie geaccepteerd kan worden en hoeveel invloed de opinie heeft op de huidige opinie.

Hoofdstuk 3. Analyse 21 Algorithm 7 to reply-attack 1: if reputation > 1 then 2: attack ← f ilter(attacks) 3: if empty(attacks) then 4: attack ← random(attacks) 5: opponent ← ownerOf (attack) 6: proposition ← propositionOf (attack) 7: evid ← evidenceOf (proposition) 8: imp ← importanceOf (proposition)

9: oppevid ← evidenceOf (opponent.props[proposition]) 10: oppimp ← importanceOf (opponent.props[proposition]) 11: envir ← 1

2(environmentOf (self, proposition) + environmentOf (opponent, proposition)) 12: win ← 0

13:

14: if agreementFactor(evid, envir) > agreementFactor(oppevid, envir) then 15: win ← evid ∗ imp ∗ forceOfArgumentation

16: else

17: win ← -((1 - evid) ∗ imp ∗ forceOfArgumentation 18: end if

19:

20: if win > 0 then

21: win ← min(win, reputationOf (opponent) + 1 ∗ 10−5) 22: else

23: win ← max(win, -(reputationOf (opponent) + 1 ∗ 10−5)) 24: end if 25: 26: agent.reputation.increase(win) 27: opponent.reputation.increase(-win) 28: 29: if win > 0 then

30: changeEnvironmentAround(opponent, proposition, evid, imp) 31: else

32: changeEnvironmentAround(self, proposition, oppevid, oppimp) 33: end if

34:

35: if win > 1 - winthreshold then

36: opponent.setOpinionOn(proposition, accepte(evid, oppevid), accepti(imp, oppimp)) 37: else

38: if win < winthreshold - 1 then

39: setOpinionOn(proposition, accepte(oppevid, evid), accepti(oppimp, imp))

40: end if

41: end if 42: attacks ← [ ] 43: end if

Hoofdstuk 4

Methodologie

Dit onderzoek volgt een bepaalde methodologie. In dit hoofdstuk wor-den de procedures beschreven die voorafgingen aan het onderzoek. Het doel van dit hoofdstuk is om een helder beeld te geven van de opbouw van het onderzoek en de gebruikte methodologie.

4.1 Altru¨ısme in DIAL

In deze fase van het onderzoek moet er een koppeling worden gemaakt tussen altru¨ısme, zoals beschreven in hoofdstuk twee, en het model DIAL. Agents in het model moeten een zekere vorm van altru¨ısme gaan vertonen. Hoe deze vorm van altru¨ısme in DIAL precies tot stand moet komen is nog niet duidelijk, maar wel van groot belang. Altru¨ısme kan op verschillende manieren worden ge¨ınterpreteerd en kan derhalve op verschillende manieren worden ge¨ımplementeerd. Toch kunnen enkele theorie¨en van altru¨ısme in de evolutie- en sociobiologie worden gekoppeld aan bepaalde attributen van DIAL. Zo spe-len reputatiepunten in DIAL een belangrijke rol. Het is een graadmeter voor succes. Hoe meer reputatiepunten een agent bezit, des te groter de kans is dat hij zal “overle-ven”. Organismes streven er ook naar te overleven. Een lang leven betekent dat er meer nakomelingen kunnen worden geproduceerd, wat weer leidt tot een toename van een be-paald allel1

in de volgende generatie. Het aantal nakomelingen is bij levende organismes de graadmeter voor succes. Zoals in hoofdstuk twee al wordt beschreven, bepaalt de fitness van een organisme het verwachte aantal nakomelingen dat het zal produceren. De vertaling naar DIAL kan vervolgens snel worden gemaakt. De reputatiepunten zijn de fitness van een agent.

Organismes streven er dus naar om zich zo veel mogelijk voort te planten. Echter, in

1

een variant van een gen

Hoofdstuk 4. Methodologie 24 DIAL kunnen agents zich niet voortplanten. Om welke reden zouden agents dan nog hun fitness hoog houden? Een valide reden ontbreekt immers. Er is geen voorplanting en er zijn geen genen die overgebracht kunnen worden naar de volgende generatie. In DIAL draait alles om het winnen van dialogen. De doelstelling van elke agent is, het vergaren van zo veel mogelijk reputatiepunten, door zo veel mogelijk discussies te winnen. Een achterliggende reden is er niet.

Een organisme dat zijn eigen fitness verlaagt om zo de fitness van anderen te verhogen, vertoont altru¨ıstisch gedrag. Aangezien agents nu ook over een fitness beschikken, kun-nen zij ook altru¨ıstisch gedrag gaan vertokun-nen. Het weggeven van reputatiepunten is dus een vorm altru¨ısme.

Het is dus mogelijk om altru¨ısme aan DIAL toe te voegen. Maar hoe zit het met kin selectie? Kin selectie is immers een belangrijk onderdeel van biologisch altru¨ısme (zie 2.2.2). Omdat agents in DIAL geen verwantschap kennen, is kin selectie in DIAL niet mogelijk. Er kan echter in DIAL wel selectie plaatsvinden op twee andere niveaus. Altru¨ıstische agents kunnen onderscheid maken tussen altru¨ısten en non-altru¨ısten en all´e´en mede-altru¨ısten bevoordelen (sterke selectie), en altru¨ısten kunnen ervoor kiezen om alleen altru¨ısten binnen een bepaalde radius te bevoordelen (zwakke selectie). Door een selectie te maken wat betreft de onderlinge afstand, is er een soort kunstmatige ver-wantschap gecre¨eerd. Elke agent heeft een eigen radius. Agents die binnen een agent’s radius vallen zijn aan hem verwant.

Tot nu toe is nog niet duidelijk welke agents altru¨ıstisch gedrag moeten vertonen en welke niet. Een voor de hand liggende mogelijkheid is om agents een boolean isAltruist mee te geven. Er wordt echter voor een andere oplossing gekozen. In DIAL worden name-lijk bij de initialisatie twee groepen agents gecre¨eerd, een groep die het eens is met de stelling en een groep die het oneens is met de stelling. Er kan dus onderscheid worden gemaakt tussen altru¨ıstische en non-altru¨ıstische agents door simpelweg te kijken naar hun mening.

In DIAL kan altru¨ıstisch gedrag op verschillende manieren worden ge¨ımplementeerd. In dit onderzoek worden twee implementaties gebruikt om altru¨ıstisch gedrag te realiseren: 1. Delen van de winst: Na elke overwinning ontvangt een agent reputatiepunten. Een non-altru¨ıstische agent zal deze punten zelf houden, maar een altru¨ıstische agent zal ervoor kiezen om de gewonnen reputatiepunten te delen met verwante altru¨ıstische agents. In figuur 4.1 is te zien hoe een altru¨ıstische agent drie reputatiepunten wint van een non-altru¨ıstische agent en deze vervolgens deelt met twee verwante altru¨ısten. 2. Herverdeling: Aan het einde van elke cyclus vindt er een herverdeling van repu-tatiepunten plaats onder verwante altru¨ısten. Het gaat hier echter niet om een strikte herverdeling, omdat dit te kunstmatig zou zijn, maar om een herverdeling waarbij een

Hoofdstuk 4. Methodologie 27 Maar hoe realistisch is deze implementatie? Natuurlijk is zo’n vorm van belonen oneer-lijk tegenover de non-altru¨ıstische agents. Altru¨ıstisch gedrag wordt nameoneer-lijk (direct) beloond en ego¨ıstisch gedrag niet. Altru¨ıstisch gedrag bij levende organismes wordt ook niet direct beloond, maar zulk gedrag wordt uiteindelijk w´el beloond. En dat is waar het om gaat bij deze implementatie. De altru¨ıstische agents worden beloond. Het gaat om het effect van deze beloning op DIAL en hoe DIAL daarop reageert, niet zozeer om de totstandkoming van de beloning. Wel betekent dit dat er niet snel conclusies kunnen worden getrokken betreffende altru¨ısme.

In document Altru¨ısme in DIAL (pagina 26-33)

GERELATEERDE DOCUMENTEN