2013年4月30日火曜日

ちまちまと書き足し

証明内容まで進む前に、今日はアルゴリズム部分を書き足し。
変数にどのアルファベットをあてるか、などを含めて書いているため、それほどスピードアップはしていない。
いずれにしても、集合が複数あるので、そのあたりをうまく処理する必要もある。

短期目標:アルゴリズム記述を明日までに
今日の作業内容:アルゴリズム書き足し 3h
今日のランチ:らく まぐろのづけ丼と小鉢セット
明日の予測作業時間:4h


2013年4月26日金曜日

定式化から書き直し

昨日まで考えていた証明について、TeXでの入力作業を始めてみた。
全体の見通しを良くするために、問題の定式化から書き直すこととした。

今日の作業内容:TeX への入力 2h
今日のランチ:ひろBay お好み焼き
明日の予測作業時間: 3h


2013年4月25日木曜日

証明がもう一歩前進

残っていた大きな障害のところは、一通り証明ができたところまできた。
最後のところも、やはり Level Set で方がついた。

次は、ここまでの証明で間違いがないかを文章を書きながら再検討することになりそうである。


短期目標:1週間程度で定式化とアルゴリズムを文章に
今日の作業内容:証明検討 3h
今日のランチ:つかさ 生サーモン照り焼き
明日の予測作業時間:4h


2013年4月24日水曜日

証明が一歩前進

ここ5日(もっと長い?)をかけていた証明のワンステップがどうにか前進。証明方針もかなりの変更をして、なんとかできるようになった。

基本的には、
1. Level Set が有界
2. 強双対定理
の組合せ。
やはり、この2点は証明の強力な道具である。

短期目標:もう一か所の証明を今週中に
今日の作業内容:証明検討 3h
今日のランチ:シッダルータ キーマカレー
明日の予測作業時間:3h


2013年4月23日火曜日

またも一進一退


証明について考えていたのは、証明できたと思っていたところに誤りがあっさりと発見され、一進一退の様相。
もう少し時間がかかりそうだ。


今日の作業内容:証明検討 3h
今日のランチ:食堂 筍ご飯と鶏肉照り焼き茶碗蒸し付き+ポンデライオン3個セット
明日の予測作業時間:3h



2013年4月22日月曜日

VirtualBox のシームレスモードのクラッシュを回避

Debian をゲストとしていた場合に、シームレスモードだと以下のようなエラーメッセージが出力されてVirtualBoxが停止してしまう。

====

問題の署名:
  問題イベント名: APPCRASH
  アプリケーション名: VirtualBox.exe
  アプリケーションのバージョン: 4.2.12.0
  アプリケーションのタイムスタンプ: 5167d6dc
  障害モジュールの名前: VBoxOGLhostcrutil.dll
  障害モジュールのバージョン: 0.0.0.0
  障害モジュールのタイムスタンプ: 5167d68b
  例外コード: c0000005
  例外オフセット: 0000000000016fa8
====

このことは、検索したらバグとしてちゃんと報告されていた。
https://www.virtualbox.org/ticket/11723?cversion=1

ここの報告の下の方を見ていたところ、
「3Dアクセラレータ」のチェックを外したら大丈夫だった
という報告があった。
これにしたがって、
「設定」->「ディスプレイ」->「3Dアクセラレーションを有効化」のチェックを外す
という作業をしてみたところ、クラッシュが回避できるようになった。

やっぱり、バグをどのようにして回避できるか、などを報告しておいてもらえると、とても有益だなぁ、と考えられることであった。

今日の作業内容:証明検討 1h
ランチ:味庵 豚角煮と筍煮込み
明日の予測作業時間:3h



2013年4月19日金曜日

Level Set の重要性

この前のわからなかったところは、証明に必要なこと以上に要求していることが分かったので、そのあたりはなんとかなりそうだった。

ところで、最適化の証明にはいくつかあるが、Level Set の有界性は重要なステップである。
たとえば、Todd の SDP のサーベイでも強双対定理の証明のあたりで Level Set の話がでてくる。
自分でいろいろと証明を考えるようにしてみると、どういった証明がポイントなのかわかってくるのが、かなり面白くはある。

短期目標:もう一個の証明方法を検討するのを火曜日までに
今日の作業内容:証明検討 3h
今日のランチ:信華園 レバー野菜炒め
明日の予測作業時間:2h



2013年4月18日木曜日

VirtualBox が crash するようになった

VirtualBox が最近のアップデートになって 4.2.12 r84980になったが、 Debian の LXDE 上だとクラッシュするようになった。
Debian がクラッシュするのではなく、VirtualBox 自体が動作を停止してしまう。

今のところ分かったのは、LXDE でシームレスモードにしているときに、2個以上のウィンドウが重なっている状態で、片方のウィンドウをマウスで移動すると、クラッシュする。

とりあえずは、クラッシュしないようにウィンドウを重ねずに使ってみて、VirtualBox, Debian のどちらかが更新されるのを待とうかと思うが、うまくいかないようだったら、VirtualBox を古いバージョンにダウングレードすることも検討したい。

今日の作業内容:証明検討 3h
今日のランチ:たちばな ヒラメ
明日の予測作業時間:3h


2013年4月17日水曜日

ちょっと進んだような気がする

最適解が一意でないのが問題になっていたが、その問題となっている点がうまく回避できそうなことが分かってきた。
次から次へと問題が現れつつ、それを綱渡りで乗り切っていく、といった感じになっている。
まだまだ時間がかかりそうだ。

今日の作業内容:証明検討 1h
今日のランチ:食堂  鶏の唐揚げチリソースがけ
明日の予測作業時間: 3h


2013年4月16日火曜日

定式化の問題

メールで問い合わせがきた内容で、定式化がうまくいくかどうかを検討している。

たとえば、x^T Q x は Q が正定値であれば凸である。
ところが、Q に 0 未満の固有値が含まれていても、||x||^2 = 1 が実行可能集合であれば、その上でのみ凸関数とみなせる。
こういったことがうまくできそうで、まだうまくできていない。
なかなかに難しいものだ。

短期目標:証明読み込みを木曜までに
今日の作業内容:定式化検討 2h
今日のランチ:食堂 蒸し豚胡麻ダレ
明日の予測作業時間: 1h


2013年4月15日月曜日

証明内容の再検討

先週考えたところで、最適解に一意性がないことがわかったので、そのあたりが証明にどう影響するかをチェックしている。
最適解の一意性は、参考にしている論文の中で証明を大幅に短縮する役割をもっており、これを外すと、やはりそれなりに広範囲に書き換えが必要になる。
もう少し検討が必要そうだ。

短期目標:証明の変更点を確認
今日の作業内容:証明の確認 2h
今日のランチ:らく まぐろのづけ丼
明日の予測作業時間:2h


2013年4月12日金曜日

解の一意性がなかった。。。

最近考えていた内容について、うっかり間違いがあって、最適解の一意性がないことがわかってしまった。

基本的には、最適解が一意の場合には、反復計算の点列がそこに収束することを示せばOKとなるが、最適解が一意でない場合には点列が収束するとは限らない。
このあたりをどう処理するかを検討する必要がありそうだ。

短期目標:証明の方針を再検討
今日の作業内容:証明読み込み 2h
今日のランチ:らく 鶏の照り焼き定食
明日の予測作業時間:3h


2013年4月11日木曜日

Riesz の定理と線形計画問題

Boyd と Vanderbeiの本に目を通していて気がついたが、Riesz の定理はLPなどによるモデル化でも重要である。
たとえば、目的関数が <c,x> と表現されるが、これですべての線形関数を表現できることが Riesz の定理で示される。
SDP の場合にも、<C, X> の C が対称行列だけであるが、これもすべての線形関数を表現できる。
このようなあたりに、Hilbert 空間での知識の蓄積を垣間見ることができる。

短期目標:証明読み直しを明日までに
今日の作業内容:証明のメモ書き作成 2h
今日のランチ:サイゼリヤ ほうれんそうのスパゲッティとドリンクバー
明日の予測作業時間:3h


2013年4月10日水曜日

違う分野との共同論文

今までほとんど SDP が使われていなかった分野の研究者がSDPの定式化を利用してくれたおかげで、共同で論文を書けそうなので、そのdraftをチェックしている。
専門用語などで違いがあるので辞書が手放せないが、違う分野の話なども見ていると、それはそれで興味深い点も多い。

短期目標:draft 書き足しを今週いっぱい、証明読み直しも今週いっぱい
今日の作業内容:draft チェック 3h
今日のランチ:味庵 ニラレバ
明日の予測作業時間:4h



2013年4月9日火曜日

Zorin OS 6.2 をインストールしてみた

Windows の操作感によく似た Linux という Zorin OS を試しにインストールしてみた。
Ubuntu ベースだけあって、インストール自体は非常に簡単にできる。
初期ログインのときに日本語にするための操作が始まるが、ubuntu 側のパッケージのバージョンが上がっていてファイル名が想定と異なり、日本語化はうまくいかず。
ここで、update manager でシステムを一度更新してから

http://netbuffalo.doorblog.jp/archives/3947601.html

に載っている内容で日本語にメニューなどを設定すると、一通りのものが日本語になった。

さっと触ってみた感じだと、Windows に似ている操作感なので、そのあたりは便利。
ただ、アプリケーションのリストが Ubuntu なので、そのあたりは慣れが必要。
でも、Mac よりも操作は分かりやすいかも。

短期目標:証明の読み込み
今日の作業内容:証明読み 1h
今日のランチ:食堂 ポークソテー和風ステーキソース
明日の予測作業時間:4h




2013年4月8日月曜日

復習も大事

ここまで読んできた論文の中でも、原論文に近いものを再度読み直して、分からないところを細かく取り除くようにしている。
今までは、いまひとつよく分からなかったところも、2時間ぐらい考えてよく分からなかったが、あとで歯磨きをしているときに分かったりする。
今回読んでいるものは証明が短いので、あともう少しで細かいところも取り除けそうである。

短期目標:証明読み切りを水曜までに
今日の作業内容:証明読み 3h
今日のランチ:シッダルータ エッグカレー
明日の予測作業時間:3h


2013年4月3日水曜日

証明の切り貼り

最近、複数の論文を並行して読んでいるが、少し困っているのは、どの論文も細かい誤りが含まれているようで、その誤っているところを別の論文で補正しながら読み進めている。
やはり、間違いのない証明の形にするだけでも、もう少しかかってしまいそうである。
(本来にしたいのは、それをベースに別のことを示す必要があるのだが。)


短期目標:もう一つの証明の方を読み込む
今日の作業内容:証明読み 3h
今日のランチ:シッダルータ チキンカレー
明日の予測作業時間:2h




2013年4月2日火曜日

証明をコツコツと読む

いま証明しようとしていることの、元になりそうな論文まで絞り込めたので、この論文の証明をコツコツと読んでいる。
やはり、1度か2度読んだだけだと、どのあたりがポイントなのか分からないので、何がポイントかを確認しながら読み直すことが重要そうだ。

短期目標:証明読みを今週中に
今日の作業内容:証明読み 3h
今日のランチ:味庵 坦々つけ麺
明日の予測作業時間:3h

2013年4月1日月曜日

octave のブーリアン演算子と短絡ブーリアン演算子

Matlab の場合は、論理演算の OR を繋ぐときには | のひとつでも || のふたつでもいいのだが、Octave の場合には、これが厳密に区別されるようだ。
例えば、

clear; X=3; if (X==3 || UNDEFINED_VALUE == 1 ); fprintf('yes\n'); end
は X==3 の時点で if が成立するので、UNDEFINED_VALUE については関係ない。
UNDEFINED_VALUEが定義されていなくても yes と表示される。
これが、

clear; X=3; if (X==3 | UNDEFINED_VALUE == 1 ); fprintf('yes\n'); enderror: `UNDEFINED_VALUE' undefined near line 11 column 24
の場合には、UNDEFINED_VALUE が定義されていないことが明示的にエラー処理される。

Matlab と Octave の両方を書くときには、 || の2本で書いておいた方が、とりあえずは無難である。


短期目標:収束についての論文を水曜までに読み直す
今日の作業内容:最適解の存在の証明 2h
今日のランチ:ハンバーグデミソース&ブラッツ&ペッパーチキン
明日の予測作業時間:5h