C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

言語L={0n1n2n|のチューリングマシンを構築するn≥1}


ここでは、言語L ={0n1n2n|用のチューリングマシンを作成する方法を説明します。 n≥n}。つまり、これは、0、1、2の3文字のみを使用する一種の言語を表しています。 wは文字列です。したがって、w =000111222の場合、チューリングマシンはそれを受け入れます。

これを解決するために、このアプローチを使用します。最初に前から1つの0をxに置き換え、次に1つの1を取得するまで右に移動し続け、この1をyに置き換えます。繰り返しますが、2が得られるまで右に移動し続け、zに置き換えて左に移動します。 xが1つ見つかるまで、左に移動し続けます。取得したら、右に移動して、上記と同じ手順に従います。

xの直後にyが続く場合に条件が発生します。この時点で、右に移動し続け、すべての1と2がyとzに変換されているかどうかを確認し続けます。そうでない場合、文字列は受け入れられません。 $に達すると、文字列が受け入れられます。

状態遷移図

言語L={0n1n2n|のチューリングマシンを構築するn≥1}


  1. Linux用の3つの優れた言語翻訳者

    私たちの多くは複数の言語を話します。あなたは翻訳者かもしれません。あなたの状況に関係なく、実際には、翻訳ツールは多くの人によって定期的に使用されています。いずれにせよ、私たちのほとんどはおそらく私たちの生活のある時点でそれを使用する必要があります。 Linuxについて考えるとき、すぐに優れた翻訳アプリを思いつくことはないかもしれません。ただし、Linuxには確かな言語翻訳者がいて、そのうちのいくつかはここで調べられています。 1。シェルの翻訳 Translate Shellは、Google Translate、Apertium、Yandex.Translate、およびApertiumのエンジ

  2. Linux用の4つのタイムマシンの代替

    AppleのTimeMachineがバックアップを主流にしたことは間違いありません。 Time Machineが登場する前は、平均的なユーザーは疫病のようなバックアップを避けていました。手順は複雑すぎるようで、貴重なストレージスペースも無駄になりました。 Time Machineにより、Appleは人々の考え方を変えました。これは主に、そのシンプルさのおかげです。コンピュータに外付けHDDを追加すると、ファイルとOSが永久に安全になります。ワンクリックで、大惨事が発生する前に戻ります。 そのとき、他のバックアップソリューションがこのアプローチに注目し、シンプルさを優先する必要があると判断し