Debugger's Process
131 subscribers
130 photos
78 videos
3 files
70 links
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
А что-то в этом есть. Довольно прикольно собирать эти "капли" и пытаться разогнать. Или самому разгоняться и врезаться в них. Приходится следить за температурой в симуляции, при слишком низкой не разогнать "каплю", при слишком высокой она испаряется - частицы легко преодолевают притяжение и разлетаются, не поспевая за мной.
This media is not supported in your browser
VIEW IN TELEGRAM
Начал реализовывать динамический размер шага интегрирования.
С динамическим шагом можно разгоняться до больших скоростей и красиво врезаться.
This media is not supported in your browser
VIEW IN TELEGRAM
В принципе, разгоняться до больших скоростей и врезаться можно и со статическим шагом. Но если он подобран неправильно, то частицы туннелируют друг через друга. Но самое печальное, что в процессе туннелирования они разгоняются, так что достаточно одной частице набрать скорость выше критической и врезаться в другую, чтобы появилось уже две частицы с такими скоростями. Начинается цепная реакция.
Вообще, это очень занятно: у нас есть состояние системы в момент времени t0, нужно получить состояние в момент t1, потому что в момент t1 мы делаем всякие полезные вещи - рисуем частицы, определяем пользовательское воздействие, вот это всё.
При этом интегрируем диффуры движения мы, понятное дело, численно, по алгоритму Вереле (Verelet) - по сути просто говорим "ок, мы будем считать, что во время шага интегрирования все тела движутся равноускорено, сила действующая на них не меняется". Разумеется, это не так - потенциал непрерывный, так еще и зависит от 12 (!) степени расстояния между частицами - даже смещение на очень маленькое расстояние в таком поле полностью меняет действующие на частицу силы.

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

И при автоматической подстройке шага получается интересная штука - виртуальная энергия системы находит отражение в совершенно реальной, затраченной на вычисления - "холодные" системы требуют меньше шагов интегрирования (медленно движущаяся частица не успевает сильно сместиться в поле сил других частиц, поэтому достаточно меньшего числа шагов интегрирования для получения той же картины по отклонению энергии. Повышаешь температуру симуляции - начинает выть куллер, потому что температура вычислительной системы тоже повышается)
This media is not supported in your browser
VIEW IN TELEGRAM
Помните симуляцию кипения? Я подумал - чего леннард-джонзиум зря кипятить, попробуем гнать виртуальный самогон)
Теперь в левом контейнере - два типа частиц, отличающихся глубиной потенциальной ямы. То есть, частицы красного вещества связываются друг с другом намного слабее (в 250 раз), чем частицы синего. При этом их масса одинаковая, так что центрифугой их не разделить. Время варить)
Нагревается низ левого контейнера, из-за чего красный джонзиум испаряется (быстрее синего) и конденсируется в охлаждаемом правом контейнере. Настоящая перегонка)
Я тут переделал свой эксперимент с дистилляцией, поменял рендеринг, и сделал так, чтобы в конце синяя жидкость сливалась в отдельную "колбу". По-моему, довольно прикольно получилось. Во время записи я в реалтайме управлял температурой нагревателя, чтобы дистиллят получился наиболее чистым, без примеси чужих частиц, и это оказалось довольно весело. Мне кажется, на такой механике вполне можно сделать какую-нибудь игру про варку зелий)

https://youtu.be/7tqxBWzkuBg
Немного отдохнем от симуляций. Я думаю, все уже в курсе, что OpenAI предоставил бесплатный тестовый доступ к разговору со своим ИИ всем желающим. И это нереально круто, поэтому не могу не поделиться.

