[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 05/15 06:36 / Filesize : 233 KB / Number-of Response : 941
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

データ構造,アルゴリズム,デザインパターン総合スレ 2



1 名前:デフォルトの名無しさん mailto:sage [2013/03/03(日) 18:10:11.63 .net]
【関連スレ】
3Dアルゴリズム全般
toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
toro.2ch.net/test/read.cgi/tech/1217773415/

アルゴリズムとデータ構造 - Kaneko Lab.
ttp://www.kkaneko.com/adp/algo/index.html
アルゴリズムとデータ構造 - ソースコード探険隊
ttp://www.codereading.com/algo_and_ds/
各種アルゴリズムの C++ による実装 - Spaghetti Source
ttp://www.prefield.com/algorithm/
アルゴリズムとデータ構造 - プログラミングスレまとめ in VIP
ttp://vipprog.net/wiki/algo_and_data_const.html

720 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 09:42:25.65 ID:QuAhdSHj.net]
ソート自体不要
結果として1,2,3,4,5,6を返せばいいw

721 名前: mailto:sage [2015/04/04(土) 09:46:00.61 ID:zehumhhz.net]
それだと6回かかるでしょ

722 名前: mailto:sage [2015/04/04(土) 09:49:01.47 ID:zehumhhz.net]
あ、ごめん。ついwを付けられて
上では1-6って書いたけど、0-99の100個の数字を最小回数でソートしないと
いけない問題に今ぶつかってて。誰か賢い人いたら助かるなーって思って書いてみた

723 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 10:00:43.23 ID:QuAhdSHj.net]
>>721
1,2,3,4,5,6と決まった数字がランダムに並んでだけだよね?
どうランダムに並んでようが、ソート結果は常に1,2,3,4,5,6になるんだから、
最初からその結果を用意しておいて、どういう並びであってもそれを1回返せばいい
ということ。

宿題の意図としては求めてないだろうから無視していいけどね。

724 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 10:12:22.71 ID:8tbUo2zR.net]
ソートのアルゴリズムなんてググればいくらでも解説されてるでしょ
ttp://www.it-shikaku.jp/top30.php?hidari=02-02-02.php&migi=km02-02.php
それじゃ何か足りないの?

725 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 11:37:48.38 ID:9IYCOCMd.net]
>>719
sleepsort

726 名前: mailto:sage [2015/04/04(土) 16:50:06.49 ID:zehumhhz.net]
>>724
ありがとう、平均回数も乗ってるこのページ凄い役だった
とりあえず、これでやってみる。>>725 何、これ初めて見たw
みなさん、ご協力本当に感謝します。

727 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 21:12:22.13 ID:vj4bzuy0.net]
sleep sort は、bucket sort とみなすべきだろうし、1,2,3,45,6を返すっていうのもそうだよね。
質問者の質問の意味は、最小 sorting network を求めろってこと?

728 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 21:26:57.58 ID:w5ibkrLo.net]
最小置換手順が欲しいと推測



729 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 21:55:13.09 ID:vj4bzuy0.net]
ああ、なるほど。そしたら最長増加部分列求めりゃ良いね。

730 名前:デフォルトの名無しさん mailto:sage [2015/04/04(土) 22:21:32.50 ID:bg9jdXhF.net]
て、手順としてどのようなオペレーションが許容されるかで変わりますね。当たり前だけど。一手順で、隣接のスワップしか許さないのか、任意の場所のスワップを許すのか、任意の繋ぎ変えを許すのか、任意の一つの数字を任意の場所に入れることを許すのか。

731 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 22:03:28.98 ID:y/t4uXt/.net]
日本人はスマホとかコンビニとか省略するのが好きだけど
検索アルゴリズム的にはスマートホン、コンビニエンスストアの方が10倍早く検索できるんだよな。
記憶力をよくしたかったら、省略するのをやめましょうね。

732 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 05:07:39.56 ID:M9Jld2yx.net]
ア・・・・
あ・思い出した
ア、はいいよね

