簡易版ビンゴのシミュレーション

ビンゴのシミュレーション

 

iOSのbasicのアプリで、ビンゴのシミュレーションを行います。

今回は、ビンゴの限定バージョンです。

 

ビンゴのシミュレーションの難しいところは、ビンゴの自由度を上げることで、真ん中フリーを含む、n×nのビンゴを容易に達成できることである。

そして、nが大きい完全ビンゴとなると、ランダムのアルゴリズムの精度を上げなければならない。

つまり、シミュレーションで小さい確率を評価するには、ランダムのアルゴリズムに依存してしまう可能性がある。

ランダムのアルゴリズムの進化は、AI(人工知能)のアルゴリズムの進化と同様に、これで完全な完成というゴールがないようだ。

 

(続く)

---

 

簡易版ビンゴのbasicのソースプログラム

 

5 A0=5
6 A1= (INT(A0*RND(0)))
7 A2= (INT(A0*RND(INT(TI/60))))
8 A0=A1+A2
9 A0=5
10 A1= (INT(A0*RND(0)))
20 A2= (INT(A0*RND(INT(TI/60))))
21 A4= (INT(A0*RND(INT(TI MOD 2))))
22 A5= (INT(A0*RND(0)))
24 A6= (INT(A0*RND(INT(TI/60))))
25 A7= (INT(A0*RND(INT(TI MOD 2))))
26 A8= (INT(A0*RND(0)))
27 A9= (INT(A0*RND(INT(TI/60))))
40 PRINT (1+A0*0+A1)
50 PRINT (1+A0*1+A2)
60 PRINT (1+A0*2+A4)
70 PRINT (1+A0*3+A5)
80 PRINT (1+A0*4+A6)
90 PRINT (1+A0*5+A7)
100 PRINT (1+A0*6+A8)
110 PRINT (1+A0*7+A9)
120 END

---
9のA0=5 を外す、色々変化します。
(Hand BASICアプリ用)

------

12 A=5
14 A(0)=0
15 for i=1 to 8
20 A(i)=rand(5)
40 PRINT 1+A(0)+A(i)
45 A(0)=A(0)+A
50 next 
120 END

---
12のA=5 をA=rand(10)にすれば、
様々に変化します。
(BASIC-II アプリ用:
ランダム関数に難あり、工夫が必要みたいです)