並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

乱数の検索結果1 - 27 件 / 27件

  • 『サイレントヒル2』のスピードラン配信において、ランダムな謎解きの答えを確実に予言する謎の視聴者が存在した。かつて走者達を混乱させた「魔術師」の技術 - AUTOMATON

    ホーム ニュース 『サイレントヒル2』のスピードラン配信において、ランダムな謎解きの答えを確実に予言する謎の視聴者が存在した。かつて走者達を混乱させた「魔術師」の技術 全記事ニュース

      『サイレントヒル2』のスピードラン配信において、ランダムな謎解きの答えを確実に予言する謎の視聴者が存在した。かつて走者達を混乱させた「魔術師」の技術 - AUTOMATON
    • 『ゼルダの伝説 風のタクト』にて“運任せで極めて厄介”とされた海戦ゲームの仕組みは、どのように解かれたのか。執念が生み出した最適解 - AUTOMATON

      RNG。もともとはRandom Number Generator、つまりは乱数を発生させる仕組みそのものを指していたこの略語は、転じてゲーマーにとっては「運要素」そのものを指す言葉となっている。RNGはスピードランナー達にとって最大の敵でもある。そして「いかにして自分の走るルートからRNGを排除するか」に心血を注ぐスピードランナー達、その一人が『ゼルダ』シリーズの走者として知られるLinkus7氏である。彼が今回RNGの魔の手から解放したタイトルは『ゼルダの伝説 風のタクト』(以下、『風のタクト』)、特にそのゲーム中に登場する「海戦ゲーム」だ。Linkus7氏はその戦いの軌跡を解説動画としてアップロードし、大きな反響を呼んだ。本記事では「我々がいかにしてゼルダシリーズ最悪のミニゲームに決着をつけたか」というタイトルのその動画の内容の、日本語での解説を試みる。なお解析が成功されたのは2020

        『ゼルダの伝説 風のタクト』にて“運任せで極めて厄介”とされた海戦ゲームの仕組みは、どのように解かれたのか。執念が生み出した最適解 - AUTOMATON
      • 10秒で衝突するUUIDの作り方

        11/25(月) LT Party presented by GeekHub (大阪) エンジニア向けゆるいフリーテーマLT大会!

          10秒で衝突するUUIDの作り方
        • 鍵生成には暗号論的に安全な乱数を使おう

          SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

          • 蓮舫💙💛RENHO🇯🇵 on Twitter: "いや、これ。 スパコンの使い方間違ってませんか。  今までの映画館や劇場、イベント等の自粛や中止要請から一転、五輪は10000人でも大丈夫とのお墨付きに使うの、と思えてしまいます。 マスク着用で…観客1万人でも感染リスクゼロの… https://t.co/hOzAGAz6Df"

            いや、これ。 スパコンの使い方間違ってませんか。  今までの映画館や劇場、イベント等の自粛や中止要請から一転、五輪は10000人でも大丈夫とのお墨付きに使うの、と思えてしまいます。 マスク着用で…観客1万人でも感染リスクゼロの… https://t.co/hOzAGAz6Df

              蓮舫💙💛RENHO🇯🇵 on Twitter: "いや、これ。 スパコンの使い方間違ってませんか。  今までの映画館や劇場、イベント等の自粛や中止要請から一転、五輪は10000人でも大丈夫とのお墨付きに使うの、と思えてしまいます。 マスク着用で…観客1万人でも感染リスクゼロの… https://t.co/hOzAGAz6Df"
            • 乱数について本気出して考えてみる|TechRacho by BPS株式会社

              プログラミングをやっていると、様々な乱数に出会います。乱数に関しては大勢の研究者が色々な研究結果を出しているため、種類も増え、いったいどれを使えばいいのかと悩む原因にもなります。 大勢が研究し利用している分野ですから、私以外でも大勢が乱数に関する記事を書いているため、あえて新しい記事を書く価値は高くないかもしれません。まあ、既に理解している人はここで記事を閉じるか、暇つぶし程度の感覚で読んでいただくと良いかと思います。 真乱数と疑似乱数 プログラミングの世界の中でいわゆる "乱数" として扱われることが多いのは擬似乱数です。疑似、と付くからには、これは実のところ乱数ではないと言えます。とは言え、擬似乱数を乱数でないと言ってしまうと話が終わってしまうので、疑似乱数を含む乱数を広義の乱数とします。この記事で扱うのは広義の乱数です。逆に、狭義の乱数、本物の乱数は真乱数と言います。 本物と言いまし

                乱数について本気出して考えてみる|TechRacho by BPS株式会社
              • そのシャッフル、本当にシャッフルですか?何気ない落とし穴にハマった話 - BASEプロダクトチームブログ

                こんにちは、BASEのフロントエンドチームでエンジニアリングマネージャーをやっている松原(@simezi9)です。 私は最近ではマネージャーとしてコードを書くことよりもチームの編成や採用などをメインに業務を行っているのですが、 そんな中でチラっと書いたコードで見事に落とし穴にハマって失敗をしたのでその共有記事です まえがき BASEのフロントエンドチームは現在15名ほど(うち業務委託5名)で運営されています。 この人数は今後もどんどん増えていく予定なのですが、目下全社的にリモートワークになっている事情も手伝ってメンバー同士の関係性が希薄になってしまう懸念を持っていました。 BASEの中では常に複数のプロジェクトが走っているのですが、それぞれのプロジェクトにフロントエンドエンジニアは2〜3名ずつ配置されています。 そんななかでアサインされた人同士がフロントエンドエンジニア同士であるにも関わら

                  そのシャッフル、本当にシャッフルですか?何気ない落とし穴にハマった話 - BASEプロダクトチームブログ
                • 放射性物質を用いて量子乱数を生成してしまう猛者が現れる

                  データの暗号化やプログラミングでも使用される乱数は、定量的なアルゴリズムを用いて生成する擬似乱数や、CPUや通信機器のノイズを用いて生成する物理乱数がありますが、いくつかの乱数の中でも最も信頼性が高いとされる量子乱数を、放射性物質を用いて生成してしまう猛者がGitHub上に現れ、乱数作成機器の仕様とソースコードを公開しています。 GitHub - nategri/chernobyl_dice: A quantum random number generator with a Cold War aesthetic. https://github.com/nategri/chernobyl_dice 「Chernobyl Dice(チェルノブイリのサイコロ)」は、エントロピー源として弱放射性物質の核分裂反応を利用した量子乱数生成器です。Chernobyl Diceは基板となるArduino N

                    放射性物質を用いて量子乱数を生成してしまう猛者が現れる
                  • PHP の乱数実装がグダグダな話

                    2022-07-19 これらの問題を解決する Random Extension 5.x 並びに Random Extension Improvement RFC が可決され、 master に merge されました。 PHP 8.2 より利用可能になります。 https://wiki.php.net/rfc/rng_extension https://wiki.php.net/rfc/random_extension_improvement https://github.com/php/php-src/commit/4d8dd8d258ff365b146bcadcb277ede8992706d0 2022-06-18 これらの問題を解決するため、 PHP 8.2 に対して Random Extension 5.x の RFC が作成され、投票が始まっています 2021-01-15 PHP

                      PHP の乱数実装がグダグダな話
                    • シミュレーションとは、乱数を呪文とした「神への祈り」である

                      世の中には、全てのパターンを網羅的に調べることができないほど複雑な事象がある。 その一部の要素に乱数を用いて網羅性の代替とすることを、人類は「シミュレーション」という科学っぽい名称で呼んだ。 しかし、乱数を用いるシミュレーション(モンテカルロ・シミュレーション)は、科学を途中過程に置いた信仰だと思う。 乱数を用いた時点で、結果がそれこそ神のみぞ知る厳密解に合致しているのか、多くの場合わからない。 そもそも、その合致を数式的に証明できるのであれば、シミュレーションなんか必要ないわけで。 それは、大規模シミュレーションとか呼ばれるものなんかで特にそうだろう。 大規模となれば、計算には莫大な時間と費用がかかる。 なので、乱数の使用数に比して、統計的信頼度を満たすほどの回数で試行するのは困難であろう。 そうなると、厳密解への合致はそのシミュレーションへの信頼感といった信仰によってしか期待できない。

                        シミュレーションとは、乱数を呪文とした「神への祈り」である
                      • メルセンヌツイスタはそんなに衝突しない - Qiita

                        κeenです。こちらのスライドが話題になっているようです。 10秒で衝突するUUIDの作り方 - Speaker Deck 笑い話としても乱数の難しさの側面としても面白いのですが、これを見た人たちの反応がちょっと勘違いしてそうだったので補足します。 別に私は暗号とか乱数とかの専門家ではないです。 発表者の方のコードは読みましたか? 少し速度が必要になるのでRustに移植します。 [package] name = "genuuidv4" version = "0.1.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] rand = "0.7.2" sfmt = "0.6.0" use

                          メルセンヌツイスタはそんなに衝突しない - Qiita
                        • [0.0, 1.0) の乱数を得るための“本当の”方法

                          レイトレ合宿9(*)のセミナー発表スライドです。 * https://sites.google.com/view/rtcamp9/home - 2023/09/08 “除算法2”追記。(@Reputelessさんありがとうございました)

                            [0.0, 1.0) の乱数を得るための“本当の”方法
                          • Generating UUIDs at scale on the Web

                            TL;DR can you trust every browser to generate globally unique identifiers at scale? At Teads, we have tried, and the answer is yes, with a few caveats. This article describes the experiments we’ve run and the discoveries we made along the way. Why we need client-side unique identifiersGenerating unique identifiers is a common need that third-party scripts integrated on Web pages and e-commerce sit

                              Generating UUIDs at scale on the Web
                            • セキュアなトークンの作り方 - astamuse Lab

                              開発部のにゃんです。主にバックエンドを弄っております。 Webアプリケーションではセキュリティ対策のためにランダムな文字列を使用する場面が多々あります。例えば CSRF対策のトークン OAuthやOpenID Connectで使用するnonce, state, code_verifier メールの到達確認用URLのトークン パスワードをhashする際に使用するsalt セッションID これらの値は単に衝突しなければOKというものではありません。十分なセキュリティ強度を確保するためには推測不可能なランダム値を使う必要があります。 以下は推測不可能なランダム値ではありません。セキュリティが求められる場面では使ってはいけません。 Math.randomなどの疑似乱数 日付やユーザ情報のハッシュ ではどのような値が適切なのでしょうか? /dev/randomと/dev/urandom Linuxに

                                セキュアなトークンの作り方 - astamuse Lab
                              • 【C】srand(time(NULL))をしても同じ乱数が生成される

                                C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

                                  【C】srand(time(NULL))をしても同じ乱数が生成される
                                • ランダムを楽しもう / Algorithm with Randomness

                                  本スライドでは、以下の2つの内容を紹介します。 1.乱択アルゴリズム(乱数を使って問題を解くアルゴリズム) 2.ランダムな入力に対するアルゴリズム

                                    ランダムを楽しもう / Algorithm with Randomness
                                  • コンピューターはどうやって乱数を生み出しているのか?

                                    テレビゲームやギャンブル、暗号は一見すると全く関係ないように思えますが、実はすべて「乱数」を利用しており、現代人の生活は乱数なくして成立しません。そんな乱数をコンピューターでどうやって生成させているのかを、プログラミング関連のブログ・BetterProgrammingが解説しています。 Generating Random Numbers Is a Lot Harder Than You Think | by Sunny Beatteay | Sep, 2021 | Better Programming https://betterprogramming.pub/generating-random-numbers-is-a-lot-harder-than-you-think-b121c3e75d08 プログラミングで乱数を使いたい場合、例えばRubyの場合は「rand」、Pythonの場合は

                                      コンピューターはどうやって乱数を生み出しているのか?
                                    • ある範囲に収まる乱数を得るために剰余(モジュロ)演算を書くとき、レビューするときに意識すること

                                      はじめに ある乱数生成器が N 個のセットのなかからランダムに一つを返すとき、その返り値をそれよりも小さな範囲に収まるようにしてから利用したい、という要件にたまに出会います。例えば、[0, 2^32) の範囲内の乱数を生成する乱数生成器を利用できる環境で、サイコロの目をランダムに計算するには、何らかの方法を使って [0, 6) の範囲の乱数に収める必要があります。このような getrandom(2) や /dev/urandom を使った乱数生成器の例以外にも、例えば Int64 のユーザー属性値を入力にしてユーザーを 10 種類に均等に分類したいという類の要件を過去にレビューしたこともあります。 ある値域をより小さい値域にマップするために、よく利用されるのは剰余(モジュロ)演算です。乱数生成器の例でいえば、その返り値を X とすると、 X % 6 を計算すれば結果は [0, 6) に収ま

                                        ある範囲に収まる乱数を得るために剰余(モジュロ)演算を書くとき、レビューするときに意識すること
                                      • [6 3 7 8 5 1 2 4 9 10] – ”乱数”にまつわるストーリー

                                        Community Treasure Hunt Find the treasures in MATLAB Central and discover how the community can help you! Start Hunting!

                                          [6 3 7 8 5 1 2 4 9 10] – ”乱数”にまつわるストーリー
                                        • Kaspersky Password Manager: All your passwords belong to us | Ledger

                                          You can revert to English at any time by clicking on the language menu on the top right corner of the page. Blog posts, Donjon | 07/06/2021 Kaspersky Password Manager: All your passwords belong to us The password generator included in Kaspersky Password Manager had several problems. The most critical one is that it used a PRNG not suited for cryptographic purposes. Its single source of entropy was

                                            Kaspersky Password Manager: All your passwords belong to us | Ledger
                                          • 「じゃんけんゲーム」のロジックに対する意見の相違で兄弟げんか | スラド デベロッパー

                                            はてなに子供二人がプログラムの方針で対立したという話が掲載され話題になってるらしい(はてな匿名ダイアリー、[B! 増田] )。原因は「じゃんけんゲーム」の実装方針であるらしい。ゲーム内容は、画面でグー・チョキ・パーのいずれかを選びボタンを押すと、相手となるCPU側の手と勝敗が表示されるシンプルなもの。喧嘩の原因となった方針の違いを元記事を引用すると、 次男はまずCPUの「手」を乱数で決定し、画面に入力された「手」と比較して勝敗(と引き分け)を決める、素直な処理だった 長男はそれに飽きたのか、まずは乱数で「勝ち」「負け」「引き分け」を乱数で最初に決めてしまい、その後で結果に応じたCPUの「手」を決定するというロジックだった そうだ。次男は長男の設定したロジックに納得がいかなかったらしく、「兄ちゃんのはじゃんけんで勝負してない」「勝ち負けを最初に決めてしまうなら意味がない」と批判、対して長男は

                                            • テトリミノの偏り補正から見るテトリスの歴史

                                              レトロゲーム勉強会#04 https://retrog.connpass.com/event/153204/ での発表資料です。資料公開にあたり、ゲームボーイ版テトリスの記述を中心に追記を行っています。Read less

                                                テトリミノの偏り補正から見るテトリスの歴史
                                              • Haskellの最近の乱数生成事情について

                                                あらすじ Haskellでの乱数生成ライブラリは長らく群雄割拠の時代が続いていました。 その理由は、公式のrandomパッケージの使い勝手がすこぶる悪かったため、 各々が独自のインターフェースでまともな乱数生成ライブラリを公開していました。 その時代は、random-1.2の登場により終わりを迎えました。 これからはrandomパッケージを使えば基本的に問題ないでしょう。 Before random-1.2 Haskellの公式の乱数生成ライブラリがrandomだったのですが、 このライブラリは System.Randomといういかにも標準的なモジュールを提供している割に使い物になりませんでした。 そのため、 mwc-random tf-random xorshift mersenne-random-pure64 などのライブラリが独自のインターフェースを提供していました。 randomの

                                                  Haskellの最近の乱数生成事情について
                                                • 【PHP8.2】PHPの乱数がすごい改善される - Qiita

                                                  class XorShift128Plus { /* constants */ protected const MASK_S5 = 0x07ffffffffffffff; protected const MASK_S18 = 0x00003fffffffffff; protected const MASK_S27 = 0x0000001fffffffff; protected const MASK_S30 = 0x00000003ffffffff; protected const MASK_S31 = 0x00000001ffffffff; protected const MASK_LO = 0x00000000ffffffff; protected const ADD_HI = 0x9e3779b9; protected const ADD_LO = 0x7f4a7c15; protec

                                                    【PHP8.2】PHPの乱数がすごい改善される - Qiita
                                                  • http://www.math.sci.hiroshima-u.ac.jp/m-mat/TEACH/ichimura-sho-koen.pdf

                                                    • Splittable pseudo-random number generators in Haskell: random v1.1 and v1.2

                                                      This can arise when you have different threads. But it’s of prime importance in a lazy language like Haskell, since it makes it possible to generate deterministic random numbers lazily. For instance, split is used in QuickCheck’s Gen monad. An easy implementation of split is to duplicate the current state. But, the two parallel sequences will not be independent: indeed they will be identical. A sl

                                                        Splittable pseudo-random number generators in Haskell: random v1.1 and v1.2
                                                      • ANU QRNG – Quantum random numbers

                                                        QRNG API now hosted on AWS This website offers true random numbers to anyone on the internet. The random numbers are generated in real-time in our lab by measuring the quantum fluctuations of the vacuum. The vacuum is described very differently in the quantum physics and classical physics. In classical physics, a vacuum is considered as a space that is empty of matter or photons. Quantum physics h

                                                        1