Как стать автором
Обновить
1
0.2

Пользователь

Отправить сообщение

Это берёте любой язык по вкусу, главное чтобы были замыкания (C#, Java, Python со стеком побольше, да хоть JavaScript) и решаете произвольные задачи без присваиваний: все переменные (включая коллекции) иммутабельны, счётчиков цикла не бывает. Непосредственная польза этой эквилибристики в том, что ряд проблем многопоточного программирования просто исчезает.

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

В исследовании по ссылке есть таблица 1: "Details of the models used in the experiments." Из неё мы узнаём, что работа основывается на изучении модели GPT-2 с вариациями и других моделей плюс-минус того же уровня. Обобщение сделанных выводов даже на GPT-4 выглядит... слабо оправданным проведённым исследованием.

(Понятно что предельно базовое утверждение "результаты модели есть функция от корпуса обучающих текстов и промпта" верно, но оно верно и для людей, поэтому само по себе мало что доказывает.)

Система должна их поощрять

Вот здесь ключевая проблема.

Вариант А: Система статична. Тогда она поощряет по фиксированным правилам, а действия, приводящие к максимальному поощрению, не тождественны действиям, которые вы хотели поощрять ("проблема спецификации целей"). После чего глядя на эти правила, агенты выбирают такое поведение, которое поощряется Системой, а не такое, о котором вы думали, когда проектировали систему поощрений. "Сдвиг распределения": то что в момент формулирования правил было стабильным инвариантом, перестаёт быть инвариантом в мире, который подстроился под сформулированные в расчёте на эти инварианты правила. "Когда метрика Х становится целью, она перестаёт измерять Х": если вы оцениваете отдел полиции по числу преступлений в отчёте, вы создаёте стимул не регистрировать преступления.

Вариант Б: Система подкручивается людьми на ходу. Но тогда те кто имеют право подкручивать её правила - воспользуются этим правом в своих, а не ваших интересах. Что намного хуже, право подкрутки само становится призом, привлекающим в первую очередь людей, которые ценят власть над другими. Этому можно противостоять если Система управляет только частью общества - отбирать из общества подмножество, которое изначально имеет какой-то общий интерес кроме социальных игр, - но если вы пытаетесь натянуть систему правил на всё общество целиком, то поток людей с выраженной потребностью в социальном статусе это неизбежная данность.

Да они много кого посещали. Но вы пытаетесь оптимизировать систему из агентов, которые в этой системе оптимизируют свои действия под свои, а не под ваши ценности. Как результат, действия агентов по любым озвученным правилам игры будут неоптимальными в ваших ценностях (вне предельно упрощённых модельных ситуаций). У этой ситуации множество имён - эффект/закон Гудхарта, неоптимальные равновесия Нэша, цена анархии, свежий термин в области ИИ - "проблема согласования/соответствия" (alignment problem) и т.д. Их все объединяет одно: мы - нынешнее человечество, - понятия не имеем как решать эту хрень в общем случае, у нас есть только отдельные частные хаки. Капитализм, к примеру, оказался хорошим хаком в широком диапазоне условий: людям можно продать "оптимизацию прибыли" как прокси очень широкого диапазона целей и одновременно иметь систему, в которой оптимизирующие прибыль агенты производят предсказуемо неплохой эффект. Аналогичных хаков для Литографа (или чего там вы мысленно подставляете вместо) у нас нет. Поэтому я и сказал: если у вас есть хоть какие-то идеи решения общей проблемы, то это было бы ценно. Но "просто всем стать агентами, которые оптимизируют что-то согласованное" - это не решение. Это благое пожелание, которое в реальности не будет выполнено.

Если вы заявляете что знаете как построить систему, устойчивую к закону Гудхарта, то это следует объяснить... чуть большим количеством слов чем "главное чтобы система была устойчива к закону Гудхарта".

Утверждение "если бы [почти] все жители страны были убеждены в Х, это привело бы к значимым результатам" слишком верно. Оно верно для очень-очень многих Х, не только для Х="необходимость литографической автаркии".

Грустная реальность состоит в том, что убеждения распространяются не копированием, они распространяются с меметическим отбором. Поэтому ответ на вопрос

Так почему бы Литографу не стать такой ?

банален: потому что эта идея для большинства населения - включая тех, кто должен бы принимать управленческие решения по её реализации, - не ложится в голову естественным образом.

У любой бюрократической системы на 10 000+ человек девизом идёт "гудхартили, гудхартим и будем гудхартить". Развитая система наказаний предсказуемо приведёт к а) развитому институту стрелочников и б) развитому потоку благ в пользу тех, кто классифицирует чиновников как "проворовавшихся".

