Ответы на комментарии пользователя Дед Нечипор

Мои комментарии:в блогах в форуме
Ответы мне:в блогах в форуме
Все комментарии: к моим постам

Дед Нечипор, да, решил отметить «четырёхлетие». 

 

Удивительно, но когда просматриваешь ленту (опционов или алго),
даже ники многие остались знакомые...

 и иконки смайликов как были тупые в стиле форумов 90-х годов,

так и остались без изменений.

avatar
  • 15 декабря 2024, 18:45
  • Еще
Дед Нечипор, изучасй историю не по телевизору а по архивам. очень много интересного для себя ткроешь
avatar
  • 12 декабря 2024, 20:28
  • Еще
Дед Нечипор, так если отрезанная Украина по-человечески будет сотрудничать с вольным городом… так может это будет означать что разум вернулся к ним? Важно, чтобы были гарантии безопасности в том числе от России от посягательств Украины.
avatar
  • 11 ноября 2024, 15:15
  • Еще
Дед Нечипор, эргодичность, точнее не эргодичность, это фундамент трейдинга :). Спутать эргодичный процесс с не эргодичным будет стоить еще больше денег чем стационарный и не стационарный :).
avatar
  • 29 сентября 2024, 07:45
  • Еще
Дед Нечипор, все толкутся на пятачке стационарных эргодических систем. Вот и еще один нашелся из тех, кто ищет не там, где потерял, а там, где светло.
avatar
  • 27 сентября 2024, 07:53
  • Еще
Подтверждаю — вариант, предложенный Кириллом Гудковым, дает более чем отличный результат для моего набора данных.

Для оценки использовал коэффициент качества K=Ss/Sh,
где S — суммарное количество элементов словаря, которые нужно «посетить» и сравнить на равенство, при условии, что по одному разу будет искаться каждое слово, присутствующее в словаре (набор для поиска = содержимому словаря)

Ss (sequential) = N*(N+1)/2
Sh (hash) = сумма всех Mi*(Mi+1)/2, где Mi — количество элементов словаря, для которых значение хеша=i (i=[0;MaxHashValue]); граничные значения: N (best case); N*(N+1)/2 (worst case)
Теоретический максимум коэффициента качества — (N+1)/2, где N — размер словаря.
Грубо говоря, показывает, во сколько раз вариант с использованием хеш-таблицы быстрее варианта последовательного перебора по всему словарю (если не учитывать много важных факторов)

Как упоминал Кирилл, нужно подбирать, на какое количество бит нужно сместить результат умножения.
Если не производить предобработки строки перед хешированием, распределение в координатах «Y-качество»-«X-смещение» напоминает гауссову кривую с двумя пиками.
Если «ужать» строку, ограничив алфавит до «0»-«Z» — становится однопиковой с чуть более высоким уровнем вершины, но разница с вариантом без предобработки небольшая — порядка 3%

Протестировал на моем наборе:
Словарь — 311 тикеров опционов на фьючерсы
Размер хеша — 11 бит (хеш-таблица на 2048 элементов)
В результате: качество — 94.2% от теор. максимума без предобработки, 97.4% от теор. максимума с предобработкой

если урезать размер хеша до 9 бит (хеш-таблица на 512 элементов): качество — 80% от теор. максимума без предобработки
если урезать размер хеша до 10 бит (хеш-таблица на 1024 элементов): качество — 89,7% от теор. максимума без предобработки
avatar
  • 24 августа 2024, 14:30
  • Еще

Дед Нечипор, на упомянутую мной формулу нужно наложить маску по размеру хэштейбла. Т.е. размер тейбла берется кратным степени двойки. Морочиться с делением на простое число не надо, это замедлит функцию, если число неизвестно в compile time.

 

Так что сдвиг N именно таки и определяет, с какого участка брать. После умножения на 0x1000193 распределение хаоса по битам будет подобно гауссиане, брать биты по краям — плохая идея.

avatar
  • 22 августа 2024, 14:43
  • Еще
Дед Нечипор, фантазий на запросы технической направленности у ChatGPT не встречал, тем более, что такие вещи проверяются.
avatar
  • 22 августа 2024, 11:24
  • Еще
Выберите надежного брокера, чтобы начать зарабатывать на бирже:
....все тэги
UPDONW
Новый дизайн