как бороться со сложностью, что общего, от конкретного к абстрактному и обратно

Feb 04, 2020 12:18

как бороться со сложностью, что общего, от конкретного к абстрактному и обратно

/* смутно (поток сознания по сути), но если я начинаю причесывать, то тону в деталях, в ссылках и теряется суть, считаю фиксацию даже смутного важнее причесывания

1. от конкретного к абстрактному, дерево абстракции


алмаз Джон Сова, diamond John Sowa (см. п.4)


2.
типы данных не нужны
нужен минимальный алфавит:
- есть_сигнал/нет_сигнала,
- 0/1,
- a/b


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

универсальная операция будет состоять в смене состояния
приходим суть к машине Тьюринга, к норм.алгоритмам Маркова, к машине Поста

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

все языки программирования это синтаксический сахар над двумя различимыми символами и операцией смены состояния

неявно мы тут еще ввели операцию различения тождественно/нетождественно

итак нужны
два символа, обозначим "0" и "1"
операция сравнения, обозначим "="
операция преобразования "→"

обозначения могли бы быть абсолютно любые

все остальное синтаксический сахар
вся семантика порождается с помощью {{0,1},{=,→}} двух символов и двух операций

у машины Тьюринга три операции: записать символ, сдвинуть головку, перейти в состояние такое-то

все понятия человеческие это синтаксический сахар над {{0,1},{=,→}}

формализовать нечто это означает построить формальную интерпретацию, т.е. создать интерпретатор

/* тут надо еще подумать, возможно нужна еще одна неявная переменная или просто организованная память
это эквивалентно будет конечному автомату + память (например магазинная, стек или лента)
когда машина Тьюринга (МТ) переходит из состояния в состояние это задается неявная операция
конкретно в МТ можно для этих целей ввести еще одну ленту, одна лента для данных, другая лента для команд
в конечных автоматах это эмулируется самой структурой переходов с разными узлами
в описаниях формальных универсальных вычислителей не дается
в любом случае структура самой машины по идее должна быть и лучше ее выписать явно без метаописаний словами
(короче тут додумать детали надо)

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

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

если эти модели обобщать, то далее постепенно все сведется снова к очень абстрактным категориям присущим математике: теории категорий, метаматематике, общей алгебре, основания теории множеств и прочие весьма абстрактные конструкции; у философов появляются свои немногие весьма абстрактные категории типа сущее, бытие, квалиа и прочие понятия, которые они не умеют интерпретировать, по причине недостаточной формальности

неформально я это представляю в виде такой конструкции



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

потом начинаем обобщать множество вариантов, ищем похожие конструкции, начинаем классифицировать, искать общее в вариантах, количество веток начинаем сокращать
ищем общее

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

борьба со сложностью может состоять в типизировании веток дерева абстракции
надо оставлять этакие минимальные оптимальные абстрактные конструкции мощные и выразительные
какие они должны быть? не знаю

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

алгоритм суть модель цепочки причинно-следственных связей
это все самое общее, мы замкнули вершину дерева абстракций на корень дерева примитивных вычислений
мы состыковали абсолютно абстрактное с предельно примитивным
но серединка у нас конечно провисает (смотрим картинку)

алгоритм сознание, алгоритм сильного искусственного интеллекта и должен устранять разрыв середины

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

аналогично и у моделей вычислений
связка элементарной команды универсального вычислителя и элементарного действия физ.машины дает вычисление алгоритмов

все это получается тупая цепочка причинно-следственных связей
в виде физ.модели
в виде последовательности непосредственно интерпретируемых команд символической вычислительной модели

каждый отдельный символ символической вычислительной модели соответствует физическому действию
а весь алгоритм эквивалентен символической записи цепочки ПСС

выложу пока так, потом продолжим
----------------------

ps
1. жидкая логика
https://deep-econom.livejournal.com/537757.html

я уже не раз делился секретом, что вычисление это просто взаимодействие (цепочка причинно-следственных связей ПСС)

2.
что общего? https://deep-econom.livejournal.com/537491.html

1. что общего между всеми этими машинами и моделями вычислительных устройств?
2. понятно, что это модели универсального вычислителя, но что между этими разными моделями общего?
3. что общего между разными типами физических вычислительных устройств: процессоров, калькуляторов, арифмометров, счетные палочки, чётки, абаки, юпана, бруски, лог.линейки и т.п.?
---

3. модели, алгоритмы, математика, сложность, эквивалентность описаний
https://deep-econom.livejournal.com/537100.html

Как справиться со сложностью?
новое, которое мы понимаем, это небывалая комбинация известных моделей
эквивалентность описаний, но разная сложность

4. алмаз Джон Сова, diamond John Sowa
https://deep-econom.livejournal.com/768430.html

Previous post Next post
Up