Тема: Алгоритмы
Старый 27.12.2004, 14:31     TS Старый   #32 (permalink)
duMka
Участник
 
Аватар для duMka
 
Регистрация: 15.09.2004
Адрес: Ural
Сообщений: 135
Hello!
Цитата:
Сообщение от pokerchatko писал(а) пн, 27 декабря 2004 13:58
duMka, ты ГОНИШЬ...

Возможно, у тебя Random seed выдает повторяющиеся серии? В примере вызов Randomize не указан, так может ты забываешь его инициализировать?

Но скорее всего, у тебя проблемы с распознаванием и агрегированием результатов.

А так, откуда взяться таким сдвигам? Представь, что у тебя есть другой, чистый массив. По приведенному алгоритму ты всегда случайным образом выбираешь одно число из старого массива и переписываешь в новый. И так пока числа не закончатся. От того, сколько раз ты будешь тасовать старый массив перед определяющим выбором, смысл не изменится.

А в алгоритме старый и новый массивы совмещены, так что отпадает необходимость в двойном расходе памяти.

Ну, про нейросети я промолчу...
Нет, не гоню , и ramdomize у меня в программе присутствует. Дело именно в алгоритме тасования.

Обратите внимание в первом случае результаты сразу видно что не случайны. Колода инициализирована так:
for i:=1 to 13 do
begin
koloda[i*4-3]:=i; koloda[i*4-2]:=i; koloda[i*4-1]:=i; koloda[i*4]:=i;
end;

Во втором случае результат более случаен и единственное отличие в инициализации колоды:

for i:=1 to 13 do
begin
koloda[i]:=i; koloda[i+13]:=i; koloda[i+26]:=i; koloda[i+39]:=i;
end;

Третий результат похоже имеет даже меньшую дисперсию чем второй (не посчитал но похоже на то), там единственно добавлена сортировка второй раз (просто скопировал кусок кода 2 раза).

Поскольку никаких изменений связанных с ramdom я не делал, так что дело не в нём, а в алгоритме тасовки колоды.

P.S. Масти в программе для простоты я не учитывал, поэтому исследовал только появление пар. Кому интересно пример могу кинуть. Думаю потестировать разные способы тасования и сейчас буду переписывать с учётом мастей, и наверно надо карты на стол кидать и исследовать случайность выпадения покерных комбинаций и количества побед.
__________________
Thanks.
duMka вне форума