Минимальная модель абстрактного универсального вычислителя и языка.

Sep 12, 2021 03:01

Минимальная модель абстрактного универсального вычислителя ( Read more... )

Leave a comment

Comments 25

deep_econom September 11 2021, 21:36:44 UTC
(красивые картинки ( ... )

Reply


deep_econom September 11 2021, 21:46:57 UTC
deep_econom September 11 2021, 21:49:32 UTC
Вроде как сравнение необязательно.
Пример: параметрический GOTO (адрес).
Изменяя содержимое ячейки (адрес) мы будем осуществлять ветвление.

Но сравнение все равно требуется наверное в программе.
Тут сравнение мы организовали неявным способом.

Reply

deep_econom September 11 2021, 22:01:15 UTC
модель вычисления по Берс: тик-так. Два такта процессора: выборка команды, исполнение команды. (смотрим статьи Берса)

https://t.me/AGIRussia_SCA/5025
---
ALEX BUR, [28.04.21 15:29]
В моем представлении абстракция тик-так она модель изменений. Опять же минимальная конструкция a->b и b->a
т.е. ((a->b) -> (b->a))
или ((*,*),(*,*))

(тик,так)
---

... )

Reply


dobr_i_trezv September 12 2021, 06:41:44 UTC
обратите внимание на SKI-комбинаторы. Может есть смысл ветвление переопределить через подстановочную модель? и тут очевидна потребность в памяти.

Reply

deep_econom September 12 2021, 09:09:00 UTC
Я не категоричен, но полимичен. )

Когда писал, про комбинаторы помнил.
Это всё еще надо додумывать.

Сама подстановочная модель, нечто вроде лямбда исчислений, лиспа, аппликативного программирования, нормальных алгорифмов Маркова и т.п.
Но суть это некое переписывание символов.

А переписывание символов, подразумевает некий алгоритм (интерпретатор или физ.устройство), которое будет переписывать символы, некий вычислительный процесс нужен, базовый вычислительный цикл.
Дык вот для комбинатора тоже требуется такой цикл.

Ну и получается, что мы снова возвращаемся к ветвлению и изменению памяти только под иным соусом.

Ветвление может вызываться командами, может вызываться блужданием по данным, ну типа как обход графа вычислений.

Дискуссионно.

Reply

dobr_i_trezv September 12 2021, 10:07:42 UTC
Полностью согласен. Просто что такое ветвление? условная дизъюнкция? Как реализовано? Не уводит ли это от протологики?

Reply

deep_econom September 12 2021, 10:22:46 UTC
Ну вот ветвление можно организовать по разному.

Пример: параметрический GOTO (адрес).
Изменяя содержимое ячейки (адрес) мы будем осуществлять ветвление.

Ну или условный JUMP и т.п.
(на память в ассемблере: JNZ - кажется переход по нулю)

Т.е. https://ru.wikipedia.org/wiki/Условная_дизъюнкция
или нечто вроде (if o1 then o2 else o3).

Т.е. я намеренно не уточнял, как именно должно быть реализовано ветвление, но его как-то мы обязаны реализовать. Иначе не будет циклов, вызовов функций, рекурсий и т.п.

Reply


deep_econom September 13 2021, 06:31:10 UTC
К вопросу этого поста ( ... )

Reply


deep_econom September 13 2021, 07:30:31 UTC
Минимизация автоматов
https://ru.wikipedia.org/wiki/Конечный_автомат

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

/* Обдумать.

Reply


Leave a comment

Up