Что будет с компьютером?
Он будет запускать алгоритм до его завершения [или возникновения непредвиденной ошибки]
Будет ли он заблокирован?
Зависит от того, как реализован алгоритм - но обычно - «программа», вероятно, зависнет, но компьютер все равно сможет работать [возможно, медленнее], особенно если машина многоядерная.
Будет ли он работать на 100% мощности до тех пор, пока он не завершит работу или не получит питание?
отключается?
Если алгоритм реализован последовательно, а машина является многоядерной - она не будет работать на 100% мощности. Если он многопоточный - он, вероятно, будет.
Произойдет ли сбой оборудования до его завершения?
для алгоритма, который требует 2^n
ops, и n=1000
[для современных современных машин] - скорее всего, это будет [земля не будет здесь, пока это не будет сделано]. Но нет никаких гарантий для этого.
Важно: Проблема с экспоненциальными проблемами заключается не в их влиянии на машины, а в проблемах с ними. Проблема в том, что они занимают много времени. сколько? ну, для O(n!)
алгоритма [наивный TSP реализация], для n == 20
время выполнения составляет ~ декаду. увеличьте n
на единицу, просто небольшое изменение размера задачи - и вы получите ~ 200 лет времени выполнения! дополнительное дополнение сделает это ~ 4000 лет ... [снова, если предположить, что современная машина, и для c
константа для O(n!)
c >= 1