[Перевод] Неожиданная полнота по Тьюрингу повсюду
|
|
Понедельник, 12 Ноября 2018 г. 16:06
+ в цитатник
Каталог программных конструкций, языков и API, которые неожиданно являются полными по Тьюрингу; последствия этого для безопасности и надёжности. Приложение: сколько компьютеров в вашем компьютере?
Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp. — Десятое правило Гринспена
Полнота по Тьюрингу (Turing-completeness, TC) — это свойство системы при некотором простом представлении ввода и вывода реализовать любую вычислимую функцию.
Тьюринг-полнота — фундаментальное понятие в информатике. Она помогает ответить на многие ключевые вопросы, например, почему невозможно создание идеальной антивирусной программы. Но в то же время она является поразительно
распространённым явлением. Казалось бы, компьютерной системе трудно достичь такой универсальности, чтобы выполнять любую программу, но получается наоборот: трудно написать полезную систему, которая немедленно не обратится в полную по Тьюрингу. Оказывается, что даже небольшой контроль над входными данными и преобразованием их в результат, как правило, позволяет создать тьюринг-полную систему. Это может быть забавным, полезным (хотя
обычно нет), вредным или чрезвычайно небезопасным и настоящим подарком для хакера (см. о
«теоретико-языковой безопасности», которая изучает методы взлома «странных машин»
1). Удивительные примеры такого поведения напоминают нам о том, что полнота по Тьюрингу таится повсюду, а защитить систему чрезвычайно сложно.
Читать дальше -> https://habr.com/post/429602/?utm_source=habrahabr&utm_medium=rss&utm_campaign=429602
Метки:
информационная безопасность
ии
искусственный интеллект
компьютерное железо
процессоры
настольные компьютеры
теория алгоритмов
странные машины
вычислительная сложность
полнота по тьюрингу
тьюринг-полные системы
делегация доверия
fractran
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-