タグ付けされた質問 「cellular-automata」

ConwayのLife of Gameなどのセルラーオートマトンに関連するパズル。

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

8
Wireworldセルラーオートマトンのシミュレーション
Wireworldは、ワイヤを流れる電子に似るように設計されたセルオートマトンです。そのシンプルなメカニズムにより、デジタル回路を構築できます。それはコンピュータ全体の構築さえ許可しました。 あなたの使命は、選択した言語で最短のWireworld実装を作成することです。 グリッド内の各セルには、4つの状態のうち1つがあります。4つの状態は、「ブランク」、「銅」、「電子ヘッド」、または「電子テール」です。 空白のセルは常に空白のセルのままです 電子ヘッドは常に電子テールになります 電子の尾は常に銅になります 銅のセルは、8つの隣接セルのうち1つまたは2つが電子ヘッドである場合に限り、電子ヘッドになります。 このコンペティションは、Shortest Game of Lifeコンペティションと同様のスタイルを持ちますが、いくつかの変更があります。 グリッドは少なくとも40 x 40セルでなければなりません グリッドのエッジは、(トーラスではなく)ラップアラウンドしてはいけません。フィールドの外側のセルを常に「空白」として扱います。 ユーザーが独自の開始構成を入力できる必要があります。 空白の画面を見つめるのは楽しいことではありません。プログラムは、実行中のシミュレーションを視覚的に表示する必要があります。 これはコードゴルフで、最少バイトが勝ちます。

10
XORORシーケンス
セルオートマトンは本当に魅力的です。通常語られるのはバイナリー、つまり数値で表現できるものです。しかし、私の意見では、それらは死ぬまで行われました。三項CAはより興味深いものですが、考慮すべきASCIIがすべてあります!なんて楽しいのでしょう! 各キャラクターのルールセットを決定する代わりに、すぐに説明する簡単な決定ルールを使用します。次世代を決定するために、セルオートマトンのように3つの「トップ」セルを調べます。例に注目してください。 QWERTY X Y Z の「上部」はでYありWER、上下左右のセルです。Yは、3文字の文字列に対する関数である、定義しようとしている関数の結果になります。の「トップ」Xは QW、または存在しない/欠落しているセルを埋めるスペースです。 さて、楽しい機能のために!このシーケンスをXORORシーケンスと呼んでいます。をA左上のセルの文字コード、B上のセルの文字コード、C右上のセルの文字コードにします。次に、結果のセルは、文字コードがの文字(A XOR B) OR C、つまりです(A^B)|C。(結果の値が126より大きい(CHARCODE % 127) + 32場合、値は32に設定されます。値が32より小さい場合、何も実行されません。)以下にシードの例を示しHello, World!ます。 S: Hello, World! 0: mmmo/c_ z}~)e m = ( )^(H)|(e) = (32^72)|101 = 104|101 = 109 (m) m = (H)^(e)|(l) = (72^101)|108 = 45|108 = 109 (m) etc. 1: mmo/c_< +wl 2: …

5
ハードオブジェクトまたはソフトオブジェクトはもっとありますか
What-Ifブックのオープニングに触発されました。 入力は、文字列、文字列のリストなどとしてのスペースの長方形で、#内部にで作成されたオブジェクトがあります。 ######## # # ######## ### #### ### #### ### オブジェクトは常に交差せず、触れない長方形になります。ソフトオブジェクトは#、中央がで埋められておらず、境界のみであるオブジェクトとして定義されます。ハードオブジェクトは、塗りつぶされたオブジェクトです。幅または高さのあるオブジェクト<=2はハードと見なされます。すべてのオブジェクトはハードまたはソフトです。 入力にさらに硬いオブジェクトがある"Hard"場合、output 、より柔らかい場合、output "Soft"、それらが等しい場合、output "Equal"。 これはcode-golfなので、バイト単位の最短コードが勝ちです! テストケース これらのケースは完全な入力ではなく、各オブジェクトを特徴付けるべきものです。実際の入力は、質問の上部にあるascii-artのようになります。 ハード # #### ## ## ########## ########## ########## 柔らかい ### # # ### ################### # # # # # # ################### #### # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

