2026年7月18日土曜日

DOxML2026に参加してみた

DOxML 2026 という discrete optimization と machine learning のワークショップがあって、これに参加してみた。

全部の発表を完全に理解できたわけではないけど、 面白い発表がいくつもあって良かった。たとえば、「BFGS の大域的収束」とかの話もあったりして、これはBB-stepの解析にも使ったりしたら面白そうだと思う。あとは、AI に関する計算とかもあって、例えば LLM の内部での最適化計算を高速化する手法とかあったり、そもそも「計算可能とは何なのか」とか、そういう話もあった。あとは Magic Square を超高速に計算する、とか、ネットワークの中でどのように影響力をあげていくか、っていう話もあった。

ふつうの国際会議だとパラレルセッションになって、どうしても自分の研究に近いところに行きがちだけど、こういう風にシングルセッションだと自分が普段は聞きに行かないような話もあって、非常に勉強になる。

とりあえず、A5ノートで30ページぐらいメモを取ったので、どれをより詳しく調べようか整理を始めたところ。

 

 

2026年7月16日木曜日

RAMP2023の原稿を読みなおしているところ

いま、RAMP2023の原稿を読み直しているところ。

いろいろと参考になるところが多くて、勉強になる。

 

論文っていうのは、手元に置いておくと、いつまで経っても再度読みなおせるところがいいところかと思う。

 

2026年7月6日月曜日

量子コンピュータでなぜ巡回セールスマン問題がうまく解けないか

 量子コンピュータで Ising モデルや QUBO に定式化して問題を解く、というときに例題として巡回セールスマン問題を定式化するのは良くあるパターンだと思うが、実際に「量子コンピュータで巡回セールスマン問題を上手く解けた」という話はあまり聞いたことが無い。

ちょっと調べてみたら、ちょっと面白い話があって、 

「物理現象で巡回セールスマン問題として定式化できるものがほとんどない」 

 というのがあった。確かに「N個の頂点を順番に巡る原子」とか、あまりイメージしづらい。

 

一方で、通常のコンピュータ(古典コンピュータ)に使われる電気とかも、「N個の頂点を順番に巡る電気」とかあまり聞いたことが無いので、上の話をそのまま鵜吞みにするのも良くないとは思う。ただ、量子コンピュータのほうが純粋な量子状態を維持する必要があるから、古典コンピュータほど人間が介入できないのかも、とは思ったりもする。

2026年6月12日金曜日

内点法の「証明」のプログラムを作ってみた

勉強の一環として、内点法の論文を参考に、内点法の「証明」のプログラムを作ってみた。

連続最適化関係だと first-order methods については既に証明のプログラムが存在するので、内点法で行ってみた。

現時点でやるのは、線形代数や基本的な解析のあたりをそれなりに自前で準備しなくてはいけないので、そのあたりが結構大変ではあるけど、プログラムとしては書くことができる。そのうちに、Mathlib などが整備されると、もっとスッキリとしたプログラムとして証明を書けるようになるかと考えられる。

 

2025年8月21日木曜日

sqrt(a^2+b^2) の計算の大変さ

ノルムを計算したりするときに sqrt(a^2+b^2) とプログラムを書いてしまうことがあるが、これをちゃんと精度よく計算する方法が

 An Improved Algorithm for hypot(a,b)
https://arxiv.org/pdf/1904.09481

で議論されている。 数値誤差に関しての議論は、こんな基礎のところにもあるんだな、と思ったりする。 

 

2025年8月7日木曜日

AIに国際会議で参加するべきセッションを挙げさせてみた

 7月に行われたICCOPTについて、参加する前の週に発表プログラムの中から自分が聴講するべきセッションについて挙げさせてみた。その感想を書いておく。

  1.  自分で選んだセッションと比較すると1/3から1/2ぐらいのオーバーラップがあったので、今後の性能しだいではセッションを自動的に選べるようになる可能性もあり。
  2. 日程4日間のうち、最初の2日間からしかセッションを選んでくれなかった。プログラムの読み込みが途中までしか行われなかったのかもしれない。 
  3. 「最近ご自身が行っている○○という研究に関するセッションです」と理由付きで挙げられていたセッションもあったが、この研究は今までにやったことが無かった。
  4. セッションのURLを自動的に反映するようにしたが、存在しないURLを指定されるところもあった。ただ、今回のICCOPTはビザの関係なのか分からないけど相当数の発表がキャンセルになったようなので、URLやセッションは過去のデータに実在していた可能性もある。
  5. 自分で選んだときに「あんまり関係ないかな」と思っていたけどAIが選んでいたセッションを聞きに行ってみたら、結構面白い内容のものもあったので、新しい研究テーマを探すのに使えるかもしれない。
  6. 聞きたい2つのセッションが同じ時間で片方しか聞けない場合には、「発表タイトルからどのような発表が行われると考えられるか」というのを聞いてみると「○○という論文をベースに発表を行われる」という回答があるときもある。これについては、その発表を聞いてないので正しいかどうかは分からない。

という感じで、現状としては使える部分もあれば使えない部分もある、というところ。セッションが実際に存在するかどうかは自分で確認する必要がある。

事前に試してみればよかったと思うのは「このセッションは何人ぐらい聴衆が来るか」と予測させること。どういったデータを元に予測するのか、というのは面白そう。

あと、ICCOPT ではプログラムなどがPDFではなくてウェブページにしかない状況だったので、これが一つのPDFとなっていたら情報がより上手く取り込めたのかもしれない。 

 

 

 

2025年2月8日土曜日

Julia の Possible method call error のバグを非表示にする

Julia を VScode で書いている場合、正しいコードにも関わらず、Possible method call error という警告表示がでることがあって、Githubのページを見るとバグとして起きているようです。

例えば、行列A,Bに対して

C = kron(A,B) 

とすると、kron に Possible method call error が付きます。

この場合、

# eslint-disable-next-line no-undef

C = kron(A,B) 

とすると、警告が消えます。no-undef は種類によって変更が必要かもしれません。