当前位置: 首页 > news >正文

python社会科学问题研究的计算实验

实验十五:社会科学问题研究的计算实践

1.实验目标及要求

(1)掌握网络视角
(2)掌握社会网络基础内容
(3)掌握友谊悖论

2.实验主要内容

随机生成一次符合社会网络特征的网络,通过计算其中友谊悖论现象出现的占比,考察友谊悖论是否算得上一个规律

3.实验前进行一轮测试,验证代码准确度

n=10,r=4,p=0.5为基础测试一轮的数据:

[[0 0 1 0 0 0 1 1 1 1][0 0 1 0 0 0 1 0 0 0][1 1 0 0 1 1 1 0 0 1][0 0 0 0 1 1 0 0 0 1][0 0 1 1 0 1 1 0 0 0][0 0 1 1 1 0 0 0 0 1][1 1 1 0 1 0 0 1 0 0][1 0 0 0 0 0 1 0 1 0][1 0 0 0 0 0 0 1 0 1][1 0 1 1 0 1 0 0 1 0]]
5   4.4
2   5.5
6   4.166666666666667
3   4.333333333333333
4   4.5
4   4.5
5   4.0
3   4.333333333333333
3   4.333333333333333
5   4.2

满足的区间: 0.6
保存到数组的索引值: 6
友谊悖论数组: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
友谊悖论字典: {'[0,0.1)': 0, '[0.1,0.2)': 0, '[0.2,0.3)': 0, '[0.3,0.4)': 0, '[0.4,0.5)': 0, '[0.5,0.6)': 0, '[0.6,0.7)': 1, '[0.7,0.8)': 0, '[0.8,0.9)': 0, '[0.9,1.0]': 0}

4.实验代码及其输出结果

代码部分:

import random
import networkx as nx
import numpy as np# 统计友谊悖论表
stats_dit={"[0,0.1)":0,"[0.1,0.2)":0,"[0.2,0.3)":0,"[0.3,0.4)":0,"[0.4,0.5)":0,"[0.5,0.6)":0,"[0.6,0.7)":0,"[0.7,0.8)":0,"[0.8,0.9)":0,"[0.9,1.0]":0}
stats_list=[0,0,0,0,0,0,0,0,0,0]
# 进行100次测试
for data in range(100):# 随机生成[50~1000]个节点,每个节点有[4~10]个邻居,结点边的               随机化重连的概率为(0~1)的图n=random.randint(50,1000)if n%2==1:n+=1r=random.randint(4,10)p=random.random()ws = nx.watts_strogatz_graph(n, r, p)np.set_printoptions(threshold=np.inf)# 图转邻接矩阵a = nx.to_numpy_matrix(ws)a=np.array(a).astype('int64')# 按顺序保存当前结点的度new_deg=[]for i in range(n):new_deg.append(a[i].sum())# 统计符合友谊悖论的结点数friendship=0# 找出符合悖论的结点,放到合适的区间中for i in range(n):# 保存当前节点所在行的数据new_row_deg = []# 保存当前结点的所有相邻节点的度neigh_deg=[]for j in range(n):new_row_deg.append(a[i][j])# 遍历当前行数据,找到=1的位置,证明是当前结点的相邻节点for k in range(n):# 将相邻节点的度保存if new_row_deg[k]==1:neigh_deg.append(new_deg[k])# 计算并保存相邻结点的平均度neigh_deg_num=np.array(neigh_deg).sum()/len(neigh_deg)# 当前结点度小于相邻结点平均度则 friendship+1if new_deg[i]<neigh_deg_num:friendship+=1# 确定满足友谊悖论的区间stats_range=friendship/n# 计算在数组中对应的位置stats=int(stats_range*10%10)stats_list[stats]+=1# 保存字典的键stats_dit_keys=[]for i in stats_dit:stats_dit_keys.append(i)# 将数组数据保存到字典中for i in range(10):stats_dit[stats_dit_keys[i]]=stats_list[i]
# 输出统计表数据
print("统计表数据:",stats_dit)
输出结果:
统计表数据: {'[0,0.1)': 0, '[0.1,0.2)': 1, '[0.2,0.3)': 1, '[0.3,0.4)': 2, '[0.4,0.5)': 4, '[0.5,0.6)': 71, '[0.6,0.7)': 21, '[0.7,0.8)': 0, '[0.8,0.9)': 0, '[0.9,1.0]': 0}

5.结果验证和心得体会

