第四次论文问题知识点及问题

1、NP-hard问题

NP-hard,指所有NP问题都能在多项式时间复杂度内归约到的问题。

2、启发式算法

‌启发式算法(heuristic algorithm)是相对于最优化算法提出的。它是一种基于直观或经验构造的算法,旨在以可接受的花费给出待解决组合优化问题的可行解,尽管这些可行解与最优解的偏离程度一般不能被预计。

启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、神经网络等。

计算机科学的两大基础目标,就是发现可证明其执行效率良好且可得最佳解或次佳解的算法。而启发式算法则试图一次提供一或全部目标。 例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解;它通常可在合理时间解出答案,但也没办法知道它是否每次都可以这样的速度求解。

有时候人们会发现在某些特殊情况下,启发式算法会得到很坏的答案或效率极差,然而造成那些特殊情况的数据组合,也许永远不会在现实世界出现。因此现实世界中启发式算法常用来解决问题。启发式算法处理许多实际问题时通常可以在合理时间内得到不错的答案。

3、社区聚类

社区聚类是一种专门用于解决复杂网络问题的聚类算法,旨在找到网络中联系紧密的子图结构。‌ 社区聚类通常应用于社交网络、生物信息学、推荐系统等领域,目的是理解网络中的结构化和模块化现象,为分析复杂网络的特性提供重要信息‌。

社区聚类与传统的聚类算法有所不同。传统的聚类算法主要关注将数据集中的对象根据某些相似性标准分组,而社区聚类则侧重于找到网络中联系紧密的部分,经常忽略节点的属性‌。社区聚类的目标是识别出网络中具有高内部连接密度而与外部连接较少的子图,这些子图被称为社区‌。

社区聚类在多个领域有广泛应用。例如,在电商产品推荐中,如果某个社区没有房价交易记录,可以通过寻找相似社区来预测房价;在犯罪监控中,一旦发现其他社区有类似的犯罪迹象,可以通过优化警力来应对‌1。此外,社区聚类还可以应用于市场细分、生物分类、信息检索、图像处理等领域‌3。

4、跨社区游走因子

跨社区游走因子是一种用于社区检测的算法中的概念,旨在提高社区检测结果的准确性。‌ 该算法充分考虑了多层网络各层内的高阶交互特性以及层间的相关性,有效整合了多层网络的结构信息。通过设计多层网络跨层游走模型,并引入跳转因子,确保随机游走能够自适应地遍历多层网络,从而捕获更丰富的网络结构信息‌。

5、罚函数

罚函数的基本定义和功能‌

罚函数‌是一种在求解最优化问题(包括线性约束优化和非线性约束优化)时使用的技术。它通过在原有目标函数中加入一个障碍函数,形成一个增广目标函数。罚函数的主要功能是对非可行点或企图逃离可行域的点赋予一个极大的值,从而将有约束的最优化问题转化为无约束的最优化问题。罚因子(或罚参数)在罚函数中起到惩罚作用,确保解满足约束条件。

罚函数的应用和类型

罚函数法主要有两种类型:内部罚函数法和外部罚函数法。内部罚函数法也称为障碍罚函数法,它在可行域内部进行搜索,当解远离约束边界时,罚函数值非常小,否则接近无穷大。外部罚函数法从非可行解出发,逐渐移动到可行区域。在进化计算中,外部罚函数法不需要提供初始可行解,这使得它在某些情况下更为实用。

罚函数的优缺点

罚函数法的优点在于它将有约束的最优化问题转化为无约束问题,简化了问题的求解过程。然而,罚因子(M)的取值难以把握,太小则起不到惩罚作用,太大则可能由于误差导致错误。因此,在实际应用中需要通过调整罚因子的值来寻找最优解。

6、贪心算法

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略‌。贪心算法不保证会得到最优解,但在某些问题中,贪心算法的解足够接近最优解或者确实是最优解。贪心算法的关键在于选择合适的贪心策略,这种策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。‌

7、子模性

8、CELF

9、覆盖节点数 ( f(S) ) 公式解释

在社交网络的影响力最大化问题中,覆盖节点数 ( f(S) ) 是一个核心指标,用于衡量选定种子节点集 ( S ) 能够影响的其他节点数量。该公式在采用独立级联(IC)传播模型时计算其覆盖效果,其具体形式为:

[ f(S) = k + \sum_{v \in N_B(S) - S} (1 - (1 - P)^{r(v)}) ]

公式各部分解析

  1. 种子节点数 ( k )

    • ( k ) 表示在种子节点集 ( S ) 中直接选择的节点数量。这些节点会在传播过程中直接对邻近节点产生影响。
  2. 邻居节点集 ( N_B(S) )

    • ( N_B(S) ) 表示种子节点集 ( S ) 的一跳邻居节点的集合。这些节点是与种子节点相连的其他节点,可能会受到影响。
  3. 未覆盖节点 ( N_B(S) - S )

    • ( N_B(S) - S ) 表示那些与种子节点相连但不在种子节点集 ( S ) 中的节点。这是我们希望通过种子节点进一步影响的目标。
  4. 传播概率 ( P )

    • ( P ) 是影响传播的概率,即每个活动节点成功感染其不活动邻居的概率。
  5. 节点 ( v ) 的影响能力 ( r(v) )

    • ( r(v) ) 表示在种子集 ( S ) 中直接与节点 ( v ) 相连的节点数量。换句话说,它反映了节点 ( v ) 接受影响的可能性,取决于与之相连的活动节点的数量。

公式含义

该公式通过考量由种子节点 ( S ) 引起的传播效应,计算出网络中能够被激活的节点数量。通过 ( k ) 直接引入的种子节点和通过邻居节点 ( N_B(S) ) 的传播效应相结合,展示了影响力如何从种子节点沿着网络扩展。

10、流程图

 11、ACO和ACS

ACS算法与ACO算法的关系

概述

ACS算法(Ant Colony System,蚁群系统)和ACO算法(Ant Colony Optimization,蚁群优化)都属于蚁群优化方法的范畴,但它们并不是同一个算法。ACO是一个更广泛的概念,包含了多种基于蚂蚁行为启发的优化算法,而ACS则是ACO的一种具体实现。以下将从多个方面详细探讨它们之间的关系及其在实际应用中的区别。

1. 定义和基本原理

  • ACO算法:

    ACO是一种广泛使用的启发式优化算法,受到自然界中蚂蚁觅食行为的启发。通过在解空间中模拟蚂蚁的行为,ACO算法能够有效地解决复杂的组合优化问题,比如旅行商问题(TSP)、路径规划等。ACO算法的核心在于信息素的分布,蚂蚁在搜索过程中逐渐更新信息素,以引导后续蚂蚁选择更优路径。

  • ACS算法:

    ACS算法是ACO的一个具体实现。它在基本的蚁群优化框架上进行了一些特定的改进,以提高算法的效率和准确性。ACS引入了更复杂的局部搜索策略、信息素更新规则以及路径选择机制,使得其在解决特定问题时更具优势。在许多应用场景中,ACS表现出更快速的收敛性和更好的解质量。

2. 改进与特点

ACO算法虽然功能强大,但在应对一些复杂问题时,可能存在效率低下的问题。ACS则通过以下几种方式进行改进:

  • 局部搜索策略: ACS算法在路径遍历过程中引入了局部搜索,以便在每个求解周期内更快地找到优质解。

  • 信息素更新: 相较于ACO,ACS在信息素的更新机制上进行了优化,使得优秀路径的信息素浓度增加得更快,从而加速搜索过程。

  • 适应性选择机制: 在ACS中,蚂蚁选择路径时,不仅参考信息素浓度,还综合考虑距离等多种因素,增强了算法的适应性。

3. 应用场景

  • ACO的适用性:

    ACO算法的广泛性使其适用于各种优化问题,例如物流调度、网络路由、图像处理等。由于其灵活性,ACO能够很好地应对未结构化优化问题。

  • ACS的适用性:

    ACS算法由于其在特定领域的优化策略,尤其适合社交网络影响力最大化问题。在这一领域,ACS通过引入社区发现和跨社区游走因子等策略,能够更好地应对网络中复杂的节点与连接关系。

4. 不同之处的总结

尽管ACS算法和ACO算法都基于蚂蚁启发,二者在实现上有显著不同:

  • ACO算法 是一个广泛的框架,包含多个基于蚂蚁行为的算法,适用范围广。

  • ACS算法 则是ACO的具体实现,针对特定问题进行了优化,特别是在社交网络影响力最大化上表现优异。

