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

超图聚类论文阅读2:Last-step算法

超图聚类论文阅读2:Last-step算法

《使用超图模块化的社区检测算法》

《Community Detection Algorithm Using Hypergraph Modularity》

COMPLEX NETWORKS 2021, SCI 3区

具体实现源码见HyperNetX库

工作:提出了一种用于超图的社区检测算法。该算法的主要特点是它可以根据一个社区中的顶点与其他社区中的顶点共享超边的频率进行调整以适应各种场景。

动机和贡献

复杂网络中的社区发现——超图社区发现

  • 理论和工具的发展还不够充分,无法在超图情况下直接解决包括聚类在内的大多数问题。

  • 研究者经常创建感兴趣的超图的 2 部图(即,用团替换每个超边)。移动到 2-section 图后,人们显然失去了一些关于尺寸大于 2 的超边的信息,因此人们普遍认为,利用原始超图的知识可以做得更好

相关工作

  • Kumar 等人仍然将问题简化为图,但使用原始超图迭代调整权重以鼓励某些超边包含在某些聚类中但不鼓励其他超边
  • 作者自己在之前提出了图的经典空模型的许多超图扩展,这些扩展可能被真正的超图算法使用

本文贡献:提出了一个能够适应上述各种场景的框架

  • 将图模块化函数的所有扩展推广和统一到超图,并将它们放入一个框架中来实现这一点

  • 不同“切片”的贡献由可以针对给定场景调整的超参数控制(第2节)

  • 提出了两种原型算法来展示框架的潜力,即所谓的概念验证(第 3 节)

  • 引入了一个可能具有独立兴趣的合成随机超图模型,以测试算法在各种场景中的性能(第 4 节)

  • 试验了我们的原型以及该领域的两个主要竞争对手,即 Louvain 和 Kumar 等(第 5 节)

    • 适当调整超参数后,所提出的原型工作得很好
    • 提供了这样的调整可以以无监督的方式进行的证据
  • 揭示更多关于该效果的细节(第 6 节)

模块度函数

我们进一步概括了超图模块化函数,使我们能够以不同的方式评估对模块化函数的各种贡献

图模块度

G = (V, E)、n = |V|、度:degG(v)、社区A的体积

  • 模块化函数有利于图 G 的顶点集的分区,其中大部分边完全落在parts(通常称为簇)内
  • benchmark是用Chung-Lu 随机图模型生成的图具有完全遵循 G 中的度序列的随机图上相连的情况

给定分区A:边贡献+度税
q G ( A ) = ∑ A i ∈ A e G ( A i ) ∣ E ∣ − ∑ A i ∈ A ( vol ⁡ G ( A i ) vol ⁡ G ( V ) ) 2 q_G(\mathbf{A})=\sum_{A_i \in \mathbf{A}} \frac{e_G\left(A_i\right)}{|E|}-\sum_{A_i \in \mathbf{A}}\left(\frac{\operatorname{vol}_G\left(A_i\right)}{\operatorname{vol}_G(V)}\right)^2 qG(A)=AiAEeG(Ai)AiA(volG(V)volG(Ai))2

  • qG(A) ≤ 1
  • 一个分区的话,值为0;一个点是一个分区的话,值小于0
  • 找到最大模块度的分区——接近1
  • 如果 q*(G) 接近于零(这是平凡的下界),则不存在社区结构

超图模块度

可以推广成二部图进行计算,每条边的权重为w(e)/(|e| − 1)

  • 这种选择可确保创建的图的度分布与原始超图相同
  • 它也很好地将 H 上的自然随机游走转换为相应 H[2] 上的随机游走
  • 此过程会创建多重图

H = (V, E)、degH(v)、volH(A)

超图模块化函数的选择并不是唯一的。这取决于人们有多强烈地相信超边是其某些顶点落入一个社区的指标。即超边对社区的贡献

  1. 超边的所有顶点都必须属于其中一个部分
  2. 如果超边超过 50% 的顶点属于分区,则超边对这个分区有贡献
  3. 超边可能有助于对应于最大部分顶点属于的分区

majority-based modularity

Bin(d, p) 表示具有参数 d 和 p 的二项式随机变量
q H m ( A ) = ∑ A i ∈ A e H m ( A i ) ∣ E ∣ − ∑ d ≥ 2 ∣ E d ∣ ∣ E ∣ ∑ A i ∈ A P ( Bin ⁡ ( d , vol ⁡ H ( A i ) vol ⁡ H ( V ) ) > d 2 ) q_H^m(\mathbf{A})=\sum_{A_i \in \mathbf{A}} \frac{e_H^m\left(A_i\right)}{|E|}-\sum_{d \geq 2} \frac{\left|E_d\right|}{|E|} \sum_{A_i \in \mathbf{A}} \mathrm{P}\left(\operatorname{Bin}\left(d, \frac{\operatorname{vol}_H\left(A_i\right)}{\operatorname{vol}_H(V)}\right)>\frac{d}{2}\right) qHm(A)=AiAEeHm(Ai)d2EEdAiAP(Bin(d,volH(V)volH(Ai))>2d)
strict-based modularity
q H s ( A ) = ∑ A i ∈ A e H s ( A i ) ∣ E ∣ − ∑ d ≥ 2 ∣ E d ∣ ∣ E ∣ ∑ A i ∈ A ( vol ⁡ H ( A i ) vol ⁡ H ( V ) ) d = ∑ A i ∈ A e H s ( A i ) ∣ E ∣ − ∑ d ≥ 2 ∣ E d ∣ ∣ E ∣ ∑ A i ∈ A P ( Bin ⁡ ( d , vol ⁡ H ( A i ) vol ⁡ H ( V ) ) = d ) \begin{aligned} q_H^s(\mathbf{A}) & =\sum_{A_i \in \mathbf{A}} \frac{e_H^s\left(A_i\right)}{|E|}-\sum_{d \geq 2} \frac{\left|E_d\right|}{|E|} \sum_{A_i \in \mathbf{A}}\left(\frac{\operatorname{vol}_H\left(A_i\right)}{\operatorname{vol}_H(V)}\right)^d \\ & =\sum_{A_i \in \mathbf{A}} \frac{e_H^s\left(A_i\right)}{|E|}-\sum_{d \geq 2} \frac{\left|E_d\right|}{|E|} \sum_{A_i \in \mathbf{A}} \mathrm{P}\left(\operatorname{Bin}\left(d, \frac{\operatorname{vol}_H\left(A_i\right)}{\operatorname{vol}_H(V)}\right)=d\right) \end{aligned} qHs(A)=AiAEeHs(Ai)d2EEdAiA(volH(V)volH(Ai))d=AiAEeHs(Ai)d2EEdAiAP(Bin(d,volH(V)volH(Ai))=d)
——emH(Ai) 计算大多数顶点属于部分 Ai 的超边数,而在 (3) 中,esH(Ai) 计算所有顶点都属于部分 Ai 的超边数

统一和泛化

独立处理来自大小为 d 的超边对模块化函数的贡献,分别考虑超边内包含在社区的节点恰好为c的情况

上面的多数模块度可以写成:
q H m ( A ) = ∑ A i ∈ A ∑ d ≥ 2 ∑ c = ⌊ d / 2 ⌋ + 1 d ( e H d , c ( A i ) ∣ E ∣ − ∣ E d ∣ ∣ E ∣ ⋅ P ( Bin ⁡ ( d , vol ⁡ H ( A i ) vol ⁡ H ( V ) ) = c ) ) q_H^m(\mathbf{A})=\sum_{A_i \in \mathbf{A}} \sum_{d \geq 2} \sum_{c=\lfloor d / 2\rfloor+1}^d\left(\frac{e_H^{d, c}\left(A_i\right)}{|E|}-\frac{\left|E_d\right|}{|E|} \cdot \mathrm{P}\left(\operatorname{Bin}\left(d, \frac{\operatorname{vol}_H\left(A_i\right)}{\operatorname{vol}_H(V)}\right)=c\right)\right) qHm(A)=AiAd2c=d/2+1d(EeHd,c(Ai)EEdP(Bin(d,volH(V)volH(Ai))=c))
ed,c H (Ai) 是Ai 中恰好有 c 个成员的大小为 d 的超边的数量

可以写成:
q H m ( A ) = ∑ d ≥ 2 ∑ c = ⌊ d / 2 ⌋ + 1 d q H c , d ( A ) q_H^m(\mathbf{A})=\sum_{d \geq 2} \sum_{c=\lfloor d / 2\rfloor+1}^d q_H^{c, d}(\mathbf{A}) qHm(A)=d2c=d/2+1dqHc,d(A)
其中定义一个“切片”:
q H c , d ( A ) = 1 ∣ E ∣ ∑ A i ∈ A ( e H d , c ( A i ) − ∣ E d ∣ ⋅ P ( Bin ⁡ ( d , vol ⁡ ( A i ) vol ⁡ ( V ) ) = c ) ) q_H^{c, d}(\mathbf{A})=\frac{1}{|E|} \sum_{A_i \in \mathbf{A}}\left(e_H^{d, c}\left(A_i\right)-\left|E_d\right| \cdot \mathrm{P}\left(\operatorname{Bin}\left(d, \frac{\operatorname{vol}\left(A_i\right)}{\operatorname{vol}(V)}\right)=c\right)\right) qHc,d(A)=E1AiA(eHd,c(Ai)EdP(Bin(d,vol(V)vol(Ai))=c))
严格模块度可写成:
q H s ( A ) = ∑ d ≥ 2 q H d , d ( A ) q_H^s(\mathbf{A})=\sum_{d \geq 2} q_H^{d, d}(\mathbf{A}) qHs(A)=d2qHd,d(A)
——多数超图模块度中每个“切片”的权重相等,而对于基于严格的定义模块度,仅考虑 c = d 的切片

新模块化函数由超参数 wc,d ∈ [0, 1] (d ≥ 2, [d/2] + 1 ≤ c ≤ d) 控制

给出广义超图模块度统一定义:
q H ( A ) = ∑ d ≥ 2 ∑ c = ⌊ d / 2 ⌋ + 1 d w c , d q H c , d ( A ) q_H(\mathbf{A})=\sum_{d \geq 2} \sum_{c=\lfloor d / 2\rfloor+1}^d w_{c, d} q_H^{c, d}(\mathbf{A}) qH(A)=d2c=d/2+1dwc,dqHc,d(A)
α ∈ [ 0 , ∞ ) \alpha \in[0, \infty) α[0,), and ρ min ⁡ , ρ max ⁡ ∈ ( 0.5 , 1 ] \rho_{\min }, \rho_{\max } \in(0.5,1] ρmin,ρmax(0.5,1] $\rho_{\min } \leq \rho_{\max } $
w c , d = { ( c / d ) α if  ⌈ d ρ min ⁡ ⌉ ≤ c ≤ ⌈ d ρ max ⁡ ⌉ 0 otherwise  w_{c, d}= \begin{cases}(c / d)^\alpha & \text { if }\left\lceil d \rho_{\min }\right\rceil \leq c \leq\left\lceil d \rho_{\max }\right\rceil \\ 0 & \text { otherwise }\end{cases} wc,d={(c/d)α0 if dρmincdρmax otherwise 
该定义为我们提供了更大的灵活性,并允许对某些切片的估值高于其他切片。

  • 参数 ρmin 和 ρmax 分别与超边的最小和最大“纯度”假设相关,并取决于网络的同质性水平
  • 参数 α 控制不同“纯度”级别的贡献超边之间的相对信息量之间的平滑过渡

在相应地调整超参数之后,广义模块度 可以用于两种极端情况(基于多数和基于严格)以及介于两者之间的任何情况。

此外,广义模块度 可以很好地近似对应的 2 部分图 H[2] 的图模块性。

算法

经典

  1. Louvain:通过考虑其 2 部分(加权)图 H[2] 将问题简化为图,然后尝试找到最大化图模块性函数的分区

    它是一种层次聚类算法,试图优化模块化功能(模块化优化阶段),将社区合并为单个顶点(社区聚合阶段),然后递归地对压缩图执行模块化聚类,直到无法增加模块化为止。

    • 所有的聚类算法在本质上都是启发式的,只旨在找到“足够好”的分区,而不希望找到最好的分区。
    • Louvain 是一种随机算法,在模块化优化阶段发生之前随机排序所有顶点。不幸的是,这意味着该算法不稳定,并且其结果在独立运行之间可能会有很大差异。
    • 为了解决这个问题,可以改用图的集成聚类算法(ECG)。该算法以 Louvain 算法和共识聚类的概念为基础,具有良好的稳定性
  2. Kumar:以下改进通常会在几个合成和真实示例中给出比原始 Louvain 算法更好的结果。

    该算法并不是真正基于超图的,而应该被视为由原始超图引导的基于图的方法的改进

    • 首先在原始超图H的基础上构建一个保度加权图G
    • 将Louvain算法应用于G,试图最大化图模块函数
    • 重新访问超图 H 并根据它们对所获得部分之间的同质性的度量对超边进行仔细的重新加权。
    • 重复这些步骤直到收敛。

LS and HA

传统方法总结:所有基于图模块化优化的成功算法(包括上文提到的 Louvain、ECG 和 Kumar 等)都是以相同的方式开始的。顶点最初自己是一个簇,若模块度增加则将顶点的集群更改为其邻居之一。

——超图中此方法的问题:那么只改变一个顶点的集群可能不会对模块化函数产生积极影响,除非存在小尺寸边。

算法:使用普通图模块化函数 qG(A) 进行“从地面提升过程”,再切换到超图对应函数 qH(A)

——两种, (HA) 尽快切换到超图、 (LS) 停留在图上的时间更长

  1. HA(混合算法)
    1. 通过在从 H 构建的保度图 G 上使用 qG(A) 运行 ECG 来形成小而紧密的团块。修剪低于 70%(投票数)阈值的边,并将连通分量保留为初始团块。
    2. 如果 qH(A) 提高,则合并团块(以随机顺序)。重复直到无法再改进为止。
    3. 一次将一个顶点(以随机顺序)移动到相邻的簇,如果它提高了 qH则保留。重复直到收敛。
  2. LS(最后一步)
    1. 运行 Kumar 算法
    2. 只执行上面的最后一步(步骤 3.)

给出三个参数传入两种算法中:HA(α, ρmin, ρmax) 和 LS(α, ρmin, ρmax)

合成随机超图模型

经典随机图模型:

  • 众所周知和广泛使用的 LFR 基准图

  • 作者自己开发的ABCD

提出了一个受经典随机块模型启发的模型

模型特征:所提出的模型旨在简单,但它试图捕捉这样一个事实,即许多以超图表示的现实世界网络表现出不同程度的同质性或缺乏同质性。它为我们提供了一个工具来测试我们的算法在各种场景下的性能。一个好的算法应该能够以无监督的方式适应任何场景。

实验

设置合适的参数将对算法效果产生积极影响

实验

结论和未来方向

  1. 提出了两种原型算法并做了一些简单的实验来展示它们的潜力

    • 展示了我们的原型算法工作得很好,但只有在对超参数进行适当调整后才能工作
    • 初步实验表明,这种调整可以以无人监督的方式完成,但细节需要修复,并且需要解决过拟合问题
  2. 提出了两种方法来解决任何基于超图模块化函数的算法的初始阶段问题

    1. 将 2-section 图的顶点嵌入到几何空间中,使用具有较大 k 值的经典 k-means 算法来找到初始分区
    2. Kumar 等人提出的 Hyperedge 重新加权方案似乎效果很好,可以很容易地合并到我们的框架中。我们的目标是建立一个灵活的框架,该框架可以模仿 Louvain、ECG、Kumar 等人以及介于两者之间的任何东西,但通过超图模块化功能提供的机会得到额外增强。

方向:

  • 该算法必须是可扩展的,超图模块化功能的更新可以快速完成,但需要正确设计/使用专用数据结构和算法。我们目前使用 Julia 语言实现这样的代码。
  • 除了对大型合成超图进行实验之外,还计划对以超图表示的真实网络进行实验

相关文章:

超图聚类论文阅读2:Last-step算法

超图聚类论文阅读2:Last-step算法 《使用超图模块化的社区检测算法》 《Community Detection Algorithm Using Hypergraph Modularity》 COMPLEX NETWORKS 2021, SCI 3区 具体实现源码见HyperNetX库 工作:提出了一种用于超图的社区检测算法。该算法的主要…...

React 防抖与节流用法

在React中,防抖和节流是优化性能和提升用户体验的常用技术。下面是它们的用法: 防抖(Debounce):防抖是指在某个事件触发后,等待一段时间后执行回调函数。如果在等待时间内再次触发该事件,将重新…...

发布 VectorTraits v1.0,它是 C# 下增强SIMD向量运算的类库

发布 VectorTraits v1.0, 它是C#下增强SIMD向量运算的类库 VectorTraits: SIMD Vector type traits methods (SIMD向量类型的特征方法). NuGet: https://www.nuget.org/packages/VectorTraits/1.0.0 源代码: https://github.com/zyl910/VectorTraits 用途 总所周知&#x…...

HCIA自学笔记01-冲突域

共享式网络(用同一根同轴电缆通信)中可能会出现信号冲突现象。 如图是一个10BASE5以太网,每个主机都是用同一根同轴电缆来与其它主机进行通信,因此,这里的同轴电缆又被称为共享介质,相应的网络被称为共享介…...

3D封装技术发展

长期以来,芯片制程微缩技术一直驱动着摩尔定律的延续。从1987年的1um制程到2015年的14nm制程,芯片制程迭代速度一直遵循摩尔定律的规律,即芯片上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。但2015年以后,芯片制…...

探讨下live555用的编程设计模式

这个应该放到这里 7.live555mediaserver-第1阶段小结(完整对象图和思维导图) https://blog.csdn.net/yhb1206/article/details/127330771 但是想想,还是拿出来吧。 从这第1阶段就能发现,它实质用到了reactor网络编程模式。...

LeetCode 1123. Lowest Common Ancestor of Deepest Leaves【树,DFS,BFS,哈希表】1607

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

centroen 23版本换界面了

旧版本 新版本 没有与操作系统一起打包的ISO文件了,要么先安装系统,再安装Centreon,要么用pve导入OVF文件...

Postman 调用 Microsoft Graph API (InsCode AI 创作助手)

官方配置参考网址: https://learn.microsoft.com/zh-cn/graph/use-postman 获取 Azure AD 应用程序凭据: 在 Azure AD 中注册你的应用程序,并获取客户端ID和客户端密钥。这些凭据将允许你的应用程序与 Microsoft Graph 进行身份验证和访问权限…...

MySql 游标 触发器

游标 1.什么是游标 MySQL游标是一种数据库对象,它用于在数据库查询过程中迭代访问结果集中的每一行。游标可以被看作是一个指向查询结果集的指针,通过移动游标,可以按行读取和处理结果集的数据。在MySQL中,游标可以用于在存储过程…...

浅谈数据治理中的智能数据目录

在数字化转型的战略实施中,很多企业都在搭建自己的业务、数据及人工智能的中台。在同这些企业合作和交流中,越来越体会到数据目录是中台建设的核心和基础。为了更好地提供数据服务,发挥数据价值,用户需要先理解数据和信任数据。 企…...

算法通关村第十七关:青铜挑战-贪心其实很简单

青铜挑战-贪心其实很简单 1. 难以解释的贪心算法 贪心学习法则:直接做题,不考虑贪不贪心 贪心(贪婪)算法 是指在问题尽心求解时,在每一步选择中都采取最好或者最优(最有利)的选择,从而希望能够导致结果最…...

[Vue3 博物馆管理系统] 使用Vue3、Element-plus的Layout 布局构建组图文章

系列文章目录 第一章 定制上中下(顶部菜单、底部区域、中间主区域显示)三层结构首页 第二章 使用Vue3、Element-plus菜单组件构建菜单 第三章 使用Vue3、Element-plus走马灯组件构建轮播图 第四章 使用Vue3、Element-plus tabs组件构建选项卡功能 第五章…...

【LeetCode算法系列题解】第36~40题

CONTENTS LeetCode 36. 有效的数独(中等)LeetCode 37. 解数独(困难)LeetCode 38. 外观数列(中等)LeetCode 39. 组合总和(中等)LeetCode 40. 组合总和 II(中等&#xff09…...

java+ssm+mysql电梯管理系统

项目介绍: 使用javassmmysql开发的电梯管理系统,系统包含管理员,监管员、安全员、维保员角色,功能如下: 管理员:系统用户管理(监管员、安全员、维保员);系统公告&#…...

最近读书了吗?林曦老师与你分享来自暄桐课堂的读书方法

近来,大家有在开心读书吗?对于读书,有一个很生动的说法:“无事常读书,一日是四日。若活七十年,便二百八十。”读书帮助我们超越个体生命经验的限制,此时此地的我们,也可借由书本&…...

【AI理论学习】语言模型:从Word Embedding到ELMo

语言模型:从Word Embedding到ELMo ELMo原理Bi-LM总结参考资料 本文主要介绍一种建立在LSTM基础上的ELMo预训练模型。2013年的Word2Vec及2014年的GloVe的工作中,每个词对应一个vector,对于多义词无能为力。ELMo的工作对于此,提出了…...

多功能透明屏,在智能家居领域中,有哪些功能特点?显示、连接

多功能透明屏是一种新型的显示技术,它能够在透明的表面上显示图像和视频,并且具有多种功能。 这种屏幕可以应用于各种领域,如商业广告、智能家居、教育等,为用户提供更加便捷和多样化的体验。 首先,多功能透明屏可以…...

【List篇】ArrayList 详解(含图示说明)

Java中的ArrayList是一个动态数组,可以自动扩展容量以适应数据的添加和删除。它可以用来存储各种类型的数据,例如String,Integer,Boolean等。ArrayList实现了List接口,可以进行常见的List操作,例如添加、插…...

SSL证书只有收费的吗?有没有免费使用的?

首先明白SSL证书是什么SSL英文全称:英文全称: Secure Socket Layer Certificate,中文全称:安全套接字层证书。 SSL是一种由数字证书颁发机构(CA) 签发的数字证书。它用于建立安全的加密连接,确保通过网络传输的数据在客户端和服务器之间的安全性和完整性…...

48V轻混技术

文章目录 48V轻混技术的主要特点和优势48V轻混技术的优缺点优点:缺点: 48V轻混技术的主要特点和优势 48V轻混技术(48V Mild Hybrid Technology)是一种汽车动力系统技术,它结合了内燃机和电动机的优势,以提…...

机器学习基础算法--回归类型和评价分析

目录 1.数据归一化处理 2.数据标准化处理 3.Lasso回归模型 4.岭回归模型 5.评价指标计算 1.数据归一化处理 """ x的归一化的方法还是比较多的我们就选取最为基本的归一化方法 x(x-x_min)/(x_max-x_min) """ import numpy as np from sklea…...

MATLAB 软件功能简介

MATLAB 的名称源自 Matrix Laboratory,1984 年由美国 Mathworks 公司推向市场。 它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB 将高性能的数值计算和可 视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制…...

deepfm内容理解

对于CTR问题,被证明的最有效的提升任务表现的策略是特征组合(Feature Interaction); 两个问题: 如何更好地学习特征组合,进而更加精确地描述数据的特点; 如何更高效的学习特征组合。 DNN局限 :当我们使…...

postgresql-集合运算

postgresql-集合运算 并集交集差集集合运算符的优先级 并集 create table excellent_emp( year int not null, emp_id integer not null, constraint pk_excellent_emp primary key(year,emp_id) );insert into excellent_emp values(2018,9); insert into excellent_emp value…...

[持续更新]计算机经典面试题基础篇Day2

[通用]计算机经典面试题基础篇Day2 1、单例模式是什么,线程安全吗 单例模式是一种设计模式,旨在确保一个类只有一个实例,并提供全局访问点。通过使用单例模式,可以避免多次创建相同的对象,节省内存资源,同…...

C++:类和对象(二)

本文主要介绍:构造函数、析构函数、拷贝构造函数、赋值运算符重载、const成员函数、取地址及const取地址操作符重载。 目录 一、类的六个默认成员函数 二、构造函数 1.概念 2.特性 三、析构函数 1.概念 2.特性 四、拷贝构造函数 1.概念 2.特征 五、赋值…...

Java“牵手”京东商品详情数据,京东商品详情API接口,京东API接口申请指南

京东平台商品详情接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取京东商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品详情接口API是一种用于获取电商平台上商品详情数据的接口,通过…...

Fluidd摄像头公网无法正常显示修复一例

Fluidd摄像头在内网正常显示,公网一直无法显示,经过排查发现由于url加了端口号引起的,摄像头url中正常填写的是/webcam?actionsnapshot,或者/webcam?actionstream。但是由于nginx跳转机制,会被301跳转到/webcam/?ac…...

【C++ 学习 ⑳】- 详解二叉搜索树

目录 一、概念 二、实现 2.1 - BST.h 2.2 - test.cpp 三、应用 四、性能分析 一、概念 二叉搜索树(BST,Binary Search Tree),又称二叉排序树或二叉查找树。 二叉搜索树是一棵二叉树,可以为空;如果不…...

如何做英文网站的外链/seo描述快速排名

常用的shell命令包括:ls(列出文件)、cd(切换目录)、mkdir(创建目录)、mv(移动或重命名文件)、rm(删除文件)、cat(显示文件内容)、echo(显示文本)、man(查看命令手册)等。...

ubuntu做的网站架构/天猫关键词排名怎么控制

一. 荣辱不惊每个成功的人, 在别人赞美你的时候, 千万不要沾沾自喜! 因为接下来的就是对你的辱骂。中国的100%媒体和99.99%的网友都是没有脑袋的机构和动物。可以肯定的说, 每个成功的经理人后面都有一群“小人”,他们时刻想毁灭你, 无论是比尔盖茨, 还是张瑞敏&…...

jira confluence做网站/自动收录网

导读:电脑是一种高科技产品,它能够给工作、生活带来极大的方便,同时还具有娱乐功能。它操作一点都不费力,特别适合中老年人的生理特点。经常使用电脑可以健脑增智。电脑的操作需要手眼的配合,人的手指内有丰富的神经&a…...

wordpress https到期/网页生成

安装OpenStack客户端并创建一个云主机 查看创建好的openstack项目中的信息和云主机网络连通性 openstack web界面使用方法 openstack-allinone-使用方法 安装OpenStack客户端并创建一个云主机 安装OpenStack client端,方便后期使用命令行操作openstack [roottest…...

品牌网站建设推荐大蝌蚪/什么是互联网推广

wsdl2java wsimport 的升级版wsdl2java 生成webService java 基本类 apache-cxf 下载 及配置变量 下载地址列表 : http://cxf.apache.org/download.html 下载地址: https://www.apache.org/dyn/closer.lua/cxf/3.4.2/apache-cxf-3.4.2.zip 下载后解压…...

响应式电影网站/宁波seo在线优化方案公司

开发工具 1.Eclipse IDE:采用Maven项目管理,模块化。 2.代码生成:通过界面方式简单配置,自动生成相应代码,目前包括三种生成方式(增删改查):单表、一对多、树结构。生成后的代码如果…...