タグ付けされた質問 「markov-chain」

30
指定された幅で#の中空の正方形を描画します
私はCodingameからこの課題を受け取り、私のものよりも優れたソリューションに興味があります。 標準入力を使用して幅を指定すると、指定された幅と長さで「#」の中空の四角形が描画されます。 例: 5の結果 ##### # # # # # # ##### 私はこれを解決するためにPythonを使用したので、他のPythonコードに特に興味があります。ただし、必要な言語でソリューションを投稿してください。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

9
マルコフ連鎖クイン
この質問では、単純なマルコフモデルを使用します。マルコフ連鎖の詳細については、http: //setosa.io/ev/markov-chains/を参照してください。 文字列を取ります。この例では、次の単語を使用します。 reader 次に、文字ごとに、文字列内の文字が出現するたびに表示される文字を取得します。(​`^`​文字列の開始と​`$`​終了を表します) `^` -> {'r'} # After the start of the string, there is an `r`. 'r' -> {'e', `$`} # After the first `r` (*r*eader), there is an `e` # after the second (reade*r*), there is the end of the string. 'e' -> {'a', 'r'} 'a' …

4
マルコフ連鎖ビートボックスジェネレーター
先日考えたアイデア:定義済みの音のマルコフチェーンに従ってビートを作成します。 誰かがGoogle翻訳とドイツ語を使ってビートボックスを作成したことを覚えています(リンクをたどって、listenを押します)。 そのため、課題は、特定のチェーンからGoogle翻訳へのテキスト入力を作成することです。または、音符を使用して自分で演奏することもできます:)。 拍数の行、名前と確率のマトリックス表現を含む行を読み取るプログラムを作成できます(表現を選択できます)。 これらの3つの引数を使用して関数を作成することもできます。 例えば [入力] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [出力]のようなもの: pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk 開始確率は、各ビートで同じです。 …

5
バイナリ畳み込み
バイナリ畳み込みは数値Mで記述され、数値に適用されNます。のバイナリ表現の各ビットについてM、ビットが設定されている場合(1)、出力の対応するビットは、対応するビットに隣接する2ビットをXORすることで与えられますN(必要に応じて折り返します)。ビットが設定されていない場合(0)、出力の対応するビットはの対応するビットによって与えられNます。 実用的な例(8ビット値): ましょうN = 150、M = 59。それらのバイナリ表現は(それぞれ)10010110と00111011です。 Mのバイナリ表現に基づいて、ビット0、1、3、4、および5が畳み込まれます。 ビット0の結果は、ビット1と7をXORすることで得られ1ます(折り返すため)。 ビット1の結果は、ビット0と2のXOR演算によって得られ0ます。 ビット2の結果は、元のビット2で与えられ、を生成し1ます。 ビット3の結果は、ビット2と4のXORによって得られ0ます。 ビット4の結果は、ビット3と5のXOR演算によって得られ0ます。 ビット5の結果は、ビット4と6のXORによって得られ1ます。 ビット6と7の結果は、元のビット6と7で与えられ、とを生成0し1ます。 したがって、出力は10100110(166)です。 チャレンジ とが与えられたときN、on Mによって記述されたバイナリ畳み込みを実行した結果を出力しMますN。入力および出力は、便利で一貫性があり、明確な形式である場合があります。Nそして、M常に(包括的)範囲[0, 255](8ビット符号なし整数)にあり、バイナリ畳み込みを実行するために、バイナリ表現を8ビットにパディングする必要があります。 テストケース 150 59 -> 166 242 209 -> 178 1 17 -> 0 189 139 -> 181 215 104 -> 215 79 214 -> 25 190 207 -> 50 61 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