5. 未来研究方向

随着研究的深入,ACS和ACO算法的结合可能会为更多复杂的问题提供有效的解决方案。未来的研究可以探索更多领域内的应用,同时针对特定问题不断改进和创新优化策略。

总结

综上所述,ACS算法和ACO算法尽管同属于蚁群优化算法这一类,但它们并不是同一个算法。ACO是一个更广泛的框架,而ACS则在此基础上进行了深耕和优化。在解决特定问题,尤其是社交网络领域,ACS展现出了显著的优势,值得在未来的研究和应用中进一步探索与推广。

12、评估函数

为什么函数评估值越小,解的质量越高

在社交网络影响最大化的问题中,优化算法的目标是选择特定的种子节点,以在给定的成本限制下最大化网络的覆盖率(也即影响力)。在这个过程中,我们使用了函数评估值 ( g(S) ) 来衡量选择的种子节点的质量,而函数评估值越小则代表解的质量越高,具体原因如下:

1. 评估函数的构成

函数评估值 ( g(S) ) 是由两个部分组成的:

  • 惩罚项:当选择的种子集合 ( S ) 的成本超过设定的限制 ( C ) 时,惩罚项 ( M \cdot \max {0, \text{cost}(S) - C} ) 将增加评估值。这部分的目的是为了确保解的成本控制在可接受范围内,超出限制的情况下会增加评估值。
  • 未覆盖率:未覆盖率 ( \text{uncov}(S) = 1 - \text{cov}(S) ),表示被种子集合 ( S ) 影响不到的节点比例。未覆盖率越高,评估值也越高,意味着影响力不足。

2. 评估值与解的质量

  • 成本控制:在算法中,选取节点的成本是一个必要的约束。如果种子节点集合的成本超过了设定的限制 ( C ),惩罚项会显著提高 ( g(S) ) 的值。为了获得好的解,算法必须在成本约束之内进行节点选择,确保不会超出限制。

  • 影响力最大化:评估值不仅要考虑成本,还要关注影响力的覆盖效果。未覆盖率越低(即覆盖率越高),函数评估值越小。高质量的解会尽量降低未覆盖率,确保更多的节点被激活。因此,提高影响力并降低未覆盖率直接影响结果的质量。

3. 小结

综上所述,当函数评估值 ( g(S) ) 越小,意味着:

  • 成本控制裕度较好(没有超出限制)。
  • 覆盖效果较优,激活了更多的网络节点,降低了未覆盖率。

因此,优化算法的目标是通过选择合适的种子节点,最终使评估值 ( g(S) ) 越小,从而提高解的质量,实现网络影响力的最大化。

13、社区发现

为什么模块度越大,表明社区划分效果越好

模块度(Modularity)是一种用于衡量网络中社区划分质量的指标。它旨在评估网络中节点之间的连接密度与随机网络的连接模式相比的差异。模块度越大,表示社区划分效果越好,具体原因如下:

1. 模块度的基本概念

模块度用于衡量网络中实际的边连接情况与预期的随机连接情况之间的差异。其计算公式为:

  • (A_{ij}):表示节点 (i) 和节点 (j) 之间是否有边连接的邻接矩阵。
  • (d_i)(d_j):分别表示节点 (i) 和节点 (j) 的度(连接边的数量)。
  • (L):网络中的总边数。
  • (\delta(c_i, c_j)):当节点 (i) 和节点 (j) 在同一社区时为1,否则为0。

2. 模块度的意义

  • 高密度连接:当一个社区内的节点之间存在较多的连接时,模块度值会较高。这意味着在该社区内,节点之间的互动更为频繁,符合“社区”的形成特征。

  • 稀疏的外部连接:如果社区内部节点的连接密度远高于与其他社区的连接密度,那么模块度的值会增加。因此,一个良好的社区划分应该表现出许多内部连接和较少的外部连接。

3. 模块度增大时的效果

  • 清晰的社区结构:当模块度增大,表明社区之间的界限更为明显,节点在各自社区内部的聚集程度更高,外部连接相对较少。

  • 优化社区划分:较大的模块度反映了划分后的网络结构良好,能够准确反映节点之间的真实关系,为后续研究或应用提供更清晰的模型支持。

4. 总结

