考えた末、mini-FTPの作り直しを決めました。RFCの階層構造(IF、PI、DTP)を参考に階層化しました。
コーディングを最小限にするにはプログラムの骨組みが重要だったのですが、今回は初期段階が疎かになり結局やり直しとなりました。まあ、次こそは上手くいって欲しいものですが、どうかな。
FTP三昧な一日…というのはウソで半分くらいゲームしてました。今作っているmini-FTPの設計を失敗したせいで作る気が失せたのでLISTあたりからかなり適当。
LIST -> 待機 -> 150応答 -> 受信開始、終了 -> ソケット閉 -> 226応答
150応答を前提にしたエラー処理無視の待機とか、コントロールとデータ接続が同期しているため中断できないなど、ダメ設計です。そういえば226応答のメッセージ「Transfer Complete」がRFCの「Closing Data Connection」と違いますね。ま、226に変わりは無いしどうでもいいか。
正直、規格うんぬん言うのはあまり好きではないので、規格を守れと思うのは守らなければ誰かが不利益を被ると思う時くらいです。中には重箱の隅をつついて喜ぶ人種も居ますが…。
白帆温泉(麻生町)に行きました。まず実習が終わった小磯氏と松宮さんを拾い、麻生町産業文化祭へ向かいます。隣で弓道の大会があったせいか、袴+ブレザーという変な格好の高校生がいてウケた。出店の他に、農機具、新車、中古車が展示販売されていて、企業広告の意味合いが強い祭りでした。
ちかふみさんはレガシィB4が気に入った様子で、乗り込んで感触を確かめていました。将来、買う…んですかね。また、無料駐車場が空いているのに道路が路駐で埋まっていたのが不思議でした。
祭り会場を後にし国立公園で、といっても何もない所でしたが、霞ヶ浦を眺め写真を何枚か撮って温泉へ。温泉の湯船には鉄サビのような色が付いていました。何の成分でしょう?成分表見ておけば良かった。休憩後、霞ヶ浦町の野菜アイス屋へ。
自分は焼き芋アイスを食べましたが、単なる芋じゃなくて焼き芋の味、つまり焦げの味もしました。ショウガ、納豆、かぼちゃ…と各自が頼んだものを皆で味見しましたが、どれも上手な仕上がりでした。納豆は絶対外れだと思ったのに意外意外。
平砂で小池氏と別れ、貴族の森で夕食のあと解散となりました。
メモ:参加者は北脇、小池、小磯、高橋(睦)氏、松宮、渡辺さんです。
寝坊につき作業に到着したときには種取りは大方終わっていて、自分は平砂のアサガオの撤去を手伝いました。ついでに土を耕す予定だったようですが、耕す道具がないので来週にまわすとのこと。
園芸芋煮会@我が家。小池、近藤、志村、高橋(城)、田口、塚田氏と工藤、山下、山田さんの10人で。山田さんはサトイモの料理を食べないと秋が来た感じがしないとか。料理の名前を聞くのを忘れてしまって書こうにも書けないのですが、おいしいくてご飯にあいます。個人的にはすき焼きっぽい味だなと思いました。ワールドカップバレーを観て、選手が自分より年下だと知りました。テレビの中の人物は全員自分より上に見えます。
曜日の話ですが計算間違いをしていました。プログラムを作り直して再計算させたところ、ドラえもんの誕生日(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」の邦題「翼よ、あれがパリの灯だ」がカッコイイなーと思いました。意訳しすぎと思う方もいるかな、私は訳者のセンスが感じられて良いなーと思ってます。少なくとももろにカタカナ英語にするよりは良いでしょ。
午前を寝過ごしました。ああ゛ー。
午後の実験もうまくいかない。ネットワーク関連のシステムコールはぐちゃぐちゃしすぎててよくわかりません。とりあえず動けばいいんですが、それも叶わずじまいで困りました。どうしたものか…。
< | 2003 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | - | 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 | - | - | - | - | - | - |
合計:
本日: