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
421 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 00:24:47.89 ID:g/OODa/4.net] 俺は買わないけど言語は何使ってるの? アマゾン見てみたが書いてなかったな、使用言語
422 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 00:33:08.26 ID:vwK3Zsni.net] 表紙に書いてあるけど 中身もそれかどうかは不明
423 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 00:39:11.30 ID:jH6wT1ov.net] なか見検索で見た限りは純粋なCだよ でも索引まで入れて140ページちょいって少なすぎないか?
424 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 00:42:44.47 ID:vwK3Zsni.net] なかみで見れた もうおなかいっぱい
425 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 01:09:20.80 ID:g/OODa/4.net] C言語で再帰の本かい そういうのもあるんだなあ
426 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 02:27:20.02 ID:Viwfu6Pv.net] >>421 そのページの表紙の写真の下にある [この本の中身を閲覧する]をクリックして出てくるサンプルの3ページ目の下から3行あたりに 「この本ではC言語を用いてプログラムを示すことにしますので、読者はC言語の知識があるものとします。」 と書いてあるぞ。
427 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 02:28:45.56 ID:Viwfu6Pv.net] >>426 × サンプルの3ページ目 ○ サンプルの2ページ目
428 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 03:31:35.37 ID:2Sfp9Dnc.net] お前ら何か紹介されるととにかくまずけなしまくるよな 読んでさえいなくても
429 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 06:19:42.11 ID:g/OODa/4.net] >>426 さんくす、見てきた もう、お目目キラキラ一年生のために書きました!って言っていいくらいに丁寧にゼロから書いてる感じだった 「再帰?わかんねえよ」 「再帰の本ってリスプとかだろ? べらんめえ!こちとら江戸っこでぇ、カッコカッコでコケコッコーじゃ埒が明かねえ!」 とか思うがヒトにはいいかもね (俺は買わないけど)
430 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 06:21:20.87 ID:g/OODa/4.net] (フリックで打ってると誤変換ふえるなあ、慣れなきゃ)
431 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 12:28:18.66 ID:W6i6Hy/C.net] うぜえ
432 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 14:11:02.49 ID:g/OODa/4.net] じゃ、しんでろ
433 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 14:59:53.72 ID:oNallj0q.net] NGNG
434 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 20:30:31.87 ID:YRg9mIiY.net] >>428 べつにいいんじゃね、挨拶みたいなもんだよ 毎度のことなんで紹介する方もわかってるでしょ
435 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 03:21:51.67 ID:7s/YdHrO.net] >>420 void main() だと?!
436 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 08:32:11.08 ID:O+De570m.net] >>435 VSなら間違ってないから(震え声) それに定説は「void main()な入門書は大概糞」ってだけだし > なお、C/C++の言語そのものの解説ではない書籍、例えば圧縮アルゴリズムに > 関する書籍に void main() のような記述があったとしても、その書籍の有用性とは > 直接関係ないので、大目に見てあげてください。 www.kijineko.co.jp/tech/superstitions/void-main.html
437 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 09:59:35.52 ID:o+iely1Y.net] ttp://www.youtube.com/watch?v=FbqCbc7tFZg 総務省、「データサイエンス」力の高い人材の育成進める方針
438 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 14:14:56.29 ID:H+u5tE5j.net] 組み込みを長くやっていた人なら void main()とか、無限ループしてmain()から抜けないとか、 日常茶飯事の感覚だろうな。
439 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 14:19:38.07 ID:H+u5tE5j.net] gotoも日常茶飯事だな
440 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 14:50:19.52 ID:iRT5FyvM.net] 組み込みは"hosted environments"じゃないことが多いからな。 "free standing environments"ならmainは必要ない。ある時の型も任意。
441 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 15:06:23.11 ID:jIjiIgN7.net] 437のリンク先の要約をありがとう
442 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 16:42:26.70 ID:eTy5fHBW.net] まあ C はオールマイティーだからな‥実装がすべて規格なんて糞食らえ
443 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 05:00:36.21 ID:7RR9zZ5c.net] つまり組み込みプログラマーは知的底辺ということか
444 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 05:01:24.48 ID:7RR9zZ5c.net] 動きゃいい!の匂いがプンプンする
445 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 16:30:01.83 ID:hm+Oq1Eo.net] 実際、動きゃイイよっての多くないか? 単価が高めの案件ほど特にw コードレビュー無し。 テスト仕様は徹底的だが
446 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 16:34:24.76 ID:hm+Oq1Eo.net] 高給な現場ほど、なぜかやり方を突っ込まれない。 悪意をもてばやりたい放題出来る。費用も言い値。 まあ悪意はそうそう持ち込めるものじゃないが。 多分STAP細胞の現場もそうだったんだろうな、と想像出来る。
447 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 16:39:58.16 ID:2EOO5SfK.net] 組み込み系のひとのソースは汚いのが多いよ ほんと動けば良いのノリだけで造ってる もちろんまともなひとがいない訳じゃないけどね
448 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 17:35:27.78 ID:zexIr6VF.net] >>447 一番最初のソースがひどいとダメだよね 次からはちょっと変更する工数しかないから、みんな割り切ってそのまま変更 まともな人は黙って or ダメソースをなんとかする工数うんぬんで上司と揉めて辞めてしまう
449 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 17:41:16.64 ID:MmoG7Ddq.net] ハードウェアが仕様通りに動くかどうかわかりません、もしくは仕様ありませんって世界だろ? ソフトウェアも相当部分が使い捨てだよね。完全にスレ違いの話題。
450 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 20:01:38.46 ID:X19dTLG/.net] しょうがない
451 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 20:03:23.97 ID:OmwWZrbT.net] >>449 へ?ハードが完全とはいえんから ソフトも適当でいいっていっるのか? じゃ、馬鹿だ
452 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 20:04:28.73 ID:OmwWZrbT.net] 組み込み系のニンゲン だめな奴おおすぎ
453 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 20:56:04.36 ID:IYI3/sk2.net] のりじゃ作れんよ、凍死老
454 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 21:13:32.37 ID:JYHVd/sm.net] >>447 組込みに限らず、出来る人は2chなんかに来ないだろ。
455 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 21:14:22.88 ID:hqsmsqu0.net] クロック数単位の動作速度保証組み込んだ高級言語ってあるんかいなとふと思った
456 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 21:28:06.44 ID:Evci24oh.net] エミュレータでカウントします。
457 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 01:48:47.18 ID:Z4oEYHwK.net] 機能実装の作業がいつのまにかハードの不具合調査になってたり、 結果、ソフトに柔軟でかつ早急な対応が必要になるし。 クラス設計とかやった方がいいのかもしれないが、2の次になるとかそういうことだと思う。
458 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 01:52:54.96 ID:Z4oEYHwK.net] 組み込み系は、ハード屋に使いまわされてて気の毒に思うことも多い。
459 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 05:21:25.51 ID:5jlmL2lS.net] そりゃハード屋からみりゃ組込み君は奴隷 ハードのために仕事しろ! だし アプリのためのOSのためのハードじゃないからな
460 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 21:15:40.07 ID:wU314ZfN.net] このように、スレ違いであろうと自己憐憫の機会は決して逃さないFW屋であった。
461 名前:デフォルトの名無しさん [2014/06/05(木) 13:01:25.59 ID:TEbe8oH8.net] 整数x, yの範囲内で z個の重複しない乱数を発生させるためのアルゴリズムはどうしますか? 【例】 x=100, y=200, z=5だと、121, 129, 142, 189, 195みたいなのを返す(当然y-x+1>zである必要がある)。
462 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 13:22:26.50 ID:frJCi6Xi.net] >>461 xからyまでの個数の配列作って乱数でシャッフル 先頭からz個取得 でいいんじゃないの?
463 名前:デフォルトの名無しさん [2014/06/05(木) 13:30:50.33 ID:TEbe8oH8.net] >>462 シャッフルはオレのプログラミング哲学に反する。 先頭から取得するとどうしてても最初のほうの数が選ばれる確率が高くなるのは避けられない。
464 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 13:40:17.83 ID:XOt4XuJl.net] int a[z]; r=y-x+1; for(i=0;i<z;) { a[i]= x + 乱数生成(r); for(j=0;j<i;j++) { if(a[i]==a[j]) break; i++; } }
465 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 14:01:49.36 ID:frJCi6Xi.net] >>463 >先頭から取得するとどうしてても最初のほうの数が選ばれる確率が高くなるのは避けられない。 根拠は? z個取得する位置もランダムで選択してもいいんじゃないの
466 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 14:06:43.74 ID:XOt4XuJl.net] 取得位置がランダムならシャッフルする必要ない。 シャッフルする必要なければ配列に入れる必要もない。 選んだ配列のインデックスが重複すれば無視しなければいけないのだから>>464 と何ら変わることはない。
467 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 14:27:18.69 ID:frJCi6Xi.net] >>466 配列からz個読み出す初期位置を先頭からズラすって意味なんだけどね
468 名前:デフォルトの名無しさん [2014/06/05(木) 15:40:02.23 ID:hSA2XS33.net] オブジェクト指向は愚かな考え。 peace.2ch.net/test/read.cgi/tech/1393660194/
469 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 16:22:07.85 ID:XOt4XuJl.net] 例えばFisher-Yatesシャッフルすればコスト少なくいい塩梅にシャッフルできるから、 (と言ってもzでなくy-xのオーダーになるので、 オーダーは変わらないものの>>463 よりコスト安になることはない) >>463 の懸念もあまり意味は無い。 しかし仮にちゃんとシャッフルできてないのでは?って懸念を認めるとすると、 最初の方だけ偏りがあるという変なシャッフルをしない限り、 どこから取っても偏りがあることには変わりない。 そういうわけなんで>>465 は修正案の部分がおかしい。 「根拠は?」のところはいいんだけど、良いシャッフルアルゴリズムを挙げられればもっと良かった。
470 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 16:55:24.44 ID:jEZV0Sf8.net] >>461 こんなかんじかな。 先頭から、それぞれが選ばれる確率をきちんと設定して、 すべて等確率になるようになってる……はず。 検定は自分でやってくれ。 void choose(int x, int y, int z) { int i; int n = z; int d = (y-x+1); for (i = x; i <= y; i++) { if (n/d の確率で真) { printf("%d ", i); n--; } d--; } }
471 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 17:03:39.05 ID:jEZV0Sf8.net] あ、すまん。ぜんぜんちがった。 忘れてくれ。
472 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 17:09:28.41 ID:frJCi6Xi.net] >>469 xとyに大きな隔たり、つまり配列が大きい場合、最終的にz個取り出す位置にもランダム性があれば よりランダム性のあるz個の列を何度も取り出せるって意味合い程度だよ、思いつきだよ シャッフルでありがちな実装ってこんなんかな 乱数生成エンジンが質の良い物ならこんなんでいいと思うけどね int size = 10; int a[size] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; for(int i=size-1; i>0;i--) { int j = rand()%i; swap(a[i], a[j]); }
473 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 17:19:32.12 ID:jEZV0Sf8.net] >>461 こうだ。 dCn はコンビネーションな。d!/(n!(d-n)!) のこと。 void choose(int x, int y, int z) { int i; int n = z; int d = (y-x+1); for (i = x; i <= y; i++) { if ( (d-1)C(n-1) / dCn の確率で真) { printf("%d ", i); n--; } d--; } }
474 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 21:11:11.97 ID:C2lCmQ2j.net] >>461 一応突っ込んでおくと、それを乱数とは言わない。 乱数を加工して得られる数列。
475 名前:デフォルトの名無しさん mailto:sage [2014/06/06(金) 02:53:59.42 ID:cO/jAhvR.net] 1−100の乱数で、重複しない乱数って重複が許されている乱数より、より 乱数じゃないよね。だって、後の方になるほど次に出る数に制限があって予想が つくわけだし。 99個目の次は100%当てられる そんなの乱数って呼んで良いの? 数学的に。
476 名前:デフォルトの名無しさん mailto:sage [2014/06/06(金) 08:45:46.74 ID:lrmBy0jf.net] 乱数として考えるのは「幾つかの数からなる集合」としてであって、 「集合に含まれる個々の数」では無いのだが。 さっきから馬鹿なこと言い続けてる奴がいるな。
477 名前:デフォルトの名無しさん mailto:sage [2014/06/06(金) 09:08:36.98 ID:F77g5hNR.net] >>476 それは乱択
478 名前:デフォルトの名無しさん mailto:sage [2014/06/06(金) 09:09:56.94 ID:DTdJKogB.net] >>475 そうだよ それは乱数じゃないよ
479 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 02:24:09.38 ID:RWltX+Oe.net] 順列の集合から1個をランダムに取り出すんだと解釈すれば乱数やね >462の設問は言葉足らずかもしれないが、意図は通じるでしょ
480 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 07:07:52.13 ID:SxbAzKvi.net] N回目の試行がN+1回目の試行に影響を及ぼしてはいけない >>461 は ambiguous だから知らんが >>475 は乱数ではない >>479 は 順列の集合から1個をランダムに取り出す の後で1個をもとに戻せばよい
481 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 11:56:57.57 ID:kpprM5q6.net] >>480 その定義だと、線形合同法は乱数じゃなくなるね。 線形合同法を禁止するわけにはいかないのだろうか。
482 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 12:05:27.70 ID:u3dUy4Sv.net] 影響って言葉の意味がズレてる。 「箱の中から1個取り出して元に戻さない」方式の場合は、取り出す前は 1/N の確率だったものが、 1/(N-1) の確率に変化してしまう、ということを言っている。 決定的である、という意味では、線形合同法に限らず、真の乱数でない、あらゆる疑似乱数が 決定的だから、線形合同法だけ槍玉に上げるのはおかしい。
483 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 12:25:19.08 ID:GAICIAD/.net] 馬鹿な476の話題を引きずらなくて良いよ
484 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 12:28:22.09 ID:kpprM5q6.net] >>481 線形合同法はN回目に取り出された物がN+x回目(xは1から周期の長さ)に取り出される確率は0じゃん。 線形合同法は「箱の中から1個取り出して元に戻さない」方式だよ。 481=483だとすると主張がよく分からない。
485 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 12:57:15.27 ID:u3dUy4Sv.net] >>484 その理屈では、M系列だろうがMTだろうがXORShiftだろうが、ありとあらゆる方式に同じことが言える。 単に状態空間が、線形合同法は通常32ビットぐらいで、MT19937の場合は19937ビットある、というだけ。
486 名前:118 mailto:sage [2014/06/07(土) 13:01:13.03 ID:GcMNObkn.net] >>461 はhashmap使えばO(z)までに効率化できるな。
487 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 13:17:13.74 ID:kpprM5q6.net] >>485 ありとあらゆる方式なんだ? まあそれは置いといて、481=483だとすると主張がよく分からない。 どういうものなら乱数なんだ? 線形合同法やM系列は違うわけだね。 これは「箱の中から1個取り出して元に戻さない」方式というのを 否定はしてないようだし。 何か詳しい人かと思ったんだけど、違うのかな。
488 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 13:23:04.14 ID:u3dUy4Sv.net] 極端なことを言えば、決定的な(つまり、普通の)擬似乱数列は、 決定的なんだから、箱の中からどれかを選んで取り出しているのではなく、 ただ単に一列に数が並んでるだけ。 この説明でわからないなら消えろ。
489 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 14:47:13.36 ID:kpprM5q6.net] >>488 あれ? 線形合同法は「箱の中から1個取り出して元に戻さない」方式ではないという主張なんだ。 線形合同法はN回目に取り出された物がN+x回目(xは1から周期の長さ)に取り出される確率は0で、 ただ単に数が並んでるだけではないんだけど。 それ(確率は0ということ)は決定的かどうかとは無関係。 主張がよく分からないので自分ではっきり言って欲しいんだが、 「箱の中から1個取り出して元に戻さない」方式は乱数でなくて、 線形合同法は乱数だと言っている?
490 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 15:39:11.11 ID:SxbAzKvi.net] 線形合同法は乱数じゃないよ
491 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 07:41:14.21 ID:UFZstAgU.net] 厳密には乱数じゃないから擬似乱数なんでしょ?
492 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 07:43:34.23 ID:397riybv.net] はっきり結論出てしまうとつまらんな
493 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 19:49:00.06 ID:2o23JRSC.net] では聞くが、完全な乱数列ってのはどうやったら手に入るのだ
494 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 20:15:33.27 ID:HIL+OgKB.net] 専用ハードウェアが必要だね。
495 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 23:49:23.31 ID:0ybo3LG4.net] > 主張がよく分からないので自分ではっきり言って欲しいんだが、 おまえが何を言っているのかよくわからない。 ていうか、自分がわかってないだけだろ。
496 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 01:06:47.47 ID:XaG4yhUa.net] シードを作るだけじゃなくて、量子揺らぎとかで完全な乱数を作るハードってないの?
497 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 01:20:19.44 ID:quK33S+U.net] >>494 AVX 以降は「専用ハードウェア」が入っているらしい peace.2ch.net/test/read.cgi/tech/1192628099/337
498 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 01:30:26.49 ID:7KvpyEFp.net] random_device
499 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 08:54:20.67 ID:9rhLvykP.net] 同じ数字が二回連続で出る可能性が0% ってのは乱数じゃないよな どう見ても
500 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 08:57:33.70 ID:t5f3UYqy.net] だから「擬似」乱数なのだと何度いえば
501 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 10:11:13.10 ID:0wp3BeLp.net] 「乱数らしさ」の検定のひとつである誕生日検定では、線形合同法は成績が低い、と。 それだけの話なんだが。
502 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 10:15:20.72 ID:0wp3BeLp.net] もしかして前にオレオレ生成系を自慢しようとして壮大に自爆していた奴か?
503 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 11:57:14.10 ID:dLnT9sND.net] 乱数デバイスも「乱数」ではない。
504 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 13:00:09.87 ID:w5pULqfp.net] ラプラスの魔ですね分かります
505 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 14:22:42.28 ID:8gvU9cRE.net] 乱数という呼び方は無機質でいやだな。 出来れば淫数と予備隊。
506 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 14:25:39.03 ID:EjU0b0TW.net] 賛成
507 名前:デフォルトの名無しさん mailto:sage [2014/06/09(月) 14:42:13.60 ID:WYLHhV4p.net] 淫らと濫りと乱れは違うぞ。
508 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 01:16:14.10 ID:NONZII8t.net] ハノイの塔のアルゴリズムがどう考えても理解できません。 誰か分かりやすく説明してください。
509 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 01:40:28.92 ID:g5Yp38/D.net] >>508 そんな解説サイトは山ほどあるので、 ググって10個くらい熟読してから、 それでもダメなら諦めましょう
510 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 01:47:31.20 ID:ZXkL1tuI.net] >>508 再帰を使わない方法なら判る?
511 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 08:08:51.06 ID:w9WFMXlw.net] >>508 机の上に500円玉と10円玉と1円玉を積み重ねる Nが3の場合のプログラムの動作と比較しながら動かす
512 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 10:23:44.24 ID:Asjcm40b.net] つーか、再帰を使ったほうがわかりやすいだろ。 たいていのプログラムは、正解ありきで上の円盤から動かす前提で書いてあるから、 それを直接理解しようとするとわかりにくい。 棒を 1 2 3 として、塔を 1 → 3 に動かしたい、とするだろ。 すると、その手続きは次のように分解できる。 ・ 一番下の円盤を除く塔を 1 → 2 に動かす ・ 一番下の円盤を 1 → 3 に動かす ・ 残りの塔を 2 → 3 に動かす これで、動かす必要のある塔のサイズがN-1になったわけだから、 これをどんどん再帰的に適用してゆけば、円盤だけを動かす手順まで 分解できる。
513 名前:デフォルトの名無しさん [2014/06/10(火) 10:35:17.31 ID:2vb7DWIF.net] こんどベトナムのハノイへ旅する予定です。 が、いま話題のハノイの塔、あるいはそれに関連する塔はハノイのどこにありますか?
514 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 10:42:35.25 ID:Asjcm40b.net] 無いけど、そういえばなんで「ハノイの」塔なのに、日本でよく言われている「伝説」だと、 インドのベナレス(ワーラーナシー)にある、という話になってるんだろう。
515 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 13:12:41.55 ID:5o9Z0dmD.net] >>508 その感想はほとんど理解している。 再帰の計算力に気づいているわけだから。
516 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 16:41:40.27 ID:xo5SfOIJ.net] 連立一次方程式じゃん
517 名前:デフォルトの名無しさん mailto:sage [2014/06/10(火) 16:43:33.18 ID:xo5SfOIJ.net] 誤爆失礼
518 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 14:33:34.65 ID:QAZZuHs2.net] 最終局面から、さかのぼって考える 最終局面Cの1つ前の局面はB、その前はAなら A(B(C)) これは、Aを呼ぶと、Bを呼んで、Cを呼んで、 Cが処理され、Bが処理され、Aが処理される 呼ぶ順が、A→B→C 処理される順が、呼ぶ順の逆で、C→B→A ゲーム木でもよく出てくる 最終局面を取れば勝つ場合に、 いきなりCへ持っていくのは、難しいので、 その前の局面Aを目指すとか
519 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 22:15:16.94 ID:01hDVrAo.net] 処理する順はF{ DO; F(); }なのかF{ F(); DO; }なのかによる。
520 名前:デフォルトの名無しさん [2014/06/20(金) 07:05:54.29 ID:8+/CaDiy.net] qiita.com/kenokabe/items/41189c45001321c9e283 Swiftで脱アルゴリズム! iOS開発を関数型(宣言型)プログラミングへパラダイムシフトしてみる【脱アルゴリズム宣言@】
521 名前:デフォルトの名無しさん mailto:sage [2014/06/20(金) 11:50:08.13 ID:UkLSHGsY.net] >>520 チューリング-チャーチの提唱について256年勉強してからまた来いやヴォケ