(no subject)
Aug. 18th, 2025 07:59 amЕсть одна вещь в технарских и научных вещах, которой я хотела бы поделиться. Как вообще изобрести что-то новое.
Когда я была мелкой студенткой, я этого не могла понять и страшилась. Какие гранты, какие диссертации? Это же как повезет, наткнешься или нет?
Это не совсем так. Я причем напоролась очень сильно: взялась писать свою программу (что вполне осуществимо, но сильно трудоемче, конечно), а другие защищались, просто обработав длинный ряд соединений знакомыми средствами. Там своя проблема, от которой я и влезла в свою программу и сложную математику: результаты ненадежны. В моей области значительны проблемы с подбором модели, чтоб, на пальцах, два параметра не были взаимозависимы, типа их сумма чему-то равна, но если ты не знаешь этой зависимости и что ее надо фиксануть, ты значение их не определишь, оно может быть любым. Методы выяснения, какая модель лучше работает, есть. Но они не реализованы толком в существующих программах на нужном статистическом уровне. В одиночку я не справилась.
Собственно, основная, мощная, и думаю, до сих пор, проблема у физиков-расчетчиков: все программируют свое и поодиночке, да еще на разных языках. У меня, например, в ядре моих кодов фортран. Хотя я знаю не только его, но до сих пор переход с фортрана на джаву, чтоб спаять две программы, был через си, который я все-таки не знаю, там сложнее. Кажется, переходник уже доделали, пока я осваивала новый курс, но... На фортране написаны мощные математические библиотеки, много старых программ, это вообще-то полезно — причем новый стандарт фортрана с конца нулевых объектный вполне, старый код вполне можно завернуть в оболочку...
И при этом в программах коллег я нахожу баги. То есть если человек кодит один, он где-то обязательно ошибется. Вообще-то это все надо тестировать и выверять:( И писать не в одиночку. Но как? Каждый на этом же защищается, да еще проблема согласования языков. Студентов учат то на одном, то на другом. Поэтому мне еще десять лет назад, когда я это начинала ковырять, было сложно пригласить в проект студентов или коллег:(
Но видите ли... Вот все это — не везение. Это кропотливая работа. Сначала осваивая чужие программы. Потом — у тебя непременно идея родится, вопрос ее кропотливого применения. При этом объем работ может быть непосилен для одного человека и что-то не получаться. Но это уже вопрос общей организации труда и коллаборации.
Ну и выучиться на технаря, знать математику, физику, уметь программировать, в общем, тоже просто кропотливые усилия и усидчивость и умение мыслить так, как и учат на математике-физике. Правда, ИИ уже тоже научился программировать и может перехватить что-то, но за ним надо следить: это по-моему просто переход на язык еще более высокого и абстрактного уровня, когда машина подхватила за тобой двоичный код, или на объектный с процедурного, что я прошла с фортраном — короче, автоматизация простых операций совершенно не отменяет необходимости думать. Да и проверять за машиной может быть надо: знаете, иногда для производительности приходится программы раскручивать до ассемблера или старого фортрана с go to, я давно думала, что это ж тоже можно автоматизировать: твой плагин должен твой «высокоуровневый» текст как текстовый файл брать и раскручивать в высокопроизводительный код, который далее везде копипейстится, и все, исполняемый код вполне производителен... тоже интересно бы сделать. Короче, генерировать ЛОГИКУ программы, все более замороченную, можно хоть схемами в визуальном редакторе, оставив машине рутину, но результат ты все равно должен сам проверять и архитектор — все равно ты!
В общем, я точно могу сказать, что очень нужны переходники с языка на язык, коллаборация ученых-расчетчиков, чтоб не в одиночку работать над программами, а библиотеки, стандартизация... анализ задач, помощь друг другу освоить новые методы, базы статей, сделанные по-умному, с выделением учебников, с рубрикацией, чтобы люди могли сориентироваться и не тратили на это до фига лишнего времени (как автоматизация)... это бы очень двинуло все вперед, и очень много вот кропотливой рутины, которая дала бы отличный выход. Поле непаханое. И найти на нем что-то прорывное для себя — совсем не так сложно, потому что оно непаханое и в нем таятся клады:) Проблема в другом, вот в этой организации и что заниматься этим надо с надежным тылом, а не мечась, где заработать, а у нас все в таком положении, да и за рубежом конкуренция та еще, как я понимаю. Потому что обществу еще непонятен полезный выход, оно не вкладывается, а полезный выход может быть при хорошей организации и обеспечении тылов... Кто-то уже имеет достаточно опыта, чтоб видеть прорывные точки и думать над сложным, а кто-то должен делать рутину или заставлять ИИ ее делать, и работы реально нашлось бы и неопытным.
Давайте я для простоты скажу тот кусок реальной научной задачи, который понятен на школьном уровне. Вот прям «задача для студента». Чтоб было понятно, какого рода может быть кропотливый труд. Там, конечно, есть сам код квантовомеханический, который делает из структуры вещества нужный спектр, есть кучка его особенностей, свойства электронов в этом веществе (электрические, магнитные, в общем, множество настроек), но там все более-менее общее для разных соединений. Есть статистический анализ вот как раз какая модель лучше и какую погрешность дает шум в спектре, который я и пыталась воплотить — но он тоже общий, причем не только для этих спектров, а вообще для многих и многих методов исследования, вот его бы и писать совместной коллаборацией.
А кристаллография — это элементарная геометрия. У вас есть фиксированная вполне решетка. Допустим, ГЦК, гранецентрированная кубическая. Кристаллическая решетка — это периодическая штука типа клеточки в вашей тетради или паттерна вязания. Это значит, что атомы в углах кубика и в середине каждой грани. У каждого атома 12 соседей. А теперь размажем по этой структуре абсолютно случайно 50/50 два химэлемента, чтоб не грузить вас концом таблицы, возьмем железо и серебро... совершенно другие химсвойства, и структура такая поэтому скорее всего не существует, но вам нагляднее. Вокруг каждого железа и каждого серебра по 12 соседей. Вот только не 6/6, а у другого атома может быть (реже) и 5/7, и (совсем редко) 11/1, например. Можете в качестве умственного упражнения посчитать вероятности в случае, если они распределены действительно совершенно случайно — кто хоть чуть понимает вероятности:) Это и будет собственно куском студенческой научной работы. Потому что реально от соотношения спектр зависит, и вам надо посчитать, сколько в системе кластеров с разными соотношениями. А дальше — поскольку химсвойства разные, эти элементы будут из четкой ГЦК слегка, на доли ангстрема, смещаться, смотря кто из них меньше и сколько там связей. И чтобы восстановить структуру, вам надо сделать модель именно этих сдвижек. Они не бесконечны, ведь у вас конечное число неэквивалентных кластеров. Но если параметров слишком много, у вас ничего не сойдется, произвол в расчете слишком велик: надо использовать известную симметрию и выдумать эти связи параметров близко к реальности (т.е. вот как раз 6/6 или 5/7, определить сколько — и есть ваш параметр в самой простой модели, но вы точно знаете, что в сумме 12). Там на самом деле еще кислород есть, и важнее его связи, ближайшие, они показательны, но я просто не усложняю. Можно действовать приближениями: вот среднее число соседей — первое, грубое приближение, но дальше можно для более тонкой модели задать машине не отходить далеко от этого числа в среднем, например.
Это именно кропотливая задача для программиста, знающего немножко в стереометрию и вероятности. Много труда, а не везения. Но может быть непробиваема в одиночку за обозримое время:( И требует, кстати, умения управлять информацией и временем, не терять свои записи, вести их в удобном виде, а не на бумажке структуры рисовать...