このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
データ構造,アルゴリズム,デザインパターン総合スレ 2
http://echo.2ch.net/test/read.cgi/tech/1362301811/
【関連スレ】
3Dアルゴリズム全般
http://toro.2ch.net/test/read.cgi/tech/1164171086/
<集大成>アルゴリズム大辞典
http://toro.2ch.net/test/read.cgi/tech/1086272325/
アルゴリズム総合スレ in ム板
http://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
探検
データ構造,アルゴリズム,デザインパターン総合スレ 3©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/06/19(日) 14:47:29.63ID:5KvSKdL/
353デフォルトの名無しさん
2017/06/05(月) 21:17:56.80ID:gPC56aZq >>352
今、グラフ理論の本を読んでいるのですが、その演習問題の
答えを計算機で計算したいと思いプログラムを作っています。
手計算でできる問題なので計算量とかは無問題です。
情報、ありがとうございました。
今、グラフ理論の本を読んでいるのですが、その演習問題の
答えを計算機で計算したいと思いプログラムを作っています。
手計算でできる問題なので計算量とかは無問題です。
情報、ありがとうございました。
354デフォルトの名無しさん
2017/06/08(木) 13:28:45.57ID:oPuedIYN >>352
thx
thx
355デフォルトの名無しさん
2017/06/10(土) 01:09:12.89ID:yRjB/26o セジウィックのアルゴリズムCはコルメン他の本とは対極にあるような本だね。
どっちもどっち。
どっちもどっち。
356デフォルトの名無しさん
2017/06/10(土) 22:49:54.03ID:bkNNwNFI セジウィックのアルゴリズムCは言葉足らず。
357デフォルトの名無しさん
2017/06/11(日) 08:24:40.56ID:7PvmoOJK セジウィックのアルゴリズムCは定義がダメダメ。
例:
連結グラフの極大木とは、すべての頂点を含む部分グラフであって、
木である限りできるだけ多くの辺をもつものをいう。
この定義だと連結グラフに極大木が常に存在するというのが定理になってしまう。
が、証明せずに、この事実を以下で使っている。
例:
連結グラフの極大木とは、すべての頂点を含む部分グラフであって、
木である限りできるだけ多くの辺をもつものをいう。
この定義だと連結グラフに極大木が常に存在するというのが定理になってしまう。
が、証明せずに、この事実を以下で使っている。
358デフォルトの名無しさん
2017/06/11(日) 11:00:58.83ID:7PvmoOJK セジウィックのアルゴリズムCは、訳も最低。
359デフォルトの名無しさん
2017/06/16(金) 18:04:24.35ID:ixzzoI9b 浅野孝夫著『アルゴリズムの基礎とデータ構造 数理とCプログラム』(近代科学社)
ポインタを使えるCでアルゴリズムを実装しておきながらポインタを使わず、
配列を使ってポインタの機能を実現するという面倒なことをしています。
著者は何を考えているのでしょうか?
ポインタを使えるCでアルゴリズムを実装しておきながらポインタを使わず、
配列を使ってポインタの機能を実現するという面倒なことをしています。
著者は何を考えているのでしょうか?
360デフォルトの名無しさん
2017/06/16(金) 18:08:47.36ID:1eQLQexT javaの逆ポートだろう
361デフォルトの名無しさん
2017/06/16(金) 18:30:17.58ID:ixzzoI9b 浅野孝夫著『アルゴリズムの基礎とデータ構造 数理とCプログラム』(近代科学社)
の公式ページからソースコードをダウンロードできます。
たくさんのソースコードがあるのですが、こういうのを実行するときってみなさんは
どうしていますか?
Visual Studio を使っているのですが、一つのソースファイルに対して、いちいち
プロジェクトを作っていると面倒なんですが、どうすればいいですか?
の公式ページからソースコードをダウンロードできます。
たくさんのソースコードがあるのですが、こういうのを実行するときってみなさんは
どうしていますか?
Visual Studio を使っているのですが、一つのソースファイルに対して、いちいち
プロジェクトを作っていると面倒なんですが、どうすればいいですか?
362デフォルトの名無しさん
2017/06/16(金) 18:31:46.91ID:ixzzoI9b コマンドプロンプトからコマンドを実行してコンパイルをしたりする原始的なやり方
は避けたいです。
は避けたいです。
363デフォルトの名無しさん
2017/06/16(金) 18:47:18.97ID:1eQLQexT なんだ
ステマか
ステマか
364デフォルトの名無しさん
2017/06/16(金) 20:42:10.07ID:1imKhLwB 原始的なやり方×
基本的なやり方〇
基本的なやり方〇
365デフォルトの名無しさん
2017/06/16(金) 20:54:00.90ID:RYT773NB 探せば学習用のC言語インタプリタとかあるんじゃない
366デフォルトの名無しさん
2017/06/16(金) 21:27:28.11ID:vP51FB3m ちょっとサンプルコードを走らせるかって程度なら
Online IDEとか使えばよいのに
Online IDEとか使えばよいのに
367デフォルトの名無しさん
2017/06/16(金) 21:42:24.80ID:SNTjPZEm そもそも何でファイルごとにわざわざプロジェクト作るような原始的なことやってるの
368デフォルトの名無しさん
2017/06/16(金) 22:44:29.43ID:e6Uo8nQP mainの数だけプロジェクトが必要だから?
369デフォルトの名無しさん
2017/06/17(土) 15:06:03.16ID:SdcHR0BJ プロセス増えるだけだからプロジェクトは増やさなくてもいいんじゃね
370デフォルトの名無しさん
2017/06/17(土) 18:14:18.11ID:DtePX3I4 アルゴリズムとデータ構造の本のソースコードを見ると、よくグローバル変数を
多用していて非常に分かりにくいことが多いです。
グローバル変数を使うのは良くないというのをよく目にしますが、なぜ、
コンピュータサイエンスのプロであるはずのアルゴリズムとデータ構造の本の
著者がそんなプログラムを書くのでしょうか?
多用していて非常に分かりにくいことが多いです。
グローバル変数を使うのは良くないというのをよく目にしますが、なぜ、
コンピュータサイエンスのプロであるはずのアルゴリズムとデータ構造の本の
著者がそんなプログラムを書くのでしょうか?
371デフォルトの名無しさん
2017/06/17(土) 18:18:02.53ID:DtePX3I4 例えば、
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)
という本のソースプログラムが分かりにくいです。
拡張子が「.h」のファイルにグローバル変数を定義して使いまわしています。
さらに、その拡張子が「.h」のファイル内で「emaxsize」というのがありますが
それが何なのかが書いてありません。
その拡張子が「.h」のファイルを利用するファイル内で、「emaxsize」を設定しています。
こういうのはありなんでしょうか?
あちこちいろいろなファイルを見ないと、全体が分かりません。
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)
という本のソースプログラムが分かりにくいです。
拡張子が「.h」のファイルにグローバル変数を定義して使いまわしています。
さらに、その拡張子が「.h」のファイル内で「emaxsize」というのがありますが
それが何なのかが書いてありません。
その拡張子が「.h」のファイルを利用するファイル内で、「emaxsize」を設定しています。
こういうのはありなんでしょうか?
あちこちいろいろなファイルを見ないと、全体が分かりません。
372デフォルトの名無しさん
2017/06/17(土) 18:18:09.88ID:n14YEU6w サンプルだから
373デフォルトの名無しさん
2017/06/17(土) 18:19:41.47ID:n14YEU6w374デフォルトの名無しさん
2017/06/17(土) 18:19:49.58ID:DtePX3I4 全然、プログラム作りの参考になりません。
ただ、例外もあります。
セジウィックの『Algorithms』という赤い本は、参考になります。
ただ、例外もあります。
セジウィックの『Algorithms』という赤い本は、参考になります。
375デフォルトの名無しさん
2017/06/17(土) 18:21:15.46ID:DtePX3I4376デフォルトの名無しさん
2017/06/17(土) 20:50:11.36ID:DtePX3I4 そういえば、茨木俊秀の本のプログラムもひどかったような。
377デフォルトの名無しさん
2017/06/17(土) 22:37:25.92ID:tNCJKlzg グローバル変数を避けようとかはソフトウェア工学の話で、コンピューター科学とは別の分野なんだよ。
378デフォルトの名無しさん
2017/06/17(土) 23:06:32.77ID:L9yKSdqC ソフトウェア工学の基本すら知らないんですかね?
379デフォルトの名無しさん
2017/06/18(日) 00:34:44.62ID:o43mtcr6 グローバル変数を使った方が、説明しやすいとか、
ソースコードがわかりやすいとか
本の目的が、アルゴリズムの説明だから、
グローバル変数を使って、わかりやすく説明するのも、OK
物事には強弱・重要度があるから、
重要な事を説明する際、重要でない事は無視してもよい
これを、TPO と言って、強弱を付けられる人は、空気を読める
ちょっとしたプログラミングに、型チェックする、Javaなどを使わず、
Rubyで書くのもそう。
ラフな会合に、盛装して行かないのもそう
ソースコードがわかりやすいとか
本の目的が、アルゴリズムの説明だから、
グローバル変数を使って、わかりやすく説明するのも、OK
物事には強弱・重要度があるから、
重要な事を説明する際、重要でない事は無視してもよい
これを、TPO と言って、強弱を付けられる人は、空気を読める
ちょっとしたプログラミングに、型チェックする、Javaなどを使わず、
Rubyで書くのもそう。
ラフな会合に、盛装して行かないのもそう
380デフォルトの名無しさん
2017/06/18(日) 12:26:58.32ID:HTlYPuIB 掲示板のTPO弁えない人にTPO語ってもしょうがないよ
381デフォルトの名無しさん
2017/06/18(日) 12:39:15.20ID:4GAQ5Lgy グローバル変数を明らかに、分かりにくいやり方で使っています。
何の利点もないと思います。
何の利点もないと思います。
382デフォルトの名無しさん
2017/06/18(日) 13:30:23.31ID:4GAQ5Lgy もしかして、理論ばかりに興味があり、プログラムを作ったことがないんですかね?
383デフォルトの名無しさん
2017/06/18(日) 14:37:44.92ID:7v+ppDWb プログラム教本ではなくアルゴリズム解説本だからでしょ
擬似言語で書いている場合のが多いと思うけど
擬似言語で書いている場合のが多いと思うけど
384デフォルトの名無しさん
2017/06/18(日) 15:37:30.01ID:xPH4G83l 最初から完成してたらおまいらの仕事無くなっちゃうだろ
385デフォルトの名無しさん
2017/06/18(日) 18:10:10.06ID:L/LJrXI/ 楽器やってるひとがいってたよ。自分がつかえる技術を全部つかうわけじゃない
386デフォルトの名無しさん
2017/06/18(日) 20:13:26.60ID:4GAQ5Lgy 浅野孝夫の本。
ちょっと説明が足りないところがある。
完成度がやや低い。
他の日本人の本よりはまし。
プログラムは巧妙。
ちょっと説明が足りないところがある。
完成度がやや低い。
他の日本人の本よりはまし。
プログラムは巧妙。
387デフォルトの名無しさん
2017/06/18(日) 20:48:27.00ID:wscBwMor こんなところに日記書く人って、相当追い詰められてるんだろうな。
388デフォルトの名無しさん
2017/06/19(月) 04:29:40.16ID:+M9YR/5M こんなところだから何書いてもいいよ
389デフォルトの名無しさん
2017/06/19(月) 09:50:06.41ID:JRZAs/i8 ステマよりグロい
390デフォルトの名無しさん
2017/06/19(月) 12:02:27.97ID:0IiK5rsw 浅野孝夫の本。
深さ優先探索とか幅優先探索の説明を言葉で長々としています。
そんなことするより、コードを見せたほうがいいと思うんですよね。
コードを見れば一目で分かりますよね。
深さ優先探索とか幅優先探索の説明を言葉で長々としています。
そんなことするより、コードを見せたほうがいいと思うんですよね。
コードを見れば一目で分かりますよね。
391デフォルトの名無しさん
2017/06/19(月) 12:05:01.80ID:TXA5MC9f もうおめーが執筆しろよ
392デフォルトの名無しさん
2017/06/19(月) 13:13:41.68ID:YgkoP+sD コードはあくまで例なので解説が先
393デフォルトの名無しさん
2017/06/21(水) 10:56:36.24ID:CsbvaOkp http://imgur.com/9QGwvmM.jpg
http://imgur.com/j3Dp32V.jpg
http://imgur.com/iJhKoqM.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
重大な誤りを発見しました。
G が二部グラフであるための必要十分条件は、G を幅優先探索したときに同じ深さの補木辺がないことであると書かれていますが、
完全な誤りです。
具体的に言うと、「同じ深さの点を結ぶ補木辺がないときは、この色の割当てが実際に2彩色になっている。」と書かれていますが、
間違っています。
反例は3枚目の画像を参照してください。
http://imgur.com/j3Dp32V.jpg
http://imgur.com/iJhKoqM.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
重大な誤りを発見しました。
G が二部グラフであるための必要十分条件は、G を幅優先探索したときに同じ深さの補木辺がないことであると書かれていますが、
完全な誤りです。
具体的に言うと、「同じ深さの点を結ぶ補木辺がないときは、この色の割当てが実際に2彩色になっている。」と書かれていますが、
間違っています。
反例は3枚目の画像を参照してください。
394デフォルトの名無しさん
2017/06/21(水) 11:00:57.46ID:CsbvaOkp 訂正します:
http://imgur.com/9QGwvmM.jpg
http://imgur.com/j3Dp32V.jpg
http://imgur.com/iJhKoqM.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
重大な誤りを発見しました。
G が二部グラフであるための必要十分条件は、G を幅優先探索したときに同じ深さの点を結ぶ補木辺がないことであると書かれていますが、完全な誤りです。
具体的に言うと、「同じ深さの点を結ぶ補木辺がないときは、この色の割当てが実際に2彩色になっている。」と書かれていますが、
間違っています。
反例は3枚目の画像を参照してください。
http://imgur.com/9QGwvmM.jpg
http://imgur.com/j3Dp32V.jpg
http://imgur.com/iJhKoqM.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
重大な誤りを発見しました。
G が二部グラフであるための必要十分条件は、G を幅優先探索したときに同じ深さの点を結ぶ補木辺がないことであると書かれていますが、完全な誤りです。
具体的に言うと、「同じ深さの点を結ぶ補木辺がないときは、この色の割当てが実際に2彩色になっている。」と書かれていますが、
間違っています。
反例は3枚目の画像を参照してください。
395デフォルトの名無しさん
2017/06/21(水) 11:11:21.29ID:CsbvaOkp 商品の説明
内容紹介
ネットワーク・人工知能の基礎となるグラフ・ネットワークを学ぶ
アマゾンに商品説明として、↑のように書かれています。
人工知能とグラフ・ネットワーク理論に何の関係があるのでしょうか?
この出版社は、「世界標準MIT教科書」などとタイトルに書いたり、売るためには
手段を選ばない出版社ですね。
内容紹介
ネットワーク・人工知能の基礎となるグラフ・ネットワークを学ぶ
アマゾンに商品説明として、↑のように書かれています。
人工知能とグラフ・ネットワーク理論に何の関係があるのでしょうか?
この出版社は、「世界標準MIT教科書」などとタイトルに書いたり、売るためには
手段を選ばない出版社ですね。
396デフォルトの名無しさん
2017/06/21(水) 12:35:50.38ID:TkpRSZSL >>395
自分の想像力の欠如で批判しないほうがいいよ
自分の想像力の欠如で批判しないほうがいいよ
397デフォルトの名無しさん
2017/06/21(水) 12:37:14.26ID:L1LFWazB 外国には「たのしいRuby」が無い
日本人が20時間で勉強できることを、何十時間も掛けて勉強して、なおかつ理解できない。
だから、MIT に頼る
外人でも知っている人は、Ruby でツールを作る。
Chef, Vagrant, SASS とか
Homebrew もRubyで作られているのだから、
Apple は、もっとRubyに力を入れるべき
日本人が20時間で勉強できることを、何十時間も掛けて勉強して、なおかつ理解できない。
だから、MIT に頼る
外人でも知っている人は、Ruby でツールを作る。
Chef, Vagrant, SASS とか
Homebrew もRubyで作られているのだから、
Apple は、もっとRubyに力を入れるべき
398デフォルトの名無しさん
2017/06/21(水) 12:53:00.17ID:TkpRSZSL >>394
幅優先探索わかる?
幅優先探索わかる?
399デフォルトの名無しさん
2017/06/21(水) 12:54:37.96ID:Y4WM7moX400デフォルトの名無しさん
2017/06/21(水) 13:14:54.71ID:CsbvaOkp401デフォルトの名無しさん
2017/06/21(水) 13:31:42.95ID:srnzKpaS 松坂君のアスペ日記3
Daniel Marcus Graph Theory を読む。 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1497007079/
Daniel Marcus Graph Theory を読む。 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/math/1497007079/
402デフォルトの名無しさん
2017/06/21(水) 13:33:59.73ID:CsbvaOkp 要するに、↓が間違っているわけです。
「補木辺は、同じ深さの点を結んでいるか、あるいは深さが 1 異なる点を結んでいることに注意しよう。」
「補木辺は、同じ深さの点を結んでいるか、あるいは深さが 1 異なる点を結んでいることに注意しよう。」
403デフォルトの名無しさん
2017/06/21(水) 13:55:32.90ID:BP6mUhEj ここじゃなくて著者なり出版社なりに連絡しなよ
その方がちゃんと議論できるだろうし修正されればあとから読む人の為になるよ
その方がちゃんと議論できるだろうし修正されればあとから読む人の為になるよ
404デフォルトの名無しさん
2017/06/21(水) 14:30:39.96ID:TkpRSZSL >>400
幅優先で探索木作ったら同じ深さを結ぶ補木辺ができるから二部グラフでないことがわかる
幅優先で探索木作ったら同じ深さを結ぶ補木辺ができるから二部グラフでないことがわかる
405デフォルトの名無しさん
2017/06/21(水) 16:12:29.38ID:e3wPbus7 >394
三枚目の図は、反例になっていない。
あなたが幅優先探索を理解できていないだけで、書籍の記述は間違っていないよ。
根でない2つの頂点は、どちらも、根から辺が張られていて、根と隣接しているのだから、同じ深さの位置にある。
三枚目の図は、反例になっていない。
あなたが幅優先探索を理解できていないだけで、書籍の記述は間違っていないよ。
根でない2つの頂点は、どちらも、根から辺が張られていて、根と隣接しているのだから、同じ深さの位置にある。
406デフォルトの名無しさん
2017/06/21(水) 18:57:35.69ID:CsbvaOkp あ、勘違いしました。
無向グラフでしたね。
無向グラフでしたね。
407デフォルトの名無しさん
2017/06/21(水) 19:28:34.24ID:TkpRSZSL 教科書だって間違いはいくらでもある。
だからといって、間違いらしきものを見つけて喜々としてあげつらうのではなく、
自分の解釈ではこうだが違うのだろうかという態度で質問しておけばよかったね。
だからといって、間違いらしきものを見つけて喜々としてあげつらうのではなく、
自分の解釈ではこうだが違うのだろうかという態度で質問しておけばよかったね。
408デフォルトの名無しさん
2017/06/21(水) 22:04:49.64ID:GPdgYp3Z 何がいんだろ
409デフォルトの名無しさん
2017/06/23(金) 09:05:15.05ID:0OdP20aK410デフォルトの名無しさん
2017/06/23(金) 13:07:58.26ID:IBCt0Ik9 間違いを恐れるな
411デフォルトの名無しさん
2017/06/23(金) 13:38:13.56ID:8e+v7OlS 馬鹿、アスペを恐れるな
412デフォルトの名無しさん
2017/06/23(金) 19:23:07.84ID:vbPiU/7d KIZLA7]]]
%≒72%,M,L,TO"JYOJA"
%≒72%,M,L,TO"JYOJA"
413デフォルトの名無しさん
2017/06/26(月) 15:07:57.81ID:wjem+ipT 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)ですが、この
本には強連結成分分解のアルゴリズムは書いてあるのですが、その正しさについて
の説明がありません。
「アルゴリズムの正当性については演習問題とする。」などと書かれているだけです。
そして、解答がありません。
解答をつけないほど簡単な問題でしょうか?
エイホ、ホップクロフト、ウルマン著『データ構造とアルゴリズム』に分かりやすい説明がありました。
本には強連結成分分解のアルゴリズムは書いてあるのですが、その正しさについて
の説明がありません。
「アルゴリズムの正当性については演習問題とする。」などと書かれているだけです。
そして、解答がありません。
解答をつけないほど簡単な問題でしょうか?
エイホ、ホップクロフト、ウルマン著『データ構造とアルゴリズム』に分かりやすい説明がありました。
414デフォルトの名無しさん
2017/06/26(月) 15:09:29.86ID:wjem+ipT あ、よくみたら解答がありました。
415デフォルトの名無しさん
2017/06/26(月) 15:14:33.33ID:wjem+ipT 強連結成分分解のアルゴリズムはグラフ理論的な観点からは興味深いですが、
応用についてはあまりないようですね。
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)の「はじめに」に
「強連結成分分解はシステムの故障診断や効率的解析への応用があると言われている。」
などと書かれいます。浅野さん自身は応用について具体的な詳細を知らないと宣言して
いるようなものですね。
応用についてはあまりないようですね。
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)の「はじめに」に
「強連結成分分解はシステムの故障診断や効率的解析への応用があると言われている。」
などと書かれいます。浅野さん自身は応用について具体的な詳細を知らないと宣言して
いるようなものですね。
416デフォルトの名無しさん
2017/06/26(月) 15:27:14.29ID:H+izVTcm ステマ乙としか
417デフォルトの名無しさん
2017/06/26(月) 15:32:39.93ID:wjem+ipT ところで、LEDAというライブラリはお勧めですか?
418デフォルトの名無しさん
2017/06/26(月) 16:23:39.69ID:xVfkWcpc 病人が粘着してる
419デフォルトの名無しさん
2017/06/27(火) 13:16:02.75ID:NGLAHv1W 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)を読んでいます。
G のトポロジカルラベリングについては説明があるのですが、トポロジカルソートの応用例が
全く書かれていません。
勉強するモチベーションが全くありません。
著者は一体何を考えているのでしょうか?
G のトポロジカルラベリングについては説明があるのですが、トポロジカルソートの応用例が
全く書かれていません。
勉強するモチベーションが全くありません。
著者は一体何を考えているのでしょうか?
420デフォルトの名無しさん
2017/06/27(火) 14:05:21.18ID:41er5Tk4 NGにしてほしいんじゃね
421デフォルトの名無しさん
2017/06/27(火) 14:08:46.74ID:7kGXm9Ae 勉強しなきゃいいのに
422デフォルトの名無しさん
2017/06/27(火) 15:22:28.20ID:LAkf1Hly 馬鹿のアスペの気持ちなんか分からん
423デフォルトの名無しさん
2017/06/27(火) 17:51:10.93ID:LqFx/Quf 本人だったりして
424デフォルトの名無しさん
2017/06/27(火) 19:32:13.18ID:NGLAHv1W あ、その後の有向無閉路ネットワークの最長パスを求めるアルゴリズムで
トポロジカルラベリングが使われていました。
なかなか面白い応用ですね。
この本、説明にちょっと粗雑なところもありますが、見せ場があって楽しいですね。
トポロジカルラベリングが使われていました。
なかなか面白い応用ですね。
この本、説明にちょっと粗雑なところもありますが、見せ場があって楽しいですね。
425デフォルトの名無しさん
2017/06/27(火) 19:34:40.25ID:NGLAHv1W 有向無閉路ネットワークという制限が強すぎますね。
でもこの制限のおかげでちょっと面白いトポロジカルラベリングの応用例が見れたわけですね。
でもこの制限のおかげでちょっと面白いトポロジカルラベリングの応用例が見れたわけですね。
426デフォルトの名無しさん
2017/06/27(火) 21:47:11.43ID:i+35CN1y プログラミング・コンテスト・チャレンジブック、第2版、2012
ほとんど全てのアルゴリズムを網羅。
問題数も多く、パズル感覚で楽しめる。
AIやシミュレーションゲームの参考になる
ほとんど全てのアルゴリズムを網羅。
問題数も多く、パズル感覚で楽しめる。
AIやシミュレーションゲームの参考になる
427デフォルトの名無しさん
2017/06/27(火) 21:55:21.79ID:NGLAHv1W428デフォルトの名無しさん
2017/06/27(火) 21:58:43.82ID:NGLAHv1W429デフォルトの名無しさん
2017/06/27(火) 22:34:26.12ID:Tdvy+2PR 一から百まで説明しないとダメな奴、すなわち無能
430デフォルトの名無しさん
2017/06/28(水) 02:20:53.63ID:W36D2Opo 入門 データ構造とアルゴリズム、2013、オライリー
Narasimha Karumanchi(インド人) 著
アルゴリズムなら、セジウィックでも読めば?
プログラミング・コンテスト・チャレンジブックは、
コンテストの問題を集めた本だから、便利
一々、ウェブサイトの問題を見なくても良いから、楽
Narasimha Karumanchi(インド人) 著
アルゴリズムなら、セジウィックでも読めば?
プログラミング・コンテスト・チャレンジブックは、
コンテストの問題を集めた本だから、便利
一々、ウェブサイトの問題を見なくても良いから、楽
431デフォルトの名無しさん
2017/06/28(水) 05:10:12.09ID:6P8PW2pA >>430
そのインド人の本は、アルゴリズムの正当性のまともな説明がありません。
計算量の評価についてもまともな説明がありmせん。
セジウィックのAlgorithms 4th Editionはいい本ですが、計算量の評価については
まともな説明がないように思います。
そのインド人の本は、アルゴリズムの正当性のまともな説明がありません。
計算量の評価についてもまともな説明がありmせん。
セジウィックのAlgorithms 4th Editionはいい本ですが、計算量の評価については
まともな説明がないように思います。
432デフォルトの名無しさん
2017/06/28(水) 05:17:01.98ID:6P8PW2pA D40
T をグラフ G の全域木とする。
C を G のサイクルとする。
AB を C および T に含まれる辺とする。
このとき、 T から AB を除去し、辺 UV を追加したときに、
依然として G の全域木であるような辺 UV が C の中に
含まれることを示せ。
T をグラフ G の全域木とする。
C を G のサイクルとする。
AB を C および T に含まれる辺とする。
このとき、 T から AB を除去し、辺 UV を追加したときに、
依然として G の全域木であるような辺 UV が C の中に
含まれることを示せ。
433デフォルトの名無しさん
2017/06/28(水) 06:24:05.46ID:6P8PW2pA >>432
T は木であるからサイクルを含まない。
よって、 C には T に含まれないような辺が少なくとも一つは存在する。
T は全域木であるから、そのような辺の両端点を結ぶ T の辺のみからなる(一意的な)パスが存在する。
仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなるパスたちがすべて AB を含まない
と仮定すると、 A から B への T の辺のみからなるパスで辺 AB を含まないようなものが存在することになる。
A, B という A から B へのパスは、辺 AB を含み T の辺のみからなる。よって、 A から B への T の辺のみから
なるパスが2つ以上存在することになるが、これは木の性質に反する。
よって、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなるパスたちの中には、 AB を含む
ようなものが存在する。そのようなパスを U, …, A, B, …, V とする。 T から AB を除去し、辺 UV を追加し
たときにできる部分グラフは明らかに T と同じ数の辺をもち、依然として連結なままである。点の数が v で
辺の数が v - 1 であるような連結なグラフは木であるから、そうような部分グラフは木である。
T は木であるからサイクルを含まない。
よって、 C には T に含まれないような辺が少なくとも一つは存在する。
T は全域木であるから、そのような辺の両端点を結ぶ T の辺のみからなる(一意的な)パスが存在する。
仮に、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなるパスたちがすべて AB を含まない
と仮定すると、 A から B への T の辺のみからなるパスで辺 AB を含まないようなものが存在することになる。
A, B という A から B へのパスは、辺 AB を含み T の辺のみからなる。よって、 A から B への T の辺のみから
なるパスが2つ以上存在することになるが、これは木の性質に反する。
よって、 T に含まれないような C の辺たちの両端点を結ぶ T の辺のみからなるパスたちの中には、 AB を含む
ようなものが存在する。そのようなパスを U, …, A, B, …, V とする。 T から AB を除去し、辺 UV を追加し
たときにできる部分グラフは明らかに T と同じ数の辺をもち、依然として連結なままである。点の数が v で
辺の数が v - 1 であるような連結なグラフは木であるから、そうような部分グラフは木である。
434デフォルトの名無しさん
2017/06/28(水) 06:52:24.02ID:6P8PW2pA435デフォルトの名無しさん
2017/06/28(水) 10:22:23.33ID:6P8PW2pA 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)を読んでいます。
↓は、ある点から各点への最長パスを求めるプログラムのメイン関数です。
「出発点を入力してください」などと出力していますが、出発点は 1 でないとダメです。
なぜかというと depth_first() 関数がかならず 1 から深さ優先探索を開始するからです。
↓を見ると、あたかも、出発点に選択の余地があるかのようです。なぜ、こんなことを
しているのか意味不明です。
int main(void){
■■■■directed_network_input();
■■■■// 有向ネットワークの辺数m,点数n,各辺の始点,終点,長さが決定される
■■■■dicomp_incidence_list_construct(); // 接続辺リストが構成される
■■■■printf("出発点を入力してください\n");
■■■■scanf("%d", &s);
■■■■printf("出発点 = %d \n", s); // sからすべての点が到達可能であることを仮定
■■■■depth_first(); // 深さ優先探索をして後行順ラベルを求める
■■■■tpsort(); // トポロジカルソートを行う(tporder[1]==sとなることを仮定)
■■■■longestpath_from(s);// sからの到達可能な点への最長パスが計算される
■■■■longestpath_output();// sからの到達可能な点への最長パスが出力される
■■■■return 0;
}
↓は、ある点から各点への最長パスを求めるプログラムのメイン関数です。
「出発点を入力してください」などと出力していますが、出発点は 1 でないとダメです。
なぜかというと depth_first() 関数がかならず 1 から深さ優先探索を開始するからです。
↓を見ると、あたかも、出発点に選択の余地があるかのようです。なぜ、こんなことを
しているのか意味不明です。
int main(void){
■■■■directed_network_input();
■■■■// 有向ネットワークの辺数m,点数n,各辺の始点,終点,長さが決定される
■■■■dicomp_incidence_list_construct(); // 接続辺リストが構成される
■■■■printf("出発点を入力してください\n");
■■■■scanf("%d", &s);
■■■■printf("出発点 = %d \n", s); // sからすべての点が到達可能であることを仮定
■■■■depth_first(); // 深さ優先探索をして後行順ラベルを求める
■■■■tpsort(); // トポロジカルソートを行う(tporder[1]==sとなることを仮定)
■■■■longestpath_from(s);// sからの到達可能な点への最長パスが計算される
■■■■longestpath_output();// sからの到達可能な点への最長パスが出力される
■■■■return 0;
}
436デフォルトの名無しさん
2017/06/28(水) 10:54:52.65ID:6P8PW2pA 浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)を読んでいます。
ひどいバグを発見しました。
void longestpath_from(int s){// sからの到達可能な点への最長パスを計算する関数
■■■■int a, j, v, w;
■■■■dmax[s]=0; // sからsへの最長パスの長さは0である
■■■■path[s]=0; // sからの到達可能な点への最長パス木の根がsである
■■■■for (j = 1; j <= n; j++) {// トポロジカルソートに基づいて
■■■■■■■■v= tporder[j];
■■■■■■■■// sからvまでの最長パスの長さdmax[v]とパス上でvの直前の点path[v]の計算
■■■■■■■■a=revedgefirst[v]; // vを終点とする辺のリストの先頭の辺がaである
■■■■■■■■w=tail[a]; // wはaの始点
■■■■■■■■if(j == 1) printf("v = %2d, a = %2d, w = %2d", v, a, w); //debug
■■■■■■■■dmax[v]=dmax[w]+length[a]; // 式(4.2)に基づくdmax[v]の初期設定
■■■■■■■■path[v]=w; // 式(4.2)に基づくpath[v]の初期設定
■■■■■■■■a=revedgenext[a]; // aの次の辺をaとする
■■■■■■■■while (a != 0) {// vを終点とする辺のリストの末尾の辺になるまで繰り返す
■■■■■■■■■■■■w=tail[a]; // wはaの始点
■■■■■■■■■■■■if (dmax[v] < dmax[w]+length[a]){// wを経由したほうがより長いとき
■■■■■■■■■■■■■■■■dmax[v] = dmax[w]+length[a]; // wを経由するほうに更新する
■■■■■■■■■■■■■■■■path[v]=a; // aに更新する
■■■■■■■■■■■■}
■■■■■■■■■■■■a=revedgenext[a]; // aの次の辺をaとする
■■■■■■■■}
■■■■}
}
ひどいバグを発見しました。
void longestpath_from(int s){// sからの到達可能な点への最長パスを計算する関数
■■■■int a, j, v, w;
■■■■dmax[s]=0; // sからsへの最長パスの長さは0である
■■■■path[s]=0; // sからの到達可能な点への最長パス木の根がsである
■■■■for (j = 1; j <= n; j++) {// トポロジカルソートに基づいて
■■■■■■■■v= tporder[j];
■■■■■■■■// sからvまでの最長パスの長さdmax[v]とパス上でvの直前の点path[v]の計算
■■■■■■■■a=revedgefirst[v]; // vを終点とする辺のリストの先頭の辺がaである
■■■■■■■■w=tail[a]; // wはaの始点
■■■■■■■■if(j == 1) printf("v = %2d, a = %2d, w = %2d", v, a, w); //debug
■■■■■■■■dmax[v]=dmax[w]+length[a]; // 式(4.2)に基づくdmax[v]の初期設定
■■■■■■■■path[v]=w; // 式(4.2)に基づくpath[v]の初期設定
■■■■■■■■a=revedgenext[a]; // aの次の辺をaとする
■■■■■■■■while (a != 0) {// vを終点とする辺のリストの末尾の辺になるまで繰り返す
■■■■■■■■■■■■w=tail[a]; // wはaの始点
■■■■■■■■■■■■if (dmax[v] < dmax[w]+length[a]){// wを経由したほうがより長いとき
■■■■■■■■■■■■■■■■dmax[v] = dmax[w]+length[a]; // wを経由するほうに更新する
■■■■■■■■■■■■■■■■path[v]=a; // aに更新する
■■■■■■■■■■■■}
■■■■■■■■■■■■a=revedgenext[a]; // aの次の辺をaとする
■■■■■■■■}
■■■■}
}
437デフォルトの名無しさん
2017/06/28(水) 10:57:07.89ID:+O8L6XqQ 366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する
↓
Railsはマイナー、メジャーのアップデートが半年以内に必ずある
↓
客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく
↓
気づいてから1年以内に通知すれば、5年間無料保証ゲット
↓
つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
438デフォルトの名無しさん
2017/06/28(水) 11:02:48.67ID:6P8PW2pA ↑の for 文は j = 1 から始まっています。
v == tporder[1] == 1 です。
a == revedgefirst[1] == 0 です。
ところが、この本では配列のインデックスは 1 からしか利用していません。
インデックスが 0 の要素は初期化すらしていません。
どうも配列を初期化しないと値は不定だそうですが、実際には 0 で初期化されることが
多いようです。
仕様では不定であるはずの
tail[0]
dmax[0]
length[0]
がたまたま 0 で初期化されるため、偶然、問題なく動作しています。
正しくは、
for 文は j = 2 から始めなくては駄目です。
v == tporder[1] == 1 です。
a == revedgefirst[1] == 0 です。
ところが、この本では配列のインデックスは 1 からしか利用していません。
インデックスが 0 の要素は初期化すらしていません。
どうも配列を初期化しないと値は不定だそうですが、実際には 0 で初期化されることが
多いようです。
仕様では不定であるはずの
tail[0]
dmax[0]
length[0]
がたまたま 0 で初期化されるため、偶然、問題なく動作しています。
正しくは、
for 文は j = 2 から始めなくては駄目です。
439デフォルトの名無しさん
2017/06/28(水) 11:19:51.44ID:6P8PW2pA あ、もう一つバグがありました↑
path[v]=w; // 式(4.2)に基づくpath[v]の初期設定
となっていますが、
path[v]=a; // 式(4.2)に基づくpath[v]の初期設定
でなければなりません。
path[v]=w; // 式(4.2)に基づくpath[v]の初期設定
となっていますが、
path[v]=a; // 式(4.2)に基づくpath[v]の初期設定
でなければなりません。
440デフォルトの名無しさん
2017/06/28(水) 12:31:24.06ID:W36D2Opo441デフォルトの名無しさん
2017/06/28(水) 12:34:24.00ID:6P8PW2pA >>440
そうですが、
for(j = 1;
とすると
意図せず配列[0]を使うことになってしまいます。
この値がたまたま 0 で初期化されていて、かつ 0 であれば正しく動くため、
問題が表面化していないだけです。
そうですが、
for(j = 1;
とすると
意図せず配列[0]を使うことになってしまいます。
この値がたまたま 0 で初期化されていて、かつ 0 であれば正しく動くため、
問題が表面化していないだけです。
442デフォルトの名無しさん
2017/06/28(水) 12:37:24.37ID:6P8PW2pA 有向無閉路ネットワークの最長パスをトポロジカルラベリングを利用して、
求めるアルゴリズムって他の本に載っていますか?
あまりにも特殊すぎて載っていないのではないかと推測しますが。
この本は、鮮やかに解けるように問題を特殊化して見せ場を作っていますね。
求めるアルゴリズムって他の本に載っていますか?
あまりにも特殊すぎて載っていないのではないかと推測しますが。
この本は、鮮やかに解けるように問題を特殊化して見せ場を作っていますね。
443デフォルトの名無しさん
2017/06/28(水) 13:17:27.40ID:6P8PW2pA >>426
その本を読むのでしたら、
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)
のほうがCプログラムも載っていますし、面白いと思いますよ。
オイラーグラフの一筆書きのプログラムがあったりします。
その本を読むのでしたら、
浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)
のほうがCプログラムも載っていますし、面白いと思いますよ。
オイラーグラフの一筆書きのプログラムがあったりします。
444デフォルトの名無しさん
2017/06/28(水) 14:35:33.86ID:itdARVty 外部変数は0で初期化される。
445デフォルトの名無しさん
2017/06/28(水) 15:46:50.33ID:7M5wzg7m j=1で始まってんのに意図せず配列[0]を参照するの意味がわからん
446デフォルトの名無しさん
2017/06/28(水) 16:26:43.89ID:mp82Jtm6 それでも馬鹿のアスペの荒らしをスルーできない
447デフォルトの名無しさん
2017/06/28(水) 18:29:25.09ID:6P8PW2pA448デフォルトの名無しさん
2017/06/28(水) 18:29:51.34ID:6P8PW2pA449デフォルトの名無しさん
2017/06/28(水) 18:33:38.48ID:6P8PW2pA さらに、
v == tporder[1] == 1 です。
v == tporder[1] == 1 です。
450デフォルトの名無しさん
2017/06/29(木) 11:58:28.12ID:df4uIsIb http://imgur.com/A84Qz1i.jpg
http://imgur.com/NsXCsS1.jpg
http://imgur.com/Bm7ANHm.jpg
http://imgur.com/iSqMNes.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
1枚目と2枚目の画像が連結な有向オイラーグラフの一筆書きを求めるアルゴリズムです。
3枚目と4枚目の画像がそのアルゴリズムの正しさの証明です。
「連結グラフ G が一筆書きできるための必要十分条件は、 G がオイラーであることである。」
という定理の証明において、十分性は、↑の3枚目と4枚目の画像の定理5.3により分かるということが書いてあります。
↑の3枚目と4枚目の画像を読めば分かりますが、十分性について証明されていないように思います。
どうでしょうか?
http://imgur.com/NsXCsS1.jpg
http://imgur.com/Bm7ANHm.jpg
http://imgur.com/iSqMNes.jpg
↑は浅野孝夫著『グラフ・ネットワークアルゴリズムの基礎』(近代科学社)です。
1枚目と2枚目の画像が連結な有向オイラーグラフの一筆書きを求めるアルゴリズムです。
3枚目と4枚目の画像がそのアルゴリズムの正しさの証明です。
「連結グラフ G が一筆書きできるための必要十分条件は、 G がオイラーであることである。」
という定理の証明において、十分性は、↑の3枚目と4枚目の画像の定理5.3により分かるということが書いてあります。
↑の3枚目と4枚目の画像を読めば分かりますが、十分性について証明されていないように思います。
どうでしょうか?
451デフォルトの名無しさん
2017/06/29(木) 12:19:34.40ID:df4uIsIb むしろ、十分性が成り立つことを前提にしてアルゴリズムの正しさを証明しているように思います。
452デフォルトの名無しさん
2017/06/30(金) 09:51:08.15ID:pDIkSJMf 粘着
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 山田邦子 ひょうきん族時代の年収は12億円「ただ税金が80%」 [muffin★]
- 【芸能】ワイドショーはオワコンなのか... フジ・朝の情報番組『サン!シャイン』1年で打ち切り報道 テレビよりSNSの視聴者 [冬月記者★]
- セブンイレブンの弁当
- 高市「たまたま私が支部長だった。高市早苗に対する献金ではない」→自分の公式サイトで、ガッツリ寄付を呼びかけていた事が判明 [594040874]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★9
- 【悲報】女さん、「もしかしたら昇進できるかも!」と嬉しそうに伝えてきたサラリーマン夫を完全に論破🙎wwwwwww [339712612]
- 自殺した人の7割が「首吊り」らしいんだが
- (ヽ´ん`)「はっきり言ってやろうか?この国は終わりだ」 [434776867]
