C++相談室 part69 ..
[2ch|▼Menu]
939:デフォルトの名無しさん
09/06/12 11:58:11
ごめんなさい!3万x3万です!ちなみに768MBしか積んでません><クズです!
>>931-933
0or1のフラグとして使うつもりでboolを使いました。

やろうと思っていることは、「生物学で使うDNA塩基配列のアライメント」で
int 3マンx3マンを隅から数値を埋めていく一方で、
その数値を確認しながら条件に従って、その要素に対応するboolの配列の要素1-3に1or0を入れていく。

ということを行っています。

intの配列array[i][j]については[i+1][j+1]まで処理した時点で破棄できるのでもっと少なくできると思うんですが、

bool配列についてはすべて埋め終わった後に、もう一度フラグの確認をしていくのですべて残しておく必要があります。


ちなみにbool型が一番サイズが小さいと勝手に思い込んでいました。

940:デフォルトの名無しさん
09/06/12 12:05:43
なんだか良くわからないけど,計算用の鯖用意すれば解決するんじゃないかな^^;
パソコンでやるなら>>933とか.

でも
> int 3マンx3マンを隅から数値を埋めていく一方で、 
> その数値を確認しながら条件に従って、その要素に対応するboolの配列の要素1-3に1or0を入れていく。
これって注意深く行うとすると,今状態[3万×3万]と次状態[3万×3万]が必要になるんじゃないかい?
軽くめんどくさい

941:デフォルトの名無しさん
09/06/12 12:26:39
int配列やbit配列の要素間で、相互参照がないなら
ストレージに対して、逐次読み出し、逐次書き込みで
いいんじゃねーの。

942:デフォルトの名無しさん
09/06/12 12:31:29
塩基配列なら AGTC の4種
30kx30k 900M
1bit データなら 900M/8 = 112MB
塩基配列なら4種2bit 900M/4 = 225MB

メモリに載せるのは可能っぽい

943:デフォルトの名無しさん
09/06/12 12:35:52
>>939
768MBでも仮想記憶があるから屑だなんて言っちゃイヤ!

と言うのはさておいて。

>intの配列array[i][j]については[i+1][j+1]まで処理した時点で破棄できるのでもっと少なくできると思うんですが、
これは、相互参照があるってことなのかな?
だとしても、1行3万点として前後1行ずつで併せて3行がメモリにあれば事が足りるよね。
後は、ディスクをぶん回すことになるけどなんとかなりそうだ。
# 最初は1000x1000くらいに絞って作らないとデバッグの段階で死ねるね。

944:デフォルトの名無しさん
09/06/12 12:51:27
連続領域で取ることができないだけなので、int**にして3万を3万回動的確保すればいけるんじゃないの?


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5028日前に更新/243 KB
担当:undef