登録日:2011/10/27 Thu 00:10:11
更新日:2025/03/30 Sun 20:48:47
所要時間:約 ∞ 分で読めます
無限ループとは、つまりそういうことである。
「無限ループって怖くね?」という言い回しは有名。発祥は2chらしい。
プログラム用語としての無限ループは同じ処理を無限に繰り返し実行することを指す。
よくある原因はプログラムミスであり、例えば「カウントが10になるまで繰り返す」という処理を行うとき、
カウントアップを忘れたために繰り返しがいつまでも終わらなくなってしまう。
while(1)を使えば簡単に無限ループの完成。
これをリリース版の製品で意図せずやらかすのは、プログラマーとして恥とされる。
ただし、中には組み込み系開発のメインループのように意図的に使用する場合もある。
非常に簡単に作れるため、PCの敷居がまだ高かった頃は簡単なブラクラ(ジョークプログラム)として、だいたいHello Worldの次くらいに作って友達をハメる悪ガキもいた。
パソコンの教育を行う「情報」の授業がカリキュラムに取り込まれるようになると、このジョークプログラムを友達に送り付け、騙されて開いた側が叱られる、なんてこともあったほど。
さらにかつてのエロサイトは「ウィンドウを閉じるとポップアップするウィンドウ」が間違いなく仕込まれていたが、その中でも特に悪質なものは「ウィンドウを閉じた場合、その閉じたサイト自体を開くようにする」「複数のページでループするようになっている」ことでポップアップを理論上無限に繰り返すというものもあった。
音楽では、楽譜内でダル・セーニョによって遡る方向にジャンプさせているにもかかわらず曲の終わりを示すフィーネがないと、いつまでたっても終わらない曲が出来上がってしまう。
ショパンやサティなど、特殊な効果を狙って
わざと曲を無限ループにしてしまう作曲家というのはしばしば見受けられる。
また、ゲームミュージックは
音ゲーの楽曲や一部のSTGでステージの演出や長さに合わせる場合を除き無限ループが基本である。
また、所定の手順を踏まない限り無限ループが引き起こされるという意図的なパターンもある。
ゲームでは、横スクロールゲーやRPGでよく発生する。
特定のフロアの出口に行くとそのフロアの入口に出るといったものや、上っても上っても終わらない階段等。
20世紀のゲーム、特にFC時代にはよくある演出であり、「限られた容量の中で謎解きをさせる」「簡単にクリアをさせない(攻略本を売る)」という目論見があった。
特にスーパーマリオシリーズやドラゴンクエストシリーズが有名で、正しいルートを通らない限り延々と無限ループを味わう羽目になる。
この場合、デジャヴにいち早く気付き対応することが求められるのだが、中には「完全にノーヒントで2~4択を3~4回選ばされる」という極めて不親切なゲームも存在していた。
難易度が高いというより「知らなきゃ解けないだけ」というタイプであり、現代のゲームへのスタンスからは否定されるものだが、裏を返せば「知っていればとても簡単」というものでもあり、
攻略情報をどこかで仕入れた子供が友人に「クリアしてくれ」と頼まれてクラスの人気者になったり、友達を作るきっかけになったりもした。
さらにこの無限ループを逆手に取った演出として、
「実際には同じ形の部屋が並んでいるだけなので、謎を解かずに愚直に進めばクリアできる」
「一見無限ループに見えるが、部屋の形が微妙に変わっていることが攻略の鍵になっている」
という「偽ループ」も存在する。
ただしいずれにせよあまり親切な仕様ではなく詰みポイントにもなりやすいため、21世紀頃には「シリーズの伝統」として残すことを選んだゲームを除いてはあまり見かけることはなくなった。
さて、ひとこと「無限ループ」というのはたやすいし、その制作もしやすければイメージも分かりやすい。
ドラクエのローラ姫との押し問答や、ループものの漫画・アニメ、そもそも自分の尾を噛む蛇ウロボロスなどのコミカルなイメージがつくため、現代ではなじみの深い言葉だろう。
しかしコミカルなイメージとは裏腹に「無限ループの検出・停止」は数学的に極めて難解な問題であり、最悪な場合だと製作者も使用者も無限ループと知らないまま数年が経過することさえ存在する。
たとえば有名なものに「停止性問題」というものがある。
「『あるプログラムが有限時間内に停止するか』を判定できるアルゴリズム」は可能だろうか?というものである。
1936年、アラン・チューリングの手で「そのような条件を満たすマシンは存在しない。自身が停止するならば無限ループに陥って停止せず、停止しないならば停止するためパラドックスを起こすからだ」と数学的に証明されている。
多分何を言ってるか分からないと思うので、自己言及のパラドックスの一種と考えてもらえばいい。
つまり現状の計算機科学においては、無限ループを検出する方法は存在しないのである。これは「見つかっていない」のではなく「できないと証明されている」。
さらに定理自身が定理の無矛盾性を証明することはできないとする「ゲーテルの不完全性定理」や、無限ループの検出問題にも関わってくる数学上の未解決問題「コラッツ予想」など、
ちょっと手を出すだけで優秀な数学者数千人の人生が吹っ飛ぶレベルのすさまじい深淵が気軽に顔を出してくる。
無限ループとはその分かりやすくコミカルなイメージに反して、多くの有望な人間の未来を丸のみにしてきた大蛇なのだ。
「無限ループって怖くね?」という言い回しがあるが、アニヲタwikiの知識を総動員しても太刀打ちできないような秀才俊英の人生さえもゴミのように切り捨てる悪鬼羅刹がこの無限ループである、ということは覚えておいた方がいいだろう。
しかし無限ループは意図せずとも起きてしまうものであり、特に停止するための選択ができない無限ループを放置しておくことはできない。
数学的な解決ができなくても、何とか実用レベルの解決をしなければならないため、数学者以外の人間はこの現実的な解決に腐心してきた。
有名なのが「併走させた別のプログラムに審判をさせる」というもの。処理を一定回数または一定時間繰り返してなお解決ができていない場合、プログラムに別の処理を食いこませてループを遮断するというものである。
これはプログラムだのオペレーションシステムだのという問題というより、「解決しなくなった問題に審判が外野から出てきて仕切り直しをする」というイメージが近い。
かなり素朴な域ではあるが、たとえば将棋の千日手や、カードゲームでの停止不可能ループが出たときに審判を呼んで判断を仰ぐのは無限ループの現実的な解決方法である。
その逆に、意図的に「無限後退」という無限ループを起こして理屈をこねくり回す哲学という学問もある。
「どうしてそうなるの?」「それってこういうことになるよね?」を繰り返すことで問を延々と続けるという、口喧嘩に勝ちたがるクソガキみたいなことを大の大人が真顔でやっているという実にシュールな学問だが、
これは上述の「外野から出てきて仕切り直しをする審判」のような解決方法の模索のために行われる行為。つまり相手が信奉する定義に対して解決不可能な問題を出して、「俺の定義の方が正しくないか?」と問いかけるのである。
有名なのが「アキレスと亀のパラドックス」「ホムンクルスの誤謬」あたり。単なるレスバトルに勝ちたがるオッサンというわけではない。多分。
ちなみに「日本のある団体が停止性問題(無限ループの検出問題)を肯定的に解決した」というジョークが、プログラマーの間で一時期流行したことがある。
その団体とは兵庫県警。
成田空港の爆破事故を調べたり、兵庫県警ってのはずいぶん手広いことをやってるんだなぁ……。
2019年に「非常に単純な無限ループを起こすブラクラへのリンクを貼った」というだけで数名を逮捕・補導し家宅捜索まで行ったこと(無限アラート事件)が、当時識者の間で世界的に批判され、
ブレンダン・アイク(JavaScriptの生みの親)からも「この事件の公判で専門家証人になるつもりでいる」と言われるなど、本邦のサイバー犯罪への認識が悪い意味で世界的に有名になった事件である。
この事件への抗議として「どこかの掲示板にアルゴリズムへのリンクを貼り、さらに兵庫県警に対してそのアルゴリズム自体とリンクを貼った掲示板のアドレスを送り付けて自宅で待つ。もし家に兵庫県警が来たら、それは無限ループに陥っている。公訴時効が切れるまで待っても来なければ、そのプログラムは停止する」とするジョークが登場した。
当然だが、
「この程度のことで逮捕するのも大問題だが、そもそも逮捕に踏み切るということは『無限ループかどうかの判定を常に正しくできる』ということだよね?すげぇなぁ、アラン・チューリングが否定的に解決したことを覆すなんて!」
という皮肉である。
「無限ループ」。文字に起こせばたった5文字の事柄には、文字通り深淵が待ち受けている。
たいていは「深淵に付き合わず、打破するための別のアプローチを探すべきだ」という難問として君臨している。
この打破の手法を見るだけでもなかなか楽しいものである。
詳しい説明は
こちらを参照してください。
登録日:2011/10/27 Thu 00:10:11
更新日:2025/03/30 Sun 20:48:47
所要時間:約 5 分で読めます
無限ループだと思ったろ。
またRPGでは、例えばどうしても「
はい」を言わせたい場合「
いいえ」を選ぶと延々と台詞が繰り返され、
「
はい」が選ばれるまで終わらないといったパターンも。
例
私も連れていってくれますか?
そんな、ひどい……
私も連れていってくれますか?
そんな、ひどい……
私も連れていってくれますか?
そんな、ひd(ry
■カンダタ(DQ3)
許してくれよ!
そんなこと言わずに許してくれよ!
そんなこと言わずに許してくれよ!
そんなk(ry
しかし最近は無限ループと見せかけて普通の二択だったりすることもあるので注意。
DQ5ではトロッコが無限ループという悪質なパターンも。
ゲーム内ではNPCの某おっさんが引っかかっていたが、万が一主人公達がこれに引っかかっていたら……と思うとゾッとする。
また無限ループを利用した
レベル上げもある。
有名なのは、ポケモンの自動床の移動圏内で十字キーを固定し、歩数を稼いで
育て屋さんで育てる等。
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
そんな、ひどい……
追記・修正してくれますか?
はい
→はい
うれしゅうございます!
- 「負けて死ね」 -- あ (2013-08-22 08:52:23)
- こうして世界はr(ry -- 名無しさん (2013-08-22 11:13:43)
- マブラヴのタケルちゃんもこの地獄を経験している。 -- 名無しさん (2014-02-08 09:00:17)
- 僕は何度だって死んで、その度に斬り覚える。恐れるな、死はむしろ僕の味方だ。 -- 名無しさん (2014-02-08 09:10:12)
- イザナミだ -- 名無しさん (2014-12-29 20:52:43)
- 満足民が大好きな言葉じゃないか -- 名無しさん (2015-01-19 00:47:26)
- 満足民は無限ループばっかだな -- 名無しさん (2015-01-19 00:52:37)
- 初代FFはこれを断ち切りにいく話だったりする。初代オマージュの強いDFFやFF零式もループもの。逆にFF8は結果論だが魔女が死に続けるループを作りに行く話 。 -- 名無しさん (2015-01-19 11:30:11)
- プログラマの世界ではこれをやらかす事はかなりの恥 -- 名無しさん (2015-01-19 11:52:35)
- スパゲッティコード?うまそうだな -- 名無しさん (2015-12-11 06:52:24)
- こういうのを打開できる展開嫌いじゃないわ -- 名無しさん (2016-07-25 14:56:17)
- ダンジョンマップでの無限ループはむしろ「無限回廊」の方がなじみ深い? -- 名無しさん (2017-02-07 17:10:06)
- なんどもお。 ループをかちぬくぞ! 大ハマリだぜ! -- 名無しさん (2017-02-07 17:18:38)
- 断っても断れないから無限ループか・・・と思ってたら、あと一回ぐらい断れば断れる感じの選択肢にはよく引っかかった。そういう系統はしつこいながらも大抵は変化がある場合が多いので、慣れてる人は大抵見抜けそうだが -- 名無しさん (2018-04-06 15:30:52)
- シェルターババアがこれだとは思わなかった -- 名無しさん (2018-09-01 06:48:43)
- LINEは無限ループに陥る危険性があるイメージ、既読して返信しなかったら「既読スルーしないで」と、読まずに放置したら「未読スルーしないで」と書き込まれていつまでたっても終わらなさそう -- 名無しさん (2019-08-11 09:13:06)
- 10 GOTO 10 -- 名無しさん (2020-07-29 13:14:50)
- ↑2 それは無限ループではなくただの面倒くさい奴じゃないか? -- 名無しさん (2020-12-30 09:43:29)
- 「職場に来たメールを家に転送」+「家に来たメールを職場に転送」→パンクというケースを複数の人から聞いた -- 名無しさん (2020-12-30 09:58:29)
- 妙にスクロールバーの短い項目だと思ったらw -- 名無しさん (2022-01-08 04:36:58)
- さすがSLD-MAGICは強烈だ -- 名無し製鉄 (2022-10-07 04:54:19)
- 最後の、勇者ヨシヒコの2期1話の問いかけ思い出したわw -- 名無しさん (2022-10-07 05:37:33)
- 最後なっがww -- 名無しさん (2023-05-15 16:27:35)
- やぎさんゆうびん -- 名無しさん (2024-01-11 15:29:29)
- 本文よりも長い追記修正のくだり。 -- 名無しさん (2024-06-05 08:04:38)
- 死に戻り系のキャラも、下手したら死が回付不可能の状態に永遠と戻り続ける事になるから怖い -- 名無しさん (2024-09-17 17:51:11)
最終更新:2025年03月30日 20:48