ギャンブル必勝法をシミュレーションしてみる

Posted by
ぴろり
Posted at
2006/05/18 15:04
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
書斎 カテゴリ

 マーチンゲール法はギャンブルの必勝法かという記事で、ギャンブルの必勝法の一つと言われるマーチンゲール法の解説があります。なかなか面白そうだったので、Perl で簡単なシミューレーションを書いてみました。

このエントリーをはてなブックマークに追加  

ソースコード

#!/usr/bin/perl
use strict;

strategy1 ();

;### マーチンゲール法
sub strategy1 {
	package strategy1;
	sub init_bet {
		return 1;
	}
	sub hit {
		my $this_bet = shift;
		return init_bet ();
	}
	sub lose {
		my $this_bet = shift;
		return $this_bet * 2;
	}
	&main::start (100, &init_bet, &hit, &lose);
}

;# 賭博ループ
package main;
sub start {
	my ($property, $init_bet, $hit, $lose) = @_;
;#
	my $bet = &$init_bet;
	my $count = 1;
	do {
		$property -= $bet;
		printf "%4d 回目 : 掛金 = %d, 残金 = %d, 結果 = ", $count, $bet, $property;
		if (doDice ()) {
			printf "○";
			$property += $bet * 2;
			$bet = &$hit ($bet);
		}
		else {
			printf "×";
			$bet = &$lose ($bet);
		}
		printf ", 資産 = %d
", $property;
		$count++;
	} while (0 <= $property - $bet);
	print "はさーん";
}

;# それぞれ50%の確率で 0=丁 1=半 を返す
sub doDice {
	int (rand (2));
}

その他の必勝法

 Wikipedia のベッティングシステムの項を見ると、マーチンゲール以外にもたくさんの必勝法があるようです。上記プログラムを改造し、これら必勝法についてもシミュレーションを実装しておいたので参考にどうぞ(ダウンロードはこちら)

 何れの必勝法でも、手持ち金の増減の変化が違うだけで、何れの場合でも負ける時は負けてしまいます。そういう意味では、『必勝』ではないわけですね。特にマーチンゲール法の場合、稼ぎを出すのは地道に勝ち続けなければなりませんが、負けが込むと一気に破産してしまいます。 『必勝法』という名前に惑わされて、賭け事で人生を狂わせるなんてことのありませんように…合掌

このエントリーをはてなブックマークに追加  


この記事を読んだ人はこんな記事も読んでいます記事リコメンデーションについて

カバー画像:ぬるぬるローションの製作

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。