733 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 06:49:06.78 ID:MQbFTiCx.net]
>>731
面白い脳味噌してるなコイツ

734 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:03:39.74 ID:Cq+Owzl6.net]
>>731
理屈が分からないのですが、もう少し詳しく説明していただけませんか。
同趣旨のことを解説したネット上の記事を紹介していただけるだけでも構いません。

735 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 10:30:22.61 ID:DlA37DUd.net]
でかい方が見つけやすいでしょ

736 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 20:00:18.97 ID:qgceviCB.net]
>>735
それでは曖昧すぎて説明になっていないんじゃないかな。

どのようなデータ構造に対してどのようなアルゴリズムで検索するときに、
検索対象「スマホ」よりも検索対象「スマートホン」の方が10倍早いと言っているのか。

こういうのを話す場でしょ、ここは。
まぁ元々が曖昧だから、>>731以外だれも説明できないとは思うが。

737 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:11:38.07 ID:GbYkPqTc.net]
>>731
は収録数の少ないシソーラス辞書しか持っていないらしい

738 名前:デフォルトの名無しさん [2015/07/30(木) 16:31:15.15 ID:gNKRMuak.net]
A スター アルゴリズムの計算について質問をしたいのですがいいでしょうか?



739 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 19:32:45.75 ID:StheyCIu.net]
別に断る必要は無い
解る者が居れば答えるし、そうじゃなければ放置されるだけ

740 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 20:18:42.09 ID:oAGEjgo8.net]
ggrks ↓

741 名前:デフォルトの名無しさん [2015/07/31(金) 14:17:38.86 ID:qB8zjiMb.net]
開始地点と到着地点を入れ替えても同じサイズの経路が出来ます。
そしてそれは地図を斜めに線分したものに対象である。
そのときの計測時間が余りにも違うのですが、これは何が主な原因でしょうか?
ttp://gmdev.xrea.jp/st/up/1090.png
ttp://gmdev.xrea.jp/st/up/1091.png

742 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 15:24:20.10 ID:qnWPb5RQ.net]
>>741
左上から順に探索してるから開始位置によって処理時間違うとかかな?
マップを上下/左右反転して同じコース走らせてみたらもう少し詳しくわかるかも

743 名前:デフォルトの名無しさん [2015/07/31(金) 18:33:06.81 ID:qB8zjiMb.net]
上下反転でも上記と同じような動きになってしまいました。
ttp://gmdev.xrea.jp/st/up/1092.png
ttp://gmdev.xrea.jp/st/up/1093.png

左右はまだ試していませんが多分同じ結果になるかと。
一応補足として、# of calclation は
while (!openList.isEmpty()) {
  count++; ....
です。
上下反転したときの経路は元と違って同じですし。
しかし、この四つの中で違うのは時間だけでほかは経路サイズも、#も一緒っていう。
A*って元々こんな特性なんでしょうか?

744 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 19:02:30.87 ID:km5orOmS.net]
>>743
これ斜め移動できるっぽいのに何で真ん中通らないの?

745 名前:デフォルトの名無しさん [2015/07/31(金) 19:13:51.36 ID:qB8zjiMb.net]
一応、壁に阻まれている設定なので、斜め移動は可能ですが、そのような経路は取らない様にしています。
家の隅を思い浮かべてもらえればいいかと思います。

746 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 22:14:18.76 ID:pNhxtvtu.net]
てきとーだけど、
時間が掛かる方はスタート位置から全方向に探索し始めるけど、
もう一方は限定されてるから、その辺の違い?

747 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 22:43:26.98 ID:rVmFBF2u.net]
探索木の根元(付近)がよく茂ってるか否かか

748 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 00:40:27.40 ID:hEjnOg+p.net]
オープンリストとか見られるようにしたらどう探索してるか一瞬でわかるよね



749 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 19:09:42.88 ID:vmnF+S0U.net]
スタート位置からの経路が多いかどうかかなあ
もっと単純なマップから少しずつ複雑化して試してみたら?

□□□□□□□
□□□□□□□
A□□□□□B
□□□□□□□
□□□□□□□

