匠の技をプログラムする(メカAG)
■匠の技をプログラムする(メカAG)
今まで人間が手作業で作っていたものがある。それを機械に置き換えたい。まず普通に「これこれこういうことをするプログラムを作ってください」と言われる。やることは複雑だけど、淡々とコーディングしていけば、別に難しいことじゃない。
で機械を動かしてみる。なんとなくそれっぽい動きはするんだけど、全然だめ。まともに作れるケースの方が少ない。不良品率60%とか、笑える。目標値と何桁も違うんですけど。高い性能の機械を導入したのに「こんなはずでは…」となる。
* * *
で、作ってる人に聞いたり、作ってる所を見たりして研究する。「ああ、そういうときはこうするんだよ」と事もなげに答えたりする。「(だったら最初から教えろよ…)」と。
でも、これはいじわるして最初に隠してたわけじゃない。作ってる人間はそれが当たり前になってしまってるから、重要なことという意識がないんだよね。
逆に機械が動作しているところを見てもらったりもする。こうやってるんですけど、なんかうまくいかないんですよね…と。すると「ああ、そこはこうしなきゃダメだよ」と。だったら最初から(ry。
勉強もそうだけど、理解できてる人は、理解できない人がどこでつまづいているのかわからない。
* * *
あと機械では人間とはまったく同じことはできないから、機械が得意な別な方法でやる。飛行機が鳥のように羽ばたかないのと同じ。
でもそうすると人間が作る場合には起きなかった独自の問題も出てくる。それはしょうがないから自分たちで工夫して、問題の回避方法を考えるしかない。
そういうこと一つ一つ積み上げていくと、そのうち不良品率が下がっていく。人間よりも不良品率が下がった時は、内心「ざまぁみろ!」ですな。表面的には「親切なご指導のお陰で、ようやくここまできました」と謙るけど。
一歩一歩の前進。部屋の掃除を思い浮かべてみれば分かるけど、まず大きなゴミを片付けないと、小さなゴミの片付け方は分からない。一気に同時に全部やろうとしても無理。アルゴリズムの改良も、大幅に不良品率が下がりそうなケースから順に改良していく。そうしないと小さな改良点は見えてこない。いずれそういう小さな部分も改良しなければならないけれど、順番に。だから時間がかかる。
