完全に特性評価されたシステム
原題: Fully Characterized Systems
日本語訳
# 完全に特性評価されたシステム
かつてのハッカースペースの友人が、電気工学の大学院に通っていた。その友人の教授は、学生のプロジェクトで何か問題が起きると、「システムの特性は完全に把握しているか(Have you fully characterized the system?)」と尋ねるものだった。それは高尚ではあるが、優れた目標だ。しかし、私たちの行動指針の95%は「YOLO(人生一度きり)」だったので、ハッカースペースでは一種の内輪ネタになっていた。3Dプリンターのヘッドクラッシュは「特性評価不足」。先週末にゴミ出しを忘れた?「システムは完全に特性評価されていたか?」といった具合に。
これは、理論と実践の違いなのかもしれない。理論上、理論と実践に違いはなく、あらゆるシステムは完全に特性評価できる。しかし実践においては、まだ十分に理解していないシステムの特性を完全に把握するのは難しい。
具体的な例を挙げよう。家の前庭に9本の小さな苗木が植わっていて、水をやらなければならない。ホースを一本ずつ木に移動させるのは退屈なので、ホースの端を塞いで、あちこちに穴を開ければ、一度にすべての木に水をまけるのではないかと考えた。私は「なんとなく」システムを特性評価した。ホースを1分間に流れる水の量を計算し、頭の中で適切な流量に割り振って、穴を開けた。ところが、その穴はあまりにも大きすぎた。
なぜか? ホースには流体抵抗があるからだ。最初の数個の穴からは水が勢いよく噴き出したが、最後のほうの穴はカラカラだった。思っていたような定圧システムではなかったのだ。ホース内の抵抗が影響するなんて考えもしなかったので、測定しようとも思わなかった。とはいえ、そもそもこの抵抗をどうやって特性評価すればいいのだろうか? 穴を大きすぎるサイズで作って、その減衰を測定すればいいのかもしれない。(おっと、まさにそれをやってしまったのだが。)
振り返ってみれば、プロ用の点滴灌漑システムは、常に管径に対して極めて小さな穴が開けられている。そうすることで圧力損失現象を回避しており、ホースの抵抗を特性評価する必要がないようになっているのだ。結局、私はその方法をとることにした。穴のサイズを半分にし、その後、下流側のいくつかの穴を、見た目がちょうど良くなるまで広げた。完全に特性評価されたとは程遠いが、とりあえず動いている。
こうして今、私の頭の中には、エンジニアの「システムの特性は完全に把握しているか?」に加えて、ハッカーの「システムの特性評価を回避できないか?」という問いが共存している。そして、ゴミ箱には穴だらけのホースの切れ端がある。
Supercon News
最後に、見逃している方のために手短に。Supercon Tenのチケットが現在発売中で、参加募集の期限をさらに2週間延長しました。Hackadayのファンなら、毎年恒例のこの集まりにぜひ参加すべきです。
原文(英語)を表示
A friend from my old hackerspace was in grad school for electrical engineering. He had a professor who would ask, when something went wrong with a student project, “Have you fully characterized the system?” It’s a good, if lofty, goal, but it also became an inside joke around the hackerspace because YOLO was our MO about 95% of the time. Head crashes on the 3D printer – “not fully characterized”. Forgot to take out the trash last weekend? Was the system fully characterized?
It’s maybe also the difference between theory and practice: In theory, there’s no difference between theory and practice, and all systems can be fully characterized. But in practice, it’s hard to fully characterize a system that you don’t yet fully understand.
Case in point: we have nine small saplings growing in our front yard, and I have to water them. It’s boring moving the hose from tree to tree, so I thought I’d take a length of hose, stopper it at one end, and drill enough holes in it so that it could irrigate all of the trees at once. I kinda characterized the system: I figured out how much water flows per minute through our hose, and divided that up into a reasonable outflow in my mind, and drilled holes that ended up being way too large.
Why? Because a length of hose has a resistance to flow, and the water came pouring out of the first few holes, while the last few were dry. It wasn’t a constant pressure system like I thought it would be. I hadn’t even thought that the drag in the hose would matter, so there was no way I would have tried to measure it. But how would I characterize this resistance anyway? You could make a hose with too-large holes and measure the falloff. (Oops, that’s exactly what I did.)
In retrospect, professional drip irrigation systems always have holes that are tiny relative to the pipe diameter, which avoids this pressure-drop phenomenon, which means that they don’t have to worry about characterizing the hose resistance. So that’s what I ended up doing. I cut the hole size in half, and later widened up some of the downstream holes until it looked about right. Not even close to fully characterized, but it works.
So now, in addition to the engineer’s “have you fully characterized the system?”, I have the hacker’s “can you avoid characterizing parts of the system?” in my mind. And a holey chunk of hose in the trashcan.
Supercon News
Just briefly, in case you missed it: Tickets are on sale now for Supercon Ten, and we’ve extended the call for participation by another two weeks. If you’re a Hackaday fan, you owe it to yourself to join us at our annual gathering.