根据实验结果可知,在100次友谊悖论结果验证中,友谊悖论现象出现占比在0.5以上的有92次,可以得到这个友谊悖论说法算得上是一个规律。经过此次实验,感受到了调用python库的方便之处,直接使用networkx模块,传入结点数,结点度数,结点边的随机化重连概率直接可以生成一个关系图,再使用networkx模块的内置函数将关系图转变成邻接矩阵,很是方便快捷。对于求邻接矩阵平均度的问题,我是想先求出每个结点的的度,存在一个列表中。找每一行中等于1的结点就为当前结点的相邻节点,去存结点度的列表中找每个相邻结点对应的度,求和算出平均度数。再将当前结点度和平均度进行比较,如果当前结点度小于相邻节点平均度,则该结点符合友谊悖论,则加1,最后用符合友谊悖论的结点数除以当前关系网的总结点数就为该关系网内结点的友谊悖论的占比。这就是我对于此次实验的思路,不知道是否有错误的地方,代码应该也能进一步优化,后续会找找可以优化的地方。此次实验也让我了解到了关于网络视角的概念,网络就是实体及其实体之间的关系,可以应用到现实生活的很多地方,也了解了友谊悖论理论,看来是一个普遍存在的理论了,但占比大多数也是在该关系网的0.5~0.7之间。

相关文章:

python社会科学问题研究的计算实验

实验十五&#xff1a;社会科学问题研究的计算实践 1.实验目标及要求 &#xff08;1&#xff09;掌握网络视角 &#xff08;2&#xff09;掌握社会网络基础内容 &#xff08;3&#xff09;掌握友谊悖论 2.实验主要内容 随机生成一次符合社会网络特征的网络&#xff0c;通过计…...

Element Plus 发布 2.8.0

