Тёмные мысли Техношамана
Open in Telegram
Всякие мысли, которые приходят в голову. Могу постить что то серьёзное, могу мемчики и глупости. Всё зависит от настроения.
Show more1 422
Subscribers
+224 hours
+87 days
+7530 days
Posts Archive
Сел обедать и взгляд упал на кнопку Алиса в яндекс браузере.
Дал ей задание:
"Можешь написать код для Processing.
Игра Жизнь Конвея, но отображаются только живые клетки в виде кубика 3d.
Причём каждый новый такт, новые клетки появляются выше старых, а старые не исчезают.
По идее должно расти вверх некая структура"
Вот результат. (немного ручками поправил управление)
Теперь, возможно, я первый Вайб - кодер на Алисе.
ЗЫ: Идея не моя
У меня часто на фоне работает Ютуб и я слушаю разные ролики на интересующие меня темы.
Но ютуб постоянно мне рекомендует одно и то же и часто я это уже смотрел.
Накидайте в комментах разные интересные научные, образовательные или просто интересные ролики или плейлисты.
Возможно записи каких нибудь лекций или семинаров, которые можно слушать на фоне. Обычно у них нет просмотров и в рекомендации никогда не попадают.
Эволюционная биология, онтогенез, теория игр, история науки, мозг и сознание....
Короче всё, что вам кажется интересным.
Тем более у меня сегодня день рождения.
Сделайте мне подарок :)
Мне попался ролик про бихевиоризм, в итоге на фоне прослушал ещё несколько видео на эту тему.
Классическая схема оперантного научения по Б. Ф. Скиннеру: Стимул - Реакция - Подкрепление.
Внешний раздражитель напрямую запускает автоматический ответ.
При положительных последствиях реакция закрепляется, и вероятность её повторения растет.
То есть это буквально алгоритм классического обучения в проекте Сумобокс.
Проблема в том, что ранние бихевиористы (начало 20 века) именно так и представляли всё поведение человека.
В 1957 году Б. Ф. Скиннер опубликовал книгу "Вербальное поведение" (Verbal Behavior), где попытался объяснить усвоение языка ребёнком исключительно через схему (Стимул - Реакция - Подкрепление).
Лингвист Ноам Хомский в своей критике наглядно показал, что за всё детство ребенок физически не успел бы получить столько подкреплений, чтобы выучить все конструкции языка. Мозг явно работает сложнее.
Видимо в этот момент классический бихевиоризм сломался и стал терять популярность.
Вот мои представления о мозге и обучении на данный момент.
1. ( Стимул - Реакция - Подкрепление ) - самый примитивный уровень. Его можно обнаружить у простейших организмов.
Аналогичные механизмы реакции на среду возможно есть и в мире растений и грибов.
2. ( Стимул - Моделирование - Ответ ) - в ответ на стимул в голове запускается симуляция разнооборазных вариантов действий на основе прошлого опыта и выбирается лучший.
В шахматных программах алгоритм просчитывает последствия на несколько ходов вперёд и выбирает тот, который ведет к наиболее выгодной позиции.
В Сумобоксе это тоже можно реализовать. Боксёр в своей голове запускает модель сумобокса, прогоняет разные варианты ответа (возможно из заготовленных), выбирая лучший.
3. ( Создание моделей ) У агента нет вшитой модели мира, он строит её сам, наблюдая за окружением, а затем использует для симуляции вариантов (как в пункте 2).
Моделей может быть много (бытовая, социальная, научная).
Эти внутренние модели постоянно редактируются при поступлении новых данных и могут становиться невероятно абстрактными (вплоть до математики, философии или религии).
Напомню, что это лишь моя текущая ментальная модель, которая может быть отредактированна.
Разбираю свои старые проекты.
Когда то приступил к изучению java script.
Этот генератор пейзажей написал на нём в качестве обучения. При каждом клике создаётся новое изображение.
Код в комментариях.
Наткнулся на контринтуитивный закон Бенфорда.
Если взять данные, которые охватывают несколько порядков и имеют экспоненциальную природу (население городов, площади стран, капитализация компаний или степени двойки),
то числа из этого набора будут начинаться с цифры 1 в 30.1 % случаев.
Каждая следующая цифра встречается в начале числа реже, а девятка будет первой всего в 4.6 % случаев.
Чтобы почуствовать этот феномен, я по привычке накидал небольшой скрипт (исходник в комментариях).
Но этот скрипт не очень удачен, для объяснения (.
На видео я выбираю диапазон от 1 до N. Справа показано, с каких цифр начинаются числа в этом отрезке. Если просто считать натуральные числа подряд, то при переходе на новый порядок единица сначала подлетает выше 50%, а в конце полного порядка все цифры выравниваются до одинаковых 11.1%.
По центру показаны графики для каждой цифры: любопытно, что при переходе на каждый следующий порядок они фрактально повторяют свою форму.
Чтобы вырасти от 1 до 2, величине нужно увеличиться в 2 раза, а чтобы вырасти от 8 до 9, только в 1.125 раза.
На логарифмической шкале отрезок от 1 до 2 занимает 30.1 % всего пространства, а отрезок от 8 до 9 лишь 4.6 %.
Любой процесс с процентным или экспоненциальным ростом проводит в зоне единицы гораздо больше времени, чем в зоне девятки.
Что бы получить подходящие синтетические данные, нужно взять любое число и каждое последующее увеличивать, например, на 10 %.
Когда последовательность охватит хотя бы 3, 4 порядка, то в полученной последовательности единица вначале будет встречаться в 30.1 % случаев.
Я кажется уловил суть закона, но ещё не достаточно, что бы легко объяснить другим (
Моё объяснение для предыдущего поста.
Будем рассматривать только один отдельный блок из 4 букв у всей популяции из 10000 особей.
Без совпадения по всем позициям, варианты букв ни на что не влияют, поэтому буквы будут встречаться примерно с равной вероятностью.
Примерно раз в два поколения у какой то особи из популяции совпадут все 4 буквы.
(вероятность совпадения 1/17576, а популяция 10000 особей)
Эта особь в следующем поколении оставит больше потомков.
Скорее всего у потомков не будет всех 4 совпадающих букв, но частота конкретно этой буквы в этом блоке возрастёт.
Чем чаще конкретная буква встречается, тем с большей вероятностью именно она и совпадёт у кого то в следующих поколениях.
Получается положительная обратная связь.
Чем чаще буква встречается, чем вероятнее именно она совпадёт во всех 4 позициях и её доля станет ещё больше.
Вначале это происходит медленно, но со временем доля конкретной буквы начинает с ускорением возрастать, что и видно на гистограмме.
Несократимая сложность.
Я переодически что то моделирую и у меня по разным устройствам разбросаны разные мини проекты.
Решил навести порядок. Вот один из таких проектов.
Существует популяция из 10000 организмов.
Их геном - это последовательность из 28 букв английского алфавита.
Геном разбит на 7 блоков по 4 буквы.
Если у организма все 4 буквы в блоке совпадут, то он получает преимущество в оставлении потомков.
При скрещиваются геномы родителей перемешиваются по буквам, а не блоками.
Плюс есть вероятность мутации.
То есть, если у организма сложилась последовательность в одном из блоков, то у его потомков она разрушится, перемешаясь с буквами второго родителя.
Я предположил, что должна образовываться обратная положительная связь, которая будет быстро приводить к единой букве в блоке у всей популяции.
Что и подтвердилось в модели.
Сегодня я добавил гистограммки у каждого блока, которые показывают частоту каждой буквы в этом блоке у всей популяции.
На видео видно, как случайная буква начинает с ускорением распространяться, вытесняя остальные.
Откуда появляется эта положительная обратная связь? Пишите ваши варианты.
Небольшая философия к вчерашнему видео с потоками.
Есть горячее тело внизу и холодное сверху.
По второму закону термодинамики Вселенная стремится к максимальному хаосу.
Температуры верхнего и нижнего тела должны сравняться.
Теплопередача от частицы к частице будет происходить долго.
Самопроизвольное появление потоков - это как раз попытка ускорить этот процесс.
Энтропия локально уменьшается, что бы ускорить глобальный рост.
Поэтому идеи физика Пригожина заинтересовали биологов.
Он показал, что сложность и самоорганизация вполне может возникать самопроизвольно - это естественное свойство материи, через которую прокачивается поток энергии.
Мне посоветовали почитать о Пригожине И. Р.
(Лауреат Нобелевской премии по химии 1977 года за работы в области неравновесной термодинамики. )
Узнал про диссипативные структуры. Про ячейки Бенара.
Решил смоделировать.
Частицы отталкиваются друг от друга и от стен.
Рядом с дном нагреваются и их тенет вверх.
Рядом с верхом охлаждаются и их тенет вниз.
Должны само образовываться устойчивые структуры из потоков.
Поиграв часа три с параметрами, добился эффекта.
Но эффект нестабилен. Потоки постепенно ломаются и всё опять превращается в хаос.
Как я понимаю, мне не хватает, что бы частицы передавали тепло друг другу (теплопроводность).
В этом случае горячая частица, случайно попав в холодный поток, быстро охладится, а не будет ломать всю сложишуюся структуру.
Ещё несколько башен, эволюционировавших без землетрясений. Некоторые рушатся, потому что на видео попали мутанты. В конце - тестовая среда из тысяч параллельных симуляций.
Полюбуйтесь, какую башню построил генетический алгоритм в моей физической симуляции. Её структура позволяет диссипировать качение земли без разрушения.
Repost from Data Secrets
В Шэньчжэне стартовал первый в мире MMA чемпионат среди роботов – Ultimate Robot Knock-out Legeng
Выглядит достаточно эпично. Главный приз – полтора миллиона долларов, кстати.
Ещё одна красивая модель.
Как и предыдущий пример, увидел у @optozorax.
Идея для проекта по обучению, например, с помощью генетического алгоритма.
Очень простая механика. Наглядно для зрителей. Только я не могу придумать, как реализовать управление, что бы персонаж мог действовать в разных условиях. Только нейросеть в голову приходит
https://ru.wikipedia.org/wiki/Теорема_Ньютона_о_сферической_оболочке
Наткнулся на любопытную теорему, которая состоит в том, что тонкая сферическай оболочка с равномерно распределённой массой не придаёт ускорения телам, находящимся внутри неё.
То есть если бы Земля была полой с массой распределённой равномерно по оболочке, то внутри, в любом точке будет состояние невесомости.
Мне показалось это абсурдом и я предложил Gemini написать код.
Предложил создать множество объектов и расположить их по кругу. Также свободный объект, который можно перемещать с помощью мышки.
Все объекты по кругу притягивают этот свободный объект.
(Притяжение обратно пропорционально квадрату расстояния)
Программа должна с помощью стрелки (вектора) показывать равнодействующую всех сил.
В результате модель показывала, что притяжение полностью компенсируется только в центре круга. В других местах внутри круга притяжение действует по направлению к ближайщей точке окружности.
Написал Gemini о проблеме, она долго сопротивлялась, утверждая, что никакого притяжения не должно быть.
В итоге я понял, что проблема может быть в том, что симуляция происходит в 2д, но Gemini об этом не сообщал.
Хотел поиздеваться над ней.
В итоге она сама догадалась и предложила исправленный вариант с 3d сферой.
Видео модели и код в комментах
