2018年4月23日月曜日

sharelatex の日本語入力がうまくいかない

ローカルなところにインストールした sharelatex だが、今までほとんど英語しか入力してなかったので気にならなかったが、日本語を入力しようとすると変な四角が出てきて、これがどうしたものか、というところ。

具体的には、
https://qiita.com/RAWSEQ/items/7f9fc0fd4b3d572856ed
にあるような Ace エディタで日本語入力するときのトラブルと同じ症状なのだけど、これを sharelatex で回避するにはどうしたらいいかが今一つよくわからない。

うーん、ローカルで CSS 制御すれば回避できそうだけど、それを調べるのも今のところは面倒だし、どうしたものか。

まぁ、その点を除けば sharelatex はとても良くできていて、やっぱり便利。

2018年4月19日木曜日

CPLEX の前処理をパズル感覚で楽しむ

最近、CPLEX で LP を解いているが、CPLEX の前処理が思っていた以上に優秀である。
例えば、A*x = b という等式制約を A*x <= b と (-A)*x <= (-b) と2つの不等式制約に分解すると一般的には内点がなくなるので、内点法では解きにくいはずである。しかも、A と (-A) が両方入ると行の線形独立も失われれる。
単純に内点法を組むとうまく行かない、という典型例なのだが、CPLEX だと前処理がきちんと働いて、それなりに数値的に安定して解ける。

ということで、CPLEX の前処理ではうまく処理できないような LP の例を簡単に作れないだろうか?ということを試してみているのだが、これがパズル感覚でなかなかに面白い。
単純に A と (-A) を入れるだけでなくて、もう少し細工をしたりすると CPLEX が CPX_STAT_NUM_BEST を返すようになる。

もっと単純な例で CPX_STAT_NUM_BEST を出せないだろうか?と、ついついいじり倒してしまう。

ただ、「こういう例で CPX_STAT_NUM_BESTを出せるよ」という例題をインターネットに公開してしまうと、CPLEX の開発者がうっかり見つけてしまって、それを回避してしまう前処理を入れてしまうかもしれないから、イタチごっごかもしれないけど。

2018年4月10日火曜日

台湾、進んでるなぁ

INFORMS の雑誌に台湾の AI とかブロックチェーンとかの話が載っていたのでパラパラと読んでみたけど、第一印象としては「台湾、進んでるなぁ」ということだった。

結構実用化に近いことをやってたりもしているようなので、重要な特許とかは先に抑えたりとかもしているかもしれない。(ブロックチェーンについては、特許を押さえるようにしている企業が日本の中にもある、というのを読んだ記憶がある。)
そうなると、こういった分野で基礎研究の論文とか書くにしても、特許と重なってないか、とかを慎重に調べる必要があるんだろうなぁ、と思ったりする。論文のデータベースで検索とかする時に特許の情報が一緒に掲載されたりということは見たことがないから、両方調べたりするのは大変そう。

AIとかブロックチェーンとかだと、台湾はこれから大きく発展していくのかもしれない、と思うような話だった。

2018年3月30日金曜日

Linux の screen が勝手に終了してしまうのを回避する

いつのころからか、Linux の screen コマンドや nohup コマンドがログアウトと同時に勝手に終了(あるいは切断)してしまっていて、困っていたのだが、今日になって調べてみたら systemd の変更に由来していることが分かった。

基本的な原因は
http://gihyo.jp/admin/clip/01/linux_dt/201605/30
にあるけれど、解決策としては、
http://blog.daionet.gr.jp/gami/server/systemd%E3%81%A8gnu-screen.html
にあるように
/etc/systemd/logind.conf 
に KillUserProcesses=No を書いて再起動すると screen や nohup が使えるようになる。

上記2つめの URL の記事だと No を書いただけだと反映されない、と書いてあったが、自分のところの設定では再起動してみたら反映されていた。この記事が書かれた後に、また設定の仕方に変更があったのかもしれない。


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分しかなかったけど、連続講演で細かいところも聞いてみたいところだった。
普段、論文を書いたりしていると、あまり経営などの視点を持っていないけど、こういう話を聞くと大局的なところも分かっていいかと思った。例えば、論文を推敲しているときも「この単語をこっちの単語に入れ替えたほうがいいだろうか?」など考えているときに、大局的なところがあると判断基準になったりするかと思う。

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

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