編集部イチオシ

乱数にコクを出す方法について

乱数にコクを出す方法について。予想以上に反響があったのでまとめました
378
深津 貴之 / THE GUILD / note @fladdict

アニメーションの監修で、「 Random();の代わりに、(Random()+Random()+Rrandom()+Random()+Random())/5.0f; を使うと、動きにコクが出る」と言ったら、ピュアオーディオ扱いされるのですが・・・これは根拠のあるアルゴです。

2016-11-03 11:29:43
深津 貴之 / THE GUILD / note @fladdict

乱数のコクをチューニングする話をすると、なぜピュアオーディオ扱いされるのか? みんな乱数の波動を、もっと体で感じようよ。全然ヴァイブレーションが違うよ。

2016-11-03 11:36:47
深津 貴之 / THE GUILD / note @fladdict

よしコクのある乱数の実際のサンプルをアップした。こうやって並べてみると、味の違いは一目瞭然。 fladdict.net/exp/random/

2016-11-05 00:00:53
深津 貴之 / THE GUILD / note @fladdict

なんか、そろそろ真面目な解説をしろ…という圧力が

2016-11-05 00:44:50
深津 貴之 / THE GUILD / note @fladdict

Math.random()など一様乱数は、ロジックの上では最も純粋な乱数。でも人間の認知の上では、自然な乱数としては知覚されない。

2016-11-05 00:47:37
深津 貴之 / THE GUILD / note @fladdict

一様乱数が不自然に見える理由は、大きく分けて2つある。1つは自然界で観測されるランダムな事象が、一様乱数的ではないこと。もう1つは人間の認知バイアスのせい。

2016-11-05 00:49:06
深津 貴之 / THE GUILD / note @fladdict

理由一としては、自然界は複雑系であるため。あらゆ事象は無限に細かいランダムの累積であるため、その分布は大数の法則とか、中心極限定理とかいわれるアレで、正規分布に近似していく。なので基本的にはクジやジャンケンのような単純なもの以外は、正規分布ベースの確率を使う方がマッチしやすい。

2016-11-05 00:52:54
深津 貴之 / THE GUILD / note @fladdict

理由二としては、人間の脳はパターン認識エンジンとして特化しているため、ランダムな事象の偶然の偏りからパターンを見出してしまう。確証バイアスとか、代表性バイアスとか、過剰な一般化バイアスなどが例。

2016-11-05 00:55:44
深津 貴之 / THE GUILD / note @fladdict

統計的には、サイコロを振って6が三連続するのは216分の1が正しい。でも体感的には、「6が絶対に3連続しないサイコロ」の方が、人間はリアリティを感じる。大半の人間にとって、216分の1の可能性で6が三連続するのは、不自然な体験だから。

2016-11-05 00:58:39
深津 貴之 / THE GUILD / note @fladdict

なので「自然に観測される乱数」は、人間の認知バイアスを回避するように振る舞う乱数でなければならない。具体的には、脳のシステム1がパターンを見出すような、極端な値の揺らぎを意図的に排除する必要がある。

2016-11-05 01:05:49
深津 貴之 / THE GUILD / note @fladdict

…というようなことを、一言で説明するには「コクがある乱数」や「粘り気のある乱数」、「優しいまろ味のある乱数」と言ったハイコンテクストな指示が便利なのである。Flash用語でいうところの「シュッとしてヌルっと止める」とかに考え方としては、非常に近い。

2016-11-05 01:08:58
深津 貴之 / THE GUILD / note @fladdict

「至高の乱数とは?」というリクエストがあったので、僕の乱数と動きコレクション貼っときますね。 fladdict.net/sketches/speci…

2016-11-05 12:25:56
Belzeck @Belzeck

正規分布的なのじゃあかんのやろか twitter.com/fladdict/statu…

2016-11-03 11:37:12
Naoki Kuzumi @kudzu_naoki

真の乱数と仮定しても一様ランダムから中央寄りになるという根拠があるんだけど乱数のコクと言いはるの好き

2016-11-03 11:38:16
miyakou @miyakou1982

インタラクティブ・プログラミング勉強会 第1回 乱数 | fladdict fladdict.net/blog/2014/10/v… @fladdictさんから あった これだ

2016-11-03 11:41:07
shikihuiku @shikihuiku

違いがあるのには同意だけど多分「動きにコク」って表現がピュアっぽいのかなー。 twitter.com/fladdict/statu…

2016-11-03 11:45:03
Hiroshi Kurokawa @hydrakecat

これは、一様分布の和は正規分布に近付く、という話かな。コクが出るかどうかは分からないけれど。 twitter.com/fladdict/statu…

2016-11-03 11:49:44
GAJ @GAJ_cg

コクがでる、って表現をするからだろうなぁ twitter.com/fladdict/statu…

2016-11-03 11:51:56
NeoCat @NeoCat

(rand() + rand() + rand())/3 とかやって乱数にコクを出すのはたまによくやりますね(単純に正規分布に近づく) twitter.com/fladdict/statu…

2016-11-03 11:56:26
たぁz @tarz_1

ゲームプログラムだと、乱数が平均値に収束しやすくなるから、やっちゃだめな例なんだけどね。 平均値にある程度収束させたかったら、乱数に標準偏差的な値を組み合わせるし。 アニメーションだと違うのかな。 twitter.com/fladdict/statu…

2016-11-03 11:57:00
上田智章 (Tomoaki Ueda) @NeoTechLab

ホワイトノイズにLPFをかけて高周波成分を落としてピンクノイズ(?)にしているってことかな。 twitter.com/fladdict/statu…

2016-11-03 11:58:20
深津 貴之 / THE GUILD / note @fladdict

ピュア乱数業界ともなると、普通のRandom関数どころかメルセンヌツイスターも使い物にならない。強者はマイクから環境ノイズを拾ってそこから乱数を生成するからな。

2016-11-03 12:23:39
OHBA @ohbado

コクと苦みのある乱数…つまりプログラミングにはビールが必要

2016-11-03 12:32:58
Yugo Nakamura @yugop

関東・関西の電力の周波数の差による影響は実際かなりあって、同じrandom()でも0.4〜0.6あたりの中間域の厚みが全然変わってくるんだよね。大阪でインスタレーション作ったとき、チューニングにかなり苦労したな。 twitter.com/fladdict/statu…

2016-11-03 12:40:56
ねくさす @NexusMine

よりピュアな乱数を生成するためには森の中など人間の手が加わっていない自然の中で生成する必要がある twitter.com/fladdict/statu…

2016-11-03 12:42:14
1 ・・ 9 次へ