За последние 24 часа нас посетили 17358 программистов и 1680 роботов. Сейчас ищут 868 программистов ...

Клуб полуночников

Тема в разделе "Беседы", создана пользователем Апельсин, 4 ноя 2010.

  1. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Кстати есть тут "образованные" люди ?

    Есть один алгоритм для ГПСЧ который я юзал тут http://www.php.ru/forum/viewtopic.php?p=166600#166600

    Смысл примерно простой

    Код (Text):
    1. function rnd() {
    2.     static $a = 1;
    3.     static $b = 3;
    4.     $c = ($a + $b) & 255;
    5.     $c *= 2;
    6.     if ($c > 255) $c -=255; //типа сдвиг с переносом
    7.     $a = $b;
    8.     $b = $c;
    9.     return $c;
    10. }
    Так вот он не очень хорош и не совсем подходит под понятие ГПСЧ но он (грубо говоря) работает.
    Никто не знает как он зазывается ? (я нашёл его в каком-то древнем учебнике по ASM)
     
  2. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    и как он работает?
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    А фиг его знает, но числа идут не по порядку, стало быть как-то работает

    Он на ASM удобен, прост в реализации даже на древних процах (типа Z80 где даже умножения нету) и весьма быстр
     
  4. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Vladson
    Я бы не стал полагаться на данный алгоритм, он не выдает случайных чисел, а также существует некий цикл, тоесть это даже псевдослучайными числами не назовешь...
     
  5. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Кстати, если не ошибаюсь
    if ($c > 255) $c -=255;
    можно в данном случаи заменить на
    $c = $с & 255;
    Тогда даже условий не будет))
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    karlozzz
    Нам нужно установить младший бит, если 9-й бит был установлен
    $c = $с & 255;
    это было бы
    if ($c > 255) $c -=256;
     
  7. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Vladson
    Точно, совсем забыл, что вычитание идет, а просто откидыванием старшего разряда сделал)))
    Интересно, какой длины цикл данного алгоритма, но точно не больше 255^2)))) Для казино явно не годится)))
     
  8. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    karlozzz
    Его прелесь что переменных может быть хоть 100 (и тогда цикл будет больше) и реализуется даже на 8-ми битках по ссылке вариант с массивом, сколько пихнёшь столько и будет

    Но в данной реализации (она упрощена для экономии тактов на проце Z80, и по этому не вполне хорошо работает, выдаёт только половину вариантов, т.е около 32к вариантов вместо 65534) по этому я и ищу оригинал, чтоб реализовать "нормально"

    На stackoverflow предположили что это LFSR, но что-то не похоже..
     
  9. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Vladson
    Кстати, можно же начальные данные из псевдослучаного участка памяти брать, а лучше даже в 3 строчке прибавлять этот байт памяти))))
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Можно много чего делать :) но речь не совсем об этом :)
     
  11. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  12. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Очередной шедевр оптимизации http://habrahabr.ru/blogs/php/112402/

    Особенно порадовал вариант
    Код (Text):
    1. function config($file) {
    2.     return parse_ini_file($file);
    3. }
    Впрочем остальные не лучше
     
  13. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Vladson
    А ведь отчасти не такой это и "шедевр", вполне логично, сегодня в ini файле хранится, а завтра в БД захочет перенести, хотя статью полностью не читал, но мне кажется тут говнокода то и нет
     
  14. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Почитай, тебя ждёт ещё немало сюрпризов.

    З.Ы. - А со своим ГПСЧ вроде почти разобрался, очень похож на какой-то из фибоначчиевых. Так что отбой.
     
  15. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Padaboo
    блин, я только сейчас вспомнил про то что хотел сделать заливку мр3 себе на сайт))
    сцуко, написал же половину кода и тупо забыл на 2 недели :D ))
     
  16. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Kreker
    это уже совсем грубо :D
     
  18. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Дожили уже на таких сайтах верстают в XHTML и даже jQuery юзают... (куда катится мир)
     
  19. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    мне интересно - это уе...ще хоть окупило свой домен? :)
     
  20. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Мне интересно, если бы не Kreker туда вообще кто-то зашёл бы ?
     
  21. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    я тоже натыкался на него пару раз)
     
  22. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Вот тут то Крекер и спалился со своим "порталом" :D
     
  23. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Даёшь бан, это он хочет полуночников поиметь :D
     
  24. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Уахахахха :DD
     
  25. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    можешь дать мод пощупать?