Показать сообщение отдельно
Старый 09.05.2008, 23:49
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 26  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Но от первого хода игрокак зависит, сколько у ведущего будет вариантов выбора. Ты сейчас пытаешься доказать, что 2+2 не равно 4. Задача доказана.
Я тебе даже программу написал
Код:
var winChange:Number = 0;
var winNoChange:Number = 0;
function run (test) {
	//// формируем игровую ситуацию
	var cx:Number = 6;
	var door:Array = new Array ('.', '.', '.');
	var car:Number = Math.random () * 3 >> 0;
	door[car] = '8';
	//// делаем случайный выбор
	var vote1:Number = Math.random () * 3 >> 0;
	//// выбор делает ведущий
	if (car == vote1) {
		var progress:Array = new Array (1, 2, 3);
		progress.splice (car, 1);
		var temp:Number = Math.random () * 2 >> 0;
		var voteYacuboch:Number = progress[temp];
	} else {
		var voteYacuboch:Number = cx - car - vote1 - 2;
	}
	if (test) {
		//// тестовый заход
		//// выводим состояние за дверьми "." - козел, "8" - машина
		//// выводим номер двери, которую выбрал игрок (1-3)
		//// выводим дверь, которую выбрал ведущий, она не когда не равна машине, поэтому выодим всегда false
		trace (door.join ("") + " " + (vote1 + 1) + " " + voteYacuboch + "  " + (car == voteYacuboch));
	} else {
		if (vote1 == car) {
			//// подсчитываем количество побед при упрямстве
			winNoChange++;
		} else {
			//// подсчитываем количество побед при смене двери
			winChange++;
		}
	}
}
var len:Number = 10;
//// тестовые запуски, чтобы показать, что все работает
for (var i:Number = 0; i < len; i++) {
	run (true);
}
trace ("------------");
//// теперь идем на серьезно дело около 100000 повторов
len = 100000;
for (var i:Number = 0; i < len; i++) {
	run ();
}
//// тперь выводим вероятность
trace (winChange / len + "  " + winNoChange / len);
результаты трех запусков
Код:
0.66666  0.33334
0.66936  0.33064
0.66568  0.33432
__________________
(и)Нильс.ru | Плагины для FlashDevelop