当前位置:编程学习 > C#/ASP.NET >>

C# 遗传算法

谁写过用遗传算法实现考试自动抽题组卷的代码啊?麻烦给指教一下啊,谢谢了! --------------------编程问答-------------------- 我第一次听说遗传算法是在《疯狂的程序员》。
帮顶 --------------------编程问答-------------------- 遗传算法本质上是一种搜索寻优技术。从某一初始群体出发,遵照一定的操作规则,不断迭代计算,逐步逼近最优解遗传算法 --------------------编程问答-------------------- 看了很多资料,基本上都是理论研究,能用的都没找到。。。 --------------------编程问答-------------------- 感觉LZ的问题可以不用遗传算法来弄,说说详细的需求吧! --------------------编程问答-------------------- 真没人知道啊,这么多高手,帖子都要沉下去了啊,帮帮忙啊,各位大侠 --------------------编程问答-------------------- 就是网上的自动组卷啊,教师选择各种类型的数目,然后给个最有组合,可能每个人组合出来的试题不一样,保证公平性。比如教师选择10个单选,难度系数为2,10个多选,10个填空,5个问答,组合起来为100分,然后根据这些条件去题库中抽题,貌似现在最好的方法是遗传算法,不知道还有没有更好的方法? --------------------编程问答-------------------- 题库中,每道题有自己对应的分值是么?这样小的题量,感觉最普通的搜索就可以,迭代不了几回就可以了。 --------------------编程问答-------------------- 高级的算法。 --------------------编程问答-------------------- LZ所说的最优的条件是什么?如果最优的话,那么可能只有1个解,谈不上随机了,另外遗传算法本身就不是用来求最优解的,是求近似的,而且只是一种通用的算法,也就更谈不上最好了。

引用 6 楼 laoguanfy 的回复:
就是网上的自动组卷啊,教师选择各种类型的数目,然后给个最有组合,可能每个人组合出来的试题不一样,保证公平性。比如教师选择10个单选,难度系数为2,10个多选,10个填空,5个问答,组合起来为100分,然后根据这些条件去题库中抽题,貌似现在最好的方法是遗传算法,不知道还有没有更好的方法?
--------------------编程问答-------------------- --------------------编程问答-------------------- 有哪个高手让大家共享一下 --------------------编程问答-------------------- 第一次听说这种算法,帮顶! --------------------编程问答-------------------- --------------------编程问答-------------------- 学习来了
 此消息通过 【CSDN论坛 Winform测试版】 回复!
龙月.NET的博客 --------------------编程问答-------------------- --------------------编程问答--------------------
但是每次运行迭代的次数是随机的啊,就是打开页面的时候才用遗传算法随机抽题,每次产生的随机数是不同的。数据库中的每道题有相应的分数。
引用 9 楼 litaoye 的回复:
LZ所说的最优的条件是什么?如果最优的话,那么可能只有1个解,谈不上随机了,另外遗传算法本身就不是用来求最优解的,是求近似的,而且只是一种通用的算法,也就更谈不上最好了。


引用 6 楼 laoguanfy 的回复:

就是网上的自动组卷啊,教师选择各种类型的数目,然后给个最有组合,可能每个人组合出来的试题不一样,保证公平性。比如教师选择10个单选,难度系数为2,10个多选,10个填空……
--------------------编程问答-------------------- 这个迭代次数指的杂交次数?变异次数?

所以希望LZ把具体需求详细描述一下,这类近似算法其实远没有想象中复杂,只是比较通用。反过来针对具体需求,也可能存在更有效的方法。

引用 16 楼 laoguanfy 的回复:
但是每次运行迭代的次数是随机的啊,就是打开页面的时候才用遗传算法随机抽题,每次产生的随机数是不同的。数据库中的每道题有相应的分数。
--------------------编程问答-------------------- 交叉,变异是算子,简单说是产生新个体的方法。每一次迭代过程中包括,复制、交叉、变异。有时有的个体满足了适应条件,可以不进行交叉、变异,直接复制到下一代。
引用 17 楼 litaoye 的回复:
这个迭代次数指的杂交次数?变异次数?

所以希望LZ把具体需求详细描述一下,这类近似算法其实远没有想象中复杂,只是比较通用。反过来针对具体需求,也可能存在更有效的方法。


引用 16 楼 laoguanfy 的回复:
但是每次运行迭代的次数是随机的啊,就是打开页面的时候才用遗传算法随机抽题,每次产生的随机数是不同的。数据库中的每道题有相应的分数。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,