证明力引导算法forceatlas2为什么不是启发式算法

一、基本概念

吸引力
F a ( n i ) = ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j \displaystyle \bm{F}_a(n_i)= \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} Fa(ni)=njNctd(ni)ωi,jdE(ni,nj)Vi,j
其中 n i n_i ni代表节点 i i i N c t d ( n i ) \mathcal{N}_{ctd}(n_i) Nctd(ni)代表与节点 n i n_i ni相连的所有节点的集合。 ω i , j \omega_{i,j} ωi,j是节点 n i n_i ni与节点 n j n_j nj之间边的权重。 d E ( n i , n j ) d_E(n_i, n_j) dE(ni,nj)是节点 n i n_i ni与节点 n j n_j nj之间的距离。 V i , j \bm{V}_{i,j} Vi,j是从节点 n i n_i ni倒节点 n j n_j nj之间的单位方向矢量。

图1. 吸引力定义中一些基本概念示意图
在这里插入图片描述

斥力
F r ( n i ) = ∑ n j ∈ N , n ≠ n j k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) d E ( n i , n j ) V j , i \displaystyle \bm{F}_r(n_i)=\sum_{n_j \in \mathcal{N}, n \neq n_j} k_r \frac{(D(n_i)+1)(D(n_j)+1)}{d_E(n_i,n_j)} \bm{V}_{j,i} Fr(ni)=njN,n=njkrdE(ni,nj)(D(ni)+1)(D(nj)+1)Vj,i
N \mathcal{N} N所有节点的集合, k r k_r kr一个 ( 0 , 1 ) (0,1) (0,1)之间的系数。 D ( n i ) D(n_i) D(ni)节点 n i n_i ni的度, D ( n j ) D(n_j) D(nj)节点 n j n_j nj的度。 V j , i \bm{V}_{j,i} Vj,i节点 n j n_j nj倒节点 n i n_i ni的单位方向矢量。

二、关于力引导过程是启发式与否的探讨

问:力引导系统的过程的结果是确定的吗?
答:是

证明过程出发点:
只要证明最终顶点分布是一个确定的结果,是否就证明了该结果是非启发式的。

证明:
力引导过程最终平衡态是指整个系统达到力的平衡 → \to 所有节点的速度为0,即 v ( n i ) → 0 , i = 1 , ⋯ , N v(n_i) \to 0,i=1,\cdots,N v(ni)0,i=1,,N。下面将开始推导平衡态情况下,节点所处的状态。

按照系统合力为0推导

0 = F r e s u l t a n t = ∑ n i ∈ N { F n i 节点所受吸引力合力 ( n i ) + F n i 节点所受斥力合力 ( n i ) } \bm{0}=\bm{F}_{resultant}=\sum_{n_i \in N} \left\{ \bm{F}_{n_i节点所受吸引力合力}(n_i)+\bm{F}_{n_i节点所受斥力合力}(n_i) \right\} 0=Fresultant=niN{Fni节点所受吸引力合力(ni)+Fni节点所受斥力合力(ni)}
= ∑ n i ∈ N { F a ( n i ) + F r ( n i ) } =\sum_{n_i \in N} \left\{ \bm{F}_a(n_i) + \bm{F}_r(n_i) \right\} =niN{Fa(ni)+Fr(ni)}
= ∑ n i ∈ N { ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j + ∑ n k ∈ N , n k ≠ n i k r ( D ( n i ) + 1 ) ( D ( n k ) + 1 ) d E ( n i , n k ) V k , i } =\sum_{n_i \in N} \left\{ \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} + \sum_{n_k \in \mathcal{N}, n_k \neq n_i} k_r \frac{(D(n_i)+1)(D(n_k)+1)}{d_E(n_i,n_k)} \bm{V}_{k,i} \right\} =niN njNctd(ni)ωi,jdE(ni,nj)Vi,j+nkN,nk=nikrdE(ni,nk)(D(ni)+1)(D(nk)+1)Vk,i

= ∑ n i ∈ N { 俩节点相同的斥力和吸引力 + 不存在吸引力的节点之间的斥力 } =\sum_{n_i \in N} \left\{ 俩节点相同的斥力和吸引力 + 不存在吸引力的节点之间的斥力 \right\} =niN{俩节点相同的斥力和吸引力+不存在吸引力的节点之间的斥力}