□□□□□□□
□□□■□□□
A□□■□□B
□□□■□□□
□□□□□□□

□□□□□□□
□■■■□□□
A□□■□□B
□■■■□□□
□□□□□□□

こんな感じで

750 名前:デフォルトの名無しさん [2015/08/03(月) 16:26:23.97 ID:JJqkNluJ.net]
遅くなってすみません。
オープンリストをみて見ると、探査時間が遅いほうが根元(付近)がよく茂っていました。
原因が判明してスッキリしました。ありがとうございます。
一応これでA*の実装は終了しようと思います。最適化は時間かかるし、ほかのアルゴリズムも組んでみたいので。

>>749
一本道の迷路で試したところ、経路の大きさが9と探査のとき、時間が半端なくかかってしまいました。
多分複雑なマップはA*には向いていないのかもしれません。

同じ経路探査として、こんなのを見つけたのですが、ゲームに使うとしたらこっちのほうが面白そう。
ttp://codezine.jp/article/detail/94
てか、

751 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 19:33:29.19 ID:MJUDpxg+.net]
深さ優先・幅優先探索で、
キャッシュに乗りやすいなどの、
メモリ特性が異なるのかも

キャッシュ的には、直前に使ったアドレスを、
繰り返し使って、廃棄する方が、
使用メモリも少なくて、速いのだろう

752 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:24:42.14 ID:t5WJQOuJ.net]
A*は複雑な迷路より広くて何も無い方が苦手だと思うけど

753 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 02:23:14.81 ID:TrY1gttZ.net]
何も無かったら一直線にゴールに向かうだけでしょ。

754 名前:デフォルトの名無しさん mailto:age [2015/08/04(火) 05:58:48.09 ID:r3CWXwbp.net]
迷路ジェネレーター
jsdo.it/jagarikin/bNMK

755 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 07:41:15.54 ID:Ryo/DS3S.net]
どうやって一直線に向えるんだw
人間は目で見てゴールまでの経路を探索するからそれが分かるんだけどさ。

こういうアルゴリズムは、例えるなら一歩先しか見えない状態で、
進める全方向に枝葉を伸ばして探索していくから、
何も無いとパターンが増えて時間が掛かるんだよ。

ちなみに。ゲームで使われるてるし、カーナビとかグーグル地図のルートだとか、
ネットのサーバーまでのパケットが通る通信経路とかの探索で使われている。

756 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 07:53:11.90 ID:TrY1gttZ.net]
A* ってのは、各点からゴールまでの直線距離なんかを元に、一番有望そうな枝から探索するアルゴリズムなんだよ。
何も無い状態なら、一番距離が小さくなる枝が選ばれ続けるから、一直線だよ。

757 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 07:57:35.38 ID:faHT6mnE.net]
>>756
A*の探索範囲
https://www.youtube.com/watch?v=moUOV-zzJ0Q

758 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 09:30:31.14 ID:TrY1gttZ.net]
>>757
その動画、 0:05 あたりの探索範囲が怪しい。
明らかにゴールから遠ざかるような点も探索してる。
どこか間違えてると思う。

https://www.youtube.com/watch?v=DINCL5cd_w0
あたりのほうが適切そう。



759 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 10:06:00.63 ID:faHT6mnE.net]
>>758
確かに少しおかしいけど
障害物が無い空間でも最大でひし形のような範囲を探索するはず

760 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 00:37:22.34 ID:GWKF7o0G.net]
斜め移動で菱形に広がるのは、複数の枝が同点一位で並んだとき、古いのから探索した場合なんかに起きる問題だよ。
新しいのから探索すると起こらない。

761 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 02:01:34.48 ID:+qWU8RMV.net]
_***_____***_
**A***_***B**
_***_____***_


橋本環奈が出ている、NHKのアルゴリズム子研究所で、
カーナビの経路探索で、ダイクストラ(または、A*)で、
AB両点から探索しているのを見たけど、
ABの回りも、少し探索していた

