2018年3月28日水曜日

研究集会に参加してきた

今日は政策研究大学院大学での研究集会に参加してみて、あまり長い時間はいられなかったけど、どれも面白い話だった。

まずは、SDPで主問題と双対問題の両方に内点がないような問題で、その場合には「ほぼ確実に」双対ギャップがある、という話だった。
面白いのは、元の主問題を摂動した SDP の目的関数値は双対問題の値に近くなる、ということだと思う。つまり、摂動SDPの最適値と双対問題の間にあるギャップが分かれば、双対問題の値を求められるわけで、内点法では解けないような問題が解けるようになるかもしれない。

あと、クラスタリングの方法は、ある基準を満たせば凸計画問題で最適なクラスタリングができる、という理論的側面の話があった。
この基準について、どれくらいタイトなのか、というところが分かると、さらに面白いなぁ、と思う。つまり、その基準に使っている値よりも少しでも大きいと最適でないクラスタリングが作れるかどうか、ということ。

もう一つは機械学習系の DC アルゴリズムの話で、こちらの数値実験は精度が 10^{-5} ぐらいの緩いところでは matlab の fmincon よりも速い、という話だった。ただ、matlab の fmincon は汎用ソルバーなので、Lipshitz 条件を満たさない関数でも扱えるはずだから、fmincon よりも速い、というのは妥当なところかと思う。
個人的には、||x||_0 <= k の制約を ||x||_0 = k にも置き換えられたら、もっといろんな問題も解けるなぁ、と思ったり、あとは停留点だけでなくて Robinson 条件とかも満たしているかどうか調べると面白そう、と思ったりした。


やっぱり、たまに他のところで話を聞いてくると、いろいろと思いついたりでいいなぁ。

2018年3月24日土曜日

「最適解に収束しない最適化アルゴリズム」ってないだろうか。。。

いまひとつ矛盾しているように思えるかもしれないけど
「最適解に収束しない最適化アルゴリズム」
がどこかにあったりしないか、探してみて早1か月。
これが当然のことながら見つからない。

内点法にしても first-order method にしても、「最適解に収束します」っていう証明はありふれているけど、「最適解の近くにたどり着けます」っていう証明はあんまりなかったりする。要するに、最適解の10%ぐらいのところまでたどり着けば十分なことは実際には多いけど、そういった実用と数学的な証明は噛み合ってなくて、そのギャップをなんとか埋められないかな、と思ったりもしているところ。


2018年3月19日月曜日

三菱総研の不思議

この前に三菱総研の常務理事の講演会があって、これを聞いてきたけど、三菱総研でどういったことに注力しているか、など聞くことができてとても面白かった。時間は90分しかなかったけど、連続講演で細かいところも聞いてみたいところだった。
普段、論文を書いたりしていると、あまり経営などの視点を持っていないけど、こういう話を聞くと大局的なところも分かっていいかと思った。例えば、論文を推敲しているときも「この単語をこっちの単語に入れ替えたほうがいいだろうか?」など考えているときに、大局的なところがあると判断基準になったりするかと思う。

あと、もうひとつ面白いと思ったのは、「次のイノベーションはどこの分野に起こりそうか」ということを、ある程度はロジカルに見出すことができるということだった。その根拠も確かに聞いてみるとその通りで、目から鱗な感じだった。

それで何晩か考えてみて不思議なのは、「次のイノベーションがどこにあるかわかるのに、三菱総研にイノベーションのイメージがついてこないのはなぜ?」というあたり。ベンチャーと連携したり、とかやっているという話もあったけど、社外と連携するよりも社内でやったりする方が小回りとかも利くようなするのに、そういうわけでもない。
こういうときに「何が足りてないんだろうか?」とか考えるのも勉強の一つになりそうだ。

2018年3月10日土曜日

sharelatex は日本語変換もリアルタイムで同期しているのか~

最近試している sharelatex だけど、非常に面白いことに日本語変換もリアルタイムで同期されている。

たとえば、2台のPCでとなりあってやっているときに、片方のPCで「日本語変換」も「日本語へんか」とか途中まで入力すると、それがもう片方の PC に表示される。カーソルの位置がどこにあるかもわかるので、「他の人がこのあたりを編集しているから、自分は別のところを編集していよう」とかが簡単にできるようになっている。

TeXstudio とか TeXshop とかには、もう戻れないかも。

2018年3月9日金曜日

TeX の \c, \l をどうにかする

TeX には \c, \l など一文字からなるコマンドがあって、非常に迷惑だったのだが、これを回避できる方法があることが分かった。

そもそものところからいうと、\a, \b, \c などを a, b, c などのベクトル表記だったりに充てようとすると \c や \l の内容を上書きする必要があって、この場合にヨーロッパのアクセントに使うべき \c, \l を回避できずに参考文献などで困ってしまう。

こういった場合は
\let\strokel\l
として \strokel にオリジナルの \l を控えさせておいて、それから\rewcommand で \l を再定義すれば回避できる。

今回の内容では
https://tex.stackexchange.com/questions/154067/new-command-and-l-with-stroke
が参考になった。


ただ、参考文献の著者名とかにウムラウトとか必要か?と言われると、そもそも論としては疑問も残るもの。もちろん、著者名を正確に表現できた方がいいのは当然にしても、それだったら漢字やハングルの著者名だって、そのまま表現できるべきであるわけで、まぁ、そのあたりは学術雑誌もちゃんとグローバル化されているわけじゃないんだよね、ってことなのかもしれない。


2018年3月6日火曜日

sharelatex がすごい便利

最近、sharelatex をローカル環境にインストールして使い始めてみている。
(オンライン版もあるので、そっちのほうが簡単だとは思うのだけど、そっちは使わずにローカルにインストールしている。)

ローカルの環境で TeXLive をフルに入れると docker のイメージファイルが 8GB くらいになったりもするし、docker をどうやって使ったらいいか勉強するのが手間ではあったけど、TeX のソースファイルを書く上では、TeXWorks, TeXstudio, Emacs, Atom とかよりも軽快で便利。

特に便利なのは、TeX の構文チェックをリアルタイムで行ってくれるところ。
TeX だと \begin で始まったのが \end で終わってないとコンパイルエラーになるけど、どこでエラーになるのかログを見ただけだといまいちわからなくて、このエラーが結構大変。
でも、sharelatex だと \begin を入れると \end が入っていない場合に赤くなるので、簡単に異常な状態が分かる。ついでに $$ も同様に分かりやすい。
これのおかげでコンパイル回数もだいぶ削減できて、SDD に優しい環境のような気がする(最初に 8GB も使ってるけど)。




2018年2月11日日曜日

Knuth 以上の天才なんじゃないだろうか

Knuth といえばアルゴリズムを勉強したことがあるような人なら誰でも知っている超有名研究者なわけだけど、TeX の基礎を創った開発者としても超有名。

その Knuth を超えるんじゃないか、と個人的に思うのが
http://www.kabipan.com/densan/article.html
の内容。
簡単にいうと、TeX の主要な機能である自動番号付けと相互参照を Java Script で作ってしまう、というもの。
しかも、世の中には Mathjax もあるし、Java Script で bibtex も処理できてしまうようだし、TeX で作られている論文の9割以上は TeX をインストールしなくても HTML + Mathjax + Java Script で、論文としての読むに堪えるものは再現できるのではないかと思ってしまう。(というか、オンラインで論文を読んでいるときには、最近ではほとんどの機能がそうやって再現されているみたいだし。)


まぁ、こういうのが気になっているのも、そもそも TeX が衰退してきているなぁ、と感じるところにある。
https://www.slideshare.net/iesli/20141108-senooken-tex
によると TeX, LaTeX などの検索回数は 1/3 程度に減ってきているようで、世界の研究者の数が1/3に減ったりしてはいないだろうから、TeX は新しい研究者には支持されていない、ということを示唆しているのではないかと思ったりする。

TeXLive はインストールすると 2.5 GB 以上の容量があるし、Android などのタブレットやスマホへの移植も進んでいない。
PC でのコンパイルも、PCそのものの性能は向上しているけど、TeX 処理系が遅くなっていて、10年前のほうが高速にコンパイルできたんじゃないか?って思ったりするほど。

それだったら、いっそのこと、HTML + Mathjax + Java Scriptで作ってしまった方がいいのではないかと思う。
これならブラウザが動いていれば CJK の問題もブラウザが吸収してくれるし、開発する部分は100MBもないだろうから(1MB でも主要な機能の9割はいけるのでは?)、少ない人数でも十分に開発できるかもしれない。
エディタとブラウザがあればいいから、Android や Chromebook などでも十分に論文を書けると思う。TeX の挫折理由の一つであるインストールも簡単になるだろうから、挫折する人は減るだろうし。