Size: a a a

Compiler Development

2020 January 27

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Мы говоим про то, существует ли такая машина тьюринга у которой не будет проблемы останова) Самом собой, что существует машина тьюринга у которой она будет) Этого никто не отрицает
"Машина Тьюринга" - занятый термин и он описывает класс математических моделей. Понятно, что в этом классе есть конечные конкретные экземпляры, т.е. конкретные завершающиеся алгоритмы. Вопрос останова ставится про произвольную машину, и на него есть доказанный отрицательный ответ. Поэтому отдельные конечные машины отвечают на другой вопрос.
Если же выделять класс заведомо конечных машин, то его нельзя называть "машина Тьюринга", а следует придумать новый термин.
источник

AT

Alexander Tchitchigin in Compiler Development
MaxGraey
Иными словами, если у нас такая машина / язык у которых нету проблемы останова, но при этом будет выполняться полнота по Тьюрингу?
Нет.
источник

AT

Alexander Tchitchigin in Compiler Development
Eugene
нужен неполный по тюрингу язык без проблемы останова, на котором можно написать его собственный транслятор!!!
Idris? 😂
источник

E

Eugene in Compiler Development
разве Идрис неполный по тьюрингу? о_О
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
"Машина Тьюринга" - занятый термин и он описывает класс математических моделей. Понятно, что в этом классе есть конечные конкретные экземпляры, т.е. конкретные завершающиеся алгоритмы. Вопрос останова ставится про произвольную машину, и на него есть доказанный отрицательный ответ. Поэтому отдельные конечные машины отвечают на другой вопрос.
Если же выделять класс заведомо конечных машин, то его нельзя называть "машина Тьюринга", а следует придумать новый термин.
Вроде бы обычно опускают требование о бесконечной ленте, заменяя ее достаточно длинной?
источник

AT

Alexander Tchitchigin in Compiler Development
Eugene
разве Идрис неполный по тьюрингу? о_О
Тотальное подмножество, очевидно, не полное. Я не смотрел, используются ли в компиляторе Idris 2 нетотальные функции. По идее, должно быть можно обойтись без них. @clayrat что там на самом деле в кодовой базе?
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
Вроде бы обычно опускают требование о бесконечной ленте, заменяя ее достаточно длинной?
Что значит "обычно"? Кто так делает? В каком контексте?
источник

FO

FORTRAN ONE LOVE in Compiler Development
Andrei Kurosh
Вроде бы обычно опускают требование о бесконечной ленте, заменяя ее достаточно длинной?
а она должна быть достаточно длинной с какой стороны?
источник

AT

Alexander Tchitchigin in Compiler Development
FORTRAN ONE LOVE
а она должна быть достаточно длинной с какой стороны?
А вот это уже без разницы! 😂
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alexander Tchitchigin
А вот это уже без разницы! 😂
а вдруг я хочу, имея адесацию в uint, обратиться к ячейке памяти с отрицательным адресом? 🤠
источник

AT

Alexander Tchitchigin in Compiler Development
FORTRAN ONE LOVE
а вдруг я хочу, имея адесацию в uint, обратиться к ячейке памяти с отрицательным адресом? 🤠
Тогда Вам сперва придётся закодировать в МТ uint'ы и присвоить адреса каким-то ячейкам по некоторому правилу, а потом уж обращаться. И отрицательные числа тоже придётся закодировать. 😉
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Что значит "обычно"? Кто так делает? В каком контексте?
Так делают люди, в контексте описания вычислительной способности языка и системы :) поскольку бесконечной памяти не бывает, строгая формулировка становится бесполезной из-за невозможности применить ее к реально существующим вещам
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
Так делают люди, в контексте описания вычислительной способности языка и системы :) поскольку бесконечной памяти не бывает, строгая формулировка становится бесполезной из-за невозможности применить ее к реально существующим вещам
Т.е. а) в контексте вопроса об останове так не делают, и б) поскольку у реально существующих языков с GC нет понятия памяти как "наблюдаемой сущности", они оперируют такой же абстракцией потенциально неограниченной памяти, как и МТ. 😉
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Т.е. а) в контексте вопроса об останове так не делают, и б) поскольку у реально существующих языков с GC нет понятия памяти как "наблюдаемой сущности", они оперируют такой же абстракцией потенциально неограниченной памяти, как и МТ. 😉
как наличие GC помешает, например, создать бесконечно большой связанный список?
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
как наличие GC помешает, например, создать бесконечно большой связанный список?
Я про то и говорю, что не мешает. Как и МТ. 🤷‍♀️
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Я про то и говорю, что не мешает. Как и МТ. 🤷‍♀️
Значит все-таки языки с GC на практике оперируют достаточно большой, но никогда не бесконечной памятью, о чем я собственно и говорю
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
Значит все-таки языки с GC на практике оперируют достаточно большой, но никогда не бесконечной памятью, о чем я собственно и говорю
На практике они оперируют вообще конечной памятью, и часто - недостаточно большой. Но это не имеет никакого отношения к определению (спецификации) языка, которое подразумевает неограниченную память. И таким образом может быть отождествлено с МТ.
источник

BD

Berkus Decker in Compiler Development
hydrobiont 🜄🜁 Kind Spiders Win 🕸
транслятор в машкод интереснее.
Нет, это решается проекцией футамуры
источник

AT

Alexander Tchitchigin in Compiler Development
Berkus Decker
Нет, это решается проекцией футамуры
Тогда давате выберем критерием простоту написания специализатора на заданном ЯП. 😂
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
На практике они оперируют вообще конечной памятью, и часто - недостаточно большой. Но это не имеет никакого отношения к определению (спецификации) языка, которое подразумевает неограниченную память. И таким образом может быть отождествлено с МТ.
Так, погодите, давайте синхронизируемся по пунктам. Я перестаю успевать за вашим полетом мысли :)

Может ли вычислительная система являться полной по Тьюрингу, если ее "лента" конечна?
источник