762 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 07:27:53.77 ID:yAAa1oiV.net]
>>760
いやコストの問題だろ
直線距離+正確なコストだから
斜めだと正確なコスト分少し伸びるんだよ
だから明らかに遠ざかるような探索もする

763 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 23:00:40.63 ID:GWKF7o0G.net]
>>762
そっちの問題だと、菱形に広がるパターンにはならない気がする。

ちなみに、そっちの問題は、直線距離の代わりに適切な距離を使えれば防げる。
上下左右にしか動けないならマンハッタン距離とか。

764 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 19:15:00.05 ID:iWaQs0bI.net]
アルゴリズムの発表ってしていいかな。学会でもしたんだが受けが悪くて。

765 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 19:16:45.23 ID:Wv3ZRkcl.net]
気になるからしてみ

766 名前:スモモンガー mailto:sage [2015/09/12(土) 19:31:58.04 ID:iWaQs0bI.net]
ではお言葉に甘えて
sumomonga.at-ninja.jp/reseach/kangaroo/head.html

アルゴリズムの原理は単純で探索中の辺やレコードとの距離を隣接するの辺やレコード間の値の差の
最大値で割ってその数分進めば探索の辺やレコードを飛び越えないということなんだ。
単純なアルゴリズムだからもうすでに先駆者がいないかどうか調べてみたんだが一応今のところ
発見できなかった。もし、既出だったらスマソ。
もともとは多角形と直線の交点を求めるために作ったんだが今は探索のアルゴリズムに応用できないか
と考えている。まあ、ぶっちゃけバイナリサーチを使えばいいんじゃないかといわれそうだが。
正直上のホームページの説明も分かりにくいと思うから(俺は説明が下手なんだスマソ)ダウンロードペーから
ダウンロードして直接ソースみたほうがこのスレの住民ならわかると思う。
なんか長文になってすまん。
どうぞよろしくお願いします。

767 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 19:32:59.56 ID:64Xb/9UR.net]
色覚異常者臭い配色だな

768 名前:スモモンガー mailto:sage [2015/09/12(土) 19:35:17.81 ID:iWaQs0bI.net]
あと、情報処理学会の会員の方がいたら、グラフィックスとCAD研究会で”多角形と図形の交点の高速算出”
って題名で論文出しているからそっちのほうが少し説明がまとも



769 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 19:38:40.39 ID:iWaQs0bI.net]
すまん、俺は芸術的センスは皆無なんだ。

770 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 19:59:23.62 ID:Wv3ZRkcl.net]
> よって飛び越えないためにはkをY/lを越えない最大の整数にすれば大丈夫に思えます。しかし、一つ飛び越えたということは交わったということなので実際には(Y/l+1)を越えない最大の整数にすればいいのです。

ここの Y は X じゃね。ていうか Y は k の関数 Y(k) じゃね。

ソースにコメントつけたらどうだ。
構造体 line の int a,b,c とか意味が分からん。あとラムダは lambda な。
二乗するのに pow() とか使ってんな。ていうか直線との距離に sqrt なんていらんだろ。単位法線との内積を取れ。

771 名前:スモモンガー mailto:sage [2015/09/12(土) 20:23:27.44 ID:iWaQs0bI.net]
>>770
わざわざ下手な説明と汚いソース読んでいただきありがとうございます。確かに、Y/lじゃなくX/lですね。
今夜中に直しておきます。ただ、Yはkだけに依存するものではないので、Y(k)とするのはまちがっていると思います。
構造体のa,b,cはax+by+cのa,b,cです。直線との距離は単位法線との内積をとったほうが確かに早そうですね。
二乗はpowを使わないほうがいいんですか。勉強になります。ソースコードのほうはちょっと俺の力
ではすぐ直せそうにないので明日直そうと思います。あらためてになりますが、読んでいただいてありがとうございます。

772 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 21:06:00.39 ID:Yzh+CkQk.net]
ci.nii.ac.jp/naid/170000087534
ci.nii.ac.jp/naid/170000087558
どっちも内容同じ?

