ナップサック問題と食洗機
■ナップサック問題とは?
大学の授業で習った記憶はあるのですが、習った内容に関する記憶がないので、
Wikipediaさんに聞いてみました。
Wikipedia より引用
■食洗機を使っていて感じたこと
今回はITのトレンドではないのですが、たまにはこういう話題も。
我が家では嫁さんの手荒れがひどいため、結婚早々に食洗機を購入しました。
とは言え、マンションのキッチンに置ける程度の小型タイプなので、容量は限られています。
普段は二人分の食器を入れるだけなので十分なのですが、
たまに洗い忘れて、翌日、大量の食器を前に呆然とすることがあります。
食洗機には明らかに2日分のキャパがなく、いかに詰め込むか食器を入れたり出したり格闘しています。
こういうときによくナップサック問題を思いだします。
ナップサック問題はPCでガリガリ計算することが前提(だったはず)なので、
何の役にも立ちません。思い出すだけです。
突然ですが、ここで食洗機に詰め込むという問題を「食洗機問題」と命名しましょう。
■食洗機問題
基本的にはナップサック問題と同じなのですが、いくつか特別ルールが増えます。
・食洗機が小さいため、ある程度大きい食器の横に並べることのできる食器は限られる。
※腕の見せ所です。
・ご飯茶碗は手洗いが面倒なので優先する。(piを大きく設定する)
※ちなみに、食洗機用洗剤ならカピカピご飯つぶも楽勝で落ちます。台所用洗剤はイマイチです。
・カゴの端のスペースには菜箸や包丁などを入れることができるが、
横のスペースに大きな皿を置くとそのスペースが使用できなくなる。
※ここのトレードオフが重要です。
・下からお湯が噴射されるので、洗うべき面を必ず下側かつカゴの中央に向けなければならない。
※豆知識です。
・フライパンやなべは入るわけがない(ciを∞とする)
※悔しいですが、不戦敗です。たとえ入ったとしても焦げ付きは落ちません。
さて、以上で食洗機問題が定式化(?)されました。
誰かこの問題の最適解を教えてください。
オンラインでプログラミング
■codeide とは?
オンラインで各種プログラム言語のコーディング、デバッグが行えるサイト。
今のところ、BASIC、PASCAL、C++、JavaScriptに対応している模様ですが、
将来的にはLISP、MATHにも対応する意気込みが感じられます。
通常の実行、停止に加え、ブレークポイントの設定やステップ実行、逆実行なんかも
できるっぽいです。
また、作成したプログラムをexeにしてダウンロードする機能もあります。
■感想
C++で遊んでみたのですが、結論から言うと、まったく使い物になりませんでした。
つーか変数宣言すらままならない…今後に期待というところでしょうか。
便利かどうかは置いておいて、発想は面白いですね。
■参考
オンラインでBasicやC++、JavaScriptの開発&実行が出来る「codeide」
: phpspot開発日誌
組込みのトレンド
■ET2006に行ってきました
11/17にパシフィコ横浜で開催されたET展に行ってきました。
ETとは指の長いしわしわの怪物・・・ではなく、組込み総合技術展のことです。
各ブースでコンパニオンのお姉さんに名刺をばらまきつつ(ノベルティグッズをもらうためです・・・)、
今後、組込みのトレンドになるかもしれないと感じたことがいくつかあったので、紹介したいと思います。
■組込みOS
組込みOSとしては、国産リアルタイムOSのμITRONやT-Engine、Linux、Symbian、WindowsCEが有力どころです。
今年に始まったことではありませんが、組込みLinuxはすでに当たり前という印象を受けました。
Linux以外にもT-Engineブースもなかなかの充実ぶりでした。
また、京都マイクロコンピュータ社がWindowsCE対応のデバッガ を展示していました。
■開発環境
EclipseをベースにしたIDEが増えつつあります。
UML連携やCVS、Subversionといったバージョン管理ツール連携などを売りにしているようです。
今後、組込み開発におけるIDEのスタンダードとなるかもしれません?
■形式仕様記述
形式仕様記述とは、ソフトウェアの仕様をプログラミング言語のように論理的に記述しようというもの。
事前条件、不変条件、事後条件を記述することで、仕様を動作させて検証するツールも紹介されていました。
これにより、上流行程での不具合(特に仕様の不具合)を減少させることができ、ソフトウェアの品質向上に
非常に効果的であると説明されていました。
また、実装前に作成した評価仕様(テスト項目)と仕様を動作させることで、
評価仕様の評価が可能になるため、テストの質も向上するそうです。
UMLの盛り上がりは少し落ち着いてきた感がありますが、
今後は仕様記述のような、より上流の言語を用いた開発が主流になるのではないかと感じました。
■その他
今年は、組込みデータベース、組込みブラウザ、組込みJavaなど
PCでの出来事が組込みに導入され始めていることを実感しました。
■感想
マフラーを配っていたのをもらい損ねたのが、心残りです。
■参考
組み込み機器技術展ET2006に「Linuxタウン」出現,ケータイもデジカメもプロジェクタも : ITpro
ライフログ
■ライフログとは?
野村総研から発表されたWEB2.0の進展を予測した「ITロードマップ」を見ていて気になったのですが、
2010年ごろから「ライフログ」が開始されるそうです。
なんじゃそれ?ということで調べてみました。
IT用語辞典バイナリ より引用
ライフログとは、人間の行い(life)をデジタルデータとして記録(log)に残すことである。
ライフログは、ユーザーの視点で言えば、個人ホームページやブログ(ウェブログ)へと遷移してきた、個人の活動記録を記録する営みに通じるものであるといえる。ライフログを研究している代表的なプロジェクトとしては、Microsoftが推進している「MyLifeBits Project」がある。これは、パソコンを使用する際に行われる全ての操作・動作を、後から追跡することを可能にし、これを追跡することによって過去の分析や追体験を可能にしようとするものである。また、米国国防総省の研究機関であるDARPA(Defense Advanced Research Projects Agency)も、2004年からライフログの研究を開始している。
■ライフログに関する研究
・Microsoft 「MyLifeBits Project 」
PCを使用する人の行動をすべて記録していくそうです。
5年で80GBになるとか。
会社のPCにこれを入れられたら大変ですね。
・KDDI ライフログ
携帯を使ったライフログも研究されているそうです。
ITmedia Biz.ID より引用
身の回りにある物の情報をバーコードなどから読み取り、それについての感想を書くなどしてブログに投稿するまでの一連の行動を携帯で完結できる仕組み。
こちらは自発的なライフログですね。
■感想
実用化されれば、物忘れもなくなるかもしれませんが、
人間忘れることも重要なんじゃないでしょうか・・・
■参考
2011年までのWeb2.0の進展を予測した「ITロードマップ」 : GIGAZINE
人生のやり直しが可能に? ライフログが紡ぐ未来 : ITmedia エンタープライズ
YouTubeを携帯で
■YouTubeの動画が携帯で見られるようになるかも?
YouTubeの次の目標は携帯向けに動画を配信することだそうです。
YouTubeが携帯から使えるようになったら、良い暇つぶしになりそうですね。
■すでに携帯で見られる!?
調べてみたところ、すでに携帯でYouTube動画を見る方法は存在してました。
(※いずれもYouTubeで直接閲覧できるわけではないので、ちょっと面倒かもしれません)
このサイトではYouTubeの動画を携帯で再生可能な形式に変換できます。
変換した動画を携帯にダウンロードすれば、閲覧可能というわけ。
上記サイトと同様
・Melovie
上記2サイトと同様、携帯用に変換したのち、URLがメールで通知されます。
そのサイトにアクセスすると動画を閲覧できるそうですが・・・
サービス中止だそうです。
■参考
Youtubeの動画を携帯電話で見られるようになるかもしれません : GIGAZINE
YouTubeの動画を携帯で楽しむ方法 : ラインオーシャン

