问题标签 [genetic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
530 浏览

python - 我的遗传算法出了什么问题

我试图了解遗传算法是如何工作的。就像我通过尝试在我的 on 上写一些东西来学习的所有东西一样;但是,我的知识非常有限,我不确定我是否做对了。

该算法的目的是查看如果一半的人口已经被感染,那么半数牛群感染疾病需要多长时间。这只是我脑海中想到的一个例子,所以我不确定这是否是一个可行的例子。

关于如何提高我的知识的一些反馈会很好。

这是代码:

0 投票
4 回答
3371 浏览

algorithm - 遗传算法和动态规划之间解决经典0-1背包的最佳方法是什么?

假设我有这样的问题:

  • 背包容量=2000万
  • 项目数 = 500
  • 每个项目的重量是100到2000万之间的随机数
  • 每个项目的利润是1到10之间的随机数

那么哪个是解决我的问题的最佳方法?遗传算法还是动态规划?

请给我一个简单的解释,因为我是这方面的新手..

0 投票
1 回答
1341 浏览

algorithm - 特定遗传算法成本函数

我被分配了创建遗传算法的任务,这是一个分配问题,其目标是将组件分配到两个设备机架中,以最小化互连程度。

基本上我要做的就是读取一个矩阵A,它是组件连接的邻接列表。cij表示组件i和组件之间的连接数j。每次都应该是对称的。我们有一个人口,所有的值都存储在二维数组中,这就是我的实现。

读入的矩阵A是我们的邻接矩阵,而人口将决定我们如何对项目进行分类。如果将读入的矩阵中的相应元素放入其中,则机架是bin0bin1,并且如果 ,则适用相同的规则。population[cij] = 0Abin0population[cij] = 1

现在的问题是在人口矩阵中找到提供最少互连量的行,它是不同箱中组件之间的权重之和。

这是我们的基本案例的图像:

屏幕截图

...其中A读入的矩阵在右侧,人口如下所示,矩阵A中元素的分箱方式显示在中间。到目前为止,我可以计算罚分,这是教授给出的约束,我还可以确定每个 bin 中有多少元素,但是到目前为止,我还没有按照描述和图片所示计算成本。到目前为止,这是我的成本函数:

这个想法是m跟踪我们在整体计算和元素中的位置i,并j扫描行和列以查找总体中的连接,当找到连接时,cost[i]应该将该连接反映为交叉边的权重总和两个垃圾箱。到目前为止,这还不能正常工作。

0 投票
1 回答
189 浏览

c++ - C++ 不兼容的类型:计算等位基因频率

这是输入文件的样子:

1-1_Sample 1 GCCCATGGCT 2-1_Sample 1 GAGTGTATGT 3-1_Sample 1 TGTTCTATCT 1-1_Sample 2 GCTTAGCCAT 2-1_Sample 2 TGTAGTCAGT 3-1_Sample 2 GGGAACCAAG 1-1_Sample 3 TGGAAGCGGT 2-1_Sample 3 CGGGAGGAG


背景:我对 C++ 非常陌生,并试图自学用它来补充我的研究生研究。我是遗传学博士候选人,试图模拟不同的进化历史,以及它们如何影响人群中等位基因的频率。

问题:我正在尝试从我从输入文件创建的“dna”数组中提取某些数据部分。例如,在这里我创建了另一个数组“Af”,我试图在其中提取 dna 数组的第一个“细胞”的计数。这样做的目的是让我可以通过将某些细胞组中的计数与整个 dna 阵列中的计数进行比较来计算频率。我不知道该怎么做。我不断收到错误消息:“将'FLOAT'分配给'FLOAT [1] [1]'的类型不兼容”

我花了很多时间在不同的论坛上研究这个,但我似乎无法理解这个错误意味着什么,以及如何实现我想要实现的目标。

所以我正在可视化的 dna 数组是由输入文件制成的,因此有 4 行(A、C、G、T)。然后是 10 列(系列中的每个核苷酸一列)。然后将该“网格”堆叠 3 次(输入文件中列出的每个样本(这里样本表示总体,每个总体有 3 个个体)一个“表”)。因此,我想从这堆网格中提取,例如,第一个单元格(样本 1 中位置 1 的 A 数。然后我想将此数字与所有样本中位置 1 的 A 总数进行比较。对于我正在测试的模型,这个频率将是一个有意义的数字。

问题是,我不知道如何提取 dna 数组的一部分——一旦我弄清楚这个精简的例子,我将把它应用到非常大的输入文件中,并且一次要提取多个单元格。

0 投票
1 回答
379 浏览

c++ - 在抛出 'std::bad_alloc' 的实例后调用 Mergemap 终止

我正在运行 Mergemap 工具来合并两个遗传图谱。我下载了示例数据,并为示例输入数据运行了合并图。它显示以下错误

请任何人帮助解决这个问题

0 投票
2 回答
860 浏览

java - Java Collections - 随机播放重复项目

是的,我正在为一个大学项目做一个 GA 算法,但是当我做 Crossover 时,我注意到我的个人长度发生了变化,它应该是 100。

我正在创建一个包含 100 个 City 对象的 ArrayList(它是 Traveling Salesman 的一个版本),并从中创建一个包含 100 个 Id 数字的路径并将其传递给 String[]。id 从 0 到 99。但是,当我使用 Collections 类进行随机播放时,它正在随机播放它们,但它也是重复的条目。这是代码。

}

这是当前的示例输出(我只会发布前 3 个,因为它很冗长)并且我已经加粗了一两次重复。可能有更多,但一个太多了!

0:60+74+94+39+13+76+42+60+59+27+3+19+13+44+90+33+3+84+94+66+26+15+30+65+ 75+37+82+86+97+60+54+10+72+22+87+59+68+82+58+33+94+13+70+58+54+31+93+25+91+ 10+94+14+89+73+39+67+12+41+99+46+28+62+32+96+37+46+9+81+33+36+42+ 77 +1+21+ 39+61+41+81+23+73+42+13+66+35+51+64+2+11+96+87+75+24+50+8+86+52+32+35+73+ 77+距离:13781+834427040787

1:2+89+43+7+58+32+71+44+96+63+2+57+12+34+53+43+94+14+97+18+91+40+18+86+ 46+70+46+46+46+98+50+0+45+44+94+34+17+ 89 +72+1+9+99+40+97+ 88 +3+12+38+5+ 41+2+26+74+96+33+33+29+16+74+18+10+13+96+12+16+76+77+2+0+ 89 +18+36+88+56+ 35+33+28+ 88 +35+86+61+98+99+66+31+90+23+86+45+74+2+88+80+84+19+33+81+23+90+ 37+ 距离:14157+066270019255

2:69+13+20+68+8+80+58+26+57+1+45+73+83+13+32+58+10+17+76+25+99+29+28+31+ 68+95+88+91+19+22+86+97+75+64+1+49+19+88+55+96+3+62+23+ 45 +31+63+39+52+70+ 70+35+2+86+49+34+49+7+2+72+37+37+81+46+23+82+7+35+65+74+64+80+43+48+3+ 5+46+35+30+94+55+47+ 45 +79+83+58+40+95+94+98+84+28+94+61+87+1+40+83+55+18+ 74+ 距离:13178+332276530997

}