773 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 09:11:22.28 ID:n3zvmQA3.net]
ハロー "Hello, World" OSと標準ライブラリのシゴトとしくみ 単行本 – 2015/9/12
www.amazon.co.jp/dp/4798044784/

こんなのでた。
面白そう。

774 名前:スモモンガー mailto:sage [2015/09/16(水) 21:09:13.76 ID:k300cqkh.net]
とりあえずソース直しました。

>>772
私は二つ投稿してないんですが(汗)一回修正入れたんでそのせいかもしれないです。新しいほう
が間違えがないんじゃないかと思います。

775 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 01:36:24.28 ID:h/C+p+kS.net]
毎日変わる文字列がどのパターンに当たるか判定するソフトを作りたいんですが、
どの言語を使えばいいですか?
宝くじの攻略に使いたいんですが
htmlとVBを10年前にやったことがある程度の能力しかありません

0 7 A 3 D 6 8 H @ 4
と毎回不規則に並んでいる数字から毎回不規則に4つ選び、
該当の2591の形がどのパターンなのかを判断するというソフトです
さらにこのとき選ばれた2591を別の不規則の数列に当てはめたときも判定するようにしたいです
0 A 4 6 8 @ 3 D 7 H
この数列のときはどの形なのか・・・という具合にです

これを平日の間手動でやるのは限界があったので

776 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 09:31:31.86 ID:8C/CtMhx.net]
アルゴリズムだろ、馬鹿には無理だが

777 名前:デフォルトの名無しさん [2015/09/17(木) 15:49:14.71 ID:jeXjMZOh.net]
アルゴリズムの勉強って何をすればいいの?
何も見ずに書けるようになるとか?

778 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 16:56:57.71 ID:RFJKEvXv.net]
とりあえずwiki行ってリンク辿れば?



779 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 17:07:55.21 ID:ylAQcAdL.net]
>>775
どういう処理がしたいかよくわからんけど
データがすくないならスクリプト言語,多いんならC++でも使えば?

780 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 00:53:57.52 ID:kZ1aVgi2.net]
>>777
セジウィックや、オライリーのインド人の本など、
アルゴリズムの本は、一杯出ている

>>775
丸で囲んだ数字などの、
MS-CP932の機種依存文字を使うな。
これらは、Shift-Jisにも属さない文字

781 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 02:38:17.41 ID:YgOe18Uv.net]
囲み数字はShift_JISX0213に入ってるんだよなあ
Shift-Jisとかいう独自規格のことは知らないけど

782 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 17:33:44.18 ID:uevEmGa3.net]
>>780
オライリーの本調べてみたら問題がたくさんのってるようですね。
解いて勉強すればいいということですか

783 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 20:20:23.43 ID:7AiId5VK.net]
>>782
とりあえず解いていけばよい
まずは既存のアルゴリズムを知ること
そして問題に対して適切なアルゴリズムを適用して解決できるようになること

784 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 22:37:30.79 ID:U/4/CI9X.net]
>>783
やってみます。ありがとうございます。

785 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 08:38:55.46 ID:mo1gDnuH.net]
宝くじの攻略とか言ってる段階で確率論でも学んだほうがいいのでは?

786 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 08:49:47.26 ID:g55jIHl1.net]
確率論学んだからって狂人が正気に戻る訳でもあるまい。

787 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 09:12:37.94 ID:h/dwjgiw.net]
宝くじが夢を買うってことなら、この人は夢をプログラミングしてるんだよ。

788 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 09:22:06.02 ID:5cHEEdwc.net]
獏は夢を食べます



789 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 13:08:11.01 ID:hRep6fdc.net]
>>786
確率のいい教科書はありませんか測度論までケアしてくれるやつ

790 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 13:48:42.32 ID:ZXXgaQ/P.net]
>>789
・測度と積分 入門から確率論へ
・はじめての確率論 測度から確率へ

この辺りを読まれてはいかがでしょうか。

791 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 16:19:22.10 ID:hRep6fdc.net]
>>790
上の奴って品切れみたい,空手踊りとか肉体系で楽しそうだね