综上所述,模块度越大表明社区内部节点之间的连接更为密切,且与其他社区的联系相对较弱,因此反映出良好的社区划分效果。在社交网络的影响最大化问题中,合理的社区划分能够提高优化算法的性能,增强影响力传播的效率。优化模块度不仅能做为一个重要的评价指标,也对网络结构的理解和分析起到了主题指导作用。

14、社区发现部分使用的快速贪婪模块度最大化算法是怎么做的

快速贪婪模块度最大化算法在社区发现中的应用

在社交网络的分析中,社区发现是一个至关重要的任务,能够帮助研究人员识别节点之间的紧密连接区域。快速贪婪模块度最大化算法(Fast Greedy Modularity Optimization)是一种有效的社区发现方法,通过优化网络的模块度来实现这一目标。模块度(Modularity)作为一个衡量网络内部连接强度与外部连接强度比率的指标,成为社交网络分析中的一个关键概念。

一、模块度的定义与计算

模块度的计算涉及多个因素,包括每个节点的度数和邻接矩阵。模块度的基本公式为:

[ Q = \frac{1}{2m} \sum_{i,j} (A_{ij} - \frac{k_i k_j}{2m}) \delta(c_i, c_j) ]

其中:

  • ( A_{ij} ) 表示节点 ( i ) 和 ( j ) 之间的连接权重。
  • ( m ) 是网络中的边总数。
  • ( k_i ) 和 ( k_j ) 分别是节点 ( i ) 和 ( j ) 的度。
  • ( c_i ) 和 ( c_j ) 是节点所在的社区。

模块度 ( Q ) 的值越高,表明网络内部节点之间的连接越紧密,而与其他社区的连接则相对较少。

二、快速贪婪模块度最大化算法的步骤

该算法通过迭代过程来不断提升模块度,具体步骤如下:

  1. 初始化:将网络中的每个节点视为一个独立的社区。

  2. 迭代过程

    • 在每一步中,算法需计算所有节点在不同社区中的模块度变化。
    • 每次选择一个节点,将其合并到与其连接度更高的社区,以此提升整体模块度。
    • 如果节点移动后模块度增加,则进行这一移动;若无法继续提升模块度,则停止移动。
  3. 终止条件:迭代将在没有节点可以进一步移动以提升模块度,或者达到预设的停止条件时结束。

三、快速贪婪模块度最大化算法的优势

快速贪婪模块度最大化算法在社区发现中有几个显著的优势:

  • 高效性:该算法通过贪婪的方式,快速地识别网络中的紧密连接区域,使得社区划分的效率显著提高。

  • 精准性:优化模块度的目标使得社区内部的连接比较强,而与外部的连接较少,从而获取较为准确的社区结构,为后续的影响力最大化奠定了基础。

四、在CDACS算法中的应用

在CDACS(基于社区发现的蚁群算法)中,快速贪婪模块度最大化算法被用作网络聚类的核心步骤。这一过程意在减少源节点的冗余覆盖成本,从而提高信息传播的效率。

  1. 聚焦局部节点:由于隐含的社区结构,蚂蚁在搜索过程中可以优先选择同一社区内的节点,避免在整个网络中随机访问,提升了搜索效率。

  2. 引入跨社区游走因子:算法还引入了跨社区游走因子,增强了蚂蚁在网络中的全局探索能力。这使得蚂蚁能够在不同社区之间灵活移动,从而提升全局搜索的视野。

  3. 降低运行时间:通过社区划分,CDACS能够减少每次迭代的计算复杂度,使得算法在处理大规模社交网络时展现出更加出色的性能。

15、怎么对整体的网络进行社区聚类的?

如何对整体网络进行社区聚类

在社交网络分析中,社区聚类是一项重要任务,旨在识别网络中节点之间的紧密连接区域。即,通过将一组节点分为若干个子集(社区),使得同一社区内的节点连接更加紧密,而与其他社区的节点连接相对较少。快速贪婪模块度最大化算法是实现社区聚类的一种有效方法,下面将详细阐述该算法的具体步骤及其原理。

一、快速贪婪模块度最大化算法的基本步骤

  1. 初始化阶段

    • 在该算法开始时,将网络中的每一个节点视为一个独立的社区。这样,整个网络一开始就由若干个小的、相互孤立的社区组成。
  2. 模块度的计算

    • 模块度(Modularity)是衡量社区结构的一种指标,定义为: [ Q = \frac{1}{2m} \sum_{i,j} \left( A_{ij} - \frac{k_i k_j}{2m} \right) \delta(c_i, c_j) ] 其中,( A_{ij} ) 是节点 ( i ) 和 ( j ) 之间的连接权重,( m ) 是网络中的边总数,( k_i ) 是节点 ( i ) 的度,( c_i ) 和 ( c_j ) 是节点所属的社区。模块度值越高,表明社区划分效果越好。
  3. 迭代过程

    • 算法持续迭代,通过以下过程优化模块度:
      • 对于每个节点,计算其在不同社区中的模块度变化情况。
      • 将节点移动到与其连接度更高的社区中。
      • 如果移动后模块度能够提升,则执行此移动;否则,保持节点在当前社区。
    • 这个过程不断迭代,直到无法进一步提升模块度,或满足预设的停止条件。
  4. 终止条件

    • 当没有节点可以移动以提升整体模块度,或者达到预设的迭代次数时,算法结束。

二、社区识别与连接优化

通过以上步骤,快速贪婪模块度最大化算法有效地识别了网络中的紧密连接区域,即社区。这一过程的优势主要体现在以下几个方面:

  • 减少冗余覆盖成本:由于节点在社区内部的连接强度较高,因此在执行信息传播任务时,选择同一社区内的节点能够有效降低冗余覆盖成本,加快信息的传播效率。

  • 优化全局搜索:通过社区聚类,后续的信息传播算法(如CDACS)能够在搜索时优先考虑同一社区内的节点,从而实现全局搜索的优化。这不仅提升了搜索效率,也使得网络中的信息流动更加顺畅。

16、信息素初始化

17、每个节点v的启发式信息η(v)的初始化公式

公式解析

  • ( c(v) )

    • 表示选取节点 ( v ) 的成本,该成本是一个反映节点在网络中的重要性和位置的指标。
  • ( C )

    • 表示网络中的平均限制成本,是一个基准值。
  • ( d(v) )

    • 表示节点 ( v ) 的度数,即与节点 ( v ) 直接相连的边的数量。
  • ( \max { c(v) } )( \max { d(v) } )

    • 分别表示网络中最大的成本和最大的度数,用于归一化。
  • ( \lambda )

    • 一个常量,用于避免启发式信息的初始值为负值。在实验中取值为 1。

18、状态转移规则详解

 

19、 信息素更新规则

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

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

相关文章

『网络游戏』进入游戏主城UI跳转主城【26】

首先在Unity客户端中创建一个空节点重命名为MainCityWnd 设置父物体为全局 创建空节点钉在左上角作为角色信息UI 在钉子下创建Image 创建脚本:MainCityWnd.cs 编写脚本:MainCityWnd.cs 挂载脚本 创建脚本:MainCitySys.cs 编写脚本&#xff1a…

Java中二维数组-杨辉三角

使用二维数组打印一个10行杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1)第一行有1个元素,第n行有n个元素 2)每一行的第一个元素和最后一个元素都是1 3)从第三行开始,对于非第一个元素和最后一个元素的元素…

商贸物流痛点解析

商贸物流痛点解析 在当今全球化的商业环境中,商贸与物流之间的紧密协作已成为业务成功的关键因素。然而,许多组织面临着信息不对称、资源配套不足以及系统间隔离等痛点,这些问题严重阻碍了商贸体系与物流、仓储和园区的有效联动,…

[mysql]多表查询详解

我们如果要查询,我们就要用 SELECT .... FROM .... WHERE AND/OR/NOT #我们需要用过滤的条件来对数据进行筛选,不然会有很多多余数据 ORDER BY (ASC/DESC)#排序 LIMIT....,#是在几个有限的数据库管理系统里所以,PGsql,mysql,等 多表查询的意义 我们目前为止的查询语句…

linux 安装gitlab

安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤: 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…

IPv 4

IP协议 网络层主要由IP(网际协议)和ICMP(控制报文协议)构成,对应OSI中的网络层,网络层以实现逻辑层面点对点通信为目的。目前应用最广泛的IP协议为IPv4 基本概念给出 主机:配有IP地址但不具有路…

【原创】java+springboot+mysql劳动教育网系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

【数据结构-栈】【贪心】力扣2434. 使用机器人打印字典序最小的字符串

给你一个字符串 s 和一个机器人,机器人当前有一个空字符串 t 。执行以下操作之一,直到 s 和 t 都变成空字符串: 删除字符串 s 的 第一个 字符,并将该字符给机器人。机器人把这个字符添加到 t 的尾部。 删除字符串 t 的 最后一个 …

让AI像人一样思考和使用工具,reAct机制详解

reAct机制详解 reAct是什么reAct的关键要素reAct的思维过程reAct的代码实现查看效果引入依赖,定义模型定义相关工具集合工具创建代理启动测试完整代码 思考 reAct是什么 reAct的核心思想是将**推理(Reasoning)和行动(Acting&…

SDH8303直插DIP8,7W-12W非隔离升压降压转换器

SDH8303是用于开关电源的内置高压 MOSFET 的电流模式 PWM 控制器,采用DIP-8封装,全电压下典型功率7W-12W。 SDH8303芯片内置高压启动电路,在轻载下会进入打嗝模式,具有降频、抖频、软启动、VDD 打嗝功能,还集成了 VDD …

猿人学 — 第1届第17题(解题思路附源码)

猿人学 — 第1届第17题 根据题目“天杀的Http2.0”大概知道,请求的协议应该遵照的是Http2.0协议,并且目标网站专门对此进行了检测,在Network面板中右键表头,勾选Protocol 果不其然,一堆请求都是遵照Http2.0协议。而u…

论文阅读 BLIP-2

Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 使用冻结的图像编码器和大型语言模型进行语言-图像预训练的引导 BLIP-2 通过一个轻量级的查询变换器弥合了模态之间的差距。 Querying Transformer 第一阶段通过冻结的图像编…

Word排版 | 如何文字部分固定行距、图片(嵌入型)单倍行距

问题描述 在写一个要求比较高的项目报告,总共有109页 89张图片,而且必须用word写 因此: 文字部分需要固定行距23磅图片部分需要单倍行距(不然无法使用嵌入式) 难点 文字和图片难以有效分离,无法分别设…

3D渲图软件推荐:打造高质量渲染效果

在现代设计领域,3D渲图已经成为展示设计方案和产品外观的重要手段。无论是建筑设计、产品设计还是影视动画,都需要借助专业的3D渲染图软件来实现逼真的视觉效果。 本文将为您介绍几款备受好评的3D渲染图软件,帮助您在项目中选择合适的工具。…

筛选因数快速法+map

前言:老是忘记怎么快速筛选因数,我们只需要枚举小于sqrt( num ) 的数,这样可以降低很多复杂度,而且我们的因数一定是成对出现的,所以我们遇到一个因数的时候x,判断 x 2 x^2 x2 是否…

【华为】配置RIP协议

RIP(Routing Information Protocol)是一种内部网关协议(IGP),主要用于小型网络中的动态路由。RIP有两个主要版本:‌RIPv1和‌RIPv2,它们之间存在一些关键区别: ‌分类支持‌&#xf…

STM32之CAN外设

相信大家在学习STM32系列的单片机时,在翻阅芯片的数据手册时,都会看到这么一个寄存器外设——CAN外设寄存器。那么,大家知道这个外设的工作原理以及该如何使用吗?这节的内容将会详细介绍STM32上的CAN外设,文章结尾附有…

树的中心——dfs

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e510, M N*2; int h[N], e[M], ne[M], idx; int n; int ans 2e9; bool st[N]; void add(int a, int b) // 添加一条边a->b {e[idx] b, ne[idx] h[a], h[a] idx ; } int dfs(int u) {int…

系统移植一

使用设备是fs4412开发板 一、系统移植 系统移植是将一个操作系统或软件从一个硬件平台或处理器架构转移到另一个平台的过程。系统移植的主要目标是使软件在新的硬件环境下能够正常运行。在系统移植过程中&#xff0c;主要的改动集中在硬件相关的底层部分以及操作系统的核心模…

低代码工单管理app评测,功能与效率解析

预计到2030年&#xff0c;低代码平台市场将达1870亿美元。ZohoCreator助力企业构建定制化软件应用&#xff0c;以建筑行业工作订单管理app为例&#xff0c;简化流程&#xff0c;提升管理效率&#xff0c;降低成本。其用户友好界面、自动化管理、跨平台使用及全面报告功能受企业…