はてなキーワード: ワンオフとは
宇宙世紀190年代初頭の宇宙戦国時代と呼ばれる動乱の時代に生まれたMS支援AI。
当時、コロニー、地球、木星、いずれの集団も最早新型MSを製造するだけの国力は残っていなかった。
しかし、ミノフスキー粒子の発展以降あまり重用視されていなかった、情報工学の面からMSの性能を向上を目的とし、MS支援AIの本格的な製造が始まっていた。
特に木星帝国のバイオ脳技術と、サイド3のコンピューター技術は突出しており、この二カ国のAI非常に優れた性能であった。
今回紹介する「ダミアー」は、その二カ国の技術者の共同開発によるAI郡、通称ガリューシリーズの一つだ。
「ダミアー」の特徴は、既存のAI郡とは違い、特定のMS郡、木星由来のMSに特化した支援システムにある。
通常のMS支援AIは、パイロットに依存し、パイロット共に成長していくが、この「ダミアー」はパイロットに依存せずMSに依存している。
それは、木星のMS郡が特殊だったこともあるが、何より完全なワンオフ機を支援するAIという分野が未開拓だったことへの挑戦でもあったようだ。
特定のMSに特化した、MS支援AIという発想自体は悪くなく、事実「ダミアー」の量産により、木星防衛軍の任務成功率は格段に向上した。
しかし、MS支援AI全般の問題でもある「デバイスに操作を委ねられるパイロット」の少なさ自体は、以前として解消されていない。
確かに支援AIにより、任務成功率という観点では向上しているが、パイロットの精神的安定性とも言える指標値は下がってしまった。
これは、時に人を殺す事を躊躇しないことが求められる戦場において、自分の意志ではなくAIの意思が加入することへの嫌悪感にあると言われている。
宇宙世紀170年前後に見られたニュータイプでもサイキッカーでもない、新たな人類の可能性として持て囃されたデバイスを高度に操れる人種も、またニュータイプやサイキッカーのように何時しか廃れ、ごく一部稀に見られる兵士の一要素でしかなくなっていた。
宇宙世紀が始まって200年という節目が近づいてもなお、人類の革新、人類の進化、というお題目は言葉が大きすぎるのだろう。
だが、モビルスーツではない新たな機動兵器(マン・マシーンと呼称されるらしいが、詳細は不明)を開発している集団があるという噂もあり、この動乱はまだまだ終わりが見えない。
そんな我々を、AIであり、人類が作った存在である彼女たちは、どう思っているのだろう。
なお「ダミアー」を始めとするガリューシリーズには、通常のマスターとして使えるパイロットの他に、
「アークマスター」と呼ばれる、ガリューシリーズのAIが共通して信奉する人物が存在する。
「アークマスター」はガリューシリーズ以外にも数多くのAIの開発に携わっており優れたAI技術者であると同時に、優れたMSパイロットでもあったため、AIに戦闘を教育する過程で、そう呼ばれるようになったらしい。
そんな「アークマスター」が最初に製造したAIが、愛らしい少女の姿だったことが、今もなおMS支援AIのグラフィックがそのような少女の形をしていることの由来である。
型論争の一部。
動的型陣営と静的型陣営がそれぞれ大規模開発に向いてるとか向いてないとか言うけど、「大規模開発」って何よ?って話。
自分としていくらかのパターンがおもいつくし、それぞれ質的に異なるからごっちゃにしても話が混乱するだけだ。
お前らの言う大規模開発ってどれだよ?あともちろんこれ以外にもあれば募集。
ITゼネコンみたいな連中が行う、何万人月というコストをかけて行う開発。失敗した特許庁の開発みたいなやつだ。典型的にはワンオフ品なので、かけたコストのわりに品質は低い。fizzbuzzも書けない人すら1人月と数えられるし、そういう人が生息するのはここである。2013年現在では多分Java(かたまにScalaなど)で開発される。末端の人には自分たちの担当領域外の仕様をどうこうする権利が基本的にはない。
OS(カーネルのみの狭義のOSではなくパッケージとしての広義のOS全体)とか、あるいはモダンなブラウザみたいな、膨大な機能セットをもち、様々な環境でロバストに動く必要がある開発。膨大な機能セットの中には、膨大な後方互換のための機能(例えばブラウザであればクソみたいなレガシーHTMLでもなんとなく見せてやるような機能)や、ありとあらゆるハードウェアや言語などの細かな実行環境の組み合わせで動作するための抽象化および各環境のための固有の機能を含む。オープンソース形態で開発されることもよくあり、2013年においては多分C/C++で開発される。自分たちで仕様をコントロールする権利があったりなかったりする。
1日のPVが億オーダー以上になるようなWebサービスなど。昨今だと1日にGバイト〜Tバイトにもなるデータを解析できるシステムもセットになってることが多い。サーバの1台や2台がハードウェア的な故障してもロバストに動き続けるための機能や、そのときのリカバリが容易であること、壊れた分や単なる新規追加ののサーバの補充が容易であること、みたいや機能および設計上の工夫が求められる。人的な大規模開発や量的な大規模開発と比べると比較的少人数(数人〜数百人。数千人になるのは数えるほど)で開発される。2013年においても様々な言語で開発されていて決定打はない。自分たちで仕様をある程度コントロールする権利がある。
例えばこの方が、Haskellは大規模開発に向いていると主張されているが、おそらく人的な大規模開発には向かない。これは2013年においてHaskellを使うユーザがそれほど多くないから、というのも大きな理由だがそれだけではない。Haskellは学習コストが低いことを目指して作られた言語ではないことも極めて本質的かつ決定的な理由の一つである。(自分の思う学習コストが低いことを目指して作られた言語とは例えばJavaとPHPだ。)fizzbuzzを書けない人をHaskellを書けるまでに教育するのは、どうしたらいいのだろう?
Haskellが量的な大規模開発に向いているかどうかは(自分の無知により)よく分からない。典型的には量的な大規模開発を実現するためには、そのソフトウェアがWindowsとか各種ブラウザ並に多くの計算機上で稼働することが必須だ。そうでないと膨大な開発コストがペイできない。オープンソース的に貢献を募るとしても、量的に巨大なソフトウェアに貢献する人を一定以上集めるには、それなりのユーザベース(単に使うだけの人も含めて)が必要である。Haskellの実行環境というのは全然枯れていないが、10年前のハードウェア+OSを未だに使っている人の計算機上でもちゃんと動くのだろうか?HaskellってVMで動くんだっけ?ネイティブコードを吐くんだっけ?