Research

はじめに

このページでは,主に鶴岡高専の学生を対象に,卒業研究や研究室配属を検討する際の参考となる情報を掲載しています. 私の最近の研究テーマや専門的な研究内容については,英語版の Research ページをご覧ください.

鶴岡高専の学生へ

以下の内容を見ると難しそうに感じるかもしれませんが,配属後に一緒に勉強していけば大丈夫です. 面白そうだなと感じたら,気軽に相談に来てください.

どのような分野を研究するのか

研究のキーワードにあげている「数理最適化」の中でも,私は連続最適化を専門としています. 以下では,連続最適化とは何かを紹介したあとに,アルゴリズムや応用例について簡単に触れます. また,卒業研究では,私自身の専門分野に直接関連するテーマだけでなく,オペレーションズ・リサーチ の考え方を活用したテーマも扱いたいと考えています.そちらについても簡単に触れたいと思います.

よくわからない言葉が出てきても,詩を読んでいるのだと思って頑張って読んでいただけたらと思います. 卒業研究をまとめる段階でも詩のように感じられるとそれはそれで問題ですが....

連続最適化について

与えられた制約条件のもとで,目的関数を最小にする解を求める問題を最適化問題といいます.最適化問題は例えば

$$ \begin{array}{ll} \underset{\boldsymbol{x}\in\mathbb{R}^{d}}{\operatorname{minimize}} & f(\boldsymbol{x}) \\[0.4em] \operatorname{subject to} & \boldsymbol{x}\in\mathcal{S} \end{array} $$

と記述されます.ここで,\( f \) は目的関数,subject toは満たすべき制約条件を表し,\( \mathcal{S} \) は制約集合です. \( \boldsymbol{x} \)が実数値をとるような最適化問題を連続最適化問題といいます. 連続最適化問題はノイズ除去や曲線フィッティングの問題に応用できます.それらは

\begin{equation} \label{eq:optimization} \begin{array}{ll} \underset{\boldsymbol{x}\in\mathbb{R}^{d}}{\operatorname{minimize}} & f(\boldsymbol{x}) + g(\boldsymbol{x}) \end{array} \end{equation}

と定式化されます.ここで, \( f,g \) は凸関数です. 実際に式\eqref{eq:optimization}に定式化されたノイズ除去の問題にアルゴリズムを適用した結果が以下になります.

連続最適化を用いた画像のノイズ除去結果

また,式\eqref{eq:optimization}を解くためのアルゴリズムとして近接勾配法やその加速化法が知られています. それらのアルゴリズムと統計の問題に対する数値実験については こちら を参照してください.

オペレーションズ・リサーチについて

オペレーションズ・リサーチとは,現実社会における様々な問題に対して, 科学的な手法を用いて問題解決や意思決定を支援する学問分野の一つです. 例えば,代表的な問題として クラス編成問題ナップサック問題 があげられます. オペレーションズ・リサーチが実社会でどのように活用されているかを知るために,日本オペレーションズ・リサーチ学会では,ORの様々な応用事例を紹介する資料 「ORを探せ!」を公開しています. 卒業研究のテーマを考える際の参考にもなると思いますので,興味のある方はぜひご覧ください.

日本オペレーションズ・リサーチ学会 ORを探せ!

配属後について

配属後は,以下のような研究に必要となりそうな内容について学びます.

  1. Git / GitHub の基本
    とある調査で一番使われていると噂のバージョン管理システムです.卒論提出間際にパソコンが壊れても大丈夫なように勉強します. 加えて,就職後にも使えるかもしれないので,勉強します.勉強はしますが,卒論の際に活用するかどうかは本人の自主性にお任せします.
  2. LaTeX の基本
    LaTeXは,レポートや論文などを作成するための組版システムです. 特に,数式を綺麗に記述できます. ObsidianやNotionでお馴染みのMarkdown文章に数式を埋め込む際にも利用できます.
  3. 最適化問題の基礎
    最適化問題の例や基礎的な知識を学習します.例えば, の一部を読んでいくことを想定していますが,その都度相談して内容を決めたいと思っています.

基礎を学んだ後は,興味のある分野や取り組みたい内容について面談を行い,卒業研究のテーマを決定します.

冒頭でも述べましたが,配属時点で数学やプログラミングに自信がなくても大丈夫です. 研究に必要なことは,配属後に一緒に学んでいきましょう.

卒業研究のテーマ例

卒業研究では,テーマに応じて数値実験を行います.数値実験では,例えば,次のようなことに取り組みます.

  • アルゴリズムの性能評価
  • 実データや実問題への応用

数値実験は Python で行うことを想定していますが,別のプログラミング言語を用いても構いません. 以下に具体的なテーマ例を示しますが,あくまで一例です.先ほど示した ORを探せ! を元にテーマを提案していただいても構いません.

連続最適化に関するテーマ例

  • 連続最適化アルゴリズムの応用
    例えば,
    • ノイズ除去
    • 統計
    • 制御理論
    といった問題に複数の連続最適化アルゴリズムを適用して,収束性や繰り返し回数などを比較します
  • パラメータの影響の調査
    アルゴリズムには,ステップサイズに代表されるようなパラメータが存在し,それらがアルゴリズムの収束性に影響を与えることが知られています. これらについて,パラメータを調整していき,収束性がどのように変化していくのかを調べます.
  • 加速化法の検討
    アルゴリズムの加速化を目的とした拡張方法が知られているので,それらを数値実験にて評価します.

その他のテーマ例

  • Gale–Shapley アルゴリズムの応用
    安定マッチング問題を解くためのアルゴリズムとして知られており,研修医配属や学校選択制度などに実際に応用されています. 卒業研究では,高専における様々な割当問題への応用についても検討します.
  • トーナメントの作成
    スポーツ大会のトーナメントを対象に,公平性などを考慮した対戦表の作成方法について検討します.
  • 割引クーポンキャンペーンの効果最大化
    クーポンの配布方法を工夫し,キャンペーンの効果を最大化する方法について検討します.

研究を進めるにあたって

  • このページを読んでみようかなという程度の積極性があると嬉しいです
  • 徹夜を前提とした作業はご遠慮ください
    • 計画的に作業を進めましょう
  • 困ったことがあれば早めに相談してください
  • 私の記憶力を信用しないでください.
    • 適切なタイミングでリマインドをしてください.
    • 適切なタイミングがわからない人は相談してください.