曜日の話ですが計算間違いをしていました。プログラムを作り直して再計算させたところ、ドラえもんの誕生日(2112年9月3日)は金曜日じゃなくて土曜日でした。calコマンドとも一致したので、こちらが正しいと思われます。お騒がせして申し訳ないです。
今日は午後の実験からずっとFTPの作成です。クラスの設計を見誤ったか、段々とガタが来始めているような気がします。ここまで来て作り直しは嫌だぞー(;´д`)
主専攻実験のFTPがいくら作っても全然終わらないと最近気づき、あせって進めています。今日も家からリモートで作業していたのですが、ACCSnetがプチプチ切れてくれるので作業になりません。4時間で2回も落ちて作業にならないので、ソフトウェア工学に着手しました。任意の年月日の曜日を求めよ、という問題です。既知の日付からの差分で出すようにしました。
我が家のPCのカレンダーは2099年までで、ドラえもんの誕生日(2112年9月3日)は載っていませんが、今回作ったやつによれば金曜日(ほんとは土曜日。2003年10月31日を参照の事)だとわかります。ちなみに今後109年間、曜日が連続していれば…の話ですからね。
広報会議が長引いたので、園芸のミーティングに遅れていったら既に終わっていました。ちょうどバーミヤンに行くところだったようなので、そのままついていきました。
珍しく1年>3年という人数比になり、図情からのニューカマー工藤さんも来てくれました。食後、図情の寮を皆で見に行ってひとしきり羨ましがってから解散しました。帰り道、寒さが身に染みた。そろそろ厚着をしなければ。
目次: ベンチマーク
しつこくNクイーン問題を考えてみる。調べてもこれ以上高速なアルゴリズムが見つからなかったので、Cの卑怯技ビット演算による並列化を用いた高速化を図りました。結果は思いのほか上々で、15クイーンが5.8秒で解けました。なんと、一気に2倍ですか。
この問題は並列処理しやすいので多数のPCに振り分けて解くこともできるでしょう。手が空いたら簡単な通信プログラムを付けて、手持ちのPC 2台で分散処理しようと思います。
N-queens solver Type 5 solver: バックトラック, 左右対称性, 静的配列, 一意性, ビット並列演算 n: answer unique time -------------------------------------------------- 2: 0 0 0 ms 3: 0 0 0 ms 4: 2 1 0 ms 5: 10 2 0 ms 6: 4 1 0 ms 7: 40 6 0 ms 8: 92 12 0 ms 9: 352 46 0 ms 10: 724 92 0 ms 11: 2680 341 10 ms 12: 14200 1787 20 ms 13: 73712 9233 150 ms 14: 365596 45752 901 ms 15: 2279184 285053 5788 ms 16: 14772512 1846955 39287 ms 何かキーを押すと終了します...
園芸トップページ2度目の修正案をアゲてみた。1度目の修正は元ファイルを生かして修正したものの、WinXP&IE6.0 SP1で崩れているとのこと。
再び元ファイルから修正し直そうと思ったのですが、変な作りの元ファイルを生かすからおかしくなるのであって、一から作ればいいんですね。気づくの遅。てことで…消去!
目次: ベンチマーク
引き続きNクイーン問題を考えてみる。高橋さんのページを見て、一意解がやっとわかりました。試しに組み込んでみたところ、効率無視の実装にも関わらず15クイーンが10秒で解けました。初めの130秒(2分14秒)からすると実に10倍以上になりました。アルゴリズムって大事ですね。
学園祭の打ち上げを天久保のミラノというお店で行いました。参加予定が15人でドタキャンを考えて13人と予約したら17人来たようですが、気にせず席に全員詰めて座りました。個人的には狭いと人が近くて話しやすいと思いました。暑いけどねー。
店のオヤジさんには料理が13人分しかないと聞いた我々が奪い合うようにして食べているように見えたらしく料理をオマケしてくれました。が、最後にはお持ち帰りになるほど増えてました。やりすぎ。
二次会も小磯邸に20人で押しかけた結果、ミラノと大して変わらない圧迫感です。昨日作った園芸バトロワの図を回し読み、そこそこ好評(?)でした。どの人も他のメンバーに対する(偏った)イメージがあるようです。
園芸リッチ飲み&小磯氏誕生会。参加条件の3000円相当の貴腐ワインを抱えてジョー邸へ。ピザやポテトなどをほおばりつつ、高い酒を飲みました。カベルネ・ソーヴィニオンがあったのですが自分には辛口で合いませんでした。
ジョーは明日、お祖父さんのお葬式があるから打ち上げに出られないそうな。寝過ごすとまずいので朝まで起きていてくれーってことで全員で起き続けていたら、もう途中からハイになってましたね。その勢いでくだらないものを大いに情熱を注ぎ込んで作り上げました。なぜあんなに頑張れたんだろう(笑
目次: ベンチマーク
Nクイーン(※)を解かせるプログラムを組んでみました。結果は15クイーン(解2279184通り)で2分14秒 でした(コンパイラ: Visual C++ 6.0 release build)。Athlon 1.4GHzのくせにこんなです。うーん、遅い。
ネット上で見つけた、高橋謙一郎さんという方が作ったプログラムは15クイーンが1秒12でした。いやはや速すぎます。高橋さんのページを読むに、ユニーク解を用いると無駄な検索を省けるようですが、よくわからなかったので組み込めそうにありません。悲しい限りです。
追記です。15クイーンは左右対称性を利用して検索を半分カットし、動的配列の使用を止め、静的配列にしたところ21秒になりました。これだけで7倍も速くなるんですねえ。でもまだ2ケタ秒かかっていて遅い事に変わりはないです。
(※)Nクイーン問題はn x nの大きさのチェスの盤にn個のクイーンを互いに取られない位置に置くパターンがいくつあるかを求める問題のこと。
大西洋単独横断で英雄となったリンドバーグ(Charles Augustus Lindbergh 1902-1974アメリカ)の「The Spirit of St.Louis」の邦題「翼よ、あれがパリの灯だ」がカッコイイなーと思いました。意訳しすぎと思う方もいるかな、私は訳者のセンスが感じられて良いなーと思ってます。少なくとももろにカタカナ英語にするよりは良いでしょ。
午前を寝過ごしました。ああ゛ー。
午後の実験もうまくいかない。ネットワーク関連のシステムコールはぐちゃぐちゃしすぎててよくわかりません。とりあえず動けばいいんですが、それも叶わずじまいで困りました。どうしたものか…。
プログラミング言語処理のテストは何を見ても良いですが、隣の人の回答は見ないで下さいという先生の言葉により、難なく解けました。講義資料をちゃんと印刷してて良かった。
ベクトル解析が全然できなくて悲しい。塚田氏は龍ヶ崎のサイゼで粘ると言っていましたが、俺は粘っても無理っぽいので寝ました。
園芸の畑で焼き芋をしました。途中で雨が降るわ、通報されたのか管理事務所のおやじが来るわで、ギリギリでした。あまり焼けていなかったのか甘くなかったです。
家に帰って焚き火の煙くささを落とそうと、風呂に入ろうとしたらガスが停まってました。ガスメーターを見ると地震か衝撃で止まったと出てる。地震って15日だっけ?16、17と一度もガスを使わなかった…わけないですね。でもガスメーターぶん殴った覚えもないんですがね。
松宮さんのマツタケを食す会@山下邸に参加しました。マツタケにおぞましいほど虫が付く事にショックを受けつつ。。秋刀魚とお吸い物、炊き込み御飯を食べました。おいしかったです。
< | 2003 | > | ||||
<< | < | 10 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | - |
合計:
本日: