Re[84]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 27.12.10 09:18
Оценка: +1
Здравствуйте, PC_2, Вы писали:

S>>Только на последнем шаге алгоритмическая стоимость генерации увеличивается в n(k-1) раз.

S>>Твой алгоритм лучше полного перебора с последующей фильтрацией. Но намного ли?

PC_>Это спор о реализации транслятора, а не о языке.

PC_>Ты никогда не можешь точно знать как работает РС, потому как он довольно таки декларативен.
Нет оснований предполагать что транслятор (особенно твой) вставит эвристики и понизит сложность задачи.

PC_>Вот например в декларативном SQL func1(1) + func(2) это тоже ниразу не вызов двух функций, как мог бы подумать тот же сишник.

PC_>По семантике, да, вызываются две функции, результаты складываются. А реально оптимизатор может разобрать в ноль эти функции сделать из них одну и еще и переписать
PC_>там все полностью.
Ты прикидываешься или на самом деле не знаешь как оценивается сложность алгоритмов?

S>>Ладно, теперь я меняю условия задачи. Логично предположить что мы используем генерилку для брутфорса (хохмы для). Генерилка проверяет пароли по мере получения (кстати, твои не лезут в память 32х разрядного приложения уже при параметрах 5 из 30). И каждую минуту сбрасывает на винт число проверенных паролей, потому как хакеру периодически нужны ресурсы системы для решения других задач и он хочет продолжить счет с последнего сохраненного номера.

S>>Наперед скажу, что в моем решении менять ничего не надо. Пропустить 10000 элементов (skip 10000 (p 30 10)) результирующей последовательности занимает 0,24s и 10001-ый элемент равен 'abcdefg3vl' при алфавите ['a'..'z']++['1'..'4']. Пропуск миллиона вариантов занимает <20 сек. Уже проблема, но я знаю, что подкрутить что бы пропуск занимал ничтожное время.

PC_>Вообщето скип, это почти тот же фильтр результата.

Ты даже не понял, что результаты по скипу не вычисляются? Ты походу слил, но сам еще не понял это.

PC_>Сам знаешь что нормальная реализация начинает сразу с середины перебор,

PC_>а не чтото там скипит.
Твой подход умеет вообще скипать вычисления?
Сразу с середины это вряд ли, но уменьшить стоимость скипа до логарифма — реально.
Не надеюсь что ты покажешь, как это делается на РС.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.