ITにおける発明的問題解決の理論

「発明的問題解決の理論」(TRIZ)という、発明を「ひらめき」に頼るのではなく「既存の発明を集めたデータベースから類似の問題とその解決方法を探すこと」で効率化しようという方法論がある。

簡単に説明すると、解決したい問題を「強度は増やしたいが重さは増やしたくない」などの「特性の矛盾」として表現する。そして既存の特許情報から同じ問題を解決しているものを探し、参考にするという仕組み。特性を39個に分類し、39x39のマトリクスから解決の典型的なパターン40個を調べる「矛盾マトリクス」などの補助システムがある。

しかし作られた時代が古いため(1946〜1969)、その後発展した情報技術に関する特性が不足している。ディスク容量や回線速度なんかが属性のリストにない。ディスク容量を「体積」に相当するとみなしていいのか?回線速度は何に相当するのか??

そういうわけで既存の「解決手法」を「何と何の矛盾を解決したかったのか」「何を犠牲にして何を改善しようとしたのか」で分類しなおしてみると有益なのではないかと思った。例えば記憶容量が足りないという問題を情報の完全さを犠牲にして解決する方法としては、JPEGなどの非可逆圧縮ブルームフィルタがある。

同じ事を目指している先行研究があるんだけども、ADSLマウスポインタやマウス自体の設計と一緒に「非対称性」に分類していて、違和感を覚える。回線速度を上げたいけども速度を上げると信頼性が落ちる、という矛盾を抱えた時に「非対称性」って言われて問題を解決できる気がしない。僕にはこれが「使用頻度の高いものにリソースを多く割り当てることで平均的性能を改善する」という方法に見える。ハフマン符号の仲間だ。

計算時間を減らしたい時には、記憶領域を犠牲にして「先に典型的な入力に対して計算しておく」などが考えられる。これは「先にやっておく」って切り口ではプリフェッチや投機的実行の仲間になりそうだし、「あとで使うために記憶領域を犠牲にしてとっておく」という切り口ではキャッシュやメモ化の仲間になりそうだ。

(思いつき次第書き足す)

参考文献

TRIZの参考文献としては図解TRIZが僕の持っている本で、評価も高いのだけども既に絶版。他の本はこちら:TRIZ検索結果