Ветвление же нарушает тот же принцип причинности, то есть не устраняет проблему, которую Эверетт пытался устранить.
его, принципа причинности, формулировку можно ослабить. то есть, понимать его как некий полиморфизм. а ограничение на положительность разницы времени превращается в какую-то метрику в многомерном времени.
например, в навигации используется двумерная плотность вероятности, по времени. её можно расширить на многомерное время.
Ветвление же нарушает
ага, goto считается вредным. вот например смотришь ты ассемблерный код, и видишь octopus stack. но у тебя нет такого паттерна — а есть только фортран. в итоге ты сделаешь вывод, что это лапшекод, который какой-то там принцип (как данность, данный сверху, с данной точки зрения, ограничений модели со скалярным временем, например) нарушает.
другой вариант — ты распознаёшь образ «octopus stack», и делаешь метавычисления, логический вывод: «octopus stack» => замыкания => объектная система => полиморфизм => MOP и CLOS => АОП, аспектно-ориентированное программирование.
и делаешь вывод: если вместо «классического определения» принципа причинности сделать по аналогии с естественным отображением, то есть, полиморфизмом — то получим расширенную формулировку принципа, в новых условиях, в понятных (а не данных сверху, с предубеждений точки зрения модели) ограничениях.
Известно, что К. Гедель при доказательстве своей теоремы о неполноте опирался на подобную лемму об автореферентности. Поэтому эта знаменитая теорема должна присутствовать в мире естественных систем
Для значения функции истинности тогда получается знакомое нелинейное уравнение
где функция истинности формулы . На обычных множествах поиск неподвижной точки такого отображения статическая, тривиальная задача. При интерпретации логических переменных каждому из них соответствует множество истинности . Тогда оно имеет следующий вид:
Разворачивая эти автореферентные предложения, узнаем нелинейные функции и операторы математической физики
Поэтому логическая и теоретико-множественная автореферентность, есть обобщение известной нелинейности на те области, где использование (дифференциальных) уравнений не могло быть осуществлено. Это области анализа логических парадоксов, проектирования и управления сложными системами и вычислительными процессами
На множествах с такими свойствами уже нетривиальное решение, неподвижную точку, так называемую большую неподвижную точку, имеют рекурсивные, нелинейные, циклические процессы, т.е. существуют нетривиальные решения уравнений
в которых легко узнаются известные из теории хаотических динамических систем отображения типа “колоколообразная кривая”, логистическое отображение, преобразование пекаря и другие им эквивалентные.
Соответственно этим структурам существуют и “нелинейные” числа, так называемые р-адические числа ( о них пойдет речь дальше, здесь приводится лишь общий вид).
где цифры берутся из множества , р- простое число и разложение бесконечно вправо, так же как и для функций.
Такое расширение понятия нелинейности позволяет с единых математических основ объединить изучение естественных систем, имея ввиду их самоорганизационные свойства. Однако это расширение порождает две существенные особенности, касающиеся способов математического описания явлений. Во-первых, для таких множеств не выполнена одна из основных аксиом математического анализа – аксиома фундирования, она же регулярности: такие множества отрицают наличие “дна элементарности”, для них бессмысленно рассматривать изолированные точки. Это существенно иррегулярный мир, мир неспрямляемых кривых, поверхностей и форм Во – вторых, не выполнена еще одна их основных аксиом анализа – аксиома Архимеда, она же измеримости, которая устанавливает связь между геометрией и построением формул. Как следствие эти иррегулярные, фрактальные множества оказываются нерекурсивными и неразрешимыми. Движение по таким множествам возможно лишь по правилам интуиционисткой логики, а элементарная точка оказывается нераспознаваемой. Простое, детальное рассмотрение этих вопросов изложено в работах автора .
р-Адическая феноменология единства естественных систем.
р - Адическая математика и картина мира
Как следует из изложенного фрактальный и p-адический миры можно считать синонимами.
Наконец у p-адической математики есть еще сторона, неразрывно связанная с вышеизложенным. Устройство, или топология, p-адических числовых полей позволяет рассматривать набор цифр разложения чисел как буквы некоторого алфавита . Тогда числа предстают в виде слов - кодов Гензеля, которые группируются в предложения, тексты, формальные языки и теории. Весь Мир тогда являет собой гипермножество . Поэтому p-адические числа пригодны для кодирования информации, описания какой - либо области алгоритмического или языкового характера. Это значит, что в p-адических фракталах, возможно впервые, соединяются материальное, физическое и символьное, языковое представления о Мире. Тема эта слишком сложна и с точки зрения математического описания, по -видимому, еще не сформирована, поэтому мы обратимся к двум другим сферам - психологии и философии, где аналогии могут быть прослежены. Отметим лишь, что сетевая структура Мира объясняет существование отмеченных выше степенных зависимостей в разнородных по природе областях - материальных, языковых. Поэтому становится возможным количественное изучение таких явлений как взаимодействие общества и внешней среды - ландшафта, экономики, а значит и исследований в русле идей коэволюции -совместной эволюции человека и природы..
то есть: есть прямая аналогия между этим описанным выше уравнением (нелинейное уравнение из функций истинности формулы, решение этого уравнения и поиск неподвижной точки) и между метакомпилятором META II, например (в котором язык описания грамматики это по сути метаязык, реализованный тоже как отображение неподвижной точки: метакомпилятор от грамматики метакомпилятора порождает его собственный исполняемый код, то есть, применив код к грамматике мы получим сами себя, то есть, неподвижную точку. затем язык расширяется и мы получаем поиск неподвижной точки какого-то ДРУГОГО языка, DSL — как в уравнении для p-адических чисел выше).
это означает, что язык (и способы мышления, выражаемые посредством метаязыка) — это фрактал.
p-адические числа — это на самом деле, очень простая штука — это просто КБЧ (кстати, в связи с этим Катющик, не признающий комплексные числа, например sqrt(-1) упорот более чем полностью — ведь в 5-ричной системе i,-i это просто всего-навсего КБЧ «v?1 = ...412013233 и ...032431212» , то есть, если переписать КБЧ через функции-генераторы то мы можем работать с комплексной единицей напрямую)
то есть: есть одно и то же выражение, уравнение, возникающее на трёх уровнях:
* с физической точки зрения это уравнение
* с математической (геометрической), это фрактал
* с математической, это фрактал в КБЧ — нелинейное уравнение с функциями истинности
* с компьютерно-лингвистической, это какой-то метаязык какого-то языка, или какая-то интерпретация, интерпретатор которой делает всё тоже самое, только с какими-то неявно выраженными ограничениями, условиями.
это как перейти от императивного алгоритма к алгоритмам Маркова или Н-модели в ограничениях.
пруфлинк, что нельзя? вот например по соглашению о знаке метрического тензора мы можем понимать 4-мерное пространство Минковского как 3 координаты пространственной + 1 временную. или, с другим знаком — 1 пространственную и 3 временных.
И что? В бинарнике Си есть почти все ассемблерные команды. Значит ли это, что если я тебе дам прграмму /bin/true, то ты сможешь исполнить произвольный ассемблерный код? И кроме того байт, который можно декомпилировать в define != форма define. А то можно договориться до того, что любая программа на Си содержит в себе язык Си (ведь декомпилировать в какой-то степени можно).
Этот бинарник содержит байткод с интерпретатором и джитом. Машкода в нем нету.
(require disassemble)
Да только этот машкод появляется исключительно при первом запуске ф-и. В ехешнике никакого машкода нет.
И что?
И то. Семантически, Racket - интерпретатор байткода. И исключительно для оптимизации ф-и джитятся, причем так, чтобы не нарушать семантику интерпретации (то есть ты не сможешь отличать «чистый» интерпретатор Racket и интерпретатор с джитом по их поведению). В байткоде (то есть в том коде что непосредственно исполняется) есть дефайн-формы. Во время исполнения кода эти дефайн-формы исполняются и производятся вполне определенные эффекты (связывание переменных в неймспейсе и т.п.).
Раз ты не можешь отличить Racket по семантике от «чистого» интерпретатора то можно считать, чот дефайн-формы там етсь. Просто потмоу что язык и рантайм устроент так, чтобы ты _не мог_ построить контрпример.
И что? В бинарнике Си есть почти все ассемблерные команды. Значит ли это, что если я тебе дам прграмму /bin/true, то ты сможешь исполнить произвольный ассемблерный код?
скорее всего да, если это gnu /bin/true. В силу того, что её исходник содержит Over9000 строк на C (в развёрнутом виде).
А каким образом ты выполнишь этот произвольный код? Мне честно интересно. Есть бинарник gnu /bin/true. 16Kb ассемблерного кода. Твоя задача: с его помощью исполнить ассемблерный код, выводящий на stdout строку «Hello» (нужные ассемблерные команды там есть, так как справку он штатно выводить умеет). Твои действия?
Твоя задача: с его помощью исполнить ассемблерный код, выводящий на stdout строку «Hello» (нужные ассемблерные команды там есть, так как справку он штатно выводить умеет). Твои действия?
просто вместо этого:
Использование: /bin/true [ игнорируемые аргументы командной строки ]
или: /bin/true КЛЮЧ
Выходит с успешным статусом.
...
напишу в бинарнике Hello. Ну и сломаю вызов getopt(3), что-бы оно всегда --help отрабатывала.
Ну если учитывать возможность руками перебивать машкод, тогда да, бинарник Racket тоже может исполнить произвольный байткод для Racket.
Хотя мне это доказательство напоминает доводы в пользу утверждения «неважно, на каком языке писать». Ведь все тьюринг-полные языки эквивалентны, а значит на брейнфаке или в машинных кодах можно написать всё, что можно написать на C++. И в этом смысле компилятор от интерпретатора не отличается вообще ничем. Только удобством изменения программы после запуска этой программы.
Хотя мне это доказательство напоминает доводы в пользу утверждения «неважно, на каком языке писать». Ведь все тьюринг-полные языки эквивалентны, а значит на брейнфаке или в машинных кодах можно написать всё, что можно написать на C++. И в этом смысле компилятор от интерпретатора не отличается вообще ничем. Только удобством изменения программы после запуска этой программы.
ну вот. На восемнадцатой странице обсуждения, кто-то понял, о чём я говорил. Это радует.
На восемнадцатой странице обсуждения, кто-то понял, о чём я говорил.
Наверное потому что люди определяют объекты по их свойствам, а не по сути. А твои утверждения выглядят как «Чем алмаз от угля отличается? --- Ничем: они состоят из одинаковых атомов. --- Но ведь алмаз твёрдый, а уголь мягкий. --- И что? Из угля можно получить алмаз при некоторых условиях, значит это одно и то же.».
А свойства интерпретатора и компилятора существенно отличаются.
Наверное потому что люди определяют объекты по их свойствам, а не по сути. А твои утверждения выглядят как «Чем алмаз от угля отличается? --- Ничем: они состоят из одинаковых атомов. --- Но ведь алмаз твёрдый, а уголь мягкий. --- И что? Из угля можно получить алмаз при некоторых условиях, значит это одно и то же.».
ну дык алмаз и графит — действительно одно и то же. А «судят по свойствам» только неучи, которые не окончили даже 7 классов средней школы.
ИМХО свойства вторичны, их можно поменять, они и меняются. Современные интерпретаторы уже сейчас слишком близки к компиляторам (см JIT например. Или это ещё «интерпретация»? ИМХО — нет).
Что до топика: пока не запустишь линукс на си-интерпретаторе - в топик не возвращайся.
Может ты изучишь матчасть? Linux отлично работает без всяких компиляторов. Вот как раз для работы необходимы интерпретаторы, не сишные конечно, а gawk/sed/sh, и т.п.
принцип причинности можно расширить на многомерное время.
Нельзя.
можно. это такой полиморфизм получается, как в ООП.
когда Эверетт говорит про «relative state», и их влияние друг на друга в рамках общей системы — это как раз полиморфизм (подсистема в системе).
каждый объект, живущий в отдельном процессе — со своим временем. а некоторый ОС-подобный механизм реализует между ними мультидиспетчеризацию, полиморфизм, вот это всё.
вот представь, например, многомерную машину Тьюринга. те, которые на одной оси — исполнители, на второй перпендикулярной ей оси — супервизоры, (man суперкомпиляция), например, ООП рантайм, квантование процессов в ОС, управляющаяя программа, суперкомпилятор, и т.п.
на третьей оси — метавычислители (тот же суперкомпилятор или метациклический вычислитель). такой паттерн матчинг «символический,„с пониманием смысла“ между »реальным отличием" компилятора от интертрепатора".
например, пусть у машин Тьюринга будет не одна лента, а две: на второй для обратимых вычислений трансфинитными числами записывается EIP машины (например: 1+w != w+1 => w+1,w+2,.. это замыкание w; 1+w — это новое замыкание).
супервизор делает паттерн мэтчинг, который поначалу происходит промежду таких вот трансфинитных кодировок на второй ленте (с учётом данных, т.е. выполняет что-то типа прогонки и построения остаточной программы из суперкомпиляторов).
далее метамета по четвёртой оси, и т.п. пока не откажет воображение.
получается многомерное время: у исполнителей одно (user time), у супервизоров — второе (system time и время на суперкомпиляцию и сворачивание графа в остаточную программу), у метавычислителей — третье, у метамета — четвёртое (условия, при которых имеет смысл второй уровень), и т.п.
принцип причинности в старом смысле, если и работает (потому что их таких может быть несколько, как и полиморфизмов — в разных вселенных из мультивселенной) — работает между супервизором и исполнителем (с точки зрения исполнителя самого по себе суперкомпиляция и сворачивание дерева в остаточную программу выглядит как какая-то black f*cking magic, или копенгагенская интерпретация с коллапсом; но с т.з. универсальной волновой функции, или суперкомпиляции причинность таки есть и не нарушается, в многомерном времени).
квазимото вон в том треде говорил, что денотат нельзя построить за конечное время. но это время конечно — в исполнителе (user time), а в многомерном времени — у нас его сколько угодно (system time; в супервизоре, когда он обнаружит связь между какими-то подходящими исполнителями, параллельно (а не последовательно) их исполняя).
за сколько угодно времени связь может и обнаружить. когда обнаружит — благодаря обратимости вычислений и второй ленте выполняет без потерь энергии.
[3] Jung, Synchronizität als ein Prinzip akausaler Zusammenhänge.
Зримым итогом этих плодотворных дискуссий стала совместно изданная учеными в 1952 году книга под названием «Интерпретация Природы и Психе».[2]
В этой работе Юнг впервые развернуто и с привлечением результатов современной физики представляет свою концепцию мироустройства в большой статье «Синхроничность как принцип акаузальных связей»[3]
кстати, вот ещё пруфлинк, для сотрясания основ :))
или, p-адические модели процессов мышления подсознания, из Хренникова. акаузальные вычисления, ага.
«векторный гипертекстовый фидонет», только квантовый, вот это всё :)))
когда Эверетт говорит про «relative state», и их влияние друг на друга в рамках общей системы — это как раз полиморфизм (подсистема в системе).
В кореляционной интерпретации нету никаких «подсистем». В этом смысл интерпретации. Есть только одна общая система с общей волновой ф-ей, которую нельзя разделить (т.к. не получается описать подобъект в виде чистого состояния, только смешанного, которое не имеет физического смысла).
получается многомерное время:
Нет, не получается. Ты описал обычное классическое одномерное время.
И чем это эмулятор процессора, да еще и на интерпретируемом языке, менее интерпретатор чем эмулятор виртуальной машины Python, в которую компилируются питоньи скрипты?
Я-я-натюрлих, всем кто вникнет, что ты за незадачливое существо, тоже становится тебя жалко. Ты уж там держись, как-нибудь где-нибудь, побеждай собственное убожество.
Удачи!
Ай-яй-яй. Ядро ты тоже на интерпритаторе BASH/SH запустишь, который написан сам на себе и сам себя запускать будет? На нижнем уровне всегда будет работать код, который не имеет отношения к интерпретаторам, а скомпилированный, написанный на низкоуровневом языке, типа C, максимум - уровня C++, при том, со вставками ASM-а, если не чистого машинного кода.
А что, Форт интерпретатор, написанный на Форте будет интерпретировать сам себя на голом железе? Давай мне такой интерпретатор или не неси чушь, работающий без ОС, не забудь, что сам интерпретатор должен быть по твоему условию не откомпилирован.
Это не фундаменальная разница. Да и не всегда это правда. Эмулятор openrisc на javascript на жирном xeon-е работает не медленнее настоящей железки на 50MHz.