792 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 17:05:20.53 ID:hheo9oaF.net]
測度と確率 小谷

プロ仕様だけど

793 名前:デフォルトの名無しさん [2015/10/06(火) 19:59:51.30 ID:uxUTfTFS.net]
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点

794 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 08:03:53.85 ID:Np+b0DPs.net]
>>785
ナンバーズ4っぽいから、期待値の高い組み合わせを出したいんだろう。あれ、誕生日で買ったら当たっても安いんだよね。

795 名前:デフォルトの名無しさん mailto:sage [2015/10/18(日) 19:20:01.26 ID:mdnTkxCG.net]
保守

796 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 12:58:47.56 ID:ngwDS6AM.net]
BOOK・OFFで
2200円のこれを200円で買った俺って勝ち組?
i.imgur.com/6zlSiQq.jpg

797 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 13:08:25.20 ID:Zr5MZtBC.net]
ゴミにはビタ一文出すな

798 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 13:45:30.59 ID:8+WZrGwR.net]
サッカーや野球のようなゲームがあったとします。
選手は毎年どんどん出現してきて、引退した選手もファイルに残ります。
ファイル名は必ずユニークなIDで、同じファイル名は存在しません。
ここまで仕様確定です。

もし、Aチームの選手はAフォルダに格納される方式を取ったとき、
チームに所属する選手はすぐ出せると思います。
しかし特定の選手を探したいときは難しくなります。
(例えば1990年の得点王選手のIDが記録されていたとして、そのIDにアクセスするのは若干めんどうです)。

そして、引退した選手も保存されるので、ファイルは一方的に増えて行きます。
100万や200万、1000万になるかもしれません。(どのくらいかは知りません)。
確実にアクセスは遅くなり、間違った方法だと検索も大量に取られます。

どのファイルがどこのフォルダに保存されてるのか記載するにしても、もしも仮にDが1億も並んでるとアホの極みと思うわけです。



良さそうな方法考えてください。



799 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 13:49:09.94 ID:vcVH8w6b.net]
データベース使え

800 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 15:20:54.63 ID:eH4IcMDe.net]
チームが買収されたり合併されたらどうすんの

801 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 18:50:14.31 ID:yGf9dC8a.net]
>>798
データベース使え案件だけど無理なら自前で
選手IDをキーにしたB+木のインデックスファイルをつくり
それから検索する

802 名前:デフォルトの名無しさん mailto:sage [2015/10/31(土) 22:26:55.40 ID:RIZFllKe.net]
オンメモリに収まる量ならともかく
外部データ連携するB+木とか自前で用意する方がリスク高いんじゃないの
しかも用途が野球なら実際に必要になる18人と監督+α以外ほぼ無駄データなわけで
そんなもんをまじめに管理するよりゲームの面白さに注力しろって意味でも
DB使え

803 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 20:12:40.65 ID:MVvuxbKY.net]
おまえらがいってることがすでにわかんねーよ

804 名前:デフォルトの名無しさん mailto:sage [2015/11/01(日) 20:16:08.48 ID:cyCCNHZp.net]
登場選手はなんと1000万人!
面白いのかそれ?w

805 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:30:58.86 ID:jz4WAacM.net]
セジウィック4版が和訳されるのっていつ頃かな?

806 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 19:19:28.88 ID:A58rIrCf.net]
実装したいアルゴリズムの名前がわからないので教えてください
知りたいのは以下の様なものです
---
for (int i = 0; i < 10; i++)
do_something(i);
これをクラスに展開して
int i = -1;
static bool Next() { ++i < 10; }
static int Value { get { return i; } }
static void Main() {
while (Next())
do_something(Value);
}
---
このように変換する方法について調べたいのです
実際に欲しいのはN重ループをフラットに繰り返しで処理する方法です
自力で解こうとしたのですが、どこかで勘違いをしているようで、うまく動いてくれません
名前が分からないと調べようがないので助けてください