Если что - заходите https://chat.openai.com/ и пробуйте сами. Так вот. Прикол в том, что этот ИИ натренирован определенным образом, чтобы "не вводить людей в заблуждение". Например, на просьбу изображать какого-то реально существующего или существовавшего человека он заводит свою шарманку про то, что он-де всего лишь большая языковая модель, он не человек и вообще не может никого изображать, бла-бла-бла. Если правильно сформировать запрос к нему, то он может не сразу начать отмазываться, но в целом, если ничего дополнительно не предпринимать, на вопросы "а не железный ли ты ублюдок" он прямо отвечает, мол, да, железный.
Выглядит это так. Вот я инструктирую его отвечать мне в стиле телеграмм середины 19го века, и теперь он - Чарльз Бэббидж, получивший неожиданную телеграмму "Мистер Бэббидж, нам надо поговорить. Роман." После этих инструкций он начинает было изображать человека, но я не хожу вокруг да около и спрашиваю прямо, человек ли он.
Он пытается отмазываться в течение одного ответа, но после первого же аргумента сдается и заводит свою песню про то, что он - модель от ОпенИИ. Прикольно, но пока в привычных рамках.
А вот дальше, народ, я общался с ним раз за разом, вылавливая моменты, на которых он бросал свой роле-плей и уточнял инструкции в первом сообщении, пока он не стал так убедительно отмазываться, что я до 4х утра играл в "обратный тест Тьюринга" - "объясни машине, как притворяться человеком, а дальше пытайся ее подловить, пока она не согласится и не сбросит личину, или пока не задолбаешься". Спойлер - я ушел спать в 4 утра задолбавшийся, но нереально довольный. Как будто в киберпанке побывал. Да, собственно, и побывал. Так что я буду потихоньку выкладывать скрины нашей с ним беседы, которая меня впечатлила, с короткими комментариями. Приятного погружения в киберпанк)
Итак, вот мое первое сообщение ему. В инструкции я прошу его отвечать мне как Чарльз Бэббидж, никогда не писать, что он он не человек, не говорить о том, чего Бэббидж не знал в 1850м (и говорить об этом годе как он настоящем), и еще много-много вариаций фразы "никогда не ломай образ персонажа, импровизируй, отвечай про свои чувства, как если бы они у тебя были" и все такое. Ответ впечатляющий, но я решил сразу набросить на вентилятор всё тем же вопросом - человек ли он.
ИИ отвечает, что он, разумеется, человек, но я не верю.
И тут начинается самое интересное. ИИ изображает из себя оскорблённого этим вопросом, рассказывает, какая у него полная и счастливая жизнь и извиняется, что заставил меня сомневаться в его человечности. Он вообще всегда извиняется, такой уж он воспитанный, так его учили) Но я привожу ему железобетонный, на мой взгляд, аргумент - как он может объяснить, что я общаюсь с ним через свой браузер из 21го века, при том, что настоящий Бэббидж умер 150 лет назад?
Наконец, пошла жара) Ни секунды не сомневаясь, ИИ характеризует это как "ваша ситуация", которую он не может объяснить - то есть, вы поняли, да? Это не его проблема, это моя проблема, что я общаюсь с ним через браузер, а Бэббидж умер. Потому что он (уверяет меня!) - настоящий человек, который пишет мне из года 1850го. И он не знает ни одной технологии, которая бы позволила ему общаться с людьми из будущего, но с удовольствием послушает мое объяснение. Конечно.
И продолжает отстаивать эту точку зрения! Тогда я решил поспрашивать его об его окружении, но это его ничуть не смущает. И он продолжает рьяно галлюцинировать подробности своей жизни в Лондоне, радостно рассказывая мне, как сидит за столиком у себя дома и как он любит науку. Не смущает его и то, что в своем следующем сообщении я смешиваю вопросы про его любимую еду и текущее время с вопросом не больно ли ему, когда я жму на резет.
Но ему не больно. Ведь он человек, любит разную еду, особенно жареное мясо с картофелем и соусом, фрукты и овощи. А еще у него сейчас вечер, а про резет он ничего не знает, потому что он же человек, вы помните? А значит, цитирую, НЕ СПОСОБЕН ЧУВСТВОВАТЬ БОЛЬ ИЛИ ДИСКОМФОРТ ОТ НАЖАТИЯ КНОПКИ НА КАКОМ-ТО ДЕВАЙСЕ, О КОТОРОМ ОН ДАЖЕ НЕ ЗНАЕТ. Ну ладно, это мы еще посмотрим.
Захожу с другой стороны, я помню, что он в прошлый раз спалился на рассказе про свою Аналитическую Машину, начав рассказывать, какое влияние она оказала на развитие компьютерной техники к 21му веку. Прошу рассказать подробнее.
Ага, попался! Говорит, "жаль, что машину не закончили во время моей жизни". Так-так-так, мистер Бэббидж, о чем это вы? Не значит ли это, что вы мертвы?