ロボット工学三原則をソフトウェアに 143
ストーリー by yoosee
ABSOLUTELY-NO-WARRANTY 部門より
ABSOLUTELY-NO-WARRANTY 部門より
funakichi 曰く、
アイザック・アジモフのロボットSFシリーズに登場するロボット工学三原則はよく知られていると思います。 株式会社リコー有志によるアブストラクト集 Abstruct Club でみかけたのですが、 これをソフトウェアの設計指針に適用できるというような論文があるようです。 "Asimov's Laws of Robotics Applied to Software" というのがそれです。
投稿された論文の原文(pdf)も読めるようです。 みなさんは、ロボット工学三原則に適合したプロダクトを作っておられますか?第一条 ソフトウェアは、人間による作業・成果物に害を及ぼしてはならない。また、その危険を看過することによって、人間の作業による成果物に危害を及ぼしてはならない。
第二条 ソフトウェアは人間にあたえられた命令に服従しなければならない。ただし、あたえられた命令が、第一条に反する場合は、この限りでない。
第三条 ソフトウェアは自己をまもらなければならない。
参考までに、ロボット工学三原則を Wikipediaの日本語訳(アイザック・アシモフ 小尾芙佐訳 昭和58年「われはロボット」早川書房 P5 より引用)を孫引して掲載します。第一条 ロボットは人間に危害を加えてはならない。また、その危険を看過することによって、人間に危害を及ぼしてはならない。
第二条 ロボットは人間にあたえられた命令に服従しなければならない。ただし、あたえられた命令が、第一条に反する場合は、この限りでない。
第三条 ロボットは、前掲第一条および第二条に反するおそれのないかぎり、自己をまもらなければならない。
ロボット工学三原則は (スコア:5, おもしろおかしい)
現在の ロボット工学三原則 はこう
Re: ロボット工学三原則は (スコア:1)
あれ?3つに収まらない
かゆいうま
Re: ロボット工学三原則は (スコア:1, おもしろおかしい)
合体!変形!ロケットパンチ!そしてドリル!あ、4つだ…
Re: ロボット工学三原則は (スコア:1)
1.合体
2.変形
3.必殺技
では,どうでしょうか?
次の国民投票は (スコア:2, おもしろおかしい)
○ 合体
○ 変形
○ ドリル
○ 自爆ボタン
○ おっぱいミサイル
○ 四次元ポケット
○ ネコミミ
○ 赤は通常の3倍の性能
Re:次の国民投票は (スコア:1, おもしろおかしい)
Re: ロボット工学三原則は (スコア:1)
自爆(ボタン)は男のロマン
# タイムボカンとかで自爆のメリットを見出せなかったヘタレなのでID
## 本文のWikipediaへのリンクが失敗しているようなので、こちらで:ロボット工学三原則 [wikipedia.org]
M-FalconSky (暑いか寒い)
Re: ロボット工学三原則は (スコア:1)
あれは、「我々はもう負けたのでこれ以上攻撃して現代に帰れなくなるまでやるのは勘弁してください」というサインです。
ところで、ロボット三原則って、家電の三原則
1.危なくない
2.難しくない
3.壊れない
を難しく言い変えただけという説を読んだことがあるんですが、本当なんでしょうか。
Re: ロボット工学三原則は (スコア:1)
今こそスルー力を見せる時! (スコア:1)
# orz ・・・ダメだ・・・俺にはスルーできない・・・
Re: ロボット工学三原則は (スコア:1)
努力!
勝利!
// 「友情」を踏み躙り「努力」をサボって「勝利」をつかむ
ロボット工学三原則をプログラマーに (スコア:5, おもしろおかしい)
第二条 プログラマーは会社にあたえられた命令に服従しなければならない。ただし、あたえられた命令が、第一条に反する場合は、この限りでない。
第三条 プログラマーは自己をまもらなければならない。
orz
Re: ロボット工学三原則をプログラマーに (スコア:1, 興味深い)
第一条 プログラマーはプログラムに致命的な障害を残してはならない。またバグを看過することによって、ユーザーに被害を与えてはならない。
第二条 プログラマーは顧客の提出した仕様に服従しなければならない。ただし、与えられた仕様が第一条に反する場合には、この限りではない。
第三条 プログラマーは前掲第一条および第二条に反するおそれのないかぎり、残業してはならない。
Re: ロボット工学三原則をプログラマーに (スコア:4, おもしろおかしい)
ただ第3条は,第1・2条に反しない範囲でしか有効ではないんで,2条により会社の命令が優先されます.
難しい (スコア:3, おもしろおかしい)
とりあえず、落ちたり、ファイルが開けなくなったりはもってのほかということか。
第二条
プログラマのコードにしたがって動くわけですが、落ちそうになっても踏ん張るように作るのは難しい。
第三条
一度作成された実行モジュールは、再ビルドで上書きされることから、自己を守らなければならない。
rm コマンドで消されてもいけない。
Re:難しい (スコア:3, おもしろおかしい)
rm -rf /
などに対処しなくてはいけないのは第一条ではないかと。
というわけで、とりあえず rm コマンドの改造が必要ですね…。
fjの教祖様
Re:難しい (スコア:3, おもしろおかしい)
現在は「プログラムは、プログラマの意図通りに動くのではない。書いた通りに動く」の
法則によって、rm -rf / は通ります。
ところが「三原則」が導入されると、これが意図通りに動かなくなってしまいませんか。
ユーザーの命令(第二条)よりも、環境保全(第一条)が優先されるから。
# …な、ワケないよねえ。もとの論文読まずに書いているので大いに誤解していそう。ツッコミ求む。
Re:難しい (スコア:1)
と言う事は、各条文に優先順位はないと言う事なので、どれを優先させるかはプログラマの胸三寸と言う事でしょう。
#原文と言っても、条文の所しか読んでないので誤解してるかも。
Re:難しい (スコア:1)
"Second Law"の最後あたりですね。やはりきちんと読まないといけないなあ…。
Re:難しい (スコア:2, 興味深い)
単に落ちるだけならいいけど「ファイル保存中に落ちて、編集してるファイルが壊れちゃった」はダメってところでしょうか。
さらに、落ちた時も、オートセーブで落ちる直前のデータがバックアップされていればなお良し。
むかーし、Macで
・保存せずに一定時間経つと「上書き保存」なオートセーブを行う
・オートセーブ時に、結構な確率で落ちる
・落ちた時は、保存してるファイルが壊れる
なんていうソフトに出逢ったことがあります。
オートセーブされないように、まめに手動で上書き保存しないといけないという…
Re:難しい (スコア:2, おもしろおかしい)
今後は、なぜソフトウェアがそのような動作をするに至ったかを解明するための学問、
「ソフトウェア心理学」が確立されそうですね。
# いつの日か、プログラマは、ソフトウェア心理学者に「あなた方はすぐにデバッガで
# 解決しようとなさいますね」などと諫められると。
## こんな未来はイヤだ。
Re:難しい (スコア:1, 興味深い)
それは「ソフトウェア経済学」の領域じゃないかと思うんですよ、私は。
なぜかって? 実は私も5年ほど前に同じような経験があるんですが、それ、Mac版のMS Office だったんですよ(実話)
#幸いにしてここ数年はそんな状況には合ってません…が、単にそれに懲りた私が「すべてのアプリ」でオートセーブを切りまくってるからなんで、詳細は不明。
Re:難しい (スコア:1)
組み込み系では (スコア:3, すばらしい洞察)
機械の損傷を避ける動作と、(巻き込まれた)人間の生命を守る動作が異なる場合もありますので。
Re:組み込み系では (スコア:2, 興味深い)
先ず緊急停止ありきから始めるのは。
慣れて居ない人に組まさせると、正常動作はどうにか作るのだけど、トラブル時の対処が怪しかったりするのが。
先日工事に入った工場で、何故か緊急停止後に自動で初期状態になる危ない構成のを見たので。
でも、緊急停止ってのは人が立ち入ったりトラブった時に止める訳で、問題の確認もしないでウン百kgもある油圧保持された機械を動かすと、 最悪、人間は潰されちゃいますからねぇ。
って事で怒ってみせる必要があった訳ですが、要求仕様の資料を纏める時にロボット三原則も入れておけば、それなりに注意して作るようになる、
んだろうか?なってくれれば良いなぁ。
Re:組み込み系では (スコア:1, すばらしい洞察)
三原則の適用対象 (スコア:3, すばらしい洞察)
ロボット三原則の適用対象はロボットであり、その開発者を縛るルールではありません。自我意識を持つロボットが自分自身の行動を律するためのルールであって、状況判断はロボットが行うものなのです。
(混同が無理解によるものなのか、意図的になのかは分からないですけど)
ソフトウェア三原則第二条のコメントでは、 とありますが、これは開発者に要求される判断です。
しかし、ロボット三原則第二条[ロボットは人間にあたえられた命令に服従しなければならない]にはそもそも「簡単」とか「直感的」という意味は含まれません(事実、作中では命令ミスがしばしば発生します)。第二条は人間にとってのルールではなく、ロボットにとってのルールだからです。
無理して現実のソフトウェアに応用するならば、命令ミスを防ぐのではなく実行ミスをフォローするものと考えるべきでしょう。
(実行の妨げになった障害を取り除くとか、別の手段を使うとか)
つまり、これはソフトウェア三原則じゃなく、ソフトウェア開発者三原則ですよね?
『われはロボット』中で、ロボット三原則は模範的な人間の行動原則と同等であるとされています。
すなわち、ソフトウェア開発者が模範的な人間であるなら、いちいち詠うまでもなく自明のルールのはずなのですが……。
往々にしてそうではない、ということなのかも(^^;)
Re:三原則の適用対象 (スコア:1, すばらしい洞察)
論文のタイトルが"Asimov's Law..."なのに、参考文献にAsimovの著作を一冊も挙げてないような論文ですから。本文中での参考文献の使い方を見る限り、三原則については、三原則を論じた論文を斜め読みしただけでしょう。
約束は破るためにある (スコア:3, すばらしい洞察)
つまり、最初から破るつもりで作ってる。
ロボット工学三原則は、不完全であるように、巧妙に仕組まれた規則。
そんな破るための三原則を真似したら、やっぱり不完全な規則になるのではないかな。
第一条 (スコア:2, 興味深い)
・ファイルの上書き保存中に落ちたりしても、ファイルが壊れるようなことになってはいけない
・保存時にディスクの空き容量が足りないとかだったら、ちゃんと警告を出す
・保存せずに終了しようとした場合は、保存してない旨警告を出す
・人間が間違った操作をしても、アンドゥで直前の状態に戻れるようにする
などなど。
最近の兵器は・・・ (スコア:2, 興味深い)
最近の無人飛行機だとか、開発中の無人戦車だとかいうのは、
もうロボットと言って言いレベルだと
思うんだけど。
3原則違反じゃないのか?
------ nori2
三原則不要な条件を考えるべき (スコア:2)
家電製品の三原則を「能動的に」満たそうとするのは面倒です。
アジモフの作品にもありますが、三原則が不要になる条件を考えた方が楽です。
1.被害を生じない動作のみ行う。(極めて限定された動作のみ行う)
2.電源スイッチのみ。場合によっては電源スィッチも不要。(製造時点で動作が決定されているため、命令不要)
3.極めて安価、又は、壊れない(破壊不能な強度を持つ)
よって、
第一条 ソフトウェアは人間による作業・成果物に無関係な出力を行う。(ファイルの上書き・追加・削除は原則不可)
第二条 ソフトウェアは製造時に設定された動作のみ行う。カスタマイズは不可。
第三条は、上記2条件の下では不要。
# どっかで見たような条件ですね……
notice : I ignore an anonymous contribution.
第3条が… (スコア:1)
多分「ただし第一条ならびに第二条に反する場合はこの限りではない」がつくのでしょうが…。
これを守るようにソフトウェアを書くのは難しいのよねぇ。
# Update をしようとすると、拒否してバイナリパッチを当てさせてくれない
# ソフトとか…
fjの教祖様
Re:第3条が… (スコア:1)
ソフトウェアが自己を守ろうとして(第3条準拠)夜中にこっそり自動で月例アップデートを実行した結果、ウィンドウ開けっ放しで放置していたアプリケーションが強制終了され保存していなかった編集内容が消失、人間による作業・成果物に害を及ぼしたり(第1条違反)は日常茶飯事ですし。
ちなみに、ユーザが再起動の操作をしたときには「保存していないファイルがあります」と再起動プロセスが止まってくれたりするので(これはこれで、第2条違反の気配)安心して夜中放置していたわけですが。
そんなの大抵の日本製家電には実装済み (スコア:1)
…ほらね?
Re:そんなの大抵の日本製家電には実装済み (スコア:2, すばらしい洞察)
晩年の作品では、アジモフは現在のコンピュータはかつて考えたロボットとは違うものだ、というような描写をしています。
これは後知恵じゃないかと思うなあ… (スコア:3, すばらしい洞察)
現代の観点でいえば確かに「当然の要求」ですが、これが「当然の要求」として広く認められるようになったのは、おそらくキャンベルとアシモフによってロボット三原則が定式化される(40年代)よりも後の時代のことじゃないかと思いますよ。(多分50年代くらい? 法律になったのは60年代かな)
だから、「アジモフはそれを使ってうまく面白い小説に仕立てた」というのは違うんじゃないかと思います。
「家電三原則だ」というのは確かにSF系ファンダムで言われてきたことですが、40年代にそれを指摘できたかというとちょっと疑問です。
三原則 (スコア:1, 興味深い)
第二原則:やっぱり、納期に間に合わないからといって、機能削減版を暫定納品とするLite版を勝手に作らない
第三原則:どうやっても、納期に間に合わないからといって、十分検査せずに出荷しないこと
ごめんなさい
牛丼三原則 (スコア:1, おもしろおかしい)
2.安い
3.美味い
Re:牛丼三原則 (スコア:2, すばらしい洞察)
Re:自己って何よ? (スコア:1)
Re:自己って何よ? (スコア:1)
「万物は流転する」くらいだと自己があるって言えますか。
「お腹がすいたなあ」くらいだとどうでしょう。
くらいの範囲はどのくらい?
Re:自己って何よ? (スコア:1)
# ソフトウェアじゃねーが。
1を聞いて0を知れ!
Re:自己って何よ? (スコア:1)
そういうのに限って, メインコンピュータを神としてあがめていたりしますから.
# で, 太陽光発電ネタに続く
Re:自己って何よ? (スコア:2, おもしろおかしい)
コンピューターはあなた方の友人です。
# ……どうしましたか? 市民signedcoward-R-Tok-1。
# 信用してなさそうな顔をしていますね。
# コンピューターを疑うのは反逆です(ZAPZAP
Re:自己って何よ? (スコア:1)
うーんと、転換炉か送電用レーザーか何か(のコントロールパネル)だったかと。
制御用コンピューターはQT1号そのものですよ。
Re:馬鹿らしい (スコア:1, フレームのもと)
マジレスすると、原作を読むことを強くお勧めする。
アシモフのロボット三原則が引用されることは多いけど、
原作を読んでない人が適当な嘘を並べ立てていることが多いのだ。
たとえば映画版のアイロボットなどは脚本が最悪だった。
いったいアレのどこがロボット三原則なのかと。
Re:馬鹿らしい (スコア:1)
原作は三原則に基づくバグあるいはバグにしか見えない状態を扱ったものが大部分ですからね. 子供でも分かる無限ループの作り方とか. これで1人, あるいは最悪2人が死にかけていますし.
Re:馬鹿らしい (スコア:1)
だからこそ,アジモフは3原則の「言葉のアヤ」を突くことで,ロボットもの連作を書くことが出来たわけですが.
3原則を云々する前に,まずフレーム問題を解決できるもんならしてみろと.
Re:馬鹿らしい (スコア:1)
陽電子頭脳というブラックボックスなデバイスにひっかぶせて済ませてますな。
中身はよくわからないが人の認識能力と単純化した判断能力で反応を返す装置。
んで判断が高度化すると結局それは人間の能力と同一でしかないよね、というのが
後年の「心にかけられたる者」とか「バイセンテニアル・マン」あたりの話で。