证明力引导算法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.mfbz.cn/a/597500.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【StarRocks系列】 Trino 方言支持

我们在之前的文章中,介绍了 Doris 官方提供的两种方言转换工具,分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…

C语言 | Leetcode C语言题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; void setZeroes(int** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;int n matrixColSize[0];int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for (int j 1; j < n; j…

C++:多继承虚继承

在C中&#xff0c;虚继承&#xff08;Virtual Inheritance&#xff09;是一种特殊的继承方式&#xff0c;用于解决菱形继承&#xff08;Diamond Inheritance&#xff09;问题。菱形继承指的是一个类同时继承自两个或更多个具有共同基类的类&#xff0c;从而导致了多个实例同一个…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…

汽车 - 什么是车轮抱死

车轮抱死分为两种情况&#xff0c;一种是车辆故障层面&#xff0c;另一种是驾驶过程中的物理现象。我们先来说最通俗的刹车车轮抱死吧。 刹车制动车轮抱死 车轮停止轴向转动就是抱死&#xff0c;有速度的情况下抱死车轮&#xff0c;如果车辆的惯性动能大于轮胎抓地力&#xff0…

Springboot集成Mybatispuls操作mysql数据库-03

MyBatis-Plus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强而不做改变。它支持所有MyBatis原生的特性&#xff0c;因此引入MyBatis-Plus不会对现有的MyBatis构架产生任何影响。MyBatis-Plus旨在简化开发、提高效率&#xff0c;…

基于FPGA的去雾算法

去雾算法的原理是基于图像去模糊的原理&#xff0c;通过对图像中的散射光进行估计和去除来消除图像中的雾霾效果。 去雾算法通常分为以下几个步骤&#xff1a; 1. 导引滤波&#xff1a;首先使用导引滤波器对图像进行滤波&#xff0c;目的是估计图像中散射光的强度。导引滤波器…

MATLAB绘制蒸汽压力和温度曲线

蒸汽压力与温度之间的具体关系公式一般采用安托因方程&#xff08;Antoine Equation&#xff09;&#xff0c;用于描述纯物质的蒸汽压与温度之间的关系。安托因方程的一般形式如下&#xff1a; [\log_{10} P A - \frac{B}{C T}] 其中&#xff0c; (P) 是蒸汽压&#xff08…

安卓view坐标系

目录 一、getX、 getRawX、 getTranslationX 等的图形表示二、 getX、 getRawX、 getTranslationX 意义的文字描述 一、getX、 getRawX、 getTranslationX 等的图形表示 坐标系&#xff1a; 视图坐标系&#xff1a; 二、 getX、 getRawX、 getTranslationX 意义的文字描述 …

【吊打面试官系列】Java高并发篇 - volatile 变量和 atomic 变量有什么不同?

大家好&#xff0c;我是锋哥。今天分享关于 【volatile 变量和 atomic 变量有什么不同&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; volatile 变量和 atomic 变量有什么不同&#xff1f; Volatile 变量可以确保先行关系&#xff0c;即写操作会发生在后续的读…

Vue 插槽

Vue插槽是一种特殊的语法&#xff0c;用于在组件中定义可复用的模板部分。它允许开发者在组件的标记中声明一个或多个插槽&#xff0c;然后在使用该组件时&#xff0c;可以根据自己的需求将内容插入到这些插槽中。 Vue插槽分为默认插槽和具名插槽两种。 默认插槽 语法 组件…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…

18.Blender 渲染工程、打光方法及HDR贴图导入

HDR环境 如何导入Blender的HDR环境图 找到材质球信息 在右上角&#xff0c;点击箭头&#xff0c;展开详细部分 点击材质球&#xff0c;会出现下面一列材质球&#xff0c;将鼠标拖到第二个材质球&#xff0c;会显示信息 courtyard.exr 右上角打开已渲染模式 左边这里选择世界…

01、JMS规范介绍

01、JMS规范介绍 在我们正式学习Kafka之前&#xff0c;先来了解下JMS&#xff0c;因为这可以在一定程度上帮助你更加深入的理解和学习Kafka。 1、 JMS简介 JMS&#xff0c;全称Java Mesage Service&#xff0c;即Java消息服务应用程序接口&#xff0c;是一个Java平台中关于面…

HIVE统计WordCount

HIVE WORDCOUNT 目录 HIVE WORDCOUNT 一、WORDCOUNT 1.我们先创建一个新的数据库 2.创建表并插入数据 3.统计WORDCOUNT 4.UNION ALL 用法 5.WITH AS 用法 1.WORDCOUNT 1&#xff09;我们先创建一个新的数据库 create database learn3;use learn3; 2&#xff09;创建表…

产品推荐 | 基于 Virtex UltraScale+ XCVU3P的FACE-VPXSSD-3PA 存储板

01 产品概述 FACE&#xff08;FPGA Algorithm aCceleration Engine&#xff09;FPGA算法加速开发引擎是基于FPGA可编程器件构建的一系列算法加速开发引擎平台。FACE-VPXSSD-3PA存储平台是FACE系列中的一员。该平台板载2组2GB 64bit DDR4、2路QSFP28光接口、4个NVME SSD M.2接口…

yum常用命令与lrzsz的在线安装

yum命令 yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理&#xff0c;能够从指定的服务器自动下载 RPM 包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装…

设备驱动中device_create函数与sys/devices目录

当调用device_create时parent参数为空时&#xff0c;新添加的设备位于sys/devices//sys/devices/virtual目录 以下面代码的为例 my_newcharled.myclass class_create(THIS_MODULE,dtled); my_newcharled.mydevice device_create(my_newcharled.myclass,NULL,my_newcharled.ne…

04-19 周五 GitHub actions-runner 程序解释

04-19 周五 GitHub actions-runner 程序解释 时间版本修改人描述2024年4月19日17:26:17V0.1宋全恒新建文档 简介 本文主要描述了actions-runner-linux-x64-2.315.0.tar.gz这个github actions CI所需要的客户端安装包的重要文件和内容信息。有关GitHub actions 的配置&#xff…

天图通逊|塘厦总仓服务全面升级

尊敬的客户&#xff1a; 您好!为了提供更优质、更高效的物流服务品质&#xff0c;我司针对国内塘厦仓库进行全面优化升级。升级内容如下&#xff1a; 1.分拣设备升级&#xff1a;在原有的自动分拣设备进行升级&#xff0c;由1.0速升级为1.5高速版&#xff1b;将分拣口的数量从…
最新文章