5
分離プレス
http://en.wikipedia.org/wiki/Dissociated_press Dissociated Pressは、既存のテキストからランダムテキストを生成するアルゴリズムです。 アルゴリズムは、テキスト内のN個の連続した単語(または文字)を印刷することから始まります。次に、すべてのステップで、すでに印刷された最後のN個の単語(または文字)の元のテキストでのランダムな出現を検索し、次の単語または文字を印刷します。 関数またはプログラム全体として、Dissociated Pressを実装します。最短のコードが優先されます。コマンドラインまたはemacsスクリプトを使用して、元のDissociated Pressプログラムを呼び出さないでください。外部ライブラリを使用しないでください。

2
マルセルプルーストとマルコフ解読セキュリティサービスのT9テキスト
この挑戦は、もう精神的にPythonesqueであるかのように... マルコフ連鎖や暗号化技術の予備知識は必要ありません。 あなたはイギリスの警備サービスM1Sから重要な情報を入手する必要があるスパイです。M1Sのエージェントは、Wi-Fi信号が傍受される可能性があること、Android / iOSのセキュリティ脆弱性が悪用されることなどを十分に認識しているため、全員がNokia 3310を使用して、T9自動補完を使用して入力されるテキスト情報を送信しています。 あなたは以前に電話をハッキングしてagency報機関に配送し、キーロガーを素晴らしいプラスチックキーボードの下にインストールしていたので、入力した文字に対応する一連の数字を受け取るので、「ワシは巣から離れてエージェントに警告します」 84303245304270533808430637802537808430243687 ちょっと待って!一部のT9シーケンスはあいまいです(「6263」は「name」、「mane」、または「oboe」になる可能性があります。不明瞭になるほど、疑わしくなります!)、どうしますか?M1Sが使用する入学試験は、マルセルプルーストの傑作「過去の記憶」を15秒で要約することだけなので、chef-d全体の頻度分布に従って、前の単語の次に来る単語を選択します。プルーストの傑作! コードを解読して、元のメッセージを入手できますか? T9の原理 T9自動補完メカニズムは、次のように説明できます。上の図に示すように、アルファベット文字を数字にマップします。 abc -> 2 def -> 3 ghi -> 4 jkl -> 5 mno -> 6 pqrs -> 7 tuv -> 8 wxyz -> 9 <space> -> 0 <other> -> <is deleted> T9復号化装置は一連の数字を受け取り、それらのキーを押して入力できる単語を推測しようとします。標準の頻度表を使用することもありますが、さらに一歩進んで、マルコフ連鎖を使用して次の単語を予測しています! 学習サンプル コーパスは、プルーストの「物事過去の思い出」のこの重く取り除かバージョン(s/-/ /g、s/['’]s //gおよびs/[^a-zA-Z ]//g-仰せられた混乱所有格's!)もともとに掲載さアデレード大学のウェブサイト(この作品のテキストは、オーストラリアでのパブリックドメインです)。 テキスト全体が一つの長い単語のベクトルとして、一つの長い文として、1つの文字列として分析する必要があります(あなたの言語のためのより便利な方)、改行が取り除かれ、スペースで単語に分割。(単一のパラグラフファイルは、githubツールによって眉をひそめられる可能性があるため、提供していません。) …

4
ナイーブマルコフ連鎖の単語生成
ランダムな単語を生成するには多くの方法があります。セットからランダムな音節を取り出すことができます。nタプル、おそらくニューラルネットワークを使用できます(何ができないのですか?)、子音と母音を交互に使用します。この課題の基本となる方法は、最悪です。マルコフ連鎖を使用してランダムな単語を生成します。あなたがマルコフ連鎖に精通しているなら、おそらくこの方法がそれほどひどい理由を知っているでしょう。 マルコフ連鎖について読みたい場合は、ここをクリックしてください。 プログラムは、重み付けされたマルコフ連鎖の方法によって、1つ以上の単語を入力として受け取り、ランダムな単語を1つ生成します。それはおそらく私以外には理解できないので、以下の入力を伴うマルコフ連鎖の画像を使用して説明しますabba。 (すべてのエッジの重みはすべての画像で同じです)プログラムは、入力テキストに基づいてマルコフ連鎖を介してパスを出力します。ご覧のとおり、出力される確率は1/2 a、確率は1/8、確率はaba1/16、確率はabba32 分の1 ababaなどです。 マルコフ連鎖の他の例をいくつか示します。 yabba dabba doo wolfram supercalifragilisticexpialidocious さらに例が必要な場合は、これを使用してください。(私はそれにあまりにも努力しすぎました) チャレンジの詳細: 入力は、文字列のリスト、またはスペース、コンマ、または改行で区切られた文字列として受け取ることができます あなたはすべての単語が句読点なしで完全に小文字であると仮定するかもしれません(ASCII 97-122) プログラムまたは関数のいずれかを記述できます テストするには、例を入力して、すべての入力がマルコフ連鎖と一致するかどうかを確認できます これはcode-golfなので、プログラムはバイト単位でスコアリングされます。 これについて不明な点がある場合はお知らせください。わかりやすくするよう努めます。

1
ノックアウト確率
ノックアウトは、プレーヤーが交代で撃つバスケットボールゲームです。それは、2人のプレーヤーのコンテストのシーケンスとして再生されます。各コンテストは、それらのプレーヤーの1人を「ノックアウト」する可能性があります。 プレーヤーがそうでA B C Dあり、射撃とバスケットを作るチャンスが0.1 0.2 0.3 0.4それぞれ、コンテストの他のプレーヤーとは無関係であると仮定します。最前線にいる2人の選手、AそしてB「ファイト」。以来A最初に行く、彼はディフェンダーに排除される危険で、そしてBある攻撃者の即時撤廃の危険にさらされていない、と。A最初に撃つ。成功した場合Aは、A防御に成功し、列の最後に移動します。行はに変わりB C D Aます。Aうまくいかない場合は、B発砲します。作成した場合B、A外に出Bて行の後ろに移動するので、行はになりC D Bます。どちらでもない場合ABして、それ、プロセスの繰り返しを作るAのいずれかになるまで、再び撮影AまたはBバスケットになります。 行がB C D A(A正常に防御された)に変化したとします。さて、BそしてC「ファイト」B、そしてディフェンダーでありC、アタッカーである。このプロセスは、一人だけが残るまで繰り返されます。その人が勝者です。 あなたの仕事は、バスケットを作るチャンスを与えられた勝者一人一人の確率を計算することです。 入力: 数字などのリスト0.1 0.2や0.5 0.5 0.5 0.5、N番目の数は可能性あるのn番目のプレイヤーがバスケットを行います。この入力は、関数へのパラメーターとしてを含め、任意の形式で取得できます。 出力: 数字のリスト。n番目の数字は、n番目のプレーヤーがゲームに勝つ確率です。数値は、少なくとも90%の確率で小数点第2位まで正確でなければなりません。つまり、シミュレーションベースのアプローチを使用できます。ただし、コードがシミュレーションベースではない場合(少なくとも小数点以下6桁に正解が返されることが保証されている場合)、スコアから30%を取り除きます。 間の例0.5 0.5:プレーヤーAとを呼び出しBます。pAが勝つ確率を見てみましょう。防御に成功Aする2/3可能性があります(スコア1/2をA獲得する1/4チャンス、AミスとBスコアを獲得する1/4チャンス、ミスとプロセスの両方が繰り返される可能性があるため)。A防御に失敗した場合、彼はノックアウトされてB勝利します。A防御する場合、ラインはになりB Aます。状況は対称的であるため、A勝つ確率はです(1 - p)。我々が得る: p = 2/3 * (1 - p) + 1/3 * 0。解決、我々が得ますp = 2/5。出力は次のようになります2/5 3/5か0.4 0.6。 より複雑な例を実行する確率は十分ではありません。 さらにテストケースが必要な場合は、次の例をご覧ください。 0.1 0.2 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.