素数セミのシナリオについて 会社員 2007/12/03 00:06:24 ├個人的見解:予定調和組み 小塚貞典 2007/12/03 16:21:09 │└生成消滅演算子 小塚貞典 2007/12/13 23:08:22 ├蝉の生い立ちを考えると、 山中和義 2007/12/05 15:15:09
Re: 素数セミのシナリオについて |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2007/12/05 15:15:09 | |
蝉の生い立ちを考えると、
*3年ゼミの場合 0年目 卵 ※蝉の成虫が産卵する 1年目 幼虫 2年目 幼虫 3年目 幼虫→成虫→卵 ※周期発生 4年目 幼虫 5年目 幼虫 6年目 幼虫→成虫→卵 ※周期発生 7年目 幼虫 : : となり、このような蝉の「状態」(状態遷移)がみえる。 この状態に対して(卵→幼虫は考えないとすると) 幼虫 幼虫→成虫 成虫 成虫→卵 の箇所(「状態」とその遷移)で、確率的な「作用(数の増減など)」が考えられる。 たとえば、幼虫なら寄生虫による死滅など。 このように、「状態」ごとにまとめていくことで、シナリオをタイミングも含めて 抜けなく・明確に組み込むことができると思います。 たたき台のサンプルを掲載しておきます。 !素数ゼミのシミュレーション LET N=20 !年数 DIM semi(N),kiseicyu(N) !各年数の蝉、寄生虫の数 MAT semi=ZER FOR i=1 TO N !LET kiseicyu(i)=8E7 !2年蝉 !LET kiseicyu(i)=5E7 !3年蝉 !LET kiseicyu(i)=2E7 !5年蝉 !LET kiseicyu(i)=1E7 !10年蝉 LET kiseicyu(i)=6.5E6 !17年蝉 ※固定 NEXT i DEF p(g)=MOD(g,N)+1 !テーブル内の位置を求める DIM timeTBL(N,N) !発生のタイムテーブル ※(世代,年数)=発生する数 MAT timeTBL=ZER !初期状態 LET timeTBL(1,1)=1E8 !1年蝉1億匹 ※1) LET timeTBL(2,2)=1E8 !2年蝉1億匹 LET g=0 !経過時間(単位:年) DO !時間を経過される !!!PRINT "年=";g, p(g) !!!MAT PRINT USING(REPEAT$("###,###,###,### ",N)): timeTBL !トレース !幼虫の過程 ※1年後、卵は幼虫へ FOR i=1 TO N FOR j=0 TO i-1 !N年間 IF RND<0.5 THEN !寄生確率 LET timeTBL(p(g+j),i)=MAX(timeTBL(p(g+j),i)-kiseicyu(i),0) !※2)、8) END IF NEXT j NEXT i FOR i=1 TO N !羽化(周期発生) LET semi(i)=INT(timeTBL(p(g),i)*0.5) !※7) LET timeTBL(p(g),i)=0 NEXT i |
│└つづき 山中和義 2007/12/05 15:15:57 └ただいま自力でプログラムを作ってますので 会社員 2007/12/19 00:27:40 ├途中ですが、中間報告です突然変異考慮して... 会社員 2007/12/29 06:50:22 ├!(つづき) 会社員 2007/12/29 06:51:44 ├!(つづき2) 会社員 2007/12/29 06:53:31 └!(つづき3) 会社員 2007/12/29 06:54:31