2015-02-03 5 views
2

В последнее время я изучаю модели вычислений, и у меня возник вопрос.Декларативные модели вычислений в физических машинах

Для многих моделей вычислений кажется, что их можно реализовать на физических машинах. Некоторые фактически фактически основаны на физических сущностях.

Например, в случае с императивными моделями вычислений, такими как Automatas (FSM, PDA и машина Тьюринга), Post-Machines, RAM-машина. Это также относится к квантовым вычислениям и Bio Computing.

Но для некоторых моделей вычислений я никогда не видел признаков того, что они могут быть реализованы непосредственно физическими машинами. Например, функциональная модель вычислений (исчисление лямбда) и логическая модель Computaiton (фрагмент логики первого порядка).
В теории, однако, представляется возможным ... нам просто нужно будет имитировать функции и бета-сокращения в физической машине. Однако для Logic MoC это кажется еще сложнее.

Есть ли у кого-нибудь идеи о реализации функциональных MoC и Logic MoC на физических машинах?

Заранее спасибо

+0

Обе функциональные и логические языки программирования бегут на физических машинах в совершенно таким же образом, как и в настоящее время императивных языков программирования. Нет соответствия 1-к-1, например, оперативной памяти, в любом случае. – false

+0

Сначала румянец, я должен согласиться с @false. На уровне машины функциональное и логическое программирование работают эффективно, в основном, с теми же «примитивами». Хотя, учитывая рекурсивный характер языка, такого как Prolog, он может * извлечь выгоду из архитектуры, оптимизированной для стеков (* например, *, старых мини-компьютеров HP). – lurker

+0

Я говорю о том, что все идет полным ходом. Я думаю, что все машины в конечном итоге придут к логическим затворам и памяти (flipflops), действующим вместе с часами, что является абсолютно необходимой моделью вычислений.Я говорю о том, возможно ли иметь машину (нижний уровень), реализующую функциональный и логический MoC напрямую, т. Е. Никакие триггеры и память, по крайней мере, и логические логики. – nerdy

ответ

0

Стандарт для Пролога является WAM. Его аббревиатура для Warren Аннотация Машина. Он устанавливает набор инструкций и квитанцию ​​для компиляции Пролог к ​​этим инструкциям.

Но, кроме того, также можно легко увидеть, как эти инструкции могут быть выполнены в машинный код простой регистрационной машины .

На практике существуют системы Prolog на основе WAM, которые генерируют код для реальных существующих ЦП. Хотя WAM не единственный подход к реализовать интерпретатор Пролога:

Рекомендованное чтение:

Дэвид Х. Д. Уоррен (октябрь 1983).
Абстрактные набор инструкций Prolog.
Menlo Park, CA, США: Центр искусственного интеллекта в SRI International.

Hassan Aït-Kaci (18 февраля 1999 г.).
Абстрактная машина Уоррена: Реконструкция учебника.
Архивировано с оригинала на 2003-02-13.

Вы работается ссылки здесь: http://en.wikipedia.org/wiki/Warren_Abstract_Machine

Bye