P′′とは? わかりやすく解説

P′′

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/10/25 15:00 UTC 版)

P′′
パラダイム 命令型プログラミング, 構造化定理
登場時期 1964
設計者 コラド・ベーム(Corrado Böhm)
型付け なし
方言 Brainfuck
影響を与えた言語 Brainfuck
テンプレートを表示

P′′ (P double prime:ピーダブルプライム[1])は1964年にコラド・ベーム[2][3]によって作成された、チューリングマシンの一種を記述するための言語である。

チューリングマシンを記述するがゆえにその仕様は原始的である。チューリングマシンにもかかわらず、状態遷移はテープの内容とテープヘッドの位置だけで表現されるので、有限オートマトンの概念が希薄である。

定義

(以下 P′′)は以下のように4つの命令アルファベット におけるワードの集合として形式的に定義される(formally defined)。

文法

  1. は P′′ のワードである。
  2. もしも が P′′ のワードならば、それらを繋げた も P′′ のワードである。
  3. もしも が P′′のワードならば、 も P′′ のワードである。
  4. 以上の3つの法則から得られるワードだけが P′′ のワードである。

意味論

  • は無限長のテープを搭載したチューリングマシンのテープ・アルファベット(テープに書かれるデータの種類)である。 は空白の記号であり、 と等価である。
  • P′′ の全命令は、全てのあり得るテープの構成の集合 順列である。つまり、テープの内容とテープヘッドの位置の両方を考慮した全てのあり得る構成である[注釈 1]
  • は述語(値を受け取ってから真偽が決定するもの)であり、現在位置のシンボルは ではないことを示している。これは命令ではなく、プログラム中で使用されない。しかし、その代わりとして言語の定義を補助するために使われる。
  • は、(可能であれば)1セル分テープヘッドを右方向へ移動することを意味する。
  • は、現在位置のシンボル に置き換える(つまり、現在位置のシンボルが のときは に置き換えられる)。そして、テープヘッドを1セル分左方向へ移動することを意味する。
  • 関数の合成 を意味する。言い換えると、命令 の前に実行される。
  • は、条件 が成立している間だけ while ループで を反復することを意味する。

他のプログラミング言語との関連

  • Brainfuck 言語は、P′′ の[注釈 2]非形式的な変種(informal variation)である(Brainfuck はテープの代わりにメモリを使うので、I/Oを扱わないところは異なる)。ベームはあらゆる計算可能関数を計算するのに十分な基本関数の集合のそれぞれに対して明確な P′′ のプログラムを提供している。使用したものは , そして4つのワード (ここで 回の反復である)、 だけである。これらは6つの Brainfuck の命令 [, ], +, -, <, > と等価である。注意するべきは、 なので、現在位置のシンボルをn回インクリメントするとラップアラウンド( をインクリメントすると になること)する。そのため、一つの によって、その結果は現在位置のシンボルをデクリメントすることになる(訳注:テープ・アルファベットは n+1 種類あるので、n回インクリメントするとラップアラウンドして1つ少ない数のテープ・アルファベットになる)。

プログラムの例

ベーム[2]は、x > 0 を満たす整数xの前の数 (x-1) を計算する以下のプログラムを提供している。

これを等価のBrainfuckのプログラムに直接変換すると、

 >[>]<[[<[<]]<]>+

このプログラムは bijective base-k 記法で表現されているある一つの整数を想定している。 にそれぞれエンコードされる。そして、数字列の前後に がある(例えば、bijective base-2 の場合、数字の8は とエンコードされる。なぜなら、bijective base-2 において8は112である)。計算の最初と最後に数字列の前にある の上にヘッドが位置することになる。

注釈

  1. ^ 原文は "All instructions in P′′ are permutations of the set X of all possible tape configurations; that is, all possible configurations of both the contents of the tape and the position of the tape-head." となっている。テープの内容とテープヘッドの位置の両方を考慮した全てのあり得る構成が命令になるとは理解し難い。
  2. ^ 英語版Wikipediaではこの部分に「a minor」という形容も付いているが、それは特に訳す意味は無いと思われる。

出典

  1. ^ https://github.com/Pbtflakes/pdbl
  2. ^ a b Böhm, C.: "On a family of Turing machines and the related programming language", ICC Bull. 3, 185-194, July 1964.
  3. ^ Böhm, C. and Jacopini, G.: "Flow diagrams, Turing machines and languages with only two formation rules", CACM 9(5), 1966. (Note: This is the most-cited paper on the structured program theorem.)

P′′

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/09 06:43 UTC 版)

計算理論」の記事における「P′′」の解説

en:P′′)チューリングマシンと同様、無限長のテープ記号記録するが、チューリングマシンにおける有限状態オートマトン相当するものを、固定長ループ記述可能な命令の列によって記述する。これを元に命令セット理論向けから実装向けに大幅にアレンジして設計されプログラミング言語Brainfuckである。

※この「P′′」の解説は、「計算理論」の解説の一部です。
「P′′」を含む「計算理論」の記事については、「計算理論」の概要を参照ください。

ウィキペディア小見出し辞書の「P′′」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

「P′′」に関係したコラム

  • FXのペイオフレシオとは

    FX(外国為替証拠金取引)のペイオフレシオ(payoff ratio)とは、FXでの取引における利益率のことです。ペイオフレシオは、リスクリワードレシオ(risk reward ratio)ともいいま...

  • FXやCFDのRMIとは

    FXやCFDのRMI(Relative Momentum Index)とは、テクニカル指標のモメンタムを用いて、値動き幅から相場の売られ過ぎ、あるいは、買われ過ぎを判断するためのテクニカル指標のことで...

  • FXのチャート分析ソフトMT4で表示できる通貨ペア以外のレートは

    FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)では、外国為替市場で取引される通貨ペア以外のチャートも表示できます。以下はそのリストです。なお、MT4のダウンロード先...

  • CFDの取引をデモ口座で体験するには

    CFDの取引をデモ口座で体験するには、デモ口座を提供しているCFD業者に登録する必要があります。ここでは、GCIフィナンシャルの提供するデモ口座を使ってCFDの取引を体験してみます。GCIフィナンシャ...

  • ETFの銘柄一覧

    ETFの銘柄数は2012年9月の時点で約140あります。そして、いずれの銘柄にも価格の連動となる対象の商品があります。ここでは、ETFの銘柄をジャンルごとに紹介します。表の「コード」は株式コード、「市...

  • バイナリーオプションで取引される先物商品の種類と一覧

    バイナリーオプションで取引される商品には、通貨ペア以外に日経225などの株価指数、東京証券取引所(東証)やニューヨーク証券取引所に上場している株式、そして、金、銀などの先物商品などがあります。以下は、...

辞書ショートカット

すべての辞書の索引

「P′′」の関連用語

P′′のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



P′′のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのP′′ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの計算理論 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS