|||
解此题的关键在于这是一个没有放回的抽取,不然例子里50%的显性基因应该无脑得出0.75的显性特征而不是匪夷所思的0.78333
显性特征的情况太多,采取显性 = 1-隐性特征,并按题目中的树形图思路列出可能:
先抽aa再抽aa, 100%得aa:
n_n_aa = n/(k + m + n) * (n - 1)/(k + m + n - 1)
先抽Aa再抽aa, 50%得aa:
m_n_aa = m/(k + m + n) * 0.5 * n/(k + m - 1 + n)
先抽aa再抽Aa, 50%得aa:
n_m_aa = n/(k + m + n) * m/(k + m + n - 1) * 0.5
先抽Aa再抽Aa, 25%得aa:
m_m_aa = m/(k + m + n) * 0.5 * (m-1)/(k + m + n - 1) * 0.5
最后一减
1 - (n_n_aa + m_n_aa + n_m_aa + m_m_aa)
以上代码是可行的,但是有些重复计算:
k + m + n = N
先抽Aa再抽aa和先抽aa再抽Aa概率一致可以不用算两遍
其实最后就是合并一下同类项:
1 - 1/(N-1)/N * (n*(n-1) + m*n + m*(m-1)*0.25)
好吧这一题跟编程无任何关系...
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 22:36
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社