Офлайн-казино / Рулетка / Нейронная сеть и прогнозирование в рулетке
Подписка на тему  Перейти вниз
Нейронная сеть и прогнозирование в рулетке   ID:50738 Ср, 24 февраля 2010 20:40 [#] [»)
Aprisobal в настоящее время не в онлайне Aprisobal
Рейтинг: +2
Сообщений: 15 (33%-Офлайн-казино)
Зарегистрирован: 26 августа 2009
незнакомец
Форумы CasinoBoard
Возможно ли? Very Happy

Сразу привожу простой скрипт на Perl'e, как шаблон для исследований в этом направлении - "подстройки под ГСЧ" Smile

Соответственно нам понадобятся:
1. ActivePerl http://www.activestate.com/activeperl/
2. Установить через Perl Package Manager модуль AI::NNFlex
3. Попытаться обыграть перловский генератор случайных чисел Very Happy Запуск скрипта производить(из командой строки): perl названиескрипта.pl

Код скрипта:
#!/usr/bin/perl

use AI::NNFlex::Backprop;
use AI::NNFlex::Feedforward;
use AI::NNFlex::Dataset;
use Term::ReadKey;

ReadMode 4; # Turn off controls keys

# Генерация чисел
sub next_num
{
	# От 0 до 36
	return int(rand(37));	
}

# Черное?
sub is_black
{
	$element = shift;
	
	if (grep {$_ eq $element} (2, 4, 6, 8, 10, 11, 13 ,15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35)) {
		return 1;
	}
	
	return 0;
}

# Красное?
sub is_red
{
	$element = shift;
	
	if (grep {$_ eq $element} (1, 3 ,5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36)) {
		return 1;
	}
	
	return 0;	
}

# Создаем сеть
my $network = AI::NNFlex::Backprop->new(
        learningrate=>.0001,
		fahlmanconstant=>0,
		randomweights=>1,
		momentum=>0.3,
		bias=>0);

# Вход
$network->add_layer(nodes=>37,
            activationfunction => "sigmoid");

# Скрытый слой
$network->add_layer(nodes=>37,
            activationfunction => "sigmoid");

# Выход
$network->add_layer(nodes=>1,
            activationfunction => "sigmoid");

$network->init();

# Начальные данные - требуется 37 чисел, как в первом слое
# Данные приводятся к числам с плавающей запятой от 0 до 1
my $init_data = [];
for ( my $i = 0; $i < 37; $i++ ) {
	push (@{$init_data}, next_num() / 36);
}
$output_num = next_num();

my $dataset = AI::NNFlex::Dataset->new([
	$init_data, [$output_num / 36],
]);

# Баланс
my $balance = 0;
# Спины
my $spin = 1;
# Главный цикл - выход из него по ЛЮБОЙ клавише
while (not defined ($key = ReadKey(-1))) {
	my $err = 10;
	# Обучаем за 20 итераций
	for ( my $i = 1; $i <= 20; $i++ ) {
	    $err = $dataset->learn($network);
	}
	
	# Удаляем первое число из массива
	shift(@{$init_data});
	# Вставляем в конец то число, которое было на выходе
	push(@{$init_data}, $output_num / 36);
	
	# Получаем следующее ("дилер крутит рулетку")
	$output_num = next_num();
	
	# Получаем прогноз нейронной сети
	$next_num = int($network->run($init_data)->[0] * 36);
	
	if ($next_num != 0) {
		# Мы ставим на красное или черное. На ноль никогда не ставим
		if (is_red($next_num) && is_red($output_num)) {
			$balance += 1;
		} elsif (is_black($next_num) && is_black($output_num)) {
			$balance += 1;
		} else {
			$balance -= 1;	
		}
	}
	
	print "Error = $err. Num: " . $next_num . ". Dealer num: " . $output_num . ". Spin $spin. Balance: $balance\n";
	
	# Пересоздаем тренировочные данные
	$dataset = AI::NNFlex::Dataset->new([
		$init_data, [$output_num / 36],
	]);
	
	# На следующий спин!
	$spin++;
}


Нейронная сеть ведет себя довольно не предсказуемо, думаю нужно подсовывать ей тренировочные данные в другом виде.
        
 
Список сообщений

Нейронная сеть и прогнозирование в рулетке 
От: Aprisobal вкл Ср, 24 февраля 2010 20:40
Re: Нейронная сеть и прогнозирование в рулетке
От: Magicbet вкл Ср, 24 февраля 2010 20:46
Re: Нейронная сеть и прогнозирование в рулетке
От: Aprisobal вкл Ср, 24 февраля 2010 21:07
Re: Нейронная сеть и прогнозирование в рулетке
От: vano вкл Вт, 2 марта 2010 14:26
Re: Нейронная сеть и прогнозирование в рулетке
От: vano вкл Вт, 2 марта 2010 14:30
Re: Нейронная сеть и прогнозирование в рулетке
От: Magicbet вкл Вт, 2 марта 2010 14:36
Re: Нейронная сеть и прогнозирование в рулетке
От: vano вкл Вт, 2 марта 2010 14:53
Re: Нейронная сеть и прогнозирование в рулетке
От: Aprisobal вкл Вт, 2 марта 2010 20:35
Re: Нейронная сеть и прогнозирование в рулетке
От: vano вкл Ср, 3 марта 2010 09:12
Re: Нейронная сеть и прогнозирование в рулетке
От: CLON вкл Чт, 18 марта 2010 00:58
Re: Нейронная сеть и прогнозирование в рулетке
От: vano вкл Пт, 19 марта 2010 22:15
Re: Нейронная сеть и прогнозирование в рулетке
От: CLON вкл Пт, 19 марта 2010 23:54
Re: Нейронная сеть и прогнозирование в рулетке
От: CLON вкл Вт, 23 ноября 2010 23:05
Предыдущая тема:Игра по секторам (ставки на соседей)
Следующая тема:Ставка Джэймса Бонда из фильма 007
Быстрый переход к форуму
  
  Текстовая версия  RSS лента
Вернуться вверх

Текущее время: Пн, 25 ноября 03:13:49 2024
Время, затраченное на генерацию страницы: 0.00703 секунд