Решил указать на то, какой именно давно известный алгоритм вы эмулируете своими расчётами. Больше (после предыдущего вашего ответа) не отвлекаю, хотите дальше писать о принципиально новом подходе в факторизации чисел в уникальной терминологии - ваше время, ваше право им распоряжаться. I'm out.

Встречный опыт: Qt Creator/C++, VS Code/TypeScript+HTML

Работает как продвинутый автокомплит, и в хорошем и в плохом смысле. В хорошем - предлагает поля структур, рутинные аксессоры / циклы / проверки, иногда он разумно предлагает блок в несколько десятков строк "по аналогии" (убрать который вообще в порядке следования DRY архитектурно очень нетривиально). В плохом - когда правишь файл с неидеальным чужим кодом, успешно подтаскивает из него неидеальные привычки его автора.

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

В Qt Creator работает вместе с обычным автокомплитом, так что проблем с непредсказуемым вводом имён полей/методов я не наблюдал.

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

Поскольку их не происходит и без Copilot, я не рассматриваю это как минус (а то что разводить много зависимостей неудобно - даже как маленький плюс).

В некоторых случаях его автокомплит вообще синтаксически не корректен.

Это бывает, но требует мелких правок (в частности, при каких-то условиях он начинает ставить лишнюю закрывающую скобку в конец блока - то ли его пространства имён озадачивают, то ли что). Или же изредка он предлагает бред, но тогда его вставлять не надо вообще.

1) Если на интервале в O(N) значений есть O(√N) требуемых элементов, то среднее расстояние между ними - O(√N).

2) Вы фактически полагаетесь на то, что из k² = aN + b² следует разложение aN = (k-b)(k+b). Этот способ называется "методом факторизации Ферма", и его оценка эффективности хорошо известна (спойлер: O(N) в плохих случаях для "базового" метода, надо доказывать если ваша модификация лучше). В любом случае, при 2q > p > q, перебирать придётся p-q строк, для больших множителей это непрактично много.

Моя расшифровка первых двух параграфов:

Для числа N (подразумеваемого вида N=pq, p, q различные нечётные простые, для примера рассматривается 323=17*19) рассматриваются кортежи

(k² mod N, N-k, k, N-2k, (N²-1)/4 + k²-kN, [(N²-1)/4 + k²] mod N, 2k-1, (N-k²) mod N) , k пробегает значения от 1 до (N-1)/2.

Наблюдение: если (N²-1)/4 + k² делится на p, то либо (N²-1)/4 + (k-1)² делится на p, либо (N²-1)/4 + (k+1)² делится на p. (доказательство очевидно, автору по-видимому тоже)

Кортежи для k, для которых k² < N либо [(N²-1)/4 + k²-kN] < N названы "тривиальными", дальше автор немного размышляет что при некоторых N тривиальными могут оказаться все кортежи.

Наблюдение: существует последовательные четыре значения k, такие что (N²-1)/4 + k² делится на p/q для первых двух и q/p для вторых двух (опять же очевидно, но рассуждение автора не выглядит строгим доказательством).

Наблюдение: для пары k1 = ap, k2 = bq = ap + 2m, существует l : l²<N, (ap+m)² = sN+l² ("квадратичные вычеты в этих центральных точках всегда оказываются полными квадратами").

Утверждение без ограничений тривиально неверно для p=17, q=19, a=1, b=3: k1=17, k2=57, "центральная точка" 37, 37² mod 323 = 77. (ap+m)² сравнимо с m² ((ap+m)² = [(ap+bq)/2]² ~ [(ap+bq)/2]²-abN = [(bq-ap)/2]² = m²), а потому утверждение верно при m²<N.

Наблюдение: если 2k-1 кратно p, то (N²-1)/4 + k² также кратно p, равно как и (N²-1)/4 + (k-1)². Автором представлено без доказательства, проверяется тупой подстановкой k=(ap+1)/2.

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

Мой личный вердикт: барахло.

так уже часть РОС на орбите

Простите, что? Единственный видимый мне план строительства РОС выглядит вот так, и первый запуск чего бы то ни было там помечен 10.2026. О каком объекте на орбите говорите вы?

Но отсутствие ступенек - это, имхо, тупо, и оправдывается только упрощением подсчётов в доцифровую эру.

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

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

Идея N-Cube (как я её понимаю) в том, что при жёсткой оптимизации любые две системы ценностей либо тождественны, либо противоречат друг другу (строго оптимальное действие Васи исходя из ценностей Васи не совпадает со строго оптимальным действием Васи исходя из ценностей Пети). Но люди - не жёсткие максимизаторы, в наших ценностях де-факто есть большие зоны безразличия.

Тем что война - игра с отрицательной суммой, а научные исследования (мы ожидаем) - с положительной?

Для полноты этого анализа желательно хотя бы прикинуть: 1) сколько денег стоит сколько-нибудь нетривиальное "согласование" (и с какими шансами оно поймает проблему, а не сведётся исключительно к жонглированию ответственностью); 2) сколько денег стоит ошибка в ручном вводе и сколько их будет в среднем за месяц. Первое можно посчитать заранее и превратить в рекомендацию программистам "выносите на обсуждение делать/не делать задачи оценочной длительностью от N дней".

1) При совместной разработке задача управления версиями важнее чуть более быстрой компиляции. Для этого формата надо писать свой git.

2) Синтаксически абсурдный текст (скажем, вставленный не туда copy-paste) может сильно напрячь эту систему. Вообще понятие "вставки" в терминах текста превращается в сложное преобразование дерева. Я начал набирать `int foo(char, ` и весь последующий текст в смысле подлежащего дерева превратился в тарабарщину.

3) Хранение любой служебной информации IDE упирается в требования обратной совместимости.

4) Если у меня почему-то сломалась IDE сейчас, или мне надо что-то поправить, а под рукой только планшет, или мне нужно править исходники через ssh, я могу открыть файл кода одним из 100500 редакторов. В дивном новом мире это ква, разработки без IDE не бывает.

До кучи, планы по развитию микроэлектроники (выловлены поиском в "Консультанте", тексты искались куда DuckDuckGo пошлёт):

Приказ Минпромэнерго РФ от 07.08.2007 N 311: " Ожидается, что в организациях электронной промышленности в 2011 г. будет освоен технологический уровень в 0,13 - 0,09 мкм ".

Распоряжение Правительства Российской Федерации №2396-р от 15 декабря 2012 года (программа развития на 2013-2025 годы): "в 2015 году планируется достижение уровня технологии 0,045 мкм с последующим переходом в 2025 году до уровня технологии 0,010 мкм"

Распоряжение Правительства РФ от 17 января 2020 г. № 20-р (стратегия развития на период до 2030 года): "создать: кремниевые фабрики, работающие в режиме "фаундри" для выпуска цифровых интегральных микросхем с топологическими нормами 28 нм, 14 - 12 нм, 7 - 5 нм".

Вот в такие моменты я люблю проект Wayback Machine. Сайт "Микрона":

07.01.2006: Есть 1,2 мкм. Планируется установка оборудования для производства микросхем с размером элемента 0,35 – 0,25 мкм.

30.09.2006: Есть 1,2 мкм. Планируется установка оборудования для производства микросхем с размером элемента 0,18 мкм.

11.03.2009: Раздел "Технологии" недоступен, "реализует инвестиционную программу модернизации производства микросхем до уровня 0,18 – 0,13 мкм".

05.08.2011: Есть КНИ 250 нм (КМОП a.k.a. EEPROM 180 нм). Проектная норма – 180 нм (2012 год). КМОП: Проектная норма – 90 нм (2012 год).

09.02.2013: КНИ 250 нм. Проектная норма – 180 нм (2012 год). КМОП: Проектная норма – 90 нм (2012 год). (sic!)

18.06.2015: Есть CMOS 90 nm. HCMOS065_LP 65 nm - В разработке: проходит квалификацию и освоение в производстве.

11.11.2018: Есть CMOS 90 nm. HCMOS065_LP 65 nm - В разработке: проходит квалификацию и освоение в производстве.

Настоящее время: Есть CMOS 90 nm. HCMOS065_LP 65 nm - В разработке: проходит квалификацию и освоение в производстве.

1

Информация

В рейтинге
2 338-й
Зарегистрирован
Активность