6
安定したゲームオブライフ
チャレンジ: 0と1のマトリックス(または2D配列)が与えられた場合、Conwayのゲームオブライフが安定状態に到達するまでのステップ数を出力します。1に到達しない場合は-1を出力します。安定状態とは、各ステップでセルがオンまたはオフにならない状態です。ゲームは、指定されたマトリックスで実行され、上部と下部が接続され、側面が接続されている必要があります。(つまり、4x3トーラス上で実行される4x3マトリックスが与えられた場合)入力マトリックスは15x15より大きくなりません。 注:マトリックスが安定した状態で開始する場合、出力は0になります。 サンプル: 入力: [[0,0,0], [0,1,1], [0,1,0]] 出力: 2 プロセス:(表示する必要はありません) [[0,0,0], [0,1,1], [0,1,0]] [[1,1,1], [1,1,1], [1,1,1]] [[0,0,0], [0,0,0], [0,0,0]] 入力: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] 出力: 2 プロセス: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] [[0,0,0,0], [0,1,0,1], [0,0,0,0], [0,1,0,1]] [[0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0]] 入力: [[0,1,0,0], [0,1,0,0], [0,1,0,0], [0,0,0,0]] 出力: -1 プロセス: [[0,1,0,0], [0,1,0,0], …

3
蜂の巣の奇妙な生活
研究者は最近、蜂の巣の無限のフィールドに住む興味深い蜂のコロニーを発見しました。 各セルには蜂を入れることも入れないこともできます。実際、それらの生き物の生活は少し混chaとしているように見えます。コロニーは常に次のパターンで始まると計算できます。 (ビーによって描か エマニュエルBOUTET にウィキメディアコモンズ。このハニカム・アンド・ハチ画像はこのように下でリリースされる CC-BY-SA。 grumbles) その後、ミツバチのライフサイクルはいわゆる世代に分割されます。各世代の古いミツバチは死に、新しいミツバチはhatch化します。そして、それは主に彼らの細胞の隣人に依存します: ミツバチの隣人が2人以下の場合、孤独のために死にます。 ミツバチが3つ以上の隣人を持っている場合、過密のために死にます。 セルが隣接するセルに2つ、3つ、または4つの生きているミツバチを持っている場合、新しいミツバチが次世代でそこにthere化します。 死ぬミツバチは世代の終わりまで死なないので、次世代のミツバチをhatch化させるかもしれない周囲の細胞に影響を与えます。 そのようなコロニーがどのように機能するかがわかったので、何世代でもそれをシミュレートできます。 入力 入力は、標準入力で指定された単一の数値Nであり、改行で終了します。0≤ N ≤150これは、シミュレートする世代数です。 出力 出力は、標準出力では単一の数値であり、オプションで単一の改行が続きます。これは、N 世代後の生きているミツバチの数を表します。 標準エラーの追加出力は無視されます。 サンプル入力 0 5 42 100 サンプル出力 6 44 1029 5296 勝利条件 ゴルフで通例であるように、最短のコードが勝ちます。同点の場合、以前のソリューションが優先されます。 テストケース 同じテストケースを含む2つのテストスクリプトがあります。 バッシュ パワーシェル 呼び出しはどちらの場合でも:<test script> <my program> [arguments]、./test ruby beehive.rbまたは./test.ps1 ./beehive.exe。 151の代わりに22のテストしかないことを知っています(主にソリューションが非常に遅いため)。タスクを解決する代わりに、正確なテストケースを埋め込むことは控えてください。これらのスクリプトは、変更によってプログラムが正しく動作するかどうかをテストするのに便利です。特定のテストケースにコードを適応できるわけではありません。 別のメモ このタスクは、2011〜W24の間に私の大学で開催されたゴルフコンテストの一部でした。出場者のスコアと言語は次のとおりです。 336 – …

3
アイデンティティサンドパイルを見つける
この質問はアーベルサンドパイルに関するものです。読むこの前の挑戦をしてこのnumberphileのビデオを見て多くを学ぶために。 サイズのアーベル砂山NによってNは番号0、1、2及び3(砂の粒の数を表す)を含むグリッドです。2 sandpilesを追加すると、最初の要素で要素を追加し、その後で働く転倒 3.あなたがいない問題で、最終結果は同じであるん打倒する順番以上になる任意の要素を。セルが転倒すると、その数は4減少し、直接隣接するセルはそれぞれ1増加します。これにより、連鎖反応が発生する可能性があります。セルがグリッドの端にある場合、転倒中にグリッドから落ちる粒子はすべて消えます。 たとえば、2 x 3のサンドパイルを追加しています(かなり極端な連鎖反応を与えます)。 3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2 3 3 3 + 2 1 2 …

4
圧縮された曜日
曜日のリストの入力が与えられると、リストの最短のソートされた表現を出力します。 入力の形式は、2文字のストリングの一つ以上からなる文字列であるSu(日)、 Mo(月)、 Tu(など)、 、We、Th、 FrおよびSa。入力は必ずしもソートされた順序で与えられるとは限りません。 入力を出力形式に変換するには、 入力を日曜日から始まる曜日で並べ替えます(例ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 あいまいさを残さない場合は、略語を1文字に減らします。たとえば、最初のSが土曜日になることができなかったため、にSuMoTuWeなるはずSMTWです。これにより、出力がソートされなくなります(Tと同じ)。しかし、ThFrSaなるはずThFS火曜日と木曜日の両方が金曜日前にそれを減らしてくると、TFSあいまいさを作成します。 出力がnowの場合、代わりMTWTFに出力D(「week day s」を表します)。同様に、SSなるはずE週間のために終了。最後に、 SMTWTFSなるべきAために、すべての日。 入力と出力は両方とも単一の文字列でなければなりません。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu TW …

1
人生:創造されたか進化したか?
正方形のGame of Lifeグリッドの状態を考慮して、それが以前の状態から進化したのか、または作成されたにすぎないのかを判断します。つまり、状態が「Garden of Eden」状態であるかどうかを識別します。 入力 1が「生きている」ことを示し、0が「死んでいる」ことを示す状態の正方形のグリッド。必要に応じて、0と1の代わりに2つの識別可能なシンボルを選択できます。 グリッドの辺の長さはゼロではありませんが、任意の自然数1 <= N <= 20です。 入力グリッド外のセルのいずれかまたはすべてがこの世代で生きている可能性があり、それらのいずれかまたはすべてが前の世代で生きている可能性があります。考慮される宇宙は無限であるため、境界条件はありません。入力のエッジは、ユニバースのエッジではありません。具体的には、グリッドはラップしません。 入力は、行で区切られた文字列または単一の文字列の形式です。必要に応じて、グリッドの辺の長さまたは領域を追加入力として(グリッドの前後に)取ることができます。 許容される入力形式: 010,101,010 010101010 010 101 010 3 010101010 出力 次世代の入力状態につながる可能性のある以前の状態(入力グリッドよりも大きい状態を含む)がない場合は「作成済み」。 次世代の入力状態につながる可能性のある少なくとも1つの可能な以前の状態(入力グリッドよりも大きい状態を含む)が存在する場合、「進化した」。 必要に応じて、「作成」と「進化」の代わりに、2つの区別可能な文字列または数字を使用できます。 可能な以前の状態は、入力と区別する必要がないことに注意してください。状態がそれ自体を次世代として持っている場合、それは進化したと見なされるべきです。 テストケース 010 101 010 Evolved 0101110100 0010101001 1011100110 0101111101 1001001111 1111001001 1011111010 0110011101 1001010100 0010111010 Created 作成されたテストケースは、Achim FlammenkampのGame of Lifeページから取得されます。 注意 このチャレンジを書いてくれたtrichoplaxに感謝し、ここから採用しました

8
デジタルセルオートマトン
奇数の正の整数Nと10進数の文字列(0123456789)を取り込むプログラムまたは関数を作成します。文字列は、10状態の1次元セルオートマトンを表します。各桁は1つのセルを占有し、世代から世代への更新規則は、すべてのセルが、10を法とするセルを中心とするN個のセルの合計から生じる桁になることです。 最初と最後のセルは隣接セルのように折り返されるため、セルは常にN個のセルを中央に配置できます。Nは文字列の長さよりも大きい場合があることに注意してください。これは、Nが複数回折り返される可能性があり、それに応じていくつかの桁が複数回合計されることを意味します。 例として、Nが7で文字列がの038場合、合計するセルを視覚化するため038に、両方向に無限に繰り返すことができます ...038038038038038... に0変更される数字は、010を法としてanyを中心とした7桁の合計です。 ...038038038038038... ^_____^ | sum all these これは(0+3+8+0+3+8+0)%10、です2。 同様の数字3と8変化によって定義さに(3+8+0+3+8+0+3)%10= 5及び(8+0+3+8+0+3+8)%10= 0それぞれ。 したがって、後の世代038は250Nが7のときです。 プログラムまたは関数は、次世代の入力数字列の数字列を印刷または返す必要があります。すなわち、各セルに更新ルールを1回適用し、出力を提供します。バイト単位の最短コードが優先されます。 テストケース [digit string] -> [N = 1], [N = 3], [N = 5], [N = 7], [N = 9], [N = 43] 0 -> 0, 0, 0, 0, 0, 0 1 -> 1, …

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

3
最長の非繰り返しGame-of-Lifeシーケンス
正の整数Nを与え、ゲームオブライフルールで最長の非反復シーケンスを生成し、トーラスで再生される固定パターン(長さ1のサイクル)で終わるN x Nグリッドの開始パターンを決定します。 目標は最短のプログラムではなく、最短のプログラムです。 世界は有限であるため、最終的にはループに陥り、すでに訪れた状態を繰り返します。このループに期間1がある場合、開始パターンは有効な候補です。 出力:開始パターンとシーケンス内の一意の状態の総数(開始パターンを含む)。 現在、1x1トーラスは特別なものです。セルはそれ自体に隣接していると見なされているかどうかに関係ありませんが、実際には問題はありません。いずれの場合も、単一の生きているセルは(過密または孤独の)死ぬだけです。したがって、入力1は、長さが2のシーケンスを生成します。このシーケンスは、1つのセルが生き、その後は永遠に死んでいます。 この質問の動機は、忙しいビーバー機能に類似しているが、メモリに限界があるため、間違いなく複雑です。これは、OEISにも含めるのに適したシーケンスです。 N = 3の場合、シーケンスの長さは3で、左側のパターンは完全に黒い3x3正方形に達し、その後死にます。(1サイクルの一部であるすべてのパターンが削除されます)。

7
振動の平等
on [l, r]から始まる、時間単位ごとに1単位の速度で、2つの整数点間で振動するオブジェクトがあります。あなたが仮定することができます。たとえば、オブジェクトがで振動する場合、次のようになります。lt=0l < r[3, 6] t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 しかし、オブジェクトは継続的に振動するため、ともt=0.5 -> 3.5ありt=3.7 -> 5.3ます。 、の間[l1, r1]で振動する2つのオブジェクトが与えられた[l2, r2]場合t、2つのオブジェクトが同じ位置を共有するような時間が存在するかどうかを判断します。l1, r1, l2, r2任意の便利な形式でテイクを作成し、真実/偽の値を出力します。 真実の入力: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

4
人生のルールを変える
リアルなセルラーオートマトンは、コンウェイのゲームオブライフに似たセルラーオートマトンであり、(理論的に)無限大の正方形グリッドで動作します。 。 ただし、これらのLike-likeバージョンは重要な点で異なります。特定のセルが生き残るためのルールと、特定のセルが次世代に生き残るためのルールです。 たとえば、古典的なGame of Lifeはルールを使用しますB3/S23。つまり、新しいセルを生成するには3つの生きたセルが必要であり、生き残るには2つまたは3つの生きている隣人が必要です。この挑戦のために、我々は隣人がそれ自身を含まないので、各セルがちょうど8つの隣人を持っていると仮定します。 タスクには、開始構成、出生ルール、生存ルール、および正の整数(実行する世代数)が与えられ、可能な限り短いコードで指定された世代数のルールを使用して、Life-likeオートマトンをシミュレートします。最初の構成は、正方行列/ 2次元配列または複数行の文字列になりますが、選択できます。その他は、合理的な形式と方法で提供されます。 たとえば、出生規則が12345678(任意の生きている隣人)である場合、生存規則は2357あり、開始構成は 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 次の2世代は Generation 1: Generation 2: 0 0 0 0 0 1 1 1 1 1 0 …

7
擬似ランダムセルラーオートマトン
前書き この課題では、非常に悪い擬似乱数を使用して、特定の確率的セルオートマトンをシミュレートします。セルオートマトンは、次のローカルルールによってバイナリ文字列で定義されます。セルの左隣とセル自体に状態aとがあると仮定しbます。 の場合min(a,b) == 0、新しい状態はbですmax(a,b)。 の場合min(a,b) == 1、の新しい状態がbからランダムに選択され{0,1}ます。 次の図は、単一のの可能な10段階の進化を示しています1。 1 11 101 1111 11001 101011 1111111 10001001 110011011 1010111101 隣接する2つ1のsが時々に1、そして時にはに進化し、0最も境界のビットが常に1sであることに注意してください。あなたの仕事は、この形式のセルオートマトンの進化を生み出すことです。 インプット 入力は、n表示する行数を示す正の整数と、Lランダム性のソースとして使用する空でないビットのリストです。 出力 出力は、リストのリストまたはビットの2D配列であり、上の図のように、時間ステップ1に対する単一の進化をn表します。0必要に応じて、出力にsを埋め込み、同じ長さの行を取得できますが、先頭に0s があってはなりません。 セルオートマトンのランダムな選択は、リストから引き出され、L使い果たされたときに最初に戻ります。より明確に、出力が上から下、左から右の形式で一度に1行を横断する場合、連続するランダムな選択はL、必要な回数だけ繰り返されるリストを形成するものとします。 例 入力がn = 7とであるとしL = [0,1,0]ます。その後、セルラオートマトンは、7つのステップで次のように進化します。ここでは、vランダムな選択のすぐ上に配置します。 [1] [1,1] v [1,0,1] [1,1,1,1] v v v [1,1,0,0,1] v [1,1,1,0,1,1] v v v [1,0,0,1,1,1,1] a vでマークされたすべてのビットを読み取ると、が得られます01001001。これはL2.66回繰り返されます。次のランダムビットはになります0。 ルールとスコアリング …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.