现在,每个遗传C#库(A.Forge、遗传算法框架、GeneticSharp)似乎只评估单个Chromosome,然后使用各种选择方法之一来创建新一代.由于我的问题涉及两个AI相互对抗,因此单独评估它们的适应性有点困难。虽然游戏足够简单,可以创建一些表面障碍(AI不直接交互,但障碍会发送给其他游戏),这会让我获得一些抽象的适应性,但这并不是“真正的”交易.这些库似乎也没有提供我可以实现这种评估方法的另一个接口(interface)。是否有其他框架允许这样做,还是我需要从头开始? 最佳答案 每个遗传算法库都应该有一些方法供您定义适应度
想象一下下面的类型:publicstructAccount{publicintId;publicdoubleAmount;}同步两个的最佳算法是什么IList在C#2.0中?(没有linq)?第一个列表(L1)是引用列表,第二个(L2)是根据第一个来同步的:L2中不再存在于L1中的所有帐户必须从L2中删除必须更新L1中仍然存在的L2中的所有帐户(金额属性)所有在L1中但尚未在L2中的帐户必须添加到L2Id标识帐户。找到一种朴素且有效的算法并不难,但我想知道是否有一种智能解决方案可以在不破坏可读性和性能的情况下处理这种情况。编辑:帐户类型无关紧要,可以是一个类,具有属性、相等成员等。L1
我的测试代码中有这个断言Assert.That(()=>eventData.Count==0,Is.True.After(notificationPollingDelay),"Receivedunexpectedeventwithlasteventdata"+eventData.Last().Description());在一段时间后断言某些条件,失败时会产生一条消息。它无法运行,因为消息字符串是在断言开始时构造的,而不是在断言结束时构造的。因此eventData集合仍然是空的(因为它最初是空的)并且尝试获取集合中最后一项的Description失败。在NUnit中是否有解决方法或合适
我有两个句子需要相互比较。最终结果是一个句子在另一个句子中包含多少百分比,我的问题是我有100.000条记录需要与另外10条记录进行比较。那是1.000.000次循环,这在我的算法中非常慢。这是我正在使用的算法:privatedoubleBreakStringsAndCheck(strings1,strings2){if(s1==null||s2==null||s1.Length==0||s2.Length==0)return(double)0;string[]firstArray=s1.Split('');string[]secondArray=s2.Split('');if(fir
我需要找到图的2个顶点之间的最短路线。我有一个矩阵,其中包含所有权重。我该怎么做?目前,我有以下代码:privateint[]Dijkstra(intstart,intend){bool[]done=newbool[8];int[]parent=newint[8];for(inti=0;i它有效,但是,但是我不知道如何让它找到例如1和3之间的最短路线,并返回1=>4=>2=>3之类的路线。提前致谢。 最佳答案 Djikstra算法使用父数组来跟踪从开始到结束的最短路径。您将从parent[end]开始并跟随数组的条目,直到您回到起点
我是completelystuck.我正在测试MetaTraderAPI并在VS2010的即时窗口中尝试运行方法时出现下一个错误:Afirstchanceexceptionoftype'System.Threading.ThreadAbortException'occurredinmscorlib.dllAfirstchanceexceptionoftype'System.Threading.ThreadAbortException'occurredinSystem.Runtime.Remoting.dllEvaluationrequiresathreadtoruntemporaril
是什么决定了同一控件上多个DepdencyProperties的求值顺序?我正在使用ExtendedWPFToolkitPropertyGrid并同时绑定(bind)SelectedObject和PropertyDefinitions:问题是OnSelectedObjectChanged从依赖属性触发,并且在那个更改的处理程序中它引用PropertyDefinitions,它被视为null。如果我注释掉OnSelectedObjectChanged处理程序,那么我可以在调试时看到在调用OnSelectedObjectChanged之后调用了OnPropertyDefinitionsCh
这个问题在这里已经有了答案:Whichsortingalgorithmisusedby.netinIComparer(3个答案)关闭9年前。在.NET中实现IComparable之类的东西时,有人可以建议.NET使用什么排序算法对基础数据进行实际排序吗?所使用的算法是可定制的还是可选的?
你能给我一个在C#中使用急切求值的延迟执行的例子吗?我从MSDN了解到,LINQ中的延迟执行可以通过惰性求值或急切求值来实现。我可以在互联网上找到使用惰性求值的延迟执行的示例,但是我找不到任何使用急切求值的延迟执行的示例。此外,延迟执行与惰性求值有何不同?在我看来,两者看起来都一样。您能否也为此提供任何示例? 最佳答案 下面是我的回答,但也请注意JonSkeet今天在他的博客上谈到了一个事实,即他对MSDN中“懒惰”的含义并不完全满意,因为MSDN并不清楚懒惰的确切含义当他们在Justhowlazyareyou?中使用它时他的帖子值
如何使用模糊容错来加密/解密?我希望能够使用InkCanvas上的Stroke作为我加密的key,但是当再次解密时,用户不必绘制完全相同的符号,只是相似。这可以在.NETC#中完成吗?---更新(9月9日)---我理想中想要的是一种加密算法,它可以接受基于某些基本key和定义允许差异的函数的特定key范围内的任何key..我在本地进行所有加密/解密,因此我不需要安全地通过线路发送任何内容。而且我不想存储用于加密的key,所以我没有任何可比较的东西。我可以想出一些方法来为每个相似的笔画生成相同的键,但如果想要接受任何类型的符号(不仅是字母),这并不容易。另一种选择是加密key是否可以通过