IwazerReportでタグ「Queens」が付けられているもの
N-queens問題(エイトクイーンズ問題) - 毛の生えたようなもの
トラックバック先のエントリーとは直接関係ないのですが、読んでいて色々思い出したので書きたくなった。
あらかじめ言っておきますが動くものはありません(汗)
「一夜漬け文章教室」宮部 修著 の言う、ダメな傾向の文章であるところの
社会人になって2年目くらいだろうか、当時勤めていた会社で制約論理型言語というものを扱っていた事があり、N-Queen問題が、このプログラムの練習課題として必ず使われたのを思い出す。
制約論理型言語は、問題の解き方(アルゴリズム)を記述するのではなく、解に求められる制約を静的、宣言的に記述して、コンピュータに探索させて解を求めるというもの。
Wikipediaの制約プログラミング説明、がなかなかいいな。
Rubyを使って擬似的に書くとすると次のようなイメージか。 ここではConstraintという制約プログラミングのためのライブラリが用意されていると仮定。
このクラスライブラリはConstVarというクラスのインスタンスが制約変数を表し、制約の記述はConstraintインスタンスのメソッドで行うとします。
だめだなぁ、すっかり忘れてしまった。斜めに置けないという制約、もっとエレガントに書けた気がするのだが。おかげでこのエントリーを書くのに、あぁでもない、こうでもないと紙に格子を描きなぐって考え込んでしまったが、自信がない。情けない(死)
でも書いているうちにムクムクと実装したくなってきた。
ConstVarとConstraintを実装するプロトタイプをRubyで書いて、動くようになったらCで書き直して高速化とかだな。ついカっとなってみるテストに最適。
Rubyにはirbがあるので、制約プログラミング処理系を組み込むホスト言語として、かなり使いやすい気がする。
トラックバック先のエントリーとは直接関係ないのですが、読んでいて色々思い出したので書きたくなった。
あらかじめ言っておきますが動くものはありません(汗)
「一夜漬け文章教室」宮部 修著 の言う、ダメな傾向の文章であるところの
冒頭に「いいわけ」、末尾は「抱負」
そのものな書き出しで始まってしまいましたが、あまりにもうろ覚えで書くもので、防衛戦を張らずにはいられない(笑)社会人になって2年目くらいだろうか、当時勤めていた会社で制約論理型言語というものを扱っていた事があり、N-Queen問題が、このプログラムの練習課題として必ず使われたのを思い出す。
制約論理型言語は、問題の解き方(アルゴリズム)を記述するのではなく、解に求められる制約を静的、宣言的に記述して、コンピュータに探索させて解を求めるというもの。
Wikipediaの制約プログラミング説明、がなかなかいいな。
Rubyを使って擬似的に書くとすると次のようなイメージか。 ここではConstraintという制約プログラミングのためのライブラリが用意されていると仮定。
このクラスライブラリはConstVarというクラスのインスタンスが制約変数を表し、制約の記述はConstraintインスタンスのメソッドで行うとします。
だめだなぁ、すっかり忘れてしまった。斜めに置けないという制約、もっとエレガントに書けた気がするのだが。おかげでこのエントリーを書くのに、あぁでもない、こうでもないと紙に格子を描きなぐって考え込んでしまったが、自信がない。情けない(死)
でも書いているうちにムクムクと実装したくなってきた。
ConstVarとConstraintを実装するプロトタイプをRubyで書いて、動くようになったらCで書き直して高速化とかだな。ついカっとなってみるテストに最適。
Rubyにはirbがあるので、制約プログラミング処理系を組み込むホスト言語として、かなり使いやすい気がする。
検索
タグ
- 1000speakers (1)
- AIR (1)
- Amazon (9)
- annouce (1)
- API (4)
- ASRock (1)
- Athlon64 X2 4200+ (1)
- ATOK (2)
- au (1)
- auth (1)
- AutoPagerize (1)
- BEA (1)
- BIOS (1)
- Blackmore (1)
- blog (1)
- Blog (3)
- Blog Parts (2)
- Book (13)
- Books (1)
- bouno (1)
- bug (1)
- Bug (1)
- card (1)
- change_column (1)
- CM (2)
- coffee (3)
- color-thema (1)
- DanKogai (1)
- darts (4)
- dartslive (1)
- develop (5)
- Document (1)
- Eclipse (3)
- ECS (3)
- ECサイト (1)
- editor (2)
- Emacs (6)
- emacs-rails (1)
- evangelion (1)
- favorite (1)
- Firefox (3)
- flash (2)
- flex (3)
- Flickr (2)
- FreeDOS (1)
- FriendFeed (1)
- GAE/j (1)
- git (1)
- google (2)
- guiter (2)
- Hamachiya2 (1)
- Hard Rock (1)
- hatena (1)
- Helper (1)
- HIBRIA (2)
- history (1)
- HYPERION (1)
- IBM (1)
- idea (1)
- imayomi (47)
- IME (1)
- Install (1)
- iPod (4)
- IRON MAIDEN (1)
- ISBN (1)
- iTMS (1)
- iTunes (9)
- Java (3)
- java (1)
- JavaScript (2)
- JRuby (1)
- know how (1)
- Knowledge (1)
- Last.fm (4)
- LDR (1)
- leopard (1)
- Linux (1)
- mac (9)
- Mac (1)
- MacBook (19)
- MacOSX (13)
- MacPorts (1)
- Math (1)
- Meadow (1)
- memo (1)
- memory (1)
- METAL (9)
- Migration (2)
- mixi (1)
- mixi OpenID (1)
- mixi station (2)
- mobile (3)
- mouse (1)
- Movable Type (5)
- movie (2)
- MSI (1)
- MTA (1)
- music (7)
- MySQL (2)
- NC (1)
- Neta (3)
- NotePC (1)
- O'REILLY (1)
- OpenID (1)
- Oracle (1)
- ORDB (1)
- PASMO (1)
- Perl (1)
- phoenix (1)
- photo (3)
- PHP (1)
- plugin (1)
- Post-it (3)
- programing (2)
- Queens (1)
- RailsMeetingTokyo (1)
- redmine (1)
- REST (2)
- RJS (1)
- RSS (2)
- Ruby (9)
- Ruby on Rails (21)
- SCPlugin (1)
- search (1)
- SearchWord (1)
- Seasar2 (3)
- setup (2)
- SF (2)
- Slim3 (1)
- Socket939 (1)
- solr (1)
- sqlite (1)
- Subversion (6)
- SUICA (1)
- Sun (1)
- tab (1)
- TB (1)
- terminal (1)
- ThinkPad (2)
- tips (2)
- TODO (1)
- tokyocabinet (1)
- Tortoise (1)
- trac (1)
- troubleshooting (1)
- Tumbler (3)
- tuning (1)
- TV (1)
- twitter (2)
- useful (1)
- ustream (1)
- Vista (1)
- VMware Fusion (2)
- Web Service (12)
- Webチェック (7)
- WHO'S NEXT (1)
- Windows (2)
- Witch (1)
- XP (1)
- Yosemite (1)
- youtube (1)
- Zorg (1)
- あけおめ (1)
- おしゃれ (1)
- お気に入り (1)
- お知らせ (1)
- ことえり (1)
- つくるぶ (2)
- はてな (1)
- はてなスター (3)
- ほぼ日 (2)
- ほぼ日手帳 (1)
- やる気 (1)
- アウトプット (1)
- アップデート (1)
- イカ天 (1)
- インポート (1)
- エア新書 (1)
- エクスポート (1)
- グランデ (1)
- コツ (1)
- コマンド (1)
- コーヒー (2)
- ジャンル (1)
- スイカ (1)
- スターバックス (1)
- スターバーックス (2)
- タンブラー (3)
- ダジャレ (1)
- ダーツ (1)
- チューニング (1)
- テレビ (1)
- ノイズキャンセリング (1)
- ノウハウ (1)
- ハイペリオン (1)
- ハマチ (1)
- バンド (1)
- パスモ (1)
- ブログ (1)
- ブログパーツ (2)
- プログラミング (1)
- ヘッドフォン (1)
- ペーパークラフト (1)
- ポストイット (1)
- マクドナルド (1)
- マッシュアップ (2)
- マンホール (1)
- メール (1)
- モニター (1)
- 今読ミ (40)
- 今読ミはてブ (1)
- 休日 (1)
- 体調 (1)
- 使い方 (1)
- 値段 (1)
- 側坐核 (1)
- 入力 (1)
- 写真 (1)
- 初めてのRuby (3)
- 割引 (1)
- 勘違い (1)
- 勝手に (1)
- 十二国記 (1)
- 双葉 (1)
- 問題提起 (1)
- 大晦日 (1)
- 始発 (1)
- 対策 (1)
- 川柳 (1)
- 工作 (1)
- 年始 (1)
- 忘年会 (1)
- 思いつき (1)
- 感想 (1)
- 懐かしい曲 (1)
- 手帳 (2)
- 振り返り (1)
- 携帯 (1)
- 撮影 (1)
- 改悪 (2)
- 散歩 (1)
- 文庫 (1)
- 文章 (1)
- 日付入力 (1)
- 日本語 (1)
- 映画 (3)
- 未来都市 (1)
- 本 (3)
- 松本零時 (1)
- 機能追加 (1)
- 海馬 (1)
- 液晶 (1)
- 漢字 (1)
- 無駄 (1)
- 熱い (1)
- 物欲 (1)
- 環境設定 (1)
- 百科事典 (1)
- 省メモリ (1)
- 祭り (1)
- 筒井康隆 (1)
- 紹介 (1)
- 絵 (1)
- 罫線 (1)
- 考え (1)
- 脳 (1)
- 自動改札 (1)
- 自動生成 (2)
- 表現 (1)
- 規約 (1)
- 言いまつがい (1)
- 言語論 (1)
- 設定 (2)
- 認証 (1)
- 追加機能 (1)
- 開発 (3)
- 開発環境 (1)
- 雑談 (1)
- 面白い (1)
- 音楽 (3)
- 音飛び (1)
- 高木先生 (1)

