問題を定義してそれを解決する

世の中にはいろんな問題があって、それを解決しようといろんな人が取り組んでいる。

しかし、問題設定の方法というのは人それぞれである。そして、その問題が本当に重要な問題なのか、あんまり大した問題ではないのか、ということも大切である。というか、重要な問題を適切に抽出することが一番大事ではないかと思う。

いまやってる研究は最終的にはプログラミングというそこそこ形あるものに応用されるものではあるが、理論の部分は非常に抽象的で、なにが定義なのか、なにを公理として認めているか、どこを仮定してどこを正しいと証明するか、いつもこんがらがる。

こんがらがったときに先生に言われるのは「定義というのはどんな定義をしても自由」という話である。そう、定義というのは「こう決めます」と宣言するもので、それ自体は自由である。それでも、まっとうな定義とそうでない定義があるのは、定義したときによい性質がみつかったり、そうでなかったりするからである。

話を最初のところに戻して、具体的な例を考える。例えば「今夜の晩御飯が決まらない、それが問題だ」という問題設定・定義はありうる。定義するのは自由だ。しかし、この定義がまっとうかどうか、仮にこれを解決したことで社会に大きく意味があるかどうか、というのはまた別の話である。

といったようなことを最近ぼちぼち考えている。