Кремнев Валерий@LonelyDeveloper97
Математика, Нейробиология, Программирование
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность
Математика, Нейробиология, Программирование
Насколько я помню, есть что-то вроде «энергетической горки», на которую частице необходимо «забраться», после чего она может перейти в следующий локальный минимум. И еще есть тунеллирование, связанное с тем, что на самом деле мы играемся не с абсолютным «барьером», а с вероятностями перехода через него.
И за счет этого появляется что-то вроде «скачков».
Или это уже не из этой степи?
Я очень давно слушал курс лекций по физике, поэтому, вполне возможно что это вообще не туда.
Вы вспомните кванты, где электрон как прыыгнет с одного энергоуровня на другой, как излучит квант энергии, и это все без всяких промежуточных состояний. Ну вот нет там момента «перехода».
Впрочем, про прыгнет это конечно очень грубое описание. На самом деле поменяются вероятности того, где этот электрон находится, а еще принцип неопределенности не даст нам это точно узнать, а еще есть вопросы, с тем, что такое электрон, потому что частица — это всего лишь наша абстракция, а у нас тут квантово-волновой дуализм экспериментально подтвержден, и к каждой частице вроде как есть волновая функция…
Короче, из того что теория про «как прыгнет в соседний квант» — звучит не шибко интуитивно — я бы не стал ее выкидывать. Весь квантмех не обладает свойствами интуитивности понимания, однако, работает))
Кофемолки и кофемашины.
VR.
Наверно есть и другие штуки, которыми я просто не интересовался…
Короче, все, что в РФ продается в одном-двух магазинах с бешеной наценкой (x2-x3), либо уже не продается — приходится покупать на вторичке (ну, либо везти из-за рубежа, но этот момент душат последние года — вспоминаем про таможенный лимит в 200 евро). Чаще всего, кстати, объявление будет формата «мне подарили но нафиг не надо» или «купил в европе/америке».
И да, если кто-то не верит в такие наценки — посмотрите на samsung odyssey + и другой VR. 250 баксов (оф цена в магазинчике майков) магически превращаются в 50к.
Простите, а где я противное-то утверждал?)
Мы точно совпадаем в использовании термина «метаязык»? Т.Е. мы говорим об одних и тех же метаязыках, где первый уровень — объектный, а остальные про истинность высказываний каждого предыдущего уровня?
Рас мы пришли к карте и территории, то давайте в этих терминах. Мое утверждение было про территорию. Ваше сейчас идет про карту и ее обозначения. Язык физики — средство общения, термины нашей карты. Но он используется для отображения реально существующей «территории физических законов» на карту «физики». Карту можно построить с использованием других обозначений — и она все еще может быть верна.
Иными словами, один человек все еще может вывести законы тяготения исключительно для своих целей, это будет его личная карта, с использованием его терминов. Он может хоть свой язык для этого придумать — на истинность карты он не влияет.
А вот если мы добавляем второго человека, то для него требуется «перевод карты» в его термины.
Собственно мы сейчас с вами находимся в таком же процессе — у меня карта в одних обозначениях, у вас — чуть чуть в других, мы нашли точку где наши карты показывают разное и пытаемся понять, в чем проблема. То ли мы одинаковые термины используем по разному, то ли у кого-то ошибка в карте, то ли все сразу.
Так я его не вводил в начале статьи. Если бы в ней было это написано в начале — да, странновато было бы. Но оно вводится только после мысленного эксперимента из середины статьи. До этого сущности «ощущения» и «разницы состояний» — существуют раздельно. И вы можете фальсифицировать это, например сказав мне, что мысленный эксперимент из статьи — некорректен. Или, например, что нейроны работают не так, как я утверждал в одной из предыдущих статей. Или их комбинации работают по другому. Или что вы поставили похожий мысленный эксперимент и он у вас не взлетел. Или что мой подход в корне неверен.
Вот возьмем последний вариант, кажется сейчас вы придерживаетесь его.
Давайте я вам дам цепочку, кратко, а вы укажете в каком пункте проблема и почему?
Окей. Можете считать, что мой язык в статье детский и объектный. Уровень первый, или нулевой. Не мета. Когда речь идет о существующем в реальности объекте (или о наличии какого-то наблюдения), я не вижу смысла придерживаться другого, ибо это как тащить в проект огромную абстрактную библиотеку для решения уравнения x^2 = 9. Можно, но задачу усложняет.
Моя статья — мостик между наблюдаемыми явлениями, в данном случае — ощущениями (повышенная возбудимость, сложности со сном, зацикленность на какой-либо мысли и переключение внимания — все это можно наблюдать) и нейронами, которые тоже можно наблюдать. Все термины которыми я оперировал в с статье к ним сводятся — «ощущением проблемы», как совокупность перечисленных выше наблюдаемых ощущений. И «разницей состояний моделей», которые являются разницами состояниями различных участков нейронной сети мозга.
Далее, утверждал, что если мы наблюдаем одно из них — то можно наблюдать и второе, следовательно они как минимум коррелируют.
Здесь, насколько я вижу — не нужна концепция меты.
Далее, начинается наш диалог о моем объектном утверждении. И сейчас мы на мета-первом (или втором) ведем обсуждение.
И я вас не понимаю, ибо вы говорите — ваша цепочка рассуждений приводит к тавтологии, значит она — бесполезна. Я вот не понимаю, что значит «бесполезно»? Ложно? Истинно, но настолько очевидно, что можно было не писать статью?
Мне казалось, что в отличии от языков физику люди не создают, а исследуют. Ну, знаете, некоторые вещи существуют без нашего участия, например законы физики.
Ну и как же изменится сам камушек, от того, что о нем напишут сочинение француз, немец, китаец и англичанин? Ни разу не наблюдал, чтобы камень от этого становился сладким, или мягким, или блестящим.
Еще раз — все что я утверждал, это то, что высказывание об объективно существующей реальности истинно, только если утверждение о котором говорится в высказывании — истинно в реальности. Истинность высказывания и истинность в реальности необходимо различать, как необходимо различать территорию и карту. Вы с этим спорите или нет?)
Эм. Право — это вообще странная штука. Но если вы покажете мне аксиоматику, из которой эти решения выводились — я наверное смогу дать вам ответ. Ну и разумеется, стоит прикинуть истинность самой аксиоматики. А ну да, для права таким никто не занимается, в сводах законов могут даже взаимоисключающие параграфы быть.
Язык — не может быть истинным или ложным, только высказывания. Хотя, давайте проверим…
Эксперимент — тривиален.
Grass can be green. Трава может быть зеленой.
Оп-па в них можно записывать истинные высказывания. Только ли их? Ух, сейчас решусь, проверю:
All kinds of grass are red. Любые типы травы — красные.
Тадам! Меня не поразило молнией, видимо, язык вообще не имеет отношения к истинности.
Хотя, наверное можно построить формальный язык, любое высказывание на котором будет истинным, ограничив способы построения высказываний… Ой, кажется до этого уже додумались до меня)
Да и вообще хоть начинаешь представлять что вокруг происходит. Например так узнал про то, что Джеты готовят Space за 1.5 месяца до анонса.
А, так вот где затык-то был.
Понимаете, в моем мире, что такое камушек определяется физически существующим камушком. Ни русский язык, ни математика меня в этот момент ни сколько не волнуют. От того, что я буду использовать в этот момент английский язык — для меня ничего не поменяется — объект останется таким же. Собственно, даже если я буду называть камушек «этой штукой» — он все еще остается тем же объектом. Уверен, камушку как объекту вообще плевать как его называют)
Когда я даю описание (или определение) камушка, или когда мне описывают камушек — я умею проверять истинность этого описания, если у меня собственно имеется этот камушек.
Если мне говорят что все камушки — шоколадные на вкус, или что снег — это сахарная пудра — ну, я могу провести эксперимент и выяснить так это или не так.
Иными словами, для меня есть разница, между «истинностью чего-то» и «истинностью высказывания о том, что что-то истинно».
Например:
«Снег — сахарная пудра», является истинным высказыванием только в том случае, если истинно что снег — сахарная пудра.
Вы понимаете фразу выше? Если нет, вот учебник (вы же против вики), глава 10.3 Дефляционная теория истины.
О, кстати, я нашел достаточно простой пример, даже без геометрии и математики. Итак:
Снег — это сахарная пудра.
Сахарная пудра — это снег.
Почему? Ну снег белый и хрустит если его сжать. Сахарная пудра — тоже белая и хрустит. Значит, вполне возможно, что снег и сахарная пудра — одно и тоже.
Судя по тому, что вы сказали мне, так как я создал тавтологию — мое утверждение невозможно фальсифицировать.
Как вы считаете, правда ли это? Действительно ли невозможно фальсифицировать, что снег — это сахарная пудра?)
И насчет невозможности фальсификации математики — почему нет?)
Ну вот берете вы камушек, потом берете еще 1 и бабац — их теперь одиннадцать, а не 2. Ну, вы явно живете в мире, где математика работает не так как вы ожидали. Или другой пример — я могу построить свою абстрактную геометрию, но она не будет предсказывать правильно расстояние между предметами. Это будет фальсификацией того, что моя геометрия — применима в этой реальности.
Вы знаете понятие «предсказательная сила»? Ну так вот, в этой статье есть проверяемые предсказания.
Например про тот же серотонин существующий на вполне физическом уровне и его связь с вашими ощущениями. Вы можете его проверить: идете в аптеку, берете антидепрессанты СИОЗС какие-нибудь помощнее, выпиваете и смотрите, появилось ли у вас схожее ощущение с тем, как когда вы взволнованы перед каким-то важным событием или нет)
А еще эту статью предворяет несколько других. Там и про то, как нейроны друг с другом связываются, и про то, почему они делают именно так, и причем тут вообще серотонин и прочие нейромедиаторы и какую роль они в этом играют. С источниками, иногда транзитивно, через Англ Вики(если что, она — неплоха, я ее проверял, все ссылки на публикации там валидны)
Но как я понял из всего этого диалога, вы считаете что в формальных моделях не должно быть тавтологий. Да или нет?
Если да:
И так. Формальные модели часто используют аппарат тождеств. Физическое F=ma — тождество и тавтология. E=mc^2 — тождество и тавтология. e^iPi -1 = 0 — тавтология.
Если вы считаете, что эти тавтологии — бесполезны, и не могут быть использованы для построения формальных моделей — ну что же, я не буду вас переубеждать)
Я живу в том мире, где на поиск этих тавтологий ушли миллионы человеко-лет, и где благодаря этим и другим найденным человечеством тавтологиям я имею возможность мнгновенно отправить вам сообщение не вставая с дивана.
Если нет:
А что собственно вы тогда пытаетесь сказать?
Пройденный тест — это всегда лишь гарантия того, что тест проходит. Не больше не меньше.
Иными словами, чтобы покрыть тестами те ошибки которые я покрываю типами мне нужно написать тесты на все варианты и всегда их поддерживать в актуальном состоянии, после добавления еще одного варианта. Я для такого слишком ленивый и рассеянный.
И да, суть не в том, чтобы не видеть «TypeException». Таких ошибок мало. Суть в том, что всякие IllegalArgument, NullPointer и прочие — могут быть покрыты типами вместо тестов.
The dialyzer is a static analysis tool that identifies software discrepancies, such as definite type errors.
Я из этого сделал вывод что Dialyzer сам проверяет ошибки типов при компиляции. Ну это конечно именно тот кейс динамической типизации который мы обсуждали. Я говорил о том, что проверки на типы — неплохая штука. Вы сказали мне, что я ничего не понимаю и вообще не прав, а в доказательство притащили код, который конечно написан на динамическом ЯП, но при этом использует тулу статического анализа делающую проверку на тип. Это какая-то странная аргументация…
И да, мне все еще не нравится возможность сравнивать слонов и бегемотов, если мое требование — невозможность сравнить слона и бегемота. Уверен, что на эрле можно и это организовать — но в чем тогда разница, кроме небольшого отличия в способе объявления этого требования и верификации?
Если что, мой код выглядел бы как-то так (писал на котлин, поэтому шума многовато, но думаю суть ясна):
К сожалению, здесь мне пришлось перенести ответственность по реализации компаратора правильно на клиент. Но если бы я писал самолет, я бы убрал и эту возможность из заставил гарантировать передачу всех типов стейтов в функцию создающую компаратор из порядка элементов. И взял бы другой язык, а не Kotlin)
Но мне показалось, что основная мысль топ коммента все же в том, что нельзя запретить ломать вообще все. Что-то все еще можно выломать, пусть и приложив большие усилия)
А так да, если у вас есть место куда можно запихать функцию, то туда можно запихать все что угодно. Хоть результаты работы обезьянки, которую пнули для сортировки вашего массива вручную.
Если вы типизируете Compare — шанс того, что кто-то запихает туда два не comparable объекта — будет меньше, чем если не типизируете. Все еще можно объявить Compare(Any, Any), но это надо сначала сделать и только потом у вас появится возможность сломать код таким образом.
И первых и вторых ошибок я видел прилично. Код который уменьшает их количество занимает 4 строки. Я пишу их в перерыве между первым и вторым глотком кофе. В разрезе моих трат на времени на проект — эта привычка не стоит ничего. А вот десяток подобных ошибок с дебагом на полдня стоит проекту дорого.
Fail Fast)
Вот серьезно — я неуч. Я даже на хаскелле только пару Helloworld писал. В основном под мобилки пишу — котлин там, или свифт…
И я хочу код, который сверхтупой и очень рассеяный я может сломать минимальным количеством способов. Ошибки на компиляции — ок, а в рантайме — хуже, а если можно сломать все так, что оно еще и не упадет, а тихо будет работать неправильно — это вообще абзац ибо может и в прод попасть.
Представляю как ограничить тупого и неаккуратного себя типами. Не знаю как это делать без них. Вы вроде рассказать попытались, но у меня картинка не до конца сложилась. Приведите пример, пожалуйста) Вдруг я все делаю неправильно.
Окей, да, я думал только о формате тождеств и ошибся не дав вам достаточно контекста.
Тем не менее, вы сами признаете что в разрезе тождеств мы занимаемся мы тавтологиями. Во всяком случае я так вас понял. А что с вопросом о том, что тавтологии надо доказывать?) Нельзя просто сказать — ну это тавтология, очевидно же все. Собственно вот об этом моя статья. Какие есть свидетельства того, что утверждение является тавтологией. Не строгое доказательство, просто предпосылки, которых на мой вкус достаточно для того, чтобы взять эту гипотезу как рабочую на данный момент.
Учебное пособие итмо, где тоже самое написано другими словами: https://www.google.com/url?sa=t&source=web&rct=j&url=https://books.ifmo.ru/file/pdf/1335.pdf&ved=2ahUKEwimg5iYq6_pAhXQOpoKHdpHBkQQFjABegQICRAB&usg=AOvVaw1rwNzuKv5iOEbvwxvPemyz
А ещё там есть такое забавное высказывание:
Если формула А – тавтология, то она является теоремой исчисления
высказываний.
Касательно личных вопросов — на них я не буду отвечать) Вы не оказали мне такую любезность и я не вижу в них смысла в формате нашего диалога.
О, да… вы правы. У меня действительно даже высшее не закончено до конца.
Все, на что хватает моего скромного ума, это взять учебник по матлогике или открыть вики и прочитать там определение:
Тавтологией в логике называется тождественно истинное высказывание, инвариантное относительно значений своих компонентов.
https://ru.m.wikipedia.org/wiki/%D0%A2%D0%B0%D0%B2%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_(%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0)
А затем посмотрев на высказывание:
x+x=2*x,
Заметить, что оно истинно и не зависит от значений компонентов.
Разумеется, вам не составит труда доказать мне обратное, с вашими классами образования. Для этого, всего лишь нужно привести один контрпример из математики, когда знак равно используется не вышеупомятым образом.
Так вы фальсифицируете одно из главных моих заблуждений: окажется, что математика не занимается преобразованием высказываний инвариативно значениям их аргументов.
Я долго над этим думал, но моего образования пока не хватает для решения такой задачи.
Так что, я весь внимание, это действительно для меня очень важно.
Вот вам задача. Практическая, не какое-то теоретическое занудство.
Пишем менеджер задач. Там есть процессы. Активные, на паузе, завершенные и не начатые.
Хочу чтобы юзер мог их сортировать и умел сам задавать порядок сортировки произвольным образом. UI часть писать не надо — только модель.
Условие номер 2: хочу чтобы я не смог сломать ваш код, используя его неправильно. Представьте что у вас в команде зеленый разработчик, который будет завтра писать к вашей модели UI, а послезавтра — вам выкатываться в прод.
Я похожими вещами раз в месяц-два занимаюсь точно, так что, судя по всему кейс весьма распространенный. Ну, с продом через 2 дня, я конечно загнул, но и такое бывало.
Можете хоть к числам приводить, хоть к строкам, хоть вообще ENUM не пользовать. Накидаете решение? Я в ответ на него скину свое.
Как говорится, болтовня ничего не стоит — покажите мне код)