Задать вопрос
@HrustHr

Как уменьшить диапазон поиска для неизвестного числа?

Имеется неизвестное число X которое находится в диапазоне от 2^80 до ^81

Какие вычисления произвести с X что бы X стало в диапазоне от 2^40 до 2^41 Но с количеством возможных вариантов(для дальнейшего поиска) меньшим чем 2^41-2^40 ? Брать к примеру каждое 20 число из диапазона 2^40 ...2^41 но что бы оно точно было в меньшем диапазоне ?

Ищу любой вариант, от "ответа Умельца" до ссылок на научно обоснованный алгоритм , может быть , если он имеется

Спасибо
  • Вопрос задан
  • 322 просмотра
Подписаться 1 Средний 16 комментариев
Пригласить эксперта
Ответы на вопрос 4
@alexalexes
Бинарный поиск, делов-то.
Число прыжков будет ~ log2(b-a), где [a, b] - ваш диапазон.
Чтобы работал бинарный поиск, нужна функция, которая укажет в какое направление прыгать - в меньшую половину фрагмента диапазона, или в большую.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Всё зависит от того, что именно ищем.
Если ноль монотонной функции, определённой на этом интервале, то бинарным поиском либо градиентным спуском.
А если хэш от числа, то только математическим анализом уязвимости алгоритма расчёта хэша. Если повезёт и такая уязвимость будет, то область поиска можно будет сократить.
Ответ написан
vesper-bot
@vesper-bot
Любитель файрволлов
Никак.

Вы не имеете критериев уточнения поиска, не имеете критериев проверки найденного, так что математически вам помочь нечем.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Ну в задаче как-бы не хватает информации. Если мы ищем решение какого-нибудь корня квадратного
то у нас есть методы дихотомии, Ньютона, всяких там хорд и прочее.

Если функция более хитрая (не гладкая) то к ней надо с хитростью подходить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы