Julia 1.0 が8月上旬にリリースされていた。
早速インストールしてみたけど、まだまだ使える状態ではないので、Julia 0.6 か 0.7 のほうが良さそう。
Major version up ということで、言語仕様が変わっていて、周りのパッケージがまだ追い付いていない状況であって、さっきやってみた感じでは CPLEX のパッケージなどは使えない。
(いままで is_linux() とかだった関数が Sys.islinux() などに変更になっていたりする。)
あと、Pkg もデフォルトでは import されていないので、
import Pkg
と明示する必要があるようだ。
他にも、いろいろとバグがあるようで、例えば、変数のスコープがおかしくなっているようで、
a = 0; for i=1:3; a += i; end
が実行できない。(0.6 では、もちろん実行できる。)
そのうちに、細かいバグが修正されていくのかもしれない。
2018年8月22日水曜日
2018年8月8日水曜日
ISMP2018の甘い思い出
2018年8月3日金曜日
アインシュタインの言葉
http://www.mathcs.emory.edu/~vicki/preprint/PsdSosSurvey.pdfのファイルに引用されている言葉に
"In theory, theory and practice are the same. In practice, they are different. - A. Einstein"
というのがあって、「数理最適化もその通りだなぁ」、と思ったりする。
良くあるのは、論文でアルゴリズムでは収束することが証明されているのに、実際にプログラムを作ってみると全然収束しないパターン。
アルゴリズムが証明されることとアルゴリズムが動作することは、結構大きな差があって、非負多項式と Sum of Squares の差なんて小さいもの、と思ったりもする。
アインシュタインの言葉の中には別の本に載っていたものを数理最適化の言葉で考えると「最適化問題は双対問題で考えたほうがいいよ」みたいなもの(実際には、相当別の言葉で書いてあるけど)があって、すごい洞察力だなぁ、と思う。
"In theory, theory and practice are the same. In practice, they are different. - A. Einstein"
というのがあって、「数理最適化もその通りだなぁ」、と思ったりする。
良くあるのは、論文でアルゴリズムでは収束することが証明されているのに、実際にプログラムを作ってみると全然収束しないパターン。
アルゴリズムが証明されることとアルゴリズムが動作することは、結構大きな差があって、非負多項式と Sum of Squares の差なんて小さいもの、と思ったりもする。
アインシュタインの言葉の中には別の本に載っていたものを数理最適化の言葉で考えると「最適化問題は双対問題で考えたほうがいいよ」みたいなもの(実際には、相当別の言葉で書いてあるけど)があって、すごい洞察力だなぁ、と思う。
Julia で単項式列挙
多項式の単項式を列挙するのは結構面倒で手間暇がかかるけど、Julia だと
@polyvar x[1:4]
for i in multiexponents(4,3); println(prod(x.^i)); end
という感じでx_1,x_2,x_3,x_4 の3次の多項式を列挙できる。
(もちろん、Combinatorics などの Package はあらかじめインストールする必要があるけど。)
実行すると
@polyvar x[1:4]
for i in multiexponents(4,3); println(prod(x.^i)); end
という感じでx_1,x_2,x_3,x_4 の3次の多項式を列挙できる。
(もちろん、Combinatorics などの Package はあらかじめインストールする必要があるけど。)
実行すると
julia> for i in multiexponents(4,3); println(prod(x.^i)); end
x1^3
x1^2x2
x1^2x3
x1^2x4
x1x2^2
x1x2x3
x1x2x4
x1x3^2
x1x3x4
x1x4^2
x2^3
x2^2x3
x2^2x4
x2x3^2
x2x3x4
x2x4^2
x3^3
x3^2x4
x3x4^2
x4^3
となる。
2018年8月2日木曜日
日本、遅れすぎなのでは?
NHKのニュースサイトに
「電気自動車や電動バイク 充電時間短縮へ“電池交換式”に注目」
https://www3.nhk.or.jp/news/html/20180730/k10011555551000.html?utm_int=news_contents_news-main_006
という記事があるが、これに出てきている Gogoro は台湾で実物を見たときに確かに良くできていると思った。
あと、街中でもそれなりに見かけたし(見分け方を教えてもらったので、簡単に Gogoro の電動バイクなのか見分けられるようになった)、Gogoro のショップの前を通るときに電池交換をしている人も多かった(電池交換自体は、コンビニでコーヒーを買うよりも短時間でできる)。
IT関係などを中心に台湾は日本よりも5年ぐらい先に行ってるのかも、と思う。
似たようなところでは、バイクシェアリングのサービスも台湾は便利になっていて、東京も台湾式を取り入れたほうがユーザーにとってはメリットがあるのでは?と思うぐらい。
国際学会で訪れたことのあるバンクーバーやボルドーと比べても、台湾のIT関係の進み具合は強い印象があって、日本も参考になるところが多いな、と個人的には思っている。
「電気自動車や電動バイク 充電時間短縮へ“電池交換式”に注目」
https://www3.nhk.or.jp/news/html/20180730/k10011555551000.html?utm_int=news_contents_news-main_006
という記事があるが、これに出てきている Gogoro は台湾で実物を見たときに確かに良くできていると思った。
あと、街中でもそれなりに見かけたし(見分け方を教えてもらったので、簡単に Gogoro の電動バイクなのか見分けられるようになった)、Gogoro のショップの前を通るときに電池交換をしている人も多かった(電池交換自体は、コンビニでコーヒーを買うよりも短時間でできる)。
IT関係などを中心に台湾は日本よりも5年ぐらい先に行ってるのかも、と思う。
似たようなところでは、バイクシェアリングのサービスも台湾は便利になっていて、東京も台湾式を取り入れたほうがユーザーにとってはメリットがあるのでは?と思うぐらい。
国際学会で訪れたことのあるバンクーバーやボルドーと比べても、台湾のIT関係の進み具合は強い印象があって、日本も参考になるところが多いな、と個人的には思っている。
2018年7月26日木曜日
ISMP2018に参加してきた
もう3週間ぐらいたっているけど、ISMP2018に参加してきたので、その感想などを思いつくままに書いてみる。
1.初日の semi plenary は人があふれてた。
初日は一番参加者が多いということで、最初の plenary で 1000 人以上来ていたように感じたけど、semi plenary が2パラレルでも2教室で500席もない状態で、思いっきり溢れる参加者。
まぁ、local committee が人数予測を間違った、というところだと思うけど、この程度のことは参加している側からすれば大目に見るべき範囲かな、と思ったりしている。
むしろ、今回の ISMP ではどの plenary とかを聞きに行きたいかを事前にデータとして取るという試みがあったわけであって、データマイニングだったり機械学習だったり数理最適化だったりの研究者がサポートできた問題。
2.セッション内容、面白かった。
plenary とかは Math Prog に載っているので聞きに行かなくても情報は簡単に手に入るけど、小さいセッションの話はインターネットだけではたどり着けない情報や新しい論文の話もあったりするので、とても面白かった。
あと、ISMP は機械学習関係のアルゴリズムも発表されていたけど、世の中のディープラーニングとかで実用化が急速に進んでいるところを考えると、なんか時代の移り変わりというものを考えさせるような気もする。
個人的には、SDP の数値関係とかの話が面白かった。
あとは、交通関係の最適化で derivative free を使っていたのは、まったく別分野の最適化問題にも応用が利きそうなので、発想が面白かった。
いちおう、聞いてきて面白かった内容などは15件ぐらいメモ書きにして残してある。
あと、量子情報関係の内容も増えてきて、数理最適化分野における次のブームになるのかも、と思ったりする。
3.会計
学会全体で会計が黒字だったか赤字だったのか気になったりもするけど、今回は学会の様子から、どっちだったかはだいたい検討がつく。
4.悲喜こもごも
受賞関係で人づてに色んな情報が耳に入ってきたりする。人づてなので正確かどうか分からないけど、有名な先生とかもそれなりに苦労してるんだろうなぁ、と勝手に想像したりする。
5.フランスも日本とあんまり変わらない人がいる
ISMP2018の最終日にワールドカップの試合でフランスが勝ったということで、街中にはクラクションを鳴らして走る車があったりで、こういうので騒いだりするのは日本とあんまり変わらないなぁ、と個人的に思う。
6.トラム、楽しい
5日間フリーパスでトラムに乗っていると駅名とか覚えるし、ダイヤがどう組まれているかも覚えるし、なかなかに楽しい。
そんでもって、「もう地図がなくても、だいたいの場所は行けるぞ!」ってなった頃に離れないといけないのが、なかなかに寂しい。
7.カヌレ、うまい
さすがカヌレ発祥の地。日本でもコンビニとかで買えるようになってほしい。
と、書いてみて5-7は ISMP というよりもボルドーのことだった。
そういえば、次回の ISMP は北京って案内が出ていた。
1.初日の semi plenary は人があふれてた。
初日は一番参加者が多いということで、最初の plenary で 1000 人以上来ていたように感じたけど、semi plenary が2パラレルでも2教室で500席もない状態で、思いっきり溢れる参加者。
まぁ、local committee が人数予測を間違った、というところだと思うけど、この程度のことは参加している側からすれば大目に見るべき範囲かな、と思ったりしている。
むしろ、今回の ISMP ではどの plenary とかを聞きに行きたいかを事前にデータとして取るという試みがあったわけであって、データマイニングだったり機械学習だったり数理最適化だったりの研究者がサポートできた問題。
2.セッション内容、面白かった。
plenary とかは Math Prog に載っているので聞きに行かなくても情報は簡単に手に入るけど、小さいセッションの話はインターネットだけではたどり着けない情報や新しい論文の話もあったりするので、とても面白かった。
あと、ISMP は機械学習関係のアルゴリズムも発表されていたけど、世の中のディープラーニングとかで実用化が急速に進んでいるところを考えると、なんか時代の移り変わりというものを考えさせるような気もする。
個人的には、SDP の数値関係とかの話が面白かった。
あとは、交通関係の最適化で derivative free を使っていたのは、まったく別分野の最適化問題にも応用が利きそうなので、発想が面白かった。
いちおう、聞いてきて面白かった内容などは15件ぐらいメモ書きにして残してある。
あと、量子情報関係の内容も増えてきて、数理最適化分野における次のブームになるのかも、と思ったりする。
3.会計
学会全体で会計が黒字だったか赤字だったのか気になったりもするけど、今回は学会の様子から、どっちだったかはだいたい検討がつく。
4.悲喜こもごも
受賞関係で人づてに色んな情報が耳に入ってきたりする。人づてなので正確かどうか分からないけど、有名な先生とかもそれなりに苦労してるんだろうなぁ、と勝手に想像したりする。
5.フランスも日本とあんまり変わらない人がいる
ISMP2018の最終日にワールドカップの試合でフランスが勝ったということで、街中にはクラクションを鳴らして走る車があったりで、こういうので騒いだりするのは日本とあんまり変わらないなぁ、と個人的に思う。
6.トラム、楽しい
5日間フリーパスでトラムに乗っていると駅名とか覚えるし、ダイヤがどう組まれているかも覚えるし、なかなかに楽しい。
そんでもって、「もう地図がなくても、だいたいの場所は行けるぞ!」ってなった頃に離れないといけないのが、なかなかに寂しい。
7.カヌレ、うまい
さすがカヌレ発祥の地。日本でもコンビニとかで買えるようになってほしい。
と、書いてみて5-7は ISMP というよりもボルドーのことだった。
そういえば、次回の ISMP は北京って案内が出ていた。
2018年7月4日水曜日
エルデシュ数の最小化はどうすればできるのか?
あんまり意味のある話題ではないけど、「エルデシュ数のような数を最小化するには、どのように共著者を増やしていくべきか?」というのが頭の中に浮かんで、なんだかよくわからない状態になっている。
「どういう論文を書くべきか?」という話なのではなくて、「グラフ最適化問題として定式化したときにどうすると最適解が得られるとかあるんだろうか?」という話。より正確には、共著者を n 人までとしたときに、エルデシュ数の最大値 k を最小化するにはどうすればいいのか?という話。
単純に考えると「その時点でエルデシュ数が最大の人と共著すればよい」というような greedy なアルゴリズムがパッと浮かぶけど、果たしてそれで最適な解が得られるのか?のか、それとも、ちゃんと反例が浮かぶのかどうか、も気になる。
また別に単純に考えても、NP-hard な気がする。
例えば、ビジネスの世界だと人と人をつなげる人というのは重要だろうから、こういう計算ができるのは、それなりに意味があるようにも思う。
たぶん、「●●問題」とか名前のついている最適化問題に定式化できるんだろうなぁ、と推測はしている。
「どういう論文を書くべきか?」という話なのではなくて、「グラフ最適化問題として定式化したときにどうすると最適解が得られるとかあるんだろうか?」という話。より正確には、共著者を n 人までとしたときに、エルデシュ数の最大値 k を最小化するにはどうすればいいのか?という話。
単純に考えると「その時点でエルデシュ数が最大の人と共著すればよい」というような greedy なアルゴリズムがパッと浮かぶけど、果たしてそれで最適な解が得られるのか?のか、それとも、ちゃんと反例が浮かぶのかどうか、も気になる。
また別に単純に考えても、NP-hard な気がする。
例えば、ビジネスの世界だと人と人をつなげる人というのは重要だろうから、こういう計算ができるのは、それなりに意味があるようにも思う。
たぶん、「●●問題」とか名前のついている最適化問題に定式化できるんだろうなぁ、と推測はしている。
登録:
投稿 (Atom)

