2015年10月25日日曜日

iPhoneアプリを考えてみた。

Beaconなどを使ってお互いの信号強度だけから相手の位置を求められないかと思って考えてみました。

アルゴリズムとしては相互の距離だけがわかっているn個の点について、二次元座標上のそれぞれの位置を求めなさい…っていう問題ですよね。

そんなに精度は期待できないしn=10ぐらいまでなら総当たりで一番確率高いのを正解とする、のも不可能ではないかと思って計算してみました。

えーとメッシュの交点が1000箇所あるとして、それぞれに10個を置く(重なる場合もあり)わけだから…1000x999x998....990=およそ10^30でえーと1回の演算が0.1μ秒として10^23秒。宇宙の年齢の10^6倍。

ちょっと遅いですね。もう計算が1-2桁違ってても気にならないレベルw

メッシュを減らしてから絞り込まないとどうにもならない。とはいえメッシュ100個でも約10^20秒なのでiPhoneが電池切れするどころかリチウムが半減期を迎えるレベルじゃないかな(リチウムの半減期がどのぐらいだか知らないけどさ)。

うん。無理。

計算の途中で「あ、この組み合わせはないわ」というのは比較的早くわかりそうなので、ここまでスゴいことにはならないかもしれないけど。

なお、以上は電卓でざっと叩いて検算もしていませんが、多少桁が違っていても宇宙的尺度からすれば大したことではなので、お気になさらないでください。

なお「あれ、順列と組み合わせのどっちだっけ?」とさっきから考えているのですが、間違っていても10!=6桁違うだけでたいしたことではありませんw

0 件のコメント:

コメントを投稿