キンサクプログラマー

お金儲けと技術のメモ

PLBT(Polybiusトークン)爆下げ! 買い増すか!?

ICOは成功したが、その後8倍の価格をつけたPLBTだったが、順調に値段が下がっている。
PLBTは仮想通貨としての価値よりも、年間で利益の20%のバックをPolybiusからもらえることが最大のメリットなわ
けだが・・・ そこらへんを加味してこの値段なのだろうか。だったとしたら絶望的だ

f:id:pikurusux:20170715002152p:plain

ヨーロッパ初の仮想通貨銀行に期待したい。

HashFlareクラウドマイニング(13日目)

*サマリー
投資金額(再投資は含まず):765USD = 85000円くらい 
1日の採掘量:5USD

再投資とか送金とかしてたら、よくわからなくなってしまったので、こんくらいのサマリーで記録。

5USD = 565円だとしたら。回収まで85000/565 =150日 

複利ブーストしたとしても、どっかのタイミングでやめないと一向にお金が増えないので、どうしていこうか。

毎日アルゴリズム(第5日目)ボゴソート

効率の悪いソートアルゴリズム

クイックソートバブルソートなどが有名なソートアルゴリズムだが、中でも効率の悪いボゴソートをご存知だろうか。効率悪いアルゴリズムという響が新鮮だが、いってしまえばただ単にランダムでソートするだけのアルゴリズムだ。

アルゴリズム

カードをばらまいて適当に集め、順番に並んでたらOK。ただそれだけの単純なアルゴリズム

  1. x=[1,5,20,15,4,51,21]みたいな配列があった場合、ランダムに1枚抽出
  2. 次にまたランダムに1枚抽出
  3. 1~2を繰り返し、x==NULLとなったら、抽出されたxの値が降順(昇順)であるか調べる
  4. ダメなら1~3を繰り返す

実装

rand関数だけだと、ちょっとめんどくさいが、Numpyをつかったら無作為抽出が簡単。
リストのサイズが10を超えてくると収束があやしくなってくる。50とか100になるとなかなか終わらない。

import numpy as np
a=[i for i in range(9)]
x = np.array(a)
while 1:
    y = np.random.permutation(x)
    if np.array_equal(y,x):
        break
    
print(y)

github.com

毎日アルゴリズム(第4日目)ダイクストラ法 その2

pikurusux.hatenablog.com
時間が開いたが実装してみた。
アルゴリズム自体はその1に乗っているので、詳細はそちらへ。
まともに動いているのか至極怪しいが、一応動く。
github.com


なんとなくポイント。

最短距離から計算しよう

常に最短のノードから計算する事で、成り立つ。
このポイントの効率的な実現手段としてプライオリティキューが用いられるのが一般的。
*逆にプライオリティキューを使わない場合は、最小コストノードの探索処理にnが必要になるので、かなり無駄。

プライオリティキュー

もっとも優先度の高いキューが先頭にくるキュー。
ただし、二番目以降の順番は保証されていない。
8.5. heapq — ヒープキューアルゴリズム — Python 3.6.1 ドキュメント

余談

某サイトの問題をダイクストラ法(プライオリティキュー版)で解いてみたら、マップ作成する段階でタイムアウトした・・・
ヒューリスティック探索したところで対して変わらないと思うのだが、そんな爆速で解ける方法なんてあんだっけ・・・

おかしいところとか、こうした方が良いよ!ってことがあれば教えてください!

pythonの演算比較してみたらシフト演算が遅い事に気づいた

ダイクストラ法の実行時間を計測しようとtime関数をいれて見てたら気づいた。

import time

a = 6
print(str(time.time()) + "sec")
a = a >> 2
print(str(time.time()) + "sec")
a = a/2
print(str(time.time()) + "sec")
a = a+2
print(str(time.time()) + "sec")
a = a-2
print(str(time.time()) + "sec")
a = a%3
print(str(time.time()) + "sec")

結果

1499435910.268803sec
1499435910.268897sec
1499435910.268913sec
1499435910.26895sec
1499435910.268968sec
1499435910.268981sec

最適化されて割り算と同じならまだしも、シフト演算の方が遅い。
良かれと思ってシフトしたらあんまよくなさそうなので、ご注意を。

資金調達には成功したものの順調下落中PLBT(Polybiusトークン)

35億円相当を調達したPolybiusだが、一時0.025BTC=7000円、ICO時に1PLBT=1000円だったので7倍の価格をつけた。しかし、現在1PLBT=0.003BTC。 
f:id:pikurusux:20170707222842p:plain


・・・

さがってるぅううう〜

どうせ10万円しかはいってないので、どうあってもホールドです。
しかも、このトークンは採掘によって流通数が増えるわけでもない上に、Polybiusの年間売り上げの20%がはいってくるので、下がったらさらに買い増そうかな。

ぐぬぬ