功能特性 组件更新 [color-picker] alpha-slider a11y (#14245 by tolking)添加 mention 组件 (#17586 by Fuphoenixes)[tree-v2] 添加 scrollTo 方法 (#14050 by kaine0923)[drawer] 添加 append-to 属性 (#17761 by tolking)[table] tree children 添加严格检查 (#13519 by t…...

解释区块链技术的应用场景和优势-水文

区块链技术是一种去中心化的分布式账本技术&#xff0c;其应用场景和优势如下&#xff1a; 金融领域&#xff1a;区块链可以用于加密货币交易&#xff0c;提供安全的、去中心化的支付系统。它也可以用于股票、债券和其他金融交易的记录和结算&#xff0c;提高交易的透明度和效率…...

等保测评基础知识(一)

1、时间类&#xff1a; 网络安全法&#xff1a; 2017年6月1日等保2.0实施时间&#xff1a; 2019年12月1日密码法&#xff1a; 2020年1月1日个人信息保护法&#xff1a; 2021年11月1日&#xff0c;数据安全法实施时间&#xff1a; 2021年9月1日关键信息基础…...

股指期货套期保值中的展期管理有哪些?

在复杂的金融市场环境中&#xff0c;展期作为一种重要的风险管理工具&#xff0c;被广泛应用于期货交易中&#xff0c;特别是当投资者需要对长期资产进行套期保值时。展期的核心思想在于&#xff0c;通过连续替换高流动性的近月期货合约来替代流动性较差的远月合约&#xff0c;…...

如何通过参考文献找到原文

当只有参考文献想要获取原文时&#xff0c;通常会用到以下方法&#xff1a; 举例参考文献1. 杨忠华,周勃,宁宝宽,等.面向新能源产业的专业研究生研创能力培养实践探索——基于“政产学研用”融合驱动[J].高教学刊,2024,10(23):19-22.DOI:10.19980/j.CN23-1593/G4.2024.23.004…...

春秋云境 | SQL | CVE-2022-4230

目录 靶标介绍 开启靶场 wpscan漏洞介绍 查询数据库表名 查询表中字段名 查询字段下数据 靶标介绍 WP Statistics WordPress 插件13.2.9之前的版本不会转义参数&#xff0c;这可能允许经过身份验证的用户执行 SQL 注入攻击。默认情况下&#xff0c;具有管理选项功能 (ad…...

3.串口(UART)

串口理论部分可看51部分&#xff1a;链接 数据帧 帧头(2字节&#xff0c;例如AA、BB) 数据长度&#xff08;2字节&#xff09; 数据 CRC16校验&#xff08;2字节&#xff09; 帧尾&#xff08;2字节&#xff09; 代码编写 串口一发送命令控制LED灯(PB5、PE5) LED灯、串口、…...

macOS Sonoma 14.6.1 (23G93) Boot ISO 原版可引导镜像下载

macOS Sonoma 14.6.1 (23G93) Boot ISO 原版可引导镜像下载 2024 年 8 月 8 日凌晨&#xff0c;macOS Sonoma 14.6.1 发布&#xff0c;本更新包含了重要的错误修复&#xff0c;并解决了导致高级数据保护无法启用或停用的问题。同时带来了 macOS Ventura 13.6.9 安全更新。 本…...

论企业私域流量运营中的玩法创新与开源 AI 智能名片 O2O 商城小程序的应用

摘要&#xff1a;本文旨在探讨企业在构建私域流量池时的多种玩法策略&#xff0c;并着重分析如何针对不同类型客户制定个性化方案。同时&#xff0c;引入开源 AI 智能名片 O2O 商城小程序这一工具&#xff0c;阐述其在私域流量运营中的重要作用和价值&#xff0c;为企业提升运营…...

nginx.conf alias 静态资源 别名 nginx配置

Linux系统Bug 报权限不足错误 user root; 解决server_name太长时报错的问题 #解决server_name太长时报错的问题server_names_hash_bucket_size 64; 解决文件上传默认限制1M的问题 #解决文件上传默认限制1M的问题client_max_body_size 100m; 监听所有端口 server_name _; a…...

pve虚拟机使用

文章目录 1.pve 直通硬盘 1.pve 直通硬盘 查看硬盘号&#xff1a; ls /dev/disk/by-id -lqm set 101 --virtio1 /dev/disk/by-id/usb-HIKSEMI__93963907-0:0挂载sata类型&#xff1a; qm set 101 --sata1 /dev/disk/by-id/ata-ST4000DM004-2U9104_WFN7TMVV可以将一个硬盘挂…...

Linux:进程概念详解

1. 冯诺依曼体系结构 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成 。 【注意】&#xff1a; a. 这里的存储器指的是内存 b. 不考虑缓存情况&#xff0c;这里的CPU能且只能对内存进行读写&#xff0c;不能访问外设(输入或输出设备) c.外…...

cms框架cookice注入漏洞

目录 一、环境 二、开始分析 2.1代码审计&#xff08;未授权访问&#xff09; 一、环境 环境私聊获取 二、开始分析 2.1代码审计&#xff08;未授权访问&#xff09; 我们可以看到构造函数ip是通过X_FORWARDED_FOR来获取的&#xff0c;而这个刚好可以伪造&#xff0c;那我…...

RabbitMQ高级特性 - 非持久化 / 持久化(交换机、队列、消息)

文章目录 RabbitMQ 持久化机制概述实现非持久化(交换机、队列、消息)实现持久化(交换机、队列、消息)RabbitMQ 持久化机制 概述 前面讲到了 生产者消息确认机制 和 消费者消息确认机制,保证了消息传输的可靠性,但是这还不够,试想如果 Broker 突然崩溃,那么所有的 交换…...

OpenGL ES->工作机制

渲染流程 渲染目的&#xff1a;输入3D立体坐标&#xff0c;输出绘制后的2D平面像素工作流程&#xff1a;顶点着色器->图元装配->几何着色器->光栅化->片段着色器->测试与混合&#xff0c;整个工作流程被封装在GPU内部&#xff0c;无法改变。运行在CPU的代码调用…...

ue4.27 C++ 解析内容为json的字符串

json字符串为 R"({"x": -1870.0, "y": -11400.0})"&#xff0c;里面内容是个json对象。 const FString& Message R"({"x": -1870.0, "y": -11400.0})"; TSharedRef<TJsonReader<>> Reader TJs…...

图论③ | Java | 孤岛的总面积、沉没孤岛、水流问题 、建造最大岛屿

101. 孤岛的总面积 卡玛 101. 孤岛的总面积 https://kamacoder.com/problempage.php?pid1173 孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿。 本题要求找到不靠边的陆地面积&#xff0c;那么我们只要从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都…...

基于VEH的无痕HOOK

这里的无痕HOOK指的是不破坏程序机器码,这样就可以绕过CRC或MD5的校验。 VEH利用了Windows的调试机制和异常处理,人为抛出异常,从异常的上下文中获取寄存器信息。 DLL入口 // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" #include "CHoo…...

芯片内部如何实现过欠压功能?

大家好,这里是大话硬件。 在前面通过推送《芯片内部如何实现VREF参考稳压源?》实现了芯片内部VREF功能,今天分享一下芯片内部是如何实现过欠压保护。 UC3842芯片系列的数据手册如下: 从上面的描述可知,芯片在工作时,需要电压达到16V,但是电压跌落到10V后,芯片就不能工…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...