拝啓 半導体エンジニアさま(21) ―― 因果関係から考える「設計」という仕事の本質

ジョセフ 半月

tag: 半導体

コラム 2011年2月 1日

 思えば結構長く設計関係の仕事にたずさわっているのですが,経験の浅いころは,設計におけるプロセスの「いいかげんさ」を感じていました.実際,プロセスの「いいかげんさ」に便乗して,本当に「いいかげんな」設計を行っていたのではないかと反省もしています.

 ここで言う「いいかげんさ」というのは,物理などの自然科学の手法と対比して感じていたものです.自然科学では,基礎として一般的な法則や原理といったものがあり,特殊化する場合は,そこから整然と論理的に演繹されていきます.これに対して,設計(あるいはエンジニアリングと言い換えても良いのだが...)は,場合に応じて自然科学の法則を使い,「科学」のふりをすることがあるくせに,経験則とか,十把一からげの丸め込みを行うことも多く,ときには勘に頼る場合まであって,「いいかげん」だなぁ,と感じていました.

●「設計」のプロセスは「科学」とは逆

 結論から言うと,その理解は浅はかだったのですが,かといって設計が自然科学的な手法で整然と出来ているとは思いませんし,また経験則や勘を否定する気もありません.設計は,自然科学の各種法則からは逃れられないプロセスであり,その中で考えることになるので,局所的には自然科学と同じプロセスを踏むことになります.しかし,大きく見れば科学とは逆のプロセスなのだと思います.

 科学の場合,特殊な事例から一般化,抽象化の道をたどって一般的な法則を導きだし,逆にその法則から各種の特殊な事例を説明していきます.普通は,因果関係の流れにそって考えていくプロセスであって,「因」が決まれば,「果」はそこから逃れようがなく,必然的に決まります.「因」に対して思ったような「果」が出てこないとしたら,別の因果関係が重なっているのが考慮されていないか,または因果関係を説明する法則が間違っていると考えられます.

 設計の場合,因果関係の「果」の方を先に決めてしまうことが多いと思います.それが目標となる「仕様」です.人が勝手に,通常はビジネス上の理由から決めてしまう「結果」です.自然科学的な演繹の結果としてもたらされたものではありません.ですから,しばしば経験するように,設計を行っている最中に「果」が変化してしまうこともあります(多くは,顧客やマネージャの気が変わったことに起因するが,ときには「物理的に不可能」な仕様を掲げていた,といったこともある).

 つまり,先に結果があり,その結果を満たすためにどのような因果関係を構築していったらよいかを設計者は考えなければならないわけです.カスケードな因果関係を考えていって,最終的に全て「既成」の「因」にまでたどりついたところで設計というプロセスは完了します.

●結果にたどり着く経路は無数にある

 当然,それぞれの因果関係は自然科学の各種法則からは逃れられないのですが,設計というプロセスの玄妙さは,結果や中間結果にたどり着く過程で,どのような因果関係を持ってくることもできる,という点にあります.まったく同じ結果を得るのに,アナログ的な手法もあり,ディジタル的な手法もあり,また電子的な手法でも実現でき,機械的な手法でも実現できる,ということです.当然,ディジタル的な手法の中にも数限りない解法があり得る,ということはお分かりいただけるでしょう.

 可能性という点だけ見ると,ほぼ無限の選択肢があります.そのような多数の選択肢の中から,主として経済性(これには単純なコストだけでなく,設計時間や道具,設計者の得手不得手まで含む)を考慮して,どの経路をたどるかを決めていくのが設計というプロセスなのだと思います.

 そこでついつい「最適な経路」を選択する,と言いたくなりますが,それも正しくありません.無限にある経路の中から「最適な経路」を見つけようとすると,一般に「無限の時間」がかかります.そのため,通常の設計では「局所的な最適解」をもとにトレードオフ評価を行い,先に進んでいきます.それどころか,「局所的な最適解」でもなんでもない条件で,よく言う「エイヤ!」という判断でやっつけてしまうこともままあります.

 ともかく因果関係を満たせさえすれば,結果は着いてくるのです.大局さえ見誤らなければ,影響の少ないところはさっさと箱にしまってしまい,問題を左右する要因の数を減らし,そのかわり特定の部分をきっちり合わせ込むといった技を使うわけです.

●可能性の探索をばっさり刈り込んだその果てに...

 普段の設計の場合,出発点となる「因」のいくつかが決まっていたり,途中の経路のいくつかが決まっていることが多いと考えられます.それを決めているのは,多くは過去の蓄積です.自分なのか,ほかの誰かなのかは別として,すでに箱にしまわれてしまっているもの,と言ってもよいでしょう.

 そのルートが確立している場合,さも自然科学同様に因果関係を順に追いかけて作れるような錯覚を持つことがあります.日付け入りのスタンプを押すように,ちょっとホイールを回すだけで次々と設計できるので「効率」的ではありますが,それは可能性の探索をばっさり刈り込んでしまった結果だということを理解しておかなければなりません.

 結果に近づくにも,いろいろな方向があり得るのです.東から近づくのか,南から近づくのか,同じポイントにたどり着いたとしても,たぶん東から近づいたものは西へ向かおうとするし,南からなら北へ向かおうとします.当然のことながら,発展の方向性は異なってきます.

 多くの設計は,ある1点を達成したらそれきりということはなく,そのあとも継続することが求められます.通るべき因果関係を硬直的に絞り込みすぎると,ひとときは効率的であっても,あとで方向転換が効かなくなる,ということはよくあります.これは「アンチデザイン・パターン」の一種といっても良いかもしれません.

 うまくいっているときこそ,後の問題の種を植えてしまっているのです.なにせ,因果は巡るのですから....

 

ジョセフ・はんげつ


 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日