迷路を解くのに最も愚かな方法として、スタートから拡散する数千個の粒子をシミュレーションするという方法が紹介されています。 https://t.co/OOAcaQZmzL
検定力のシミュレーションに使えるかも。 はっきり言って意味はない。 #2標本のt検定(対応なし,Welch) mcpower2<-function(b,n1,n2,m1,m2,sd1,sd2){ p<-numeric(b) for(i in 1:b){ s1<-rnorm(n1,m1,sd1) s2<-rnorm(n2,m2,sd2) p[i]<-t.test(s1,s2)[[3]] } c<-length(p[p>.05]) print(c/b) pie(c(c,b-c),labels=c("Insignificant","Significant")) } #1標本ないし差得点のt検定(対応あり) mcpowerp<-function(b,n,m,s){ library(MASS) p<-numeric(b) for(i in 1:b){ ss<-rnorm(n,m,s) p[i]<-t
前回の記事「「2つのボールをぶつけると円周率がわかる」らしいのでシミュレーションしてみた」の続き。 この記事では、衝突回数が円周率(の適当に桁をズラした値)になることを解析的に導いてみます。 大人になってからの再学習 『2つのボールをぶつけると円周率がわかる』 目次 問題設定 ▷ 回衝突後の速度 を求める(行列を用いた表式)▷ を求める▷ を求める▷ と衝突回数 との関係▷ 問題設定質量がそれぞれ の2つの質点 を考え、以下のような初期状態から運動が開始されるとします: の初速度はそれぞれ とします(つまり質点2は最初静止している)。 質点同士の衝突と質点2と壁との衝突はどちらも完全弾性衝突(反発係数 )であるとし、衝突が起こらなくなるまでその衝突回数をカウントすると、その回数が になることを示します。 ここで角括弧 [ ] はガウス記号*1です。 回衝突後の速度 回数をカウントする衝突に
[SIGGRAPH ASIA]東大出の研究者が解説。「FFXV」における物理シミュレーションの仕組みと,ゲーム業界の楽しいところ ライター:西川善司 講演を担当したWitawat Rungjiratananon氏(アニメーションR&Dエンジニア,スクウェア・エニックス) 兵庫県・神戸コンベンションセンターで開催されている「SIGGRAPH ASIA 2015」の初日である11月2日,ゲーム開発に特化した「R&D in the Video Game Industry」ワークショップの中で,「FINAL FANTASY XV」(PS4 / Xbox One,以下 FFXV)の物理シミュレーションを解説するセッション「Physics Simulation R&D at SQUARE ENIX」が開かれた。 講演者は,スクウェア・エニックス アニメーションR&DエンジニアのWitawat Rung
Thomson問題 Thomson問題とは、三次元単位球の表面にN個の電荷の等しい粒子を配置するとき、クーロンポテンシャル\( U = \sum_{i < j} \frac{1}{|\rm{r}_{i} - \rm{r}_{j}|}\)が最小となる配置となるを求める問題です。詳しくはwikiをThomson problem - Wikipedia, the free encyclopedia。N=5のときにて三方両錐形が解になったり、N=8で立方体が解にならないなどいろいろと面白い問題です。 去年の12月頃、そもそもこの問題設定に名前が付いていることをある方から教えていただき、N=5の場合で実際に初期条件を与えて時間発展させることで本当に三方両錐形になるのか実験してみました。 球面上の点電荷が最も安定する配置(thomson problem)のRK4を利用したシミュレーションの進捗 pic
最近Unityを始めてあまりのできのよさに感動を覚えつつ、物理演算とかがあまりにも手軽に行えるのでさすがに仕組みをまったく知らずに使うのは問題だろうと物理シミュレーションの勉強をしました。 ゴールとしていた、実際に動くものが作れたのでそのまとめです。 ただ、あくまで勉強が目的なので軽量化などはしていません。そのため、結構冗長な書き方をしていて実際に使うにはだいぶ重いです。 [2019.09.10 追記] GitHubへのリンクを掲載していなかったので追記。 リポジトリの内容は以下から確認できます。 PhysJS2D 実際に作ったサンプル 実際の動作サンプル サンプルでは三角形と四角形、そして円との衝突判定を行い、衝突時に応答する部分まで作っています。 ここでは、この実装をしていくにあたって、躓いた点やメモなど自分が学んだことをつらつらと書いていきす。 ##シミュレーションパイプライン さて
今度やる勉強会に向けて、剛体シミュレーションの概要をまとめていきます。 とはいえ、本格的に説明はできないので(理解不足で)、概要と今、自分が理解している範囲をまとめていきます。 知識としては、書籍を読んで把握した範囲なので若干偏りがあると思います。参考にした書籍は一番下に掲載しています。 (なので、なにか間違っている点などあればコメントいただけるとうれしいです) こちらの理論などを元に、実際に2Dの物理エンジンを自作してみました。その過程で参考にしたものや躓いた点などをまとめた記事も書いているので、こちらもよかったら参考にしてみてください。→ 自作2D物理エンジンを作った話 概要 剛体シミュレーションは「パイプライン」という、各種の計算を行うステージを段階的に分けたものを通って、与えられた力(例えば重力)からの位置計算が行われます。 それぞれのステージの概要は以下の通りです。 シミュレーシ
[GDC 2014]ゲーム開発者へのアピールを狙うGoogle,2Dゲーム向け物理エンジン「LiquidFun」を公開 ライター:米田 聡 LiquidFunの解説を担当したWolf Dobson氏(Google Developer Program Engineer,Google) 「Game Developers Conference 2014」(以下,GDC 2014)2日めとなる北米時間2014年3月18日,Googleは,開発者向けサブイベント「Google Developer Day」の実施に合わせ,2Dゲームで粒子や流体を扱うためのオープンソース物理エンジン「LiquidFun 1.0」(以下,LiquidFun)をリリースした。 Google Developer Dayでは,当然のようにそのLiquidFunに関するセッションが用意されていたので,今回はその内容を中心に,Go
制約条件付きの非線形最適化に対する数値アルゴリズムは,大まかに分けると勾配法と直接探索法とに分けられる.勾配法では,第1導関数(勾配)か第2導関数(ヘッシアン)が使われる.この例には逐次二次計画(SQP)法,拡大ラグランジュ法,非線形内点法がある.直接探索法では,導関数情報は使われない.この例としては,Nelder-Mead法,遺伝的アルゴリズム,微分進化法,焼きなまし法がある.直接探索法の方が収束が遅い傾向があるが,関数と制約条件のノイズの存在への耐性は強い. 通常,アルゴリズムは問題の局所的なモデルを構築するだけである.また,そのようなアルゴリズムの多くは目的関数の減少,目的関数と制約条件の組み合わせであるメリット関数の減少を要求し,反復プロセスの収束を確実にする.収束した場合,このアルゴリズムは局所的最適値だけを見付けるため,「局所的最適化アルゴリズム」と呼ばれる.Mathemati
Simulated Annealing/SA -概論- 1.はじめに 一般に最適化問題とは,ある制約条件下において, 与えられた状態空間で定義された関数の最大値または最小値を与える状態空間の要素を求める. シミュレーテッドアニーリング(Simulated Annealing)は,最適化問題を解く汎用近似解法の一つである. この方法は,Fig.1のように高温で加熱した金属を徐々に少しずつ温度を下げて冷やすことによって, 元の金属より欠陥の少ない優れた結晶構造を作る物理プロセス(アニーリング)に着想を得て, これを計算機上で模擬することにより最適化問題を解こうとする手法である. Fig.1 高温時から低温時への徐冷に伴う原子の配列 2.SAの特徴 <長所> ・ 頑強性・・・多くの最適化解法が局所最適化に補足される欠点を持つのに対し,SAは用意には局所最適解につか まらず,理論上は真の最適解
Finding an optimal solution for certain optimisation problems can be an incredibly difficult task, often practically impossible. This is because when a problem gets sufficiently large we need to search through an enormous number of possible solutions to find the optimal one. Even with modern computing power there are still often too many possible solutions to consider. In this case because we can’
本書は,モンテカルロ法の実践的な解説書であり,統計解析ソフトのRを用いた豊富な実例と練習問題が組まれている.モンテカルロ法とは乱数を用いて数値計算を行う手法の総称であり,本書で扱う内容は乱数の発生からモンテカルロ積分,そしてマルコフ連鎖モンテカルロ法(MCMC)の各種アルゴリズムに至るまで非常に幅広い.たいていの解説には理論に実践演習が付随した形となっており,数学的な理論を軸にして実際にRを用いたコード例が示される. 練習問題を解きつつ読書ノートをまとめてみる そんなこんなで,久保本と並行する形で「Rによるモンテカルロ法入門」を読んでいる.一応MCMCの部分だけひと通り目を通したのだが,最終的にMCMCの実装までひと通りやるにしても一連の流れを簡単にでも追っておかなければと思って,最初の乱数の部分からじっくり読み進めている.これがなかなか難しくて,手も足も出ないところをなんとかRのコードを
はじめに 探索空間から大域的最適解を求めることができる汎用的なアルゴリズムの「焼き鈍し法」についてちょっと調べてみたのでメモ。 latticelmでも用いられているみたい。 SAアルゴリズム 温度Tによって、動作が変わる メインは「メトロポリスの手続き」で、ある温度Tにおけるアニーリング過程をシミュレートする 低下していく各温度についてMetropolisを実行する 温度が高いほど動きがあり(ランダム)、低いほど動きがなくなる(どん欲法) beta > 1 : ある温度でアニーリングに費やされる時間は温度が低下するにつれ次第に増加 RANDOMは一様乱数(0-1) 新しい解を採択する基準は「メトロポリス基準」と呼ばれる 手続きMetropolisはM個の解を生成してチェックする SAの疑似コード SA部分 Algorithm Simulated_annealing(S0,T0,alpha,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く