主页 > 云服务器 > > 正文

云主机_三合一网站建设_怎么申请

来源:胜利云 发布时间:2021-06-11 08:00 标签:主机怎么网站建设申请三合一
浏览:

上周在巴塞罗那TechEd的代码堵塞期间,Witalij Rudnicki向我扔了手套,开始挑战使用HANA的图形功能来解决"骑士之旅"问题。

这个问题最好概括如下:"在棋盘上找到一个骑士棋子的连续移动,这样骑士就可以访问每一个方格正好一次"。

图论

我们可以建模棋盘就像一个以正方形为顶点,以所有可能的移动为边的图。

通过使用这种抽象,问题实际上归结为更一般的哈密顿路径问题的一个特例,它基本上是搜索一条路径,该路径恰好遍历一个图的所有顶点一次。

图形引擎

HANA具有处理图形的内置支持。到目前为止,它有以下主要特点:

存储和表示图形(基本上你需要一个顶点和一个边表,然后你可以用它们创建一个所谓的"工作区")。在图上运行一些简单的算法(邻域、最短路径、连通组件等)。基于openCypher查询语言执行查询。使用专用GraphScript语言编写存储过程。

为了解决这个问题,我将存储过程与图形表示一起使用。

棋盘

第一步是将棋盘生成为图形。我们将标记从1到8的行和从A到H的列:

为了存储图形,我将数据模型定义为:

我不想手动定义板,所以我编写了一个基于输入大小为我生成它的过程:

创建过程后,我可以简单地调用它来填充我的表:

WebIDE有一个内置的图形查看器提供了一个非常好的象棋棋盘可视化:

最后,我定义了一个表类型来表示路径:

天真的方法

我想到的第一个想法是尝试通过回溯来解决它。我决定不这样做,因为它太慢了。

香草回溯具有指数渐近时间复杂度。在我们的图中,每个节点可能有8个邻居,我们必须找到一条64节点的长路径,因此需要(略少于)8^64个步骤来完成整个算法。

当然,如果我们在找到第一个解时停止,速度会更快,但我还是决定一定有更好的解决办法

贪心算法

想了一会儿,我决定应该可以用一个贪婪的算法和一个合适的启发式选择来找到一个解决方案。在与GraphScript语言进行了一点斗争之后,我编写了以下程序:

不幸的是,这种方法失败得很惨,结果很平庸:

在我看来,这个问题就像一旦板的下半部分几乎满了,骑士就进入了死胡同。为了防止这种情况发生,我尝试了另一种启发式方法:总是尽可能靠近棋盘的中心。

我设想骑士会围绕棋盘的中心旋转。我没有意识到的是,这种方法基本上会切断董事会的一个角落,云估价,导致骑士被困在一个角落:

看到我的启发式不起作用,我决定读一点关于这个主题的文献。

沃恩斯多夫规则

来源:松鼠,道格拉斯,和保罗《骑士之旅的沃恩斯多夫规则算法》(1996)

读了几篇论文后,我发现我非常接近一个正确的解决方案。我搜索的启发式方法是总是选择下一个节点作为度最小的节点。也就是说,我们选择一个节点,阿里大数据,它有最小数量的未访问邻居。

基本上,这将产生与上图完全相反的结果:首先访问板的边缘,然后访问中心:

我终于得到了一个解决方案!但我不喜欢这种启发式的是,当我们必须决定下一个节点时,有两个节点的得分完全相同,我们总是取第一个节点。在文献中,他们通常随机抽取一个,但GraphScript中没有随机函数。

有时这种启发式可能无法产生结果(虽然我从未遇到过这种情况),所以我想进一步改进。

波尔的平局突破

来源:波尔,Ira寻找汉密尔顿路径和骑士之旅的一种方法。"(1967)。

打破联系的一种可能方法是在候选节点上重复应用选择机制。因为我无法使用GraphScript编写递归调用,所以我决定采用单级中断:

首先根据Warnsdorff规则查找所有候选节点。如果只有一个候选者,请选择该候选者。否则,计算每个候选对象的最小邻接度并选择值最小的邻接度。在这一点上,大数据的内容,我们可以再次达到平局,所以我们只选择第一个(这将通过递归解决-除了完全对称的安排)。

运行它似乎产生了预期的结果:

我仍然不喜欢这个解决方案,因为即使是非对称的安排,我们仍然必须采取随机选择(由于缺乏递归)

Roth的平局突破

来源:Ganzfried,Sam."骑士之旅的一个简单算法"(2004)。

平局突破的另一个想法是根据与电路板中心的距离从候选节点中选择(取与中心距离最大的节点):

令人惊讶的是,在同一个起点上运行这个程序产生的结果与波尔的平局(大多数时候)是一样的。

Bloopers

我不想给人一个错误的印象,让人们认为一切都很顺利。我实际上遇到了一些错误和限制,这让我浪费了几个小时的时间:

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 云存储_企业邮箱是怎么申请_便宜的
    <strong>云存储_企业邮箱是怎么申请_便宜的</strong>

    云存储_企业邮箱是怎么申请_便宜的

    雪花数据仓库中的端到端加密2016年4月13日作者:马丁·亨切尔彼得·波维尼克云数据安全,工程作者:马丁·亨切尔和彼得·波维尼克。保护客户数据是雪花...

  • 分布式数据库_八度网络云主机_便宜的
    <strong>分布式数据库_八度网络云主机_便宜的</strong>

    分布式数据库_八度网络云主机_便宜的

    在云数据库服务的世界里,对客户来说,没有什么比不间断地访问他们的数据更重要的了。在在线游戏和金融服务等交易率较高的行业,即使是最小的中断...

  • MySQL数据库_不能用邮箱注册企业邮箱吗
    <strong>MySQL数据库_不能用邮箱注册企业邮箱吗</strong>

    MySQL数据库_不能用邮箱注册企业邮箱吗

    如今,企业被迫维护两种类型的分析系统:数据仓库和数据湖。数据仓库提供了有关业务健康状况的重要见解。数据湖可以发现客户、产品、员工和流程的...

  • 数据库服务器_服务器带宽_哪家好
    <strong>数据库服务器_服务器带宽_哪家好</strong>

    数据库服务器_服务器带宽_哪家好

    图1。派特法是一家领先的油田服务公司派特法为能源客户锁定价值派特法设计、建造、运营和维护石油、天然气和可再生能源资产。公司致力于数字化转型...

  • 微软云_服务器售后_年度促销
    <strong>微软云_服务器售后_年度促销</strong>

    微软云_服务器售后_年度促销

    使用Azure的客户管理密钥进行数据加密2019年9月6日|3分钟读取作者:保卢斯雪花新闻,雪花科技2017年,雪花宣布使用AWS密钥管理服务(KMS)支持客户管理密...

云储存

更多 >
  • <strong>亚马逊云_数据库分类_三重好礼</strong>
    亚马逊云_数据库分类_三重好礼

    业务规则一直是自动化决策或实现验证或定义复杂的监管或法规遵从性规则等的出色工具。随着从ABAP到云等平台的不断变化,该工具不断发展。随着最近的...

  • <strong>网站空间_app的服务器_怎么买</strong>
    网站空间_app的服务器_怎么买

    Vineet Hingrani和Robert Meusel 工业4.0背景下物联网的兴起为资产管理领域引入了许多新的可能性和用例。资产管理,在旧世界的背景下,是关于反应式维护和传...

云储存MySQL数据库_新疆建设网站_最新活动
云储存CDN_数据库下载_企业0元试用
云储存美国服务器_ae2017破解版百度云_高性价比
云储存MySQL数据库_京东云闪付下载_价格
云储存CDN_文件存储权限怎么打开_怎么买