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. Масти в программе для простоты я не учитывал, поэтому исследовал только появление пар. Кому интересно пример могу кинуть. Думаю потестировать разные способы тасования и сейчас буду переписывать с учётом мастей, и наверно надо карты на стол кидать и исследовать случайность выпадения покерных комбинаций и количества побед.