草庐IT

transform算法

全部标签

java - 请使用 "Hugo Elias"算法生成波形! java

我最近的项目似乎碰壁了,涉及图像上的波浪/波纹生成。我制作了一个可以在网格上使用基本颜色的完美作品;哎呀,我什至根据波浪的高度为颜色添加了阴影。但是,我的总体目标是让这种效果像您看到的那样作用于图像here.我遵循的是一种人们称之为HugoElias方法的算法(如果他真的提出了设计,我就不知道了)。他的教程可以找到here!在学习该教程时,我发现他的伪代码很难理解。我的意思是,在我点击图像上的高度图部分之前,这个概念在很大程度上是有意义的。问题是x和y偏移量会抛出ArrayIndexOutOfBoundsException,因为他将偏移量添加到相应的x或y。如果波浪太大(即在我的例子中

java - 堆的算法

试图重现Heap的算法,以生成整数数组的所有可能排列,但我无法解决除三个以外的其他整数的问题。Heap的算法来自维基百科:proceduregenerate(N:integer,data:arrayofany):ifN=1thenoutput(data)elseforc:=1;c我的代码:publicstaticvoidperm(int[]list,intn){if(n==1){System.out.println(Arrays.toString(list));}else{for(intc=1;c我做错了什么和误解了它?为什么它仅适用于[1,2,3](n=3)作为输入,而不适用于n=2

java - 使用 Transformer 处理空 CDATA 时出现 IndexOutOfBoundsException

我想从大型XML文件中提取特定节点。这很有效,直到出现没有任何内容的疯狂CDATA。输出:ERROR:''javax.xml.transform.TransformerException:java.lang.IndexOutOfBoundsExceptionatcom.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:732)atcom.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transf

java - 我认为维基百科上的 Java 矩阵链乘法算法不正确

我几乎可以肯定维基百科页面上matrixChainOrder的Java实现,MatrixChainMultiplication,是不正确的。我会改变它,但我不是一个合格的数学家,并且在没有首先审查我的观察的情况下做出改变是不舒服的。我想我要问的是——我的说法是否正确?k应该改为k+1,因为这个版本是用基于零的索引编写的,这与在同一页面上首次引入的伪代码版本不同。protectedint[][]m;protectedint[][]s;publicvoidmatrixChainOrder(int[]p){intn=p.length-1;m=newint[n][n];s=newint[n][

java - TicTacToe minimax 算法在 4x4 游戏中返回意外结果

在我的方法newminimax499中,我有一个利用内存和alphabeta修剪的minimax算法。该方法通常适用于3x3游戏,但是当我玩4x4游戏时,我会得到奇怪的、意想不到的计算机位置选择。他仍然从不输,但他似乎并不是为了赢而比赛。为了说明这里的问题,我们使用2个3x3和4x4游戏的场景。首先是一个3x3游戏的场景,其中玩家是X并迈出第一步:这还不错,事实上,这正是人们希望计算机执行的操作。现在来看一个4x4游戏的场景。同样,O是计算机,X启动:如您所见,计算机只是将Os一个接一个地按系统顺序排列,只有在它有可能获胜时才打破该顺序来阻止X。这是非常防守的打法,不像在3x3比赛中看

c# - Bentley-Ottmann 算法实现

C#或Java中是否存在任何现有的Bentley-Ottmann算法实现/库? 最佳答案 这里至少有一个C++实现(包括描述):http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm 关于c#-Bentley-Ottmann算法实现,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8113263/

java - java.lang.Object的hashCode具体使用的是什么算法

在JVM中使用什么算法来实现java.lang.Object的隐式hashCode()方法?[OpenJDK或OracleJDK在答案中是首选]。 最佳答案 它依赖于实现(而且在很大程度上,算法完全取决于实现,只要它是一致的。)但是,根据答案here,你可以看到nativesourcefile其中哈希是在OpenJDK7中生成的(查看get_next_hash()函数),它实际上指定了此特定版本中的许多可能算法://Possibilities://*MD5Digestof{obj,stwRandom}//*CRC32of{obj,s

java - 光学聚类算法。如何获得最好的epsilon

我正在实现一个需要对地理点进行聚类的项目。OPTICS算法似乎是一个非常好的解决方案。它只需要2个参数作为输入(MinPts和Epsilon),分别是将它们视为一个簇所需的最小点数,以及用于比较两个点是否在同一簇中的距离值。我的问题是,由于点的种类繁多,我无法设置固定的epsilon。看看下面的图片。相同的点结构但不同的尺度会产生非常不同的结果。假设设置MinPts=2和epsilon=1Km。在左边,算法会创建2个簇(红色和蓝色),但在右边它会创建一个包含所有点的单个簇(红色),但我想在右边也获得2个簇。所以我的问题是:是否有任何方法可以动态计算epsilon值以获得此结果?编辑20

源码阅读及理论详解《 Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting 》

Informer论文:https://arxiv.org/pdf/2012.07436.pdfInformer源码:GitHub-zhouhaoyi/Informer2020:TheGitHubrepositoryforthepaper"Informer"acceptedbyAAAI2021.Transformer笔记:《AttentionIsAllYouNeed》_郑烯烃快去学习的博客-CSDN博客目录0x01Transformer存在的问题0x02Informer研究背景0x03Informer整体架构(一)ProbSparseSelf-attention(二)Self-attention

java - 从头开始实现自定义凝聚算法

我了解凝聚聚类算法,它以每个数据点作为单独的集群开始,然后组合点形成集群的方式。现在,我有一个n维空间和几个数据点,这些数据点在每个维度上都有值。我想根据业务规则对两个点/集群进行聚类,例如:如果跨维度1的集群之间的距离如果满足跨维度1的规则并且满足跨维度2的规则,则将它们聚类而不用担心其他维度.......和类似的自定义规则。此外,我有自己的方法来定义和测量任何特定维度上任何两个集群之间的距离。维度可能只包含字符串,我想定义自己的字符串距离度量。在另一个维度中,它可能包含位置的名称,并且该维度上两点之间的距离是命名位置之间的地理距离,其他维度也是如此。是否有一个框架/软件可以让我实现