Информационный Завет. Основы. Футурологическое исследование. Роман Александрович Бабкин. Читать онлайн. Newlib. NEWLIB.NET

Автор: Роман Александрович Бабкин
Издательство: Издательские решения
Серия:
Жанр произведения: Компьютеры: прочее
Год издания: 0
isbn: 9785449652447
Скачать книгу
Пусть попотеет. Сможет ли он выполнить порученную работу? Допустим, что сможет. Возникает вопрос: сколько времени это займёт? Ответ: неизвестно.

      Это так называемая «проблема остановки». Мы не знаем, как долго будет работать вычислитель (человек или машина) над решением некоторых (математически сложных) проблем. Другими словами, мы не можем для них предложить алгоритм – порядок шагов, которые нужно предпринять, чтобы получить точный ответ.

      В 1931 году математик Курт Гёдель (Kurt Gödel) доказал, что во всякой сложной (с т. зр. логики и математики) умозрительной системе есть недоказуемые утверждения9. Т.е. они содержат такие величины, для которых невозможно придумать алгоритм. Это невычислимые величины.

      При этом теория может быть верной. И величину можно вычислить в принципе. Но указать алгоритм вычисления нельзя. Способ Евклида для очень больших чисел работает плохо. Не исключено, что результата придётся ждать вечность.

      Все эти математические ухищрения кажутся играми разума. Однако, критерий вычислимости (или, как говорят математики, алгоритмической неразрешимости) крайне важен в обычной жизни. Его существование позволяет метеорологам сохранять лицо и надёжно защищать персональные данные7.

      Алан Тьюринг много размышлял над точным определением понятия «алгоритм». Ведь на проблемы, поставленные Гильбертом и Гёделем, можно посмотреть под другим углом6. Что такое вообще «алгоритм»? Можно ли его точно описать? И какие задачи можно решить с его помощью?

      В 1936 году Тьюринг в работе «О вычислимых величинах применительно к проблеме разрешения» (On Computable Numbers, with an Application to the Entscheidungsproblem) описал универсальное вычислительное устройство (universal computing machine) 31. Подробная схема работы этого гипотетического устройства есть во многих книгах по математике13. Я расскажу о сути.

      Допустим, вы располагаете какой-либо информацией. Её можно представить в форме последовательности знаков (букв или цифр). Вам нужно преобразовать информацию – что-то вычислить или сделать так, чтобы эту информацию было удобно передать. Тьюринг показал, что, получив от нас алгоритм (или, выражаясь современным языком, «компьютерную программу»), его устройство сделает эту работу.

      Например, укажем универсальному вычислительному устройству, как переводить буквы английского алфавита в числа в двоичной системе счисления (напишем команды «Переведи a в 110 0001», «Переведи p в 111 0000» и т.д.). Т.е. дадим машине алгоритм. Если на входе у нас слово apples, то на выходе устройство выдаст: 110 0001_111 0000_111 0000_110 1100_110 0101_111 0011.

      Теоретически существует алгоритм для любой задачи, какую только мы способны вообразить. Перемножить 100-значные числа. Предсказать завтрашнюю погоду. Выиграть в рулетку.

      Однако «способны» не значит «можем».

      То, что может, и есть «машина Тьюринга» (Turing machine). Абстрактная математическая модель, описывающая, тем не менее, реальный способ отделить вычислимость от невычислимости.

      Позже был сформулирован тезис (принцип)