私の頭が足りないせいか実験の後半の線路あたりからからよくわからなく…
SF的ノリのSCPは私も考えますけど本家にも沢山あるからムズカシイですよね
子供用のおもちゃなのにものすごい性能のSCPコンピュータとか
型番はTH-GTG42
ついに博士が出てきましたね!とりあえず[削除済]しようとしたり助手を殴ったり、中々エキセントリックな人物のようですが……
私の足りない頭で考えてみたところ、未来の情報を先取りして持ってきて処理時間を大幅に減らすプログラム?ってことでしょうか
それならスーパーコンピュータ的なものと比較するとわかりやすいかも知れないと思いました
>私の頭が足りないせいか実験の後半の線路あたりからからよくわからなく…
具体的な部分は脚注に回して、抽象的な説明にしてみました。
SCPの性質自体は結果を要約する博士のコメントだけ読んでいただければわかるんじゃないかなあと思います。
>型番はTH-GTG42
ちょっとわかんないです……。
>それならスーパーコンピュータ的なものと比較するとわかりやすいかも知れないと思いました
ちょっと実在のコンピュータと比較できるような実験を追加しました。
処理時間を大幅に減らせるのはその通りですが、本来できないことができるというものなので単純なスペックの比較はできないかなとか思います。
>ついに博士が出てきましたね!
SCPを3つ書いたら職員ページ作れるとあるので、せっかくなので自分のアカウント名で名前を……。
>計算時間で安全性を保証した暗号はおそらく全部突破できそうな強力なアイテムだけに、ちょっと収容が甘い気がします
確かにその通りですね。ご指摘通りに修正しました。
ボタンを押す前にライトが点灯するくだりに昔読んだ短編SFを思い出しましたが(確かテッド・チャン)、
原理の説明や応用編などにオリジナリティとSCPらしさを感じました。
毎々お世話になります
現在の収容状態において、SCP-010-JPのためのプログラム言語(以下mra言語とします)が一定の仕様を満たす場合、
特定のプログラム(群)を持ち込み実行することで、大規模かつ、少なくともEuclidクラス相当の収容違反を起こす可能性がありますので確認をお願いしたく。
以下に具体的な方法を例示します。(当該文書のクリアランス施行前に必要に応じて検閲をお願いしたく)
前提条件:以下に示す①もしくは②のいずれかを満たすこと
①:mra言語が外部のネットワークと20██年時点での標準的な方法で、外部のネットワーク機器と通信するための命令が可能であること
②:①の代替手段として、SCP-010-JPにおけるプログラムの出力をフックするなどの方法で、標準的実装の通信モジュールプログラムをmra言語プログラムと連動して制御出来ること
当該プログラムは主に2つのステップからなる。
1、ネットワーク探索処理(以下S1)
2、ネットワーク先端末接続処理(以下S2)
以下、文章の簡略化のために以下の略語を用いる。
・「SCP-010-JPが接続する機器」を「SCP-010-JP-1」とする
・「未来の状態を知る関数」を「getF()」とする
・「失敗した未来を終了させる関数」を「endF()」とする
ステップ詳細:
1、ネットワーク探索処理:
概要:SCP-010-JP-1を経由して、S2が成功する状態で接続可能な(大規模)ネットワークの探索を行う。
この時、実行時点でSCP-010-JP-1が外部ネットワークに接続されている必要はない。
「1ms以内のいずれかの未来において、何らかの偶発的事象によりネットワーク接続が確立された状態」にて処理を行うためである。
処理手順:
getF()の呼び出し
endF()の呼び出
既知の標準的方法で接続可能なネットワークを探索する(詳細略)
1ms秒以内にネットワークが見つからない場合、失敗を返して処理を終了する
ネットワークが見つかった場合、S2に移る
S2が成功した場合失敗を、失敗した場合成功を返して処理を終了する
2、ネットワーク先端末接続処理:
概要:S1で見つかったネットワークに存在するいずれかの端末に対して接続を試みる。
接続のためのプロトコルや接続のための各種引数についてランダムに選出するロジック(接続試行R)を用いる。
またこの時、getF()を利用することで接続が成功するケースには「何らかの偶発的事象により接続先端末の意図によらず(実行時点で該当するプロトコルによる通信が許可されていない、物理的にネットワーク接続がない、等であっても)通信が成功するケース」が含まれるようになる。
処理手順:
getF()の呼び出し
endF()の呼び出し
既知の標準的方法で接続試行Rを行う(詳細略)
接続の結果をS2の結果として返し、処理を終了する
注:S1、S2の処理ともに、endF()の呼び出しによって「接続可能な端末が存在する限り、必ず成功を返した未来からの成功が返却される」点を確認すること。
このためプログラムは「S2が成功する状況下にある限りS1が失敗してしまうため、接続可能なネットワークが"どうあっても絶対に"見つからない未来に収束する」ことで、失敗を返して処理を終了する。
このプログラムの実行によって、1ms以内に「世界中のネットワーク接続可能な端末が全て使用不能になるまで破損する」や「出力結果を将来にわたって確認可能な可能性を持つ全ての人間が██████」等のイベントが発生する(そのような未来に収束する)ことが考えられる。
結果がTime Paradox Errorになる、SCP-010-JPが破壊される等の結果になる事も考えられるが、結果を安全に確認するテスト手段が無い以上、
オブジェクトクラスの引き上げを含む、より強固な収容手段の再構築を検討願う。
また、その際は、SCP-010-JP-1に何らかの現実世界に対する検知機能を持ったデバイスを接続することで「デバイスが任意の出力を返す、または返さない未来に収束する」というプログラムが実行可能になるという点にも留意して頂きたく。
-以上-
簡潔にまとめると「失敗した未来を終了させる関数」を利用することで、PC上に起こりうることなら何でも任意に起こせる(そのような未来に収束させる)こと、更にそれを利用して外界に多大な影響を及ぼせる可能性があることを示唆しています。
追記:収容プロトコルの見直しについては引き続き見直すべきであると考えますが、オブジェクトクラスについては、上記のイベントを引き起こす原因が(おそらくは)人為的なものとなり不明瞭な現象ではないことから、引き上げの提案を取り下げます。
面白い考察ですね。仰る通りSCP-010-JPは使い方によってかなりの危険を持つでしょう。
けれども、その危険性は破壊的なプログラムを書いて実行しなければ実現しません。
SCPを使って危険なことをしようなんて試みは明文化しなくても禁止されているものなので、私も特に書きませんでした。
ただ、考え直してみると、ある程度の制限は設けておかないといけないかもしれませんね。
修正を確認しました。ありがとうございます。
個人的には見る人が見るとハラハラ出来る、とても良い状態になったと思います。
返答にはほぼ同意見です。SCP自体が想定できない形で危険性を発するものではないですね。
あくまでも制御下にあるプログラムを原因のひとつとするので、オブジェクトクラス的にはsafeのままだなと思いました。
一方で「SCPを使って危険なことをしよう」については、ことプログラムによる制御となると、バグによって意図せず破壊的なプログラムとなる可能性があることを考えると、
「いくつのレビュー、テスト、安全策を経たとしても、コードが動く余地があるかぎり、バグは必ず起こる」というソフトウェア開発業界の慣例と合わせて、
現時点以降のプログラムを用いるテストは基本的に禁止するのが本当は最良と思われます。
しかし、同じくソフトウェア開発業界の「実際の開発をしない関係者は、上記の慣例を絶対に理解せず信じない」という慣例により、
財団がとるべき態度は現状のプロトコルが最も自然だと思いました。
画像の出典を明記します
元画像: http://petitinvention.wordpress.com/2010/03/03/funny-usb-memory-stick-6-final-2/
作者: Mac Funamizu
ライセンスについて: 作者名とブログurlを明記すれば使用可能
>SCP-010-JPはサイト-81██にある実験室の金庫に厳重に保管します。
実験室ではなく収容室に金庫をおいたほうがいいかもしれません
>事前にSCP-010-JP監査会のレビューを通し許可を得たものに限定します。
ものは、者としたほうがいいかもしれません
>SCP-010-JPは実際には小型のコンピュータであると考えられます。
SCP-010-JPはUSBメモリの外見をしていますが実際には小型の~ としたほうがいいかもしれません
>実験記録
↑をつかったほうがいいかもしれません
プログラム: sample01.mra
(一行開ける)
プログラムの概要: SCP-010-JPに付属していたサンプルプログラム。ファイルの先頭にはコメントで"最初にライトを付けてみましょう。"と書かれている。プログラムは、ライトの状態を表す変数に1を代入している。
(一行開ける)
手順: 桑名博士がプログラムを実行。
(一行開ける)
結果: SCP-010-JPが青色に点灯。
(一行開ける)
注: ただの"Hello world!"というところです。次行きましょう。 - 桑名博士
こうしたほうが見やすいかもしれません
>上に同じなので略。
表現をかえたほうがいいかもしれません