= ∑ n i ∈ N { { ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j + ∑ n j ∈ N c t d ( n i ) k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) d E ( n i , n j ) V j , i } + ∑ n k ∈ N , n k ≠ n i k r ( D ( n i ) + 1 ) ( D ( n k ) + 1 ) d E ( n i , n k ) V k , i } =\sum_{n_i \in N} \left\{ \left\{ \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} + \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} k_r \frac{(D(n_i)+1)(D(n_j)+1)}{d_E(n_i,n_j)} \bm{V}_{j,i} \right\} + \sum_{n_k \in \mathcal{N}, n_k \neq n_i} k_r \frac{(D(n_i)+1)(D(n_k)+1)}{d_E(n_i,n_k)} \bm{V}_{k,i} \right\} =niN njNctd(ni)ωi,jdE(ni,nj)Vi,j+njNctd(ni)krdE(ni,nj)(D(ni)+1)(D(nj)+1)Vj,i +nkN,nk=nikrdE(ni,nk)(D(ni)+1)(D(nk)+1)Vk,i

d E ( n i , n j ) = d j d_E(n_i,n_j)=d_{j} dE(ni,nj)=dj,其对应的x、y和z三轴分量为 d j x , d j y , d j z d_j^x, d_j^y, d_j^z djx,djy,djz,上述推导过程中存在矢量,下面我将采用解析结合,进一步推导。 V i , j \bm{V}_{i,j} Vi,j x x x y y y z z z轴上的坐标分别为 ( p x , p y , p z ) (p_x, p_y, p_z) (px,py,pz),则 V j , i \bm{V}_{j,i} Vj,i x x x y y y z z z轴上的坐标分别为 ( − p x , − p y , − p z ) (-p_x, -p_y, -p_z) (px,py,pz)。则上述公式可拆分为两个函数 f 1 f_1 f1 f 2 f_2 f2

f 1 = ( ∑ n j ∈ N c t d ( n i ) { ω i , j d j x p x − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) d j x p x } , ∑ n j ∈ N c t d ( n i ) { ω i , j d j y p y − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) d j y p y } , ∑ n j ∈ N c t d ( n i ) { ω i , j d j z p z − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) d j z p z } ) f_1=\left(\sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \left\{ \omega_{i,j} \; d_j^x p_x - k_r \frac{(D(n_i)+1)(D(n_j)+1)}{d_j^x} p_x \right\}, \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \left\{ \omega_{i,j} \; d_j^y p_y - k_r \frac{(D(n_i)+1)(D(n_j)+1)}{d_j^y} p_y \right\}, \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \left\{ \omega_{i,j} \; d_j^z p_z - k_r \frac{(D(n_i)+1)(D(n_j)+1)}{d_j^z} p_z \right\} \right) f1= njNctd(ni){ωi,jdjxpxkrdjx(D(ni)+1)(D(nj)+1)px},njNctd(ni){ωi,jdjypykrdjy(D(ni)+1)(D(nj)+1)py},njNctd(ni){ωi,jdjzpzkrdjz(D(ni)+1)(D(nj)+1)pz}

f 2 = ∑ n k ∈ N , n k ≠ n i k r ( D ( n i ) + 1 ) ( D ( n k ) + 1 ) d E ( n i , n k ) V k , i f_2=\sum_{n_k \in \mathcal{N}, n_k \neq n_i} k_r \frac{(D(n_i)+1)(D(n_k)+1)}{d_E(n_i,n_k)} \bm{V}_{k,i} f2=nkN,nk=nikrdE(ni,nk)(D(ni)+1)(D(nk)+1)Vk,i
其中, f 1 f_1 f1是关于各个 d E ( n i , n j ) d_E(n_i, n_j) dE(ni,nj)的函数, f 2 f_2 f2是关于各个 d E ( n i , n k ) d_E(n_i, n_k) dE(ni,nk)的函数。再令, ω i , j p x = k 1 d j x \omega_{i,j} p_x=k_1^{d_j^x} ωi,jpx=k1djx − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) p x = k 2 d j x -k_r (D(n_i)+1)(D(n_j)+1) p_x=k_2^{d_j^x} kr(D(ni)+1)(D(nj)+1)px=k2djx ω i , j p y = k 1 d j y \omega_{i,j} p_y=k_1^{d_j^y} ωi,jpy=k1djy − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) p y = k 2 d j y -k_r (D(n_i)+1)(D(n_j)+1) p_y=k_2^{d_j^y} kr(D(ni)+1)(D(nj)+1)py=k2djy ω i , j p z = k 1 d j z \omega_{i,j} p_z=k_1^{d_j^z} ωi,jpz=k1djz − k r ( D ( n i ) + 1 ) ( D ( n j ) + 1 ) p z = k 2 d j z -k_r (D(n_i)+1)(D(n_j)+1) p_z=k_2^{d_j^z} kr(D(ni)+1)(D(nj)+1)pz=k2djz。那么函数 f 1 f_1 f1则为