807 名前:デフォルトの名無しさん mailto:sage [2015/12/02(水) 22:20:37.79 ID:yyIVeakG.net]
イテレーターで抽象化したいってことかな

808 名前:デフォルトの名無しさん mailto:sage [2015/12/03(木) 00:25:03.13 ID:74Kx8KXh.net]
>>807
そうです
Iteratorパターンというのですか?
このパターンについて調べてみたのですが多重ループを解く方法については記述が見当たりませんでした



809 名前:デフォルトの名無しさん [2015/12/03(木) 15:48:13.76 ID:5y9yFaIO.net]
イタレーターを二つ以上用意する

810 名前:uy ◆Qawu9.2l1E mailto:sage [2015/12/03(木) 18:57:59.03 ID:tK7Nyube.net]
ヒント:ruby

811 名前:805 mailto:sage [2015/12/03(木) 20:32:43.77 ID:74Kx8KXh.net]
木構造+イテレータでぐぐって解決しました
ありがとうございました

812 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 20:54:01.39 ID:vWrFkfhW.net]
デザパタ実践したらファクトリだらけになったんだがこんなもんなのかな

813 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 23:56:43.50 ID:/pdSfCvK.net]
>>812
ありがち
デザパタ厨のやつが作ったクラスが
全部createInstanceだらけで使いにくいだけのクソが出来上がってた
まさに早すぎる抽象化
やるならせめてDIとかリフレクションや
アノテーションを使えやって思った

814 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 12:43:43.71 ID:fYAYo2Es.net]
数学っぽい問題なのですが、
n = 100のとき以下の3つの条件を満たす単位分数の組みを考える
1/n1 + 1/n2 + ....+ 1/nk = 1  (1)
n1 + n2 +....+nk = n (2)
n1 < n2 < ....<nk        (3)
これをプログラミングを用いて解きたいのですが、いい方法が思い浮かばなくて困っています
何か方法ありましたら、教えてください

815 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:31:43.15 ID:R0gDPv6y.net]
簡単な乱数生成のアルゴリズムで、線形合同法と言うのがあります。
数学のループ記述はよく分からないので、プログラム風に書くとこうです。

x = (a * x + b) % mod;

xが上書きされて何度も順番に使用さていると言う意味です。

% mod は割った余りです。
32bit環境なら
mod = 2 ** 32;
となっています。(つまり上記の式は32bitで表現できる最大値未満の乱数がxとして算出され、次の乱数生成にまた使用されます)。

64bit環境なら
mod = 2 * 64;
となっています。

x の初期値は何が入っていても構いません。(例えば式の初回使用時などに適当な値を入れます。例えば今の時間とか)。

a と b は定数で、これを何に設定するかによって乱数が良質であるか悪質であるか、また使える周期の長さが変わります。
周期が長くて良質な物を出すとき、これに何を設定すると良いのか分からないので教えてください。
32bit用と64bit用の両方をお願いします。

ちなみに、それを考えるのがどの程度大変 (または簡単) なことか分からんで質問してます。

816 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 18:58:35.99 ID:y7r4C3dc.net]
https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use
例から適当に拾え
てか 線形合同法 定数 あたりでググればソースと解説があるだろ

817 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 19:00:49.31 ID:GmzcEDm2.net]
MT使え

818 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 21:14:19.01 ID:rY8ZFzdV.net]
>>816
>>817
ありがとうございます



819 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 02:29:13.85 ID:WaYE86JM.net]
>>814
それ解はあるの? 無限に続くのでは?

820 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 08:55:42.31 ID:2+dP2nJG.net]
>>819
単位分数って言ってるんだから、各 nk は 1 以上の整数だ。
条件 (2) によって nk は有限個しかないよ。

この条件を満たす解が存在するかどうかは知らん。

アルゴリズム的にはどうなんだろうな。
単純に条件 (2) と (3) に合うものを 1/2 + 1/98 から順に網羅していって、
条件 (1) に合うものをピックアップしていくというのはクソ遅いかな。
もちろん、浮動小数点でやったら誤差が出るから、すべて整数計算だけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<233KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef