草庐IT

精确算法

全部标签

php - 多边形算法/伪代码中的最短路径

我有一个由X、Y点数组表示的多边形(在PHP中)。我希望找到A点和B点之间的多边形内的最短路径。实际上,我有一个任意区域,定义为一个简单的多边形,我希望知道通过的距离(例如,将其视为表示的多边形一条小径-我想估计这条小径有多长)。寻找伪代码或一些关于从哪里开始的提示。我在互联网上搜索了一下,除了一些关于三角剖分和漏斗算法的难以理解的论文外,我似乎运气不好。 最佳答案 Google搜索通过多边形的最短路径会出现很多有用的链接。对一种算法的一个很好的描述是foundhere(完成一个动画算法的小程序)。许多算法都是针对更复杂的问题——允

推荐算法——矩阵分解

1、矩阵分解         矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积,实际推荐计算时不再使用大矩阵,而是用分解得到的两个小矩阵:一个是由代表用户偏好的用户隐因子向量组成,另一个是由代表物品语义主题的隐因子向量组成。        对于下图的user-item矩阵(评分矩阵),记为Rm×n。可以将其分解成两个或者多个矩阵的乘积,假设分解成两个矩阵Pm×k和Qk×n,我们要使得矩阵Pm×k和Qk×n的乘积能够还原原始的矩阵Rm×n。        Rm×n=Pm×k*Qk×n。其中k用k-fold确定。        如下图user-item表中,有用户对每一件商品的打分,其中空白部分

智能优化算法:鹈鹕优化算法-附代码

智能优化算法:鹈鹕优化算法文章目录智能优化算法:鹈鹕优化算法1.鹈鹕优化算法简介2.鹈鹕优化算法基本原理2.1灵感来源和鹈鹕在狩猎时的行为2.2算法的数学模型2.2.1初始化2.2.2第一阶段:逼近猎物(勘探阶段)2.2.3第二阶段:水面飞行(开发阶段)3.实验结果4.参考文献5.Matlab代码1.鹈鹕优化算法简介鹈鹕优化算法(PelicanOptimizationAlgorithm,POA)是2022年由PavelTrojovský和MohammadDehghani提出的,该算法模拟了鹈鹕在狩猎过程中的自然行为。2.鹈鹕优化算法基本原理2.1灵感来源和鹈鹕在狩猎时的行为鹈鹕很大,喙很长,喉

php - 将数组数据准备到另一个结构以使用某些规则呈现定义的 HTML 输出的算法

拜托,很长一段时间我都没有成功找到解决这个(对我来说非常困难的)问题的方法,我非常感谢任何帮助:1)我有像这样的简单数组中的数据,没有问题:$data=array(array('id=>1','name'=>'Somename1'),array('id=>2','name'=>'Somename2'),array('id=>3','name'=>'Somename3'),...);2)但我必须将上面显示的数据渲染成HTML结构,理论上非常类似于树结构,其中每个父节点最多有4个叶子,每个节点可以成为接下来4个子节点的父节点(对树深度没有任何限制)。a)因此,如果我的数组中只有4个项目,则

php - str_replace() 与 foreach、大写和精确单词匹配

我的代码是:$db=&JFactory::getDBO();$query=$db->getQuery(true);$query->select($db->quoteName(array('old','new')))->from($db->quoteName('#__words'));$db->setQuery($query);$results=$db->loadAssocList();$find=array();$replace=array();foreach($resultsas$row){$find[]=$row['old'];$replace[]=$row['new'];}$ne

php - 为什么Heap的算法会出现重复

我想从数组元素中获取所有排列。源数组非常简单:$arr=[1,2,3,4];我为实现Heap'salgorithm编写了代码,privatefunctionmixture($size,array$collection){$permutations=[];$offset=$size-1;if(1===$size){$permutations[]=implode('-',$collection);return$permutations;}for($i=0;$imixture($offset,$collection));$j=(0==$size%2)?$i:0;$tmp_el=$collec

php - 如何使用算法真正计算关卡进度?

在我的应用程序中,我得到一个var$curxp,它包含一个int,现在我想创建一个自动返回$xplvlup的函数(它包含一个int多少下一个级别需要总XP和一个返回当前级别的函数。现在我可以简单地使用switch语句和计算数字进行硬编码,例如:switch($curxp){case但是,如果我可以使用一种算法,这样就没有最高级别了,那就更好了。我知道我必须使用指数来获得漂亮的曲线,但我只是不知道如何开始。更新感谢Oltarus,我得出了以下解决方案:$curxp=20;functionlevel($lvl){return$xp=pow($lvl,2)+5*$lvl;}$lvl=0;wh

php - 具有 "weighted"条边的 Ford-Fulkerson 算法

Ford-Fulkerson是否有任何变体可以为边缘增加额外的“重量”维度?我的意思是,有些边比其他边更理想,虽然所有的可能性都存在,但它会优先考虑理想的边而不是不太理想的边。 最佳答案 据我所知,有两种常见的概括方法可以增加权重。最小成本流假设您对每条边都有一个权重,并且想要计算满足约束且成本最低的流。(成本=权重之和*沿关联边流动的单位)这个问题叫做minimumcostflow.可以在networkx中找到一个名为min-cost-flow的实现.这是一个很好的topcodertutorial在原始对偶方法上。我最喜欢的算法实

php - 为什么PHP crypt函数使用DES加密算法?

鉴于经验法则是存储密码字符串的加盐哈希,而不是它的加密形式,为什么PHPcrypt()函数使用基于DES的算法?DES不是加密算法吗?手册说...crypt()willreturnahashedstringusingthestandardUnixDES-basedalgorithmoralternativealgorithmsthatmaybeavailableonthesystem...我从这里了解到,crypt()仅使用系统实现的算法。当然,DES是作为加密算法而不是crypt的自定义哈希算法来实现的。PS-我知道DES在过去很早以前就没有人应该再使用它了。

php - 不同目的地的数组排序算法

我一直在努力解决这个问题,但没有成功。问题是-我有一个用于不同位置的数组。例如:Array([0]=>Array([from]=>Paris[to]=>Marseille)[1]=>Array([from]=>Marseille[to]=>Valencia)[2]=>Array([from]=>Valencia[to]=>Algiers)[3]=>Array([from]=>Algiers[to]=>AbuDhabi))无论我给出什么命令,它都应该始终返回下一个目的地“从”它结束的地方。要排序的数组,以便from键从前一个数组的to键继续。例如,如果我的起始位置是“Paris”,To位