f 1 = ( ∑ n j ∈ N c t d ( n i ) { k 1 d j x d j x + k 2 x j d j x } , { k 1 d j y d j y + k 2 d j y ) d j y } , { k 1 d j z d j z + k 2 d j z ) d j z } ) f_1=\left(\sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \left\{ k_1^{d_j^x} d_j^x + \frac{k_2^{x_j}}{d_j^x} \right\}, \left\{ k_1^{d_j^y} d_j^y + \frac{k_2^{d_j^y})}{d_j^y} \right\}, \left\{ k_1^{d_j^z} d_j^z + \frac{k_2^{d_j^z})}{d_j^z} \right\} \right) f1= njNctd(ni){k1djxdjx+djxk2xj},{k1djydjy+djyk2djy)},{k1djzdjz+djzk2djz)}

此时求偏导
{ ∂ f 1 ∂ x = 0 ∂ f 1 ∂ y = 0 ∂ f 1 ∂ z = 0 \left\{\begin{array}{l} \frac{\partial f_1}{ \partial x}=0 \\ \frac{\partial f_1}{ \partial y}=0 \\ \frac{\partial f_1}{\partial z}=0 \end{array} \right. xf1=0yf1=0zf1=0

由于距离只能为正,为了使得函数 f 1 f_1 f1最小,应满足距离满足如下情况
(1)根据函数 f 1 f_1 f1,相互连接的节点之间应满足距离 k 1 d j k 2 d j \frac{k_1^{d_j}}{k_2^{d_j}} k2djk1dj
(2)根据函数 f 2 f_2 f2,没有连接的节点之间的距离趋于无穷大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/671444.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化运维管理工具-------------Ansible

目录 一、自动化运维工具有哪些? 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …

爬虫学习(2)破解百度翻译

代码 import requests import jsonif __name__ "__main__":url https://fanyi.baidu.com/sug#post请求参数处理(同get请求一致)headers {"User-Agent": Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, …

3.栈和队列(汇总版)

目录 1.栈(一端插和删) 2.队列(一端插另一段删) 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列(头删) 5.访问对头 6.访问队尾 7.判断队列是否为…

BST的查找

目录 前言我的思路迭代递归 结果我的代码 前言 BST(Binary Search Tree)二叉查找树也太简单了吧,今天做的这个有点简单哈哈哈哈。 我的思路 迭代 迭代就是我的主要工作在于更新变量上了,如果我想要找的值比根节点小&#xff0…

【云原生】Pod 的生命周期(二)

【云原生】Pod 的生命周期(一)【云原生】Pod 的生命周期(二) Pod 的生命周期(二) 6.容器探针6.1 检查机制6.2 探测结果6.3 探测类型 7.Pod 的终止7.1 强制终止 Pod7.2 Pod 的垃圾收集 6.容器探针 probe 是…

vivado UltraScale 比特流设置

下表所示 UltraScale ™ 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

【探秘地球宝藏】矿产资源知多少?

当我们仰望高楼林立的城市&#xff0c;乘坐便捷的交通工具&#xff0c;享受各种现代生活的便利时&#xff0c;你是否曾想过这一切背后的支撑力量&#xff1f;答案就藏在我们脚下——矿产资源&#xff0c;这些大自然赋予的宝贵财富&#xff0c;正是现代社会发展的基石。今天&…

Mybatis逆向工程笔记小结

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1.前言 2.实现方案 2.1. mybatis-generator生成 2.1.1. 环境说明 2.1.2. 数…

宝兰德通过广东教育行业信创适配认证,拓展教育信创生态圈

近日&#xff0c;由宝兰德自主研发的多款中间件产品通过广东省教育行业信创适配中心的适配测试。测试表明&#xff0c;宝兰德四款中间件产品&#xff08;分布式缓存软件V3.0、应用服务器软件V9.5、消息中间件软件 V2.1、Web服务器软件V3.1&#xff09; 与当前主流国产操作系统统…

常用六大加密软件排行榜|好用加密文件软件分享

为了保障数据安全&#xff0c;越来越多的企业开始使用文件加密软件。哪款加密软件适合企业哪些办公场景呢&#xff1f; 今天就给大家推荐一下文件加密软件排行榜的前六名&#xff1a; 1.域智盾 这款软件专为企业和政府机构设计&#xff0c;提供全面的文件保护解决方案。 点…

我是如何带团队从0到1做了AI中台

经历心得 我从18年初就开始带这小团队开始做项目&#xff0c;比如最初的数字广东的协同办公项目&#xff0c;以及粤信签小程序等&#xff0c;所以&#xff0c;在团队管理&#xff0c;人员安排&#xff0c;工作分工&#xff0c;项目拆解等方面都有一定的经验。 19年中旬&#…

HTML_CSS学习:定位

一、相对定位 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>相对定位</title><style>.outer{width: 500px;background-color: #999ff0;border: 1px solid #000;p…