All streams
Search
Write a publication
Pull to refresh
61
0
Павел @Hemml

астрофизик

Send message

Я думаю, всё проще. В сети появляется всё больше статей про то, как LLM могут обходить защиту, про самокопирование и вранье пользователю. Эти статьи попадают в обучающие выборки... OH, WA...

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

  1. Автоматически делать всё, что можно сделать автоматически

  2. Если всё что можно сделать автоматически уже сделано, нужно спросить у пользователя что-то, что позволит сделать автоматически еще какую-нибудь часть работы

То есть, например, библиотекарь заполняет карточки на новые книги. Интерфейс не знает, что за очередная книга лежит перед библиотекарем, а по ней надо заполнить с десяток значений – название, автора и пр. Идеальный интерфейс на этом этапе должен спросить главное – ISBN книги, после чего полезть в базу данных ISBN и скачать всё, что об этой книге известно, заполнив по возможности все поля. Если каких-то полей не хватает, например, не понятно, в какой шкаф на какую полку нужно поставить книгу, интерфейс должен свериться со списком шкафов, выбрать подходящий и спросить, на какой полке есть место для этой книги. Ну и так далее.

Или, например, приходит покупатель в интернет-магазин за продуктами. Идеальный интерфейс должен сперва опознать пользователя (по имени и паролю, например) и найти историю его покупок. Если он всегда покупает молоко, причем предпочитает определенную марку, например, сразу же спросить – добавить молоко такой-то марки в корзину? Если он положил в корзину кочан капусты, сразу же предложить ему картошку, морковку, свеклу, мясо на косточке и рецепт борща. Нет? Тогда ингредиенты для рагу.

В целом, это должно выглядеть как "прочистка каналов орошения на поле". Мы пускаем воду и вода сама заполняет те части каналов, к которым у нее есть доступ. Крестьянин (пользователь) идет к ближайшему затору и прочищает его, давая воде заполнить еще часть системы, пока всё не будет заполнено. Я хотел реализовать что-то типа DSL для описания того, что система хочет знать, представив, вероятно, это описание в виде графа, для каждого узла которого можно было бы назначить функцию, которая бы срабатывала, как только у нее соберутся все входные параметры и выдавала бы что-то, что было бы параметром для других функций-узлов. Тогда можно было бы найти самую "горячую точку" на графе, проход которой дал бы больше всего возможностей для выполнения других узлов, получить список недостающих данных и запросить их у пользователя в наиболее удобном виде, например, поставив на видное место наиболее вероятные варианты. Как только выбор будет сделан, снова найти "горячую точку" и т.д.

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

О, а вот за это спасибо, не знал про такое. Не математик я)

О, спасибо, не знал про этот проект. Обычно такие места встречаются в численных схемах и авторы схем их вручную оптимизируют.

Это как раз простая часть задачи. У нас все узлы одинаковы, так что просто делим сетку на куски равного объема (в числе ячеек). Там в статье есть картинка с разбиением. Конечно, так мы можем использовать не совершенно любое число узлов, а только такое, которое является произведением Npx, Npy и Npz, но это не проблема, так как на суперкомпьютере мы заказываем нужное нам число узлов для счета (и задача стоит в очереди, пока нужное число узлов не освободится).

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

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

Возникла, конечно. Но меня удержали две вещи. Во-первых, синтаксис ML-подобных языков меня вымораживает) и во-вторых, в лиспе очень удобно работать с математическими выражениями благодаря префиксной записи.

Спасибо! Можете дать ссылку? А то гуглится что-то не то, что нужно.

Да, безусловно, многое может и сам компилятор. Но мне нужно было всё в комплексе -- распаралливание, векторизация, генерация кода для GPU и т.д. Я пробовал давать компилятору "сырые" выражения и он просто зависал при попытке их скомпилировать) Мой "компилятор" как раз знал всю подоплеку кода и мог делать эти оптимизации без проверок, что ускоряет и гарантирует.

Увы, не знал тогда про него. Пробовал припахать maxima, но она тоже плохо упрощала выражения)

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

upd: или даже не из поликарбоната, а просто толстой полиэтиленовой пленки или материала для "мягкого" бассейна.

Инвалидная коляска с мотором это всё равно инвалидная коляска. Да, она ездит быстро, но только по специальным дорожкам и заранее установленным пандусам.

Вы не понимаете. У каждого сайта и приложения есть целая команда разработчиков и над ними толстый слой менеджмента различного звена. У каждого есть KPI, который нужно отрабатывать постоянно. Если они не будут двигать эту кнопку и перекрашивать окошко их просто уволят за ненадобностью! Терпите.

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

Увлечение путешествиями и искусством -- признак обеспеченного студента. Хорошие оценки можно получать не только прилежной учебой)

В основном, да. Но можно еще модифицировать содержимое backquote-выражения, например. Как правило, это получается ненамеренно :) Наверняка есть возможность и напрямую в код залезть, но это уже сильно машинно-зависимо будет, конечно.

Ну вот SBCL на айфон нельзя портировать по этой причине, например. Так-то интерпретатору ничего не мешает, конечно.

В Лиспе самомодицикация кода не то, что допустимая практика, а вообще обычная и постоянно используемая. Более того, разработка и отладка программы на Лиспе как раз состоит в модификации кода в памяти, пока он не заработает, после чего образ сбрасывается на диск в виде исполнимого файла. Но и после загрузки этого файла программа вполне может самомодифицироваться, если логика ее работы этого требует. По этой причине для айфона нет нормального лиспа, например. Там самомодификация жестко запрещена.

Я обычно в таких случаях жду SMS, а когда оно приходит, говорю, что там код не цифровой, а буквенный, диктовать? Да, точно буквенный! Иногда тут приходит еще одна SMS – нет, снова буквы. Ок, диктую: первая – латинская "икс". Вторая – латинская "игрек". Вы записываете? А третья русская, й-краткое. Тут обычно следует взрыв на том конце провода :)

Ну и обязательно после этого иду на госуслуги и сообщаю о попытке мошенничества. Сейчас это очень хорошо отрабатывают, как-то мне уже через 4 часа пришло SMS от банка (!) что вам звонили с такого-то номера (!!) мошенники, если вы вдруг не дай бог, то срочно звоните.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Registered
Activity

Specialization

CFD-моделирование
Lisp
Fortran
C
LATEX
Applied math
Python
SQL
Docker