Opinion Dinamycs-Algorithmic Bias

The Algorithmic Bias model considers a population of individuals, where each individual holds a continuous opinion in the interval

Opinion Dinamycs



Initial contribute: 2019-05-09


Is authorship not correct? Feed back


Application-focused categoriesHuman-perspectiveSocial activities
Method-focused categoriesData-perspectiveGeoinformation analysis

Detailed Description

English {{currentDetailLanguage}} English

Algorithmic Bias


The Algorithmic Bias model considers a population of individuals, where each individual holds a continuous opinion in the interval [0,1]. Individuals are connected by a social network, and interact pairwise at discrete time steps. The interacting pair is selected from the population at each time point in such a way that individuals that have close opinion values are selected more often, to simulate algorithmic bias. The parameter gamma controls how large this effect is. Specifically, the first individual in the interacting pair is selected randomly, while the second individual is selected based on a probability that decreases with the distance from the opinion of the first individual, i.e. directly proportional with the distance raised to the power -gamma.

After interaction, the two opinions may change, depending on a so called bounded confidence parameter, epsilon. This can be seen as a measure of the open-mindedness of individuals in a population. It defines a threshold on the distance between the opinion of the two individuals, beyond which communication between individuals is not possible due to conflicting views. Thus, if the distance between the opinions of the selected individuals is lower than epsilon, the two individuals adopt their average opinion. Otherwise nothing happens.


Node statuses are continuous values in [0,1].


Name Type Value Type Default Mandatory Description
epsilon Model float in [0, 1]   True Bounded confidence threshold
gamma Model int in [0, 100]   True Algorithmic bias


The following class methods are made available to configure, describe and execute the simulation:



Model Parameters to be specified via ModelConfig

  • epsilon – bounded confidence threshold from the Deffuant model, in [0,1]
  • gamma – strength of the algorithmic bias, positive, real

Node states are continuous values in [0,1].

The initial state is generated randomly uniformly from the domain [0,1].


Model Constructor

Parameters: graph – A networkx graph object

Override behaviour of methods in class DiffusionModel. Overwrites initial status using random real values.


Reset the simulation setting the actual status to the initial configuration.



Describes the current model parameters (nodes, edges, status)

Returns: a dictionary containing for each parameter class the values specified during model configuration

Specify the statuses allowed by the model and their numeric code

Returns: a dictionary (status->code)

Execute Simulation


Execute a single model iteration

Returns: Iteration_id, Incremental node status (dictionary node->status)

Execute a bunch of model iterations

  • bunch_size – the number of iterations to execute
  • node_status – if the incremental node status has to be returned.

a list containing for each iteration a dictionary {“iteration”: iteration_id, “status”: dictionary_node_to_status}


In the code below is shown an example of instantiation and execution of a AlgorithmicBiasModel model simulation on a random graph: we set the initial infected node set to the 10% of the overall population.

import networkx as nx
import ndlib.models.ModelConfig as mc
import ndlib.models.opinions.AlgorithmicBiasModel as ab

# Network topology
g = nx.erdos_renyi_graph(1000, 0.1)

# Model selection
model = ab.AlgorithmicBiasModel(g)

# Model configuration
config = mc.Configuration()
config.add_model_parameter("epsilon", 0.32)
config.add_model_parameter("gamma", 1)

# Simulation execution
iterations = model.iteration_bunch(200)



NDlib (2019). Opinion Dinamycs-Algorithmic Bias, Model Item, OpenGMS, https://geomodeling.njnu.edu.cn/modelItem/785bf51f-55a4-4a6f-8377-aa11a968a825


Initial contribute : 2019-05-09



Is authorship not correct? Feed back

QR Code


{{curRelation.author.join('; ')}}



Drop the file here, orclick to upload.
Select From My Space
+ add


Cancel Submit
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Localizations}} + {{htmlJSON.Add}}
{{ item.label }} {{ item.value }}
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
名称 别名 {{tag}} +
系列名 版本号 目的 修改内容 创建/修改日期 作者
摘要 详细描述
{{tag}} + 添加关键字
* 时间参考系
* 空间参考系类型 * 空间参考系名称

起始日期 终止日期 进展 开发者
* 是否开源 * 访问方式 * 使用方式 开源协议 * 传输方式 * 获取地址 * 发布日期 * 发布者

编号 目的 修改内容 创建/修改日期 作者

时间分辨率 时间尺度 时间步长 时间范围 空间维度 格网类型 空间分辨率 空间尺度 空间范围
{{tag}} +
* 类型

* 名称 * 描述
示例描述 * 名称 * 类型 * 值/链接 上传

{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
Title Author Date Journal Volume(Issue) Pages Links Doi Operation
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Add}} {{htmlJSON.Cancel}}


Authors:  {{articleUploading.authors[0]}}, {{articleUploading.authors[1]}}, {{articleUploading.authors[2]}}, et al.

Journal:   {{articleUploading.journal}}

Date:   {{articleUploading.date}}

Page range:   {{articleUploading.pageRange}}

Link:   {{articleUploading.link}}

DOI:   {{articleUploading.doi}}

Yes, this is it Cancel

The article {{articleUploading.title}} has been uploaded yet.

{{htmlJSON.Cancel}} {{htmlJSON.Confirm}}