Как оценить сложный алгоритм объекта требований? - PullRequest
0 голосов
/ 19 августа 2010

Я хотел бы понять, как эффективно оценивать требования к оборудованию для некоторых сложных алгоритмов, используя некоторый хорошо известный эвристический подход.
Т.е.Я хотел бы быстро оценить, сколько мощности компьютера необходимо, чтобы взломать мой TEA O (2 ^ 32) или XTEA O (2 ^ 115.15) в какое-то разумное время или наоборот:

Имея мощность оборудования четырехъядерных процессоров 1000 x 4 ГГц, сколько времени потребуется для выполнения данного алгоритма?
Меня также интересовали бы другие оценки сложности алгоритмов для таких алгоритмов, как O (log N) и т. Д.

привет bua

Ответы [ 2 ]

2 голосов
/ 19 августа 2010

хорошо, так что я придумал что-то вроде этого: Упрощение того, что тактовая частота процессора такая же, как у MIPS.

с количеством инструкций напр. 2 ^ 115 и процессор с отл. Часы 1 ГГц
что:

я = 2 ^ 115,15 часы = 1 ГГц ipersec = 1 / 10e + 9

секунд = i * ipersec

в питоне:

def sec(N,cpuSpeedHz):
    instructions=math.pow(2, N)
    return instructions*(1./cpuSpeedHz)

ex

sec(115.15, math.pow(10,9)) / (365*24*60*60)
1.4614952014571389e+18

так что для его расчета потребуется 1,4 ^ 18 лет

поэтому, имея 1 млн. 4-ядерных процессоров с частотой 1 ГГц, потребуется:

sec(115.15, 1000000*4*math.pow(10,9)) / (365*24*60*60)
365373800364.28467

это займет 3,6 ^ 11 лет (~ 3600 млн лет)

упрощенная версия:

2 ^ 115,15 = 2 ^ 32 * 2 ^ 83,15 часы = 2 ^ 32 ~ 4 ГГц 2 ^ 83,15 =

>>> math.pow(2,83.15)/(365*24*60*60)
3.4028086845230746e+17

проверка:

2^32 = 10 ^ 9.63295986
>>> sec(115.15, math.pow(2,32))/(365*24*60*60)
3.4028086845230746e+17
0 голосов
/ 19 августа 2010

Выберите любой понравившийся вам ответ:

  1. Больше, чем вы можете себе позволить
  2. Было бы намного, намного дешевле записать в журнал вашу машину
  3. Куда вы идетехранить до 2 ^ 20 открытых текстов, необходимых для достижения временной сложности O (2 ^ 115)
  4. Целая куча

Если кто-то действительно хочет вашу коллекцию pr0n, ее гораздо проще сломатьдержатель ключа, чем это ключ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...