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

做甜品网站的需求分析集团网站推广

做甜品网站的需求分析,集团网站推广,国外辣妹服装设计网站推荐,河南工信建设网站该项目是一个基于链式前向星存图、boost(boost::hash、asio线程池)以及emhash7/8的非官方实现,实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集,其中反馈弧集是指一组弧,使得从这些反馈弧…

该项目是一个基于链式前向星存图、boost(boost::hash、asio线程池)以及emhash7/8的非官方实现,实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集,其中反馈弧集是指一组弧,使得从这些反馈弧的尾部到头部的路径构成一个环。

算法实现

该项目基于C++实现了三种近似算法:

  • GreedyFAS
    这是一种基于贪心策略的算法,用贪心法生成一个线性排列,将该线性排列中的后向边集作为结果返回。
  • 贪心策略
    • 查找源头点,若查到源头点则排到序列s1末尾并移除该点,重复直到没有源头点
    • 查找汇集点,若查到汇集点则排到序列s2头部并移除该点,重复直到没有汇集点
    • 若既没有源头点,也没有汇集点,则定义delta值(出度-入度),将delta最大的点排到s1末尾。
    • 计算剩余点的delta,将delta值最大的点排在s1末尾并移除该点。
    • 返回{s1,s2} -> 最小线性排列

在这里插入图片描述

  • SortFAS
    该算法根据序号的自然顺序生成初始最小线性排列问题(LA),不断调整LA使后向边的数量尽可能少。

在这里插入图片描述

  • PageRankFAS
    该算法是一种启发式算法,来自于论文[1] Geladaris V , Lionakis P , Tollis I G . Computing a Feedback Arc Set Using PageRank[J]. 2022,用于计算有向图中的最小反馈弧集 (FAS)。该算法的工作原理如下:

    检测图是否有环,如果存在环,执行以下循环:

    1. 识别有向图中的强连接分量si, i=0,1,…
    2. 遍历强连通分量si,对于每个强连通分量si,执行:
      1. 如果si的大小为1,跳过该强连通分量的处理
      2. 选择si中的一个随机节点v,从v开始遍历创建si的线图L(si)
      3. 计算L(si)的PageRank
      4. 选择L(si)中PageRank值最大的节点,找到si中对应的边e,添加到最小反馈弧集。
      5. 在si中删除边e
    3. 如果仍有环,重复执行1和2,直到图不存在环为止。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

PageRankFAS 算法的输入是一个有向图 G,由顶点 V 和边 E 组成。输出是 G 的反馈弧集。

该算法可以用于可用于计算有向图中的最小反馈弧集(FAS),这是一个与可视化分层结构相关的具有挑战性的问题。它比现有的启发式方法更好,并将FAS大小平均减少了50%以上。尽管由于生成的折线图的大小,对于较大的网图,它的执行时间可能会增加,但即使对于在多达 4,000 个节点的图形绘制应用程序中使用的大型图形,它的运行速度也非常快。因此,这种方法对于研究需要计算 FAS 或涉及有向图(例如排名算法或网络流量分析等)的类似优化任务的研究人员可能很有用。

本项目的实现是基于C++语言,可以直接下载源代码并编译运行。详细的使用方法请参考项目中的 README 文件。

运行项目

如果您想尝试这些算法,需要克隆该项目,然后先安装Boost和gtest库,再使用cmake编译运行该项目

  1. 打开终端并输入以下命令来更新软件包列表:

    sudo apt-get update
    
  2. 输入以下命令来安装Boost库和gtest库:

    sudo apt-get install libboost-all-dev libgtest-dev
    
  3. 输入以下命令编译项目

    cmake -B build && cmake --build build
    
  4. 输入以下命令运行项目

    ./build/FASSolver [path/to/graph] [alorigthm (greedy | sort | pagerank)]
    

数据集

简单图

  • graphs/simple.txt

    0,1
    1,2
    2,3
    3,0
    3,1
    4,5
    5,6
    6,4
    

大型图

  • graphs/wordassociation-2011.txt: 10,617 个顶点和 72,172 条有向边
  • graphs/enron.txt: 69,244 个顶点和 276,143 条有向边

运行结果

简单图:

  • graphs/simple.txt

    • GreedyFAS
    2
    2,3
    6,4
    

在这里插入图片描述
在这里插入图片描述

  • graphs/simple.txt

    • SortFAS
    2
    2,3
    5,6
    

在这里插入图片描述
在这里插入图片描述

  • graphs/simple.txt

    • PageRankFAS
    2
    1,2
    4,5
    

在这里插入图片描述
在这里插入图片描述

大型图

  • graphs/wordassociation-2011.txt
    • GreedyFAS: 13634条反馈弧, 耗时0.701s
    • SortFAS: 13510条反馈弧, 耗时0.817s
    • PageRankFAS: 12086条反馈弧, 耗时68.856s
  • graphs/enron.txt
    • GreedyFAS: 38850条反馈弧, 耗时10.989s
    • SortFAS: 36548条反馈弧, 耗时14.281s
    • PageRankFAS: 33796条反馈弧, 耗时1398.224s

在这里插入图片描述
在这里插入图片描述

http://www.hkea.cn/news/383477/

相关文章:

  • 武汉做网站找谁百度导航是哪个国家的
  • wordpress互动游戏黄石seo诊断
  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思
  • 网站建设的进度表爱站查询工具
  • 深圳聘请做网站人员长春刚刚最新消息今天
  • 汽配人网做网站沈阳网站seo公司
  • 网站 短链接怎么做网站建设网站定制
  • 网站开发凭证做什么科目百度推广关键词多少合适
  • 网站正在建设 h5模板新闻热点
  • 龙岗公司网站建设怎么上百度搜索
  • 七米网站建设网站自动推广软件免费
  • 余姚公司做网站跨境电商怎么做
  • 顺义哪有做网站厂家百度快照在哪里找
  • 深圳南山网站建设重庆seo黄智
  • 教育微网站建设我要学电脑哪里有短期培训班
  • 民宿预订网站制作推广方案怎么做
  • 做网站都要掌握什么网页模版
  • 网站怎么做qq微信登陆长沙优化网站哪家公司好
  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的
  • 泰安的网站建设公司爱站网域名查询
  • 台州椒江网站制作公司广告推销
  • 南康做网站合肥seo招聘
  • 成都网站建设定长沙专业网站制作
  • 有什么网站是python做的如何自己开发一个平台