我确保 baseInd 仅包含 0 到 99 的一次出现。

它肯定似乎(也许!)是造成它的洗牌。有任何想法吗?

--- 更多代码 ----

这是创建 City 对象的方法。它从 .csv 文件中读取。我不关心这个,因为上面的代码在任何洗牌之前都会打印出 0 到 99。


没有什么我可以真正添加与问题相关的内容,因为问题发生在创建 baseInd 并且在输出的此时尚未编辑输出(通过突变或交叉)之后。

0 投票
1 回答
16095 浏览

awk - 根据单列中的值拆分大文件(AWK)

我想根据第 6 列中的值(大约 10*10^3 个唯一值)拆分一个大文件(10^6 行)。但是,由于记录的数量,我无法让它工作。这应该很容易,但已经花费了几个小时,而且我不会再进一步​​了。

我尝试了两个选项:
选项 1

选项 2

这不会导致错误,但它创建的文件仅包含与“分组”值 $6 对应的最后一行

这是我的文件的开头,但是,这个文件不会导致错误,因为它太小了:

0 投票
2 回答
3434 浏览

r - R:如何在循环中初始化和添加元素到数组中

我有一个矩阵,其中包含一列不同的基因,以及-log(P-values)每个基因的每个可能 SNP 的对应列。

所以矩阵有 3 列:Gene_lable、 SNP 和minus_logpval。我正在尝试编写一个代码来识别-log(P-value)每个基因最高的 SNP。这是头部(数据):

这是代码的开始:

但由于某种原因,R 一直给我错误:Error in is.ordered(x) : argument "x" is missing, with no default.我什至没有使用 is-ordered(x) 函数......我认为错误在于我初始化 x (应该是一个数组)的方式,但我没有不知道如何解决它。

0 投票
1 回答
651 浏览

r - R:如何更改嵌入在 nbinomTest() 函数中的默认 FDR 值?

我有一张桌子,这是开始:

目标是找到条件“W”和“M”之间的差异表达基因。这是我的代码:

我的问题是:nbinomTest() 函数返回基于 10% FDR 的差异表达基因。有没有办法改变这个数字?我可以在例如 5% FDR 时检查差异表达的基因吗?

0 投票
1 回答
1716 浏览

xml - jaxb 如何将元素引用到 http://www.w3.org/2001/XMLSchema 之类

我有这个wsdl。关键是与 的线<xs:element ref="xs:schema"/>。这是一个指向http://www.w3.org/2001/XMLSchema的元素。JAXB 似乎不喜欢它,所以我不得不导入http://www.w3.org/2001/XMLSchema命名空间,但我得到了错误(底部)。

我尝试使用 JAXB 和 ant 构建脚本生成 Java 代码:

我收到这些警告和错误:

JAXB 或我的 WSDL 有问题吗?