LINUX.ORG.RU

лямбда-исчисление и проблема останова

 


0

2

Подумалось, что эти, казалось бы никак не связанные вещи, имеют нечто общее. В проблеме останова, есть некоторое ограничение концептуального плана. Мы можем немного перефразировать ее и выдать нечто вроде: «Если бы был всеведующий проблема бы не существовала».

В LC существует некая подковерная возня. Все мы знаем, что в реализации лексического скопа есть волшебный лукап, который знает, что где искать и куда подставлять. В реализации оптимизатора тоже есть всеведующий, который сначала делает подстановки. Во всех случаях происходят подковерные волшебные штучки, которые «просто работают». Юзеру его не показывают. Это и есть всеведающий.

Если бы мы спросили, а как происходит подстановка, нам бы могли ответить: это вопрос реализации, не забивай голову. В разрешении проблемы останова, мы тоже могли бы реализовать анализатор, который тупо, по синтаксису, может определить, завершиться ли алгоритм. Разумеется, это невозможно определить для рантайма, когда неизвестно что поступит, в общем случае, но в ограниченных семантиках можно это сделать. А можно на этапе компиляции тупо запускать прогу, и ждать. Если она не завершиться в течении, скажем, получаса, падать с ошибкой. У нас появляется всеведающий. Только к реальной проблеме останова это не имеет отношения. Точно также, LC не имеет отношения к реальным вычислениям, это сахар, по большому счету, а не концепция. Человеку в здравом рассудке, понять ее невозможно. Мы могли бы абстрагироваться не только от подстановок, но и от самих вычислений. Нажми на кнопку — получи результат. Это тоже «исчисление» в этом смысле. Такими исчислениями активно пользуются секретарши и бухгалтера, давя клопов на своей клаве. 1С-UI-calculus. Звучит неплохо.



Последнее исправление: anonimous (всего исправлений: 1)

Ответ на: комментарий от anonymous

выпилите этого упорыша уже

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

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

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

anonimous
() автор топика
Ответ на: комментарий от anonimous

Я тебе честно скажу, я бы очень не хотел видеть тебя в моих тредах.

Это не удивительно, я ж поглумиться к тебе на огонёк захожу.

Ага, оно и видно, как ты не ходишь.

Шизофазию из ОП не читал, честно :)

Manhunt ★★★★★
()
Ответ на: комментарий от anonymous

не нравится - игнорируйте. вам всем не угодить же

anonymous
()
Ответ на: комментарий от anonimous

Ты б не понял все равно.

«Трудно найти черную кошку в темной комнате, особенно если ее там нет» (с) Конфуций

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Я не поклонник конфуция вообще, но эта его тупая фраза меня особенно убивает. У кошки светятся глаза. Нет вообше разницы, какого цвета кошка, в темной комнате ее легче найти чем в освещеной, если она там есть. Остается осмыслить глубину «трудно найти Х в У если его нет в У».

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

anonimous
() автор топика
Ответ на: комментарий от anonimous

Уроки сделал?

Нет ещё. Нужно нарисовать диаграмму развёртывания, и накидать ещё квадратиков по возможной реализации одного из модулей. Никак не могу себя заставить :(

Да, давай тут еще за подгузники потрем.

Давай. Это будет иметь примерно такое же отношение к Development, как и ОП :) Твои дети в каких ходят?

Manhunt ★★★★★
()
Ответ на: комментарий от anonimous

Ну не сами же светятся. Если есть внешний свет, то комната не темная, если нет, то глаза не светятся.

Абстракции это не всегда плохо. Пока я могу решать проблему, а абстракции помогают мне бороться со сложностью - всё хорошо. Когда абстракции скрывают от меня важные черты реализации и не дают достичь нужного результата (производительности), то они вредны. Бухгалтерши решают свои проблемы и вполне успешно. Но применяемые на их уровни абстракции не позволят решать проблемы программистов. Другие задачи - другие абстракции. Пока не мешает - пусть.

Weres ★★★
()
Ответ на: комментарий от anonimous

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

Manhunt ★★★★★
()
Ответ на: комментарий от Weres

внешний свет

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

anonimous
() автор топика
Ответ на: комментарий от Manhunt

Нет, я считаю, что это может сделать даже пьяный нигер. Но это алгоритм уже, а не концепция. Все можно.

anonimous
() автор топика

Человеку в здравом рассудке, понять ее невозможно.

Чем докажешь? Если личным примером, то тут есть два но:
1. По тебе не скажешь, что ты в здравом рассудке;
2. Конкретный пример не может служить доказательством общего суждения.

Manhunt ★★★★★
()
Ответ на: комментарий от anonimous

это алгоритм уже, а не концепция

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

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 2)
Ответ на: комментарий от Manhunt

