Незадолго до появления реального программирования ряд математиков уже начал мечтать о нём. И фантазировать, как оно могло бы быть устроено
( Read more... )
А тут не та же фигня, что с философией и диалектикой? Ну в смысле: сначала философия - это была наука вообще, потом все разумные области выделились в отдельные науки, а то, что в результате осталось - современная философия, не имеющая никакого отношения к реальности. Так и тут: для всего, имеющего практическое применение, давно созданы подходящие языки, а вот то, что осталось, продолжает изучать машину Тьюринга.
Тут всё-таки ситуация получше: сознательно морочить людям голову вроде как не собирались, просто жалко было выбрасывать то, на что столько времени когда-то потратили.
Насколько я помню, машина Тьюринга - это: 1. Множество состояний. 2. Правила перехода между состояниями. 3. Бесконечная лента, которую можно читать и писать. Существующие сейчас компьютеры в это описание вполне укладываются: количество состояний определяется количеством памяти (RAM и регистров процессора), бесконечную ленту более-менее заменяет файловая система, а правила перехода между состояниями определяет CPU. Есть всякие дополнительные навороты вроде прерываний, таймеров и прямого доступа к памяти, но они программистам не так уж и нужны, многие задачи успешно решаются без этих наворотов.
Так что программисты давно освоили ряд моделей машины Тьюринга. Универсальную машину не используют, поскольку реализовать её сложно, а особых преимуществ от универсальности не видно. Хотя иногда и систему команд меняют по просьбам трудящихся: то аппаратное умножение добавят, то какой-нибудь SSE2, то вообще на ARM перейдут.
Нет, не так. Самолёт и телега с лошадью являются разновидностями транспорта, x86 и ARM являются разновидностями машины Тьюринга.
Нюансы есть, как без них. Ну, например, в машине Тьюринга обычно программой считается таблица переходов между состояниями. А на практике эта таблица переходов зашита в CPU и не меняется, а то, что меняют программисты-практики, оказывается начальным состоянием машины (поскольку оно в RAM грузится).
Ну вот, например, возьмем знаменитое е=mc2. Его приписывают Эйнштейну, хотя формулы написаны Пуанкаре, Минковским и Лоренцом. Приписывают на том основании, что он якобы дал им верную физическую интерпретацию. На что Пуанкаре пытался (не настойчиво - т.к. понимал, что дуракам объяснять бесполезно) возразить, что сама мысль о верной и неверной интерпретации физической формулы наивна, поскольку степень сложности природы больше размерности человеческого сознания, а, следовательно, одновременно могут существовать несколько интерпретаций. Подобно тому как у одного и того же трехмерного объекта существует множество его проекций на плоскость, отчего бывают удачные и неудачные фотопортреты. Успехи и трудности современной квантовой физики в последнее время особенно остро поставили вопрос о том, что такое вообще научное знание и истина в физической науке. Не знаю, слышали ли вы, что утверждение что е=mc2 есть в энциклопедии Брокгауза и Ефрона от 1904-го года
Но причем тут философия? Физики вполне самостоятельно и разнообразно трактуют свои результаты. Это помогает или мешает их последователям. Но философов не зовут, их посылают.
Много слов и не одного доказательства. Казалось бы чего проще - привести одну програмку, в которой практики посрамили тюрингистов. Ну там решают НП за полиномиальное время, скажем.
Из всех двух выводов, полученных любителями машины Тьюринга, вывод про сложность алгоритмов получен без использования машины Тьюринга, а теорема Гёделя имеет овердофига ошибок в доказательстве.
Но одного не отнять: доказана сводимость Тьюринг-полных языков к машине Тьюринга и Тьюринг-полнота оной.
Я прямо даже не знаю, что ещё для примера опровергат: про Гёделя уже и так в процессе, Тьюринг-полнота правильно доказана, а всего остального просто не существует.
Машина Тьюринга - это инструмент. Математический. Типа метода подстановки переменных при интегрировании. Специально предназначенный для следующих целей
( ... )
Comments 68
Reply
Reply
1. Множество состояний.
2. Правила перехода между состояниями.
3. Бесконечная лента, которую можно читать и писать.
Существующие сейчас компьютеры в это описание вполне укладываются: количество состояний определяется количеством памяти (RAM и регистров процессора), бесконечную ленту более-менее заменяет файловая система, а правила перехода между состояниями определяет CPU. Есть всякие дополнительные навороты вроде прерываний, таймеров и прямого доступа к памяти, но они программистам не так уж и нужны, многие задачи успешно решаются без этих наворотов.
Так что программисты давно освоили ряд моделей машины Тьюринга. Универсальную машину не используют, поскольку реализовать её сложно, а особых преимуществ от универсальности не видно. Хотя иногда и систему команд меняют по просьбам трудящихся: то аппаратное умножение добавят, то какой-нибудь SSE2, то вообще на ARM перейдут.
Reply
Reply
Нюансы есть, как без них. Ну, например, в машине Тьюринга обычно программой считается таблица переходов между состояниями. А на практике эта таблица переходов зашита в CPU и не меняется, а то, что меняют программисты-практики, оказывается начальным состоянием машины (поскольку оно в RAM грузится).
Reply
Reply
Reply
Не знаю, слышали ли вы, что утверждение что е=mc2 есть в энциклопедии Брокгауза и Ефрона от 1904-го года
Reply
Но причем тут философия? Физики вполне самостоятельно и разнообразно трактуют свои результаты. Это помогает или мешает их последователям. Но философов не зовут, их посылают.
Reply
Reply
Но одного не отнять: доказана сводимость Тьюринг-полных языков к машине Тьюринга и Тьюринг-полнота оной.
Я прямо даже не знаю, что ещё для примера опровергат: про Гёделя уже и так в процессе, Тьюринг-полнота правильно доказана, а всего остального просто не существует.
Reply
Reply
Reply
Reply
А потом мне будут говорить: «ну чего ты прицепился? - нет же никакого вреда в том, что эту хренотень проходят в вузах».
Reply
Leave a comment