研究紹介

知能ソフトウェア研究室

研究テーマ

ソフトウェア工学と人工知能

image7

正しいソフトウェアをどうやって作るのか?

ソフトウェアは社会のあらゆる所に存在し,人命や財産に関わることもあるため,期待した動作をするか,安全であるかなど,その正しさを検証することは極めて重要ですが,実際にはもっとも難しい技術で,「ソフトウェア工学」の中心的な課題の一つです.
コンピュータへの命令の並び(プログラム)を解析し,どのような条件でどのような処理が実行される可能性があるのかを調べつくすことにより,「ブレーキを踏むと速度が必ず減少する」「いかなる場合も入力に対して必ず応答を返す」といった,期待される性質をソフトウェアが持つかどうかを調べることができます.
ここで問題なのは,ソフトウェアが「どのような場合も正しく動作する」ことを確認するのは,その「場合の数」が膨大となるため非常に困難なことです.この問題を解決するにはさまざまな困難を乗り越えるための知的な情報処理が必要となり,「人工知能」(AI)と呼ばれる分野の技術が解決のカギを握っています.最近話題になっているAIによる「自動運転」などを本気で実現しようとするならば,このソフトウェアの信頼性のハードルは普通の人が考えるよりもはるかに高く,ソフトウェアとAIの両方の専門家の高度な研究開発力が今後もかなり長期にわたって必要となるでしょう.

woman

人工知能を活用したソフトウェア開発

ソフトウェア開発に関係する最も強力な科学技術は,期待される性質をうまく工夫して数学的な「定理」として表現し,それを証明する手法です.この証明は,人工知能技術を用いて,コンピュータに自動的に行わせます.
特に重要な「数学的帰納法」では,自然数に関する定理を証明するために,
(1) 値が0の場合に成り立つこと
(2) 値がnの場合に成り立つならば,n+1の場合にも成り立つこと
の2点を証明することにより,「任意の自然数」という膨大な場合の数を調べつくすことができます.
この考え方をソフトウェアにおける「場合の数」について応用し,取り扱うデータも一つの自然数に限らず,(1次元の)文字列や(2次元の)画像や(さらに複雑な構造の)ウェブなど,現実の複雑な情報を扱えるようにすると,「任意の入力データについて」「任意の時間において」といった,さまざまな「場合」を極めて効率よく調べつくすことができます.

上で述べたことはソフトウェア工学と人工知能の研究テーマのほんの一部です。ソフトウェアを開発する技術はどんどん知能的な領域に進化しています.人工知能はさまざまな概念を機械的に「学習」したり「発見」することができ,その先にはきわめて多くの応用が広がっています。

[自己組織化ニューラルネットワークHi-GNGのデモ]

教員紹介

栗原 正仁
栗原 正仁 クリハラ マサヒト
役職
教授
専門分野
ソフトウェア工学、人工知能
趣味
4×400mリレー

私たちの日常生活は、すぐソフトウェアや人工知能の研究テーマになります。高価な装置を必要とせず、個人ですぐに行うことができ、独創的な発想で集中的に研究すると、学生でも世界に発信できる成果が得られます。

小山 聡
小山 聡 オヤマ サトシ
役職
准教授
専門分野
機械学習,データマイニング,情報検索,クラウドソーシング
趣味
音楽鑑賞、読書

情報理工学コースでの教育・研究内容は実社会との距離が近く、学生の皆さんが日頃情報システムを使う中で見つけた問題が、卒業論文のテーマに 繋がることがよくあります。 問題意識を持った学生の皆さんが情報理工学コースで勉強し、将来一緒に研究ができることを楽しみにしています。