А это постулат. Я не обязан ничего доказывать. Ни Тьюринг ни черч не доказали тезис черча-тьюринга. Из утверждение стоит столько же сколько утверждение бабки на базаре, что семечки по два двадцать. Впрочем, у бабки все же есть более весомые основания для своих утверждений. LC - это мертвая концепция.

anonimous
() автор топика
Ответ на: комментарий от anonimous

Для троичной системы счисления (которая с двойкой, а не с -1) это верно. Если реализация с 2 * 2 = 10 поможет вам успешно решать задачи, то она верна. Это программирование. Тут нет философской истины или лжи. Здесь есть проблемы и вещи удобные для их решения.

Weres ★★★
()
Ответ на: комментарий от anonimous

Я могу легко написать реализацию арифметики

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

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

на откуп реализации

Ты забываешь, наверное, что LC ,был изначально вычислительным формализмом, он не имел отношения к реальным машинам. Это было просто ошибкой в основании. Автор упустил из виду, что нужен еще кто-то, кто будет производить подстановки. А что мешает изобрести того, кто будет сразу вычислять выражения? Зачем тогда нам лишняя прослойка в виде подстановок и редукций?

anonimous
() автор топика
Ответ на: комментарий от anonimous

Если бы ты был рад этому, упорыш, ты бы давно начал ставить тег на свои темы, о чем тебя уже просили, с объяснениями, почему нельзя заигнорить тебя целиком. Я захожу сюда посмотреть, может в поток твоего бреда примешаются чьи-то толковые мысли, которые я еще не думал, и нередко это так, но вот беда — их высказывают те, кому ты не рад. Это все не отменяет болезности в целом, не говоря уже о том, что ты с некоторой вероятностью не идиот, а тупо набрасываешь. Тратить на тебя время в объяснениях и так совершенно бессмысленно, ты либо умом не силен, чтобы выделять из чужой речи неизвестное и исследовать самостоятельно, либо профессиональный шланг с серьезным дизордером.

Поставь тег, и здесь *никого* не будет.

arturpub ★★
()
Ответ на: комментарий от arturpub

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

anonimous
() автор топика
Ответ на: комментарий от anonimous

Ты забываешь, наверное, что LC ,был изначально вычислительным формализмом, он не имел отношения к реальным машинам.

Ну так он и есть формализм.

Автор упустил из виду, что нужен еще кто-то, кто будет производить подстановки.

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

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

Технически - ничто не мешает. Это будет другая система аксиом, в ней будут доказуемы другие теоремы. Вот только какая от этого польза?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)

можно на этапе компиляции тупо запускать прогу

Бгг

Apple-ch ★★
()
Ответ на: комментарий от arturpub

чьи-то толковые мысли

Опять же, ты сам себе противоречишь. Где гарантия, что при наличии твоего вожделенного тега, они тут не будут появляться? У тебя с логикой элементарной проблемы. Ты же инженер, как не стыдно!:) Это же и в решении реал-задач проявиться неизбежно.

anonimous
() автор топика

«Если бы был всеведующий проблема бы не существовала»

Та же самая проблема возникает для оракулов. Ну и для оракулов «второго уровня», которые решают задачу останова оракулов «первого уровня», и так далее

anonymous
()
Ответ на: комментарий от Manhunt

Это легко проверить, меня в детстве учили, но мне в лом, пишу машинально.

anonimous
() автор топика

Ты упоротый недоумок, который так и не понял lexical scope. Переведи, придурок, лямбду в SKI, чтобы избавиться от непонятного тебе lookup-а.

anonymous
()

проблема останова
anonimous

Читать дальше не было сил, уж больно сочетание убийственное :}

Deleted
()
Ответ на: комментарий от anonymous

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

anonimous
() автор топика
Ответ на: комментарий от anonymous

Ты лучше посмотри, какой понтовый у его учётки ID. Трёхзнак, не хрен собачий!

Manhunt ★★★★★
()
Ответ на: комментарий от anonimous

Ну ты вообще дебил. Какие там лукапы, если переменных нет? Тупейшее бесконечное переписывание левой ветки графа. Ты, шлюха ничтожная, Филда и Харрисона так и не прочитало?!?

anonymous
()

угадал по названию не только автора треда, но и 80% фраз, лол

anonymous
()
Ответ на: комментарий от anonimous

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

anonimous
() автор топика

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

redgremlin ★★★★★
()
Ответ на: комментарий от anonimous

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

Ну да, это верно. Именно исходя из бритвы Оккама и было построено LC, как единственное исчисление, которое удовлетворяет этому принципу (строго выводится из него, иначе говоря).

Этой концептуальной чистоты нет в LC.

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

anonymous
()
Ответ на: комментарий от anonymous

Сложность заключается в том, что LC предполагает своего рода память, запоминание значений переменных внутренними лямбдами. Если взять например динамический биндинг, то он проще как концептуально, так и в реализации. И если углубляться в вопрос, это еще не самый простой вариант. Просто к примеру.

anonimous
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.