А кто же должен финансировать науку?
Не так давно я написал, что у меня есть любимая теория заговора: весь информационный шум про светлое будущее в вычислениях благодаря квантовым компьютерам не имеет реальных оснований и создан с целью поднимать на них деньги. Чего я не ожидал, начиная немного изучать эту тему, так это того, что это не особо теория и не особо заговор.
Но сегодня я бы хотел поговорить на более общую тему. На какие шиши должно происходить всё это торжество науки? Существует 2 фундаментально разных подхода к выбору места науки в обществе, которые дают на это разные ответы.
Первый из них ставит науку выше человека. Её сторонники считают, что есть объективно правильная наука, которая должна быть возведена обществом в абсолют. Они хотят видеть вертикально интегрированную систему образования и науки, щедро финансируемую государством. Такой подход может достигать каких-то реальных результатов, и полёты людей в космос аж 60 лет назад являются любимым у этого лагеря.
Я поддерживаю другой подход и отрицаю существование объективной пользы в принципе. Как фанат свободного рынка, я признаю только субъективную пользу. Ценность научного исследования не зависит от предмета исследования, математической точности или красоты. Она зависит только от того, насколько люди считают его ценным, то есть от того, насколько они готовы его добровольно финансировать.
Противники свободного рынка, конечно, будут с этим спорить. Пожалуй, их главным доводом будет то, что без государственного финансирования научный прогресс будет сильно медленнее, приводя в пример истории прорывов за гос. деньги, те же полёты на Луну.
Но если что-то делается при государстве, это не значит, что не было бы сделано без него. Это его главная тактика расширения во всех областях жизни - постепенно занимать всё больше и больше места, до тех пор, пока люди не смогут представить, что без него тоже можно обойтись. Кто-то, наверное, думает, что без государства бы метро и школы вообще не существовали бы.
Свободный рынок даёт обществу обширные возможности по финансированию науки, особенно в 21 веке. БОльшая часть технологического прогресса имеет обозримую выгоду и даже сегодня спонсируется именно бизнесом. "Фундаментальным" - так назовём то, что не имеет понятной прикладной пользы, областям, конечно, тяжелее. Но так и должно быть.
Фундаментальное исследование на самом деле имеет общее со своей противоположностью - IT-стартапом. Прорыв в нём может принести джекпот его спонсорам, но вероятность этого очень мала. Однако, раз мат. ожидание положительное, то и точка баланса присутствует.
Помимо бизнеса в богатом обществе существуют мечтатели и энтузиасты. Джефф Безос развивает ракетную индустрию просто для того, чтобы впечатлить свою тёлочку. Майк Кнуп дал миллион долларов на Arc Prize, потому что считает, что это крутая идея.
Большинству жителей России, доедающему хуй без соли, не нужна фундаментальная наука. Но это не проблема, потому что России сегодня она и вправду не нужна. Технологический прогресс двигает экономику вперёд, когда она уже находится близко к пределу эффективности, и именно свободный рынок позволяет к нему подойти максимально быстро.
В богатой версии России, в которой десятки миллионов семей имеют миллионы долларов сбережений, нашлись бы добровольцы финансировать любые исследовательские извращения, о которых вы можете мечтать, и именно такое будущее я считаю оптимальным для развития.
А на Луну 60 лет назад слетали, да. И как, хотя бы шалаш с тех пор на ней построили?
@knowledge_accumulator
Не так давно я написал, что у меня есть любимая теория заговора: весь информационный шум про светлое будущее в вычислениях благодаря квантовым компьютерам не имеет реальных оснований и создан с целью поднимать на них деньги. Чего я не ожидал, начиная немного изучать эту тему, так это того, что это не особо теория и не особо заговор.
Но сегодня я бы хотел поговорить на более общую тему. На какие шиши должно происходить всё это торжество науки? Существует 2 фундаментально разных подхода к выбору места науки в обществе, которые дают на это разные ответы.
Первый из них ставит науку выше человека. Её сторонники считают, что есть объективно правильная наука, которая должна быть возведена обществом в абсолют. Они хотят видеть вертикально интегрированную систему образования и науки, щедро финансируемую государством. Такой подход может достигать каких-то реальных результатов, и полёты людей в космос аж 60 лет назад являются любимым у этого лагеря.
Я поддерживаю другой подход и отрицаю существование объективной пользы в принципе. Как фанат свободного рынка, я признаю только субъективную пользу. Ценность научного исследования не зависит от предмета исследования, математической точности или красоты. Она зависит только от того, насколько люди считают его ценным, то есть от того, насколько они готовы его добровольно финансировать.
Противники свободного рынка, конечно, будут с этим спорить. Пожалуй, их главным доводом будет то, что без государственного финансирования научный прогресс будет сильно медленнее, приводя в пример истории прорывов за гос. деньги, те же полёты на Луну.
Но если что-то делается при государстве, это не значит, что не было бы сделано без него. Это его главная тактика расширения во всех областях жизни - постепенно занимать всё больше и больше места, до тех пор, пока люди не смогут представить, что без него тоже можно обойтись. Кто-то, наверное, думает, что без государства бы метро и школы вообще не существовали бы.
Свободный рынок даёт обществу обширные возможности по финансированию науки, особенно в 21 веке. БОльшая часть технологического прогресса имеет обозримую выгоду и даже сегодня спонсируется именно бизнесом. "Фундаментальным" - так назовём то, что не имеет понятной прикладной пользы, областям, конечно, тяжелее. Но так и должно быть.
Фундаментальное исследование на самом деле имеет общее со своей противоположностью - IT-стартапом. Прорыв в нём может принести джекпот его спонсорам, но вероятность этого очень мала. Однако, раз мат. ожидание положительное, то и точка баланса присутствует.
Помимо бизнеса в богатом обществе существуют мечтатели и энтузиасты. Джефф Безос развивает ракетную индустрию просто для того, чтобы впечатлить свою тёлочку. Майк Кнуп дал миллион долларов на Arc Prize, потому что считает, что это крутая идея.
Большинству жителей России, доедающему хуй без соли, не нужна фундаментальная наука. Но это не проблема, потому что России сегодня она и вправду не нужна. Технологический прогресс двигает экономику вперёд, когда она уже находится близко к пределу эффективности, и именно свободный рынок позволяет к нему подойти максимально быстро.
В богатой версии России, в которой десятки миллионов семей имеют миллионы долларов сбережений, нашлись бы добровольцы финансировать любые исследовательские извращения, о которых вы можете мечтать, и именно такое будущее я считаю оптимальным для развития.
А на Луну 60 лет назад слетали, да. И как, хотя бы шалаш с тех пор на ней построили?
@knowledge_accumulator
1🤡29👍22❤4😐2🤪2💯1
Добро пожаловать на борт самых лучших авиалиний
Несколько дней назад я возвращался с ещё одной поездки в Долину. Перелёт длиной более 11 часов - то ещё испытание духа. В целом, я летаю довольно много и уже давно не испытываю никакой радости от самого факта полёта.
Страдая от невозможности нормально поспать, мы с женой решили подумать - какую авиакомпанию мы бы создали, если бы у нас были развязаны руки? Интересно обсудить принципиально новые решения, позволяющие компании обходить конкурентов, не ухудшая качество сервиса.
Естественно, мы не будем использовать мошенничество, как, например, многие евросовочные авиалинии - билет на 50 евро, а потом регистрация в аэропорту стоит 200. Наш ключ к успеху заключается в предоставлении услуг и возможностей для пассажиров, которые недоступны им сегодня.
Из самого очевидного - это child-free тариф. Летавшие знают, что всего один орущий ребёнок может разрушить жизнь десятков пассажиров в салоне. Насчёт деталей реализации я не уверен, по-моему, во многих самолётах эконом разделен на сегменты. На страницу выбора тарифа я бы невзначай поместил фотографию счастливой мамочки с ребёнком. Конкретный вариант будем оптимизировать через AB.
Вместо детей я предлагаю разрешить бесплатный провоз миленьких пёсиков. Критерии должны быть простые - меньше 5кг и не из специального списка уродливых пород (типа чихуахуа). Необходимо стимулировать заведение нормальных собак в обществе.
В большинстве самолётов в кресле перед пассажиром нет вообще ничего, кроме столика. В оставшихся случаях стоит дешманский андроид планшет с пятикратно устаревшим содержанием. На мой взгляд это очевидная недоработка. Человек сидит в закрытом пространстве без доступа к интернету, помирает от скуки, но никто даже не пытается воспользоваться ситуацией.
Перед пассажиром должна быть быстрая железка с современным софтом + аппарат для оплаты, который предоставляет ему обширные возможности по улучшению своего полётного быта. Для начала, там должно быть нормальное меню с картинками, где можно заказать себе доставку съестных ништяков.
Необходимо быть готовым удовлетворить любую потребность, которая обычно не удовлетворена бесплатно - беруши, провода для зарядки, полноценная розетка (заряжать стимдек) и т.д, и кресло должно об этом вежливо намекнуть вначале.
В обязательном порядке необходимо встроить в кресло электронное казино. Уже представляю картину, где при выигрыше пассажира кресло издаёт звуки сыпящихся денег и тем самым рекламирует игру всем остальным. Чтобы инвестировать в долгую, необходимо стимулировать развитиезависимости хобби у пассажиров и выдавать условные 5$ на счёт кресла. Снять, не прогнав через игру, их будет нельзя, и поэтому рациональным поведением будет игра в казик.
Отлично дополнять все пункты выше будет возможность пассажиру заработать, просматривая рекламу - такая технология часто используется в мобильных играх. Думаю, что и я, и любители халявы, будем счастливы, если у них будет возможность посмотреть 30 минут рекламных роликов, чтобы выбить бесплатный коктейль, или, ещё лучше, сыграть ещё один раунд в рулетку. Как видите, в нашем концепте все компоненты усиляют друг друга.
С повышением класса билета могут иметь смысл различные улучшения - бесплатный алкоголь, физический вариант некоторых из упомянутых электронных развлечений. Думаю, что удачно слетавший high roller может в одиночку окупить весь эконом и тем самым в среднем позволит нам понижать цены для рабочего класса.
Принимаю в комментариях предложения по дальнейшему улучшению качества наших услуг.
@knowledge_accumulator
Несколько дней назад я возвращался с ещё одной поездки в Долину. Перелёт длиной более 11 часов - то ещё испытание духа. В целом, я летаю довольно много и уже давно не испытываю никакой радости от самого факта полёта.
Страдая от невозможности нормально поспать, мы с женой решили подумать - какую авиакомпанию мы бы создали, если бы у нас были развязаны руки? Интересно обсудить принципиально новые решения, позволяющие компании обходить конкурентов, не ухудшая качество сервиса.
Естественно, мы не будем использовать мошенничество, как, например, многие евросовочные авиалинии - билет на 50 евро, а потом регистрация в аэропорту стоит 200. Наш ключ к успеху заключается в предоставлении услуг и возможностей для пассажиров, которые недоступны им сегодня.
Из самого очевидного - это child-free тариф. Летавшие знают, что всего один орущий ребёнок может разрушить жизнь десятков пассажиров в салоне. Насчёт деталей реализации я не уверен, по-моему, во многих самолётах эконом разделен на сегменты. На страницу выбора тарифа я бы невзначай поместил фотографию счастливой мамочки с ребёнком. Конкретный вариант будем оптимизировать через AB.
Вместо детей я предлагаю разрешить бесплатный провоз миленьких пёсиков. Критерии должны быть простые - меньше 5кг и не из специального списка уродливых пород (типа чихуахуа). Необходимо стимулировать заведение нормальных собак в обществе.
В большинстве самолётов в кресле перед пассажиром нет вообще ничего, кроме столика. В оставшихся случаях стоит дешманский андроид планшет с пятикратно устаревшим содержанием. На мой взгляд это очевидная недоработка. Человек сидит в закрытом пространстве без доступа к интернету, помирает от скуки, но никто даже не пытается воспользоваться ситуацией.
Перед пассажиром должна быть быстрая железка с современным софтом + аппарат для оплаты, который предоставляет ему обширные возможности по улучшению своего полётного быта. Для начала, там должно быть нормальное меню с картинками, где можно заказать себе доставку съестных ништяков.
Необходимо быть готовым удовлетворить любую потребность, которая обычно не удовлетворена бесплатно - беруши, провода для зарядки, полноценная розетка (заряжать стимдек) и т.д, и кресло должно об этом вежливо намекнуть вначале.
В обязательном порядке необходимо встроить в кресло электронное казино. Уже представляю картину, где при выигрыше пассажира кресло издаёт звуки сыпящихся денег и тем самым рекламирует игру всем остальным. Чтобы инвестировать в долгую, необходимо стимулировать развитие
Отлично дополнять все пункты выше будет возможность пассажиру заработать, просматривая рекламу - такая технология часто используется в мобильных играх. Думаю, что и я, и любители халявы, будем счастливы, если у них будет возможность посмотреть 30 минут рекламных роликов, чтобы выбить бесплатный коктейль, или, ещё лучше, сыграть ещё один раунд в рулетку. Как видите, в нашем концепте все компоненты усиляют друг друга.
С повышением класса билета могут иметь смысл различные улучшения - бесплатный алкоголь, физический вариант некоторых из упомянутых электронных развлечений. Думаю, что удачно слетавший high roller может в одиночку окупить весь эконом и тем самым в среднем позволит нам понижать цены для рабочего класса.
Принимаю в комментариях предложения по дальнейшему улучшению качества наших услуг.
@knowledge_accumulator
1😁39🤡22👍10🥴5💩4❤2🔥2🤯1🏆1🖕1
Пора стряхнуть пыль с машины Тьюринга
Читающие канал могли заметить, что мой фокус почти в 100% случаев направлен на практическую сторону вопроса, но это лишь часть картины. Во времена школы и бакалавриата всё было наоборот и я ценил лишь идейную составляющую, просто потом я, к счастью, потрогал траву.
Хоть жизнь и изменилась, интерес к некоторым вещам в математике у меня остался, и пока я ковырял квантовые компьютеры, меня и мои рекомендации в ютубе засосало в математический водоворот. Раз в ML в плане настоящего прогресса в последнее время тухло, я решил временно переключить фокус. Подсаживайтесь на пассажирское сидение.
Рассмотрим простейшую машину Тьюринга. У нас есть бесконечная лента из нулей и единиц и указатель на позицию на ленте. У машины есть N возможных состояний. Её программа задаётся таблицей, полностью описывающей её поведение. Для каждого текущего номера состояния и символа, на который смотрит указатель, указано 3 вещи:
1) Какой символ мы запишем в указанную позицию
2) Куда перемещаем указатель - на 1 клетку влево или вправо
3) В какое из состояний переключаемся, также можно полностью завершить программу.
В машину Тьюринга подают данные в виде символов на ленте, переключают указатель в стартовое состояние, и она делает шаги, пока не завершит программу. В теории она может и не завершиться, прям как ваше решение задачи на литкоде.
Несмотря на простоту, эта концепция сыграла огромную роль в истории развития Computer Science. Машина Тьюринга оказалось связующим звеном между всеми возможными способами представить классический алгоритм. Любая программа на любом языке программирования может быть представлена в виде той самой программы для машины Тьюринга.
И наоборот - если вы можете где-то реализовать машину Тьюринга, то можете реализовать и всё остальное. Рассмотрим мы это на моём любимом примере - майнкрафте. В нём существует редстоун - блок, который передаёт сигнал на соседний такой же блок. Игровая механика позволяет реализовать 2 логические операции -
Их достаточно для создания продвинутых "микросхем", например, бинарного калькулятора, и примерно так я развлекался в школьные годы. Особо продвинутые ребята строили гораздо более мощные конструкции, вот тут, например, компьютер, на котором можно играть в змейку.
В майнкрафте можно сделать что угодно. В нём можно собрать компьютер, на котором можно играть в майнкрафт. В нём можно запустить ChatGPT и можно будет запустить искусственный суперинтеллект. Представьте ситуацию - злонамеренный ASI, который захватывает человечество изнутри компьютерной игры.
Почему это гарантированно возможно? Представленный набор логических блоков обладает достаточной мощностью, чтобы в Майнкрафте можно было собрать машину Тьюринга, что и сделали вот в этом или вот в этом видео, следовательно, возможно реализовать любое вычисление.
Для многих из вас всё это не является большим открытием - про машину Тьюринга часто рассказывают на первых курсах университета. Не беспокойтесь - это было всего лишь приведением к общему знаменателю для того, чтобы в следующий раз мы смогли погрузиться на экстремальные глубины того, что открывает нам этот концепт.
@knowledge_accumulator
Читающие канал могли заметить, что мой фокус почти в 100% случаев направлен на практическую сторону вопроса, но это лишь часть картины. Во времена школы и бакалавриата всё было наоборот и я ценил лишь идейную составляющую, просто потом я, к счастью, потрогал траву.
Хоть жизнь и изменилась, интерес к некоторым вещам в математике у меня остался, и пока я ковырял квантовые компьютеры, меня и мои рекомендации в ютубе засосало в математический водоворот. Раз в ML в плане настоящего прогресса в последнее время тухло, я решил временно переключить фокус. Подсаживайтесь на пассажирское сидение.
Рассмотрим простейшую машину Тьюринга. У нас есть бесконечная лента из нулей и единиц и указатель на позицию на ленте. У машины есть N возможных состояний. Её программа задаётся таблицей, полностью описывающей её поведение. Для каждого текущего номера состояния и символа, на который смотрит указатель, указано 3 вещи:
1) Какой символ мы запишем в указанную позицию
2) Куда перемещаем указатель - на 1 клетку влево или вправо
3) В какое из состояний переключаемся, также можно полностью завершить программу.
В машину Тьюринга подают данные в виде символов на ленте, переключают указатель в стартовое состояние, и она делает шаги, пока не завершит программу. В теории она может и не завершиться, прям как ваше решение задачи на литкоде.
Несмотря на простоту, эта концепция сыграла огромную роль в истории развития Computer Science. Машина Тьюринга оказалось связующим звеном между всеми возможными способами представить классический алгоритм. Любая программа на любом языке программирования может быть представлена в виде той самой программы для машины Тьюринга.
И наоборот - если вы можете где-то реализовать машину Тьюринга, то можете реализовать и всё остальное. Рассмотрим мы это на моём любимом примере - майнкрафте. В нём существует редстоун - блок, который передаёт сигнал на соседний такой же блок. Игровая механика позволяет реализовать 2 логические операции -
NOT X
и X OR Y
. Их достаточно для создания продвинутых "микросхем", например, бинарного калькулятора, и примерно так я развлекался в школьные годы. Особо продвинутые ребята строили гораздо более мощные конструкции, вот тут, например, компьютер, на котором можно играть в змейку.
В майнкрафте можно сделать что угодно. В нём можно собрать компьютер, на котором можно играть в майнкрафт. В нём можно запустить ChatGPT и можно будет запустить искусственный суперинтеллект. Представьте ситуацию - злонамеренный ASI, который захватывает человечество изнутри компьютерной игры.
Почему это гарантированно возможно? Представленный набор логических блоков обладает достаточной мощностью, чтобы в Майнкрафте можно было собрать машину Тьюринга, что и сделали вот в этом или вот в этом видео, следовательно, возможно реализовать любое вычисление.
Для многих из вас всё это не является большим открытием - про машину Тьюринга часто рассказывают на первых курсах университета. Не беспокойтесь - это было всего лишь приведением к общему знаменателю для того, чтобы в следующий раз мы смогли погрузиться на экстремальные глубины того, что открывает нам этот концепт.
@knowledge_accumulator
1👍24❤8😁4🤔1🤯1
Зачем людям всралось покорение космоса?
Есть у части продвинутой публики такая догма - нужно осваивать космическое пространство и заселять другие планеты. На одного из проповедников этого я даже работаю. Осмелюсь подумать над вопросом - а зачем? На данный момент я вижу только 2 полноценных ответа на этот вопрос.
Во-первых, это весело. Так точно считают "исследователи", которые хотят залезть в ещё не покорённую сраку - люди, которые раньше совершали кругосветное путешествие, потом покоряли Антарктиду, а сегодня ныряют в пещеры. Помимо них есть фанаты старой научной фантастики, в которой покорение космоса считалось остриём технологического развития. Сейчас, думаю, это неверно. Но чего у ракет не отнять, так это то, что это огромные летающие хуёвины, и моя гигантомания это одобряет.
Во-вторых, это борьба с рисками. Если на Земле произойдёт какая-нибудь катастрофа планетарного масштаба - пандемия чумы, ядерная война, или, что ещё хуже, мировой коммунизм, то часть людей, проживающих в другом месте, смягчит последствия для человечества. Честно говоря, ядерная война при нашей жизни уже не кажется такой маловероятной, спасибо Путину за это.
Год назад я уже писал на тему того, когда бы я полетел на Марс в случае основания колонии. В случае упадка Земли и зарождения новой цивилизации в другом месте я бы задумался о переезде. Однако, прямо сейчас у меня есть аргументы против покорения других планет.
- Мы абсолютно не нуждаемся в дополнительном пространстве для проживания. Земля - это пустырь. Даже самые отстойные её территории, самая безжизненная и холодная тундра, это бесконечно более благоприятные условия для жизни, чем другие планеты. На Земле живёт всего 50 человек на квадратный километр, и только когда вся поверхность будет застроена одним сплошным городом (плотность Москвы - 5000/кв.км), можно будет говорить о нехватке места.
- Помимо места иногда говорят про нехватку ресурсов, которые можно добыть на других планетах. Не знаю, зачем туда для этого отправлять людей - мы уже вот-вот сможем делать эту работу с помощью роботов.
- Чтобы заселять другие планеты именно людьми стало экономически выгодно, местные условия должны давать какой-то фундаментальный прирост продуктивности по сравнению с Землёй. Но у нас и сейчас всё хорошо, человеческой продуктивности мешают только леваки, но пока не настолько сильно.
Отдельная тема для обсуждения - это риски космического масштаба. Что, если тёмный лес действительно существует, и как только другая цивилизация поймает радиосигнал про Бомбардило Крокодило, то немедленно попытается нас уничтожить?
В этом случае нас вряд ли спасёт просто поселение на другой планете. Если кто-то стрельнёт из какой-нибудь хуйни по Солнцу и взорвёт его, для выживания нужно будет находиться на огромном расстоянии от него. Интересным вариантом было бы угнать Плутон подальше в облако Оорта и засесть в нём. Возможно, вручную обыскивать все мелкие тёмные тела в радиусе триллионов километров инопланетяне поленятся.
Однако, подобные риски прямо сейчас нет никакого смысла обсуждать. Напомню, что мы до сих пор стареем и умираем за сто лет. Только после изобретения ASI и решения этой проблемы нам будет смысл думать о спасении от инопланетян. Всему своё время.
@knowledge_accumulator
Есть у части продвинутой публики такая догма - нужно осваивать космическое пространство и заселять другие планеты. На одного из проповедников этого я даже работаю. Осмелюсь подумать над вопросом - а зачем? На данный момент я вижу только 2 полноценных ответа на этот вопрос.
Во-первых, это весело. Так точно считают "исследователи", которые хотят залезть в ещё не покорённую сраку - люди, которые раньше совершали кругосветное путешествие, потом покоряли Антарктиду, а сегодня ныряют в пещеры. Помимо них есть фанаты старой научной фантастики, в которой покорение космоса считалось остриём технологического развития. Сейчас, думаю, это неверно. Но чего у ракет не отнять, так это то, что это огромные летающие хуёвины, и моя гигантомания это одобряет.
Во-вторых, это борьба с рисками. Если на Земле произойдёт какая-нибудь катастрофа планетарного масштаба - пандемия чумы, ядерная война, или, что ещё хуже, мировой коммунизм, то часть людей, проживающих в другом месте, смягчит последствия для человечества. Честно говоря, ядерная война при нашей жизни уже не кажется такой маловероятной, спасибо Путину за это.
Год назад я уже писал на тему того, когда бы я полетел на Марс в случае основания колонии. В случае упадка Земли и зарождения новой цивилизации в другом месте я бы задумался о переезде. Однако, прямо сейчас у меня есть аргументы против покорения других планет.
- Мы абсолютно не нуждаемся в дополнительном пространстве для проживания. Земля - это пустырь. Даже самые отстойные её территории, самая безжизненная и холодная тундра, это бесконечно более благоприятные условия для жизни, чем другие планеты. На Земле живёт всего 50 человек на квадратный километр, и только когда вся поверхность будет застроена одним сплошным городом (плотность Москвы - 5000/кв.км), можно будет говорить о нехватке места.
- Помимо места иногда говорят про нехватку ресурсов, которые можно добыть на других планетах. Не знаю, зачем туда для этого отправлять людей - мы уже вот-вот сможем делать эту работу с помощью роботов.
- Чтобы заселять другие планеты именно людьми стало экономически выгодно, местные условия должны давать какой-то фундаментальный прирост продуктивности по сравнению с Землёй. Но у нас и сейчас всё хорошо, человеческой продуктивности мешают только леваки, но пока не настолько сильно.
Отдельная тема для обсуждения - это риски космического масштаба. Что, если тёмный лес действительно существует, и как только другая цивилизация поймает радиосигнал про Бомбардило Крокодило, то немедленно попытается нас уничтожить?
В этом случае нас вряд ли спасёт просто поселение на другой планете. Если кто-то стрельнёт из какой-нибудь хуйни по Солнцу и взорвёт его, для выживания нужно будет находиться на огромном расстоянии от него. Интересным вариантом было бы угнать Плутон подальше в облако Оорта и засесть в нём. Возможно, вручную обыскивать все мелкие тёмные тела в радиусе триллионов километров инопланетяне поленятся.
Однако, подобные риски прямо сейчас нет никакого смысла обсуждать. Напомню, что мы до сих пор стареем и умираем за сто лет. Только после изобретения ASI и решения этой проблемы нам будет смысл думать о спасении от инопланетян. Всему своё время.
@knowledge_accumulator
1👍20🤡19😁10❤6🤔6👎3
Чему равен усердный бобр?
Продолжаем путешествие по автосалону Тьюринга. Как я уже говорил, представленные машины руководствуются предельно простой логикой, и сложность их поведения напрямую зависит от размера пространства состояний. Но даже небольшого числа хватает для выполнения чего-то разумного, например, вот эта машина умножает 2 бинарных числа, используя 13 состояний.
Но не все машины выполняют какую-то операцию - часть из них бесконечно зацикливается, например, она может всегда идти вправо, не меняя состояние. А можно ли это предугадать? Тут Тьюринг бьёт нам в печень.
Это называется Halting Problem - по заданной программе машины Тьюринга и входным данным определить, остановится она или попадёт в бесконечный цикл. Было доказано, что отвечающего на это алгоритма в общем случае не может существовать. Пруф остаётся в качестве упражнения для читателя.
Рассмотрим все машины Тьюринга с N состояний, которые остановятся, если их запустить на ленте из нулей. Какая из них работает дольше всех? Максимальное количество шагов и называется функцией усердного бобра - Busy Beaver - BB(N)
Несмотря на кажущуюся пустяковость и смешное название, эта функция - практически final boss среди последовательностей. Она растёт очень, очень, ОЧЕНЬ быстро. Начинается она вменяемо - BB(2) = 6, BB(3) = 21, BB(4) = 107.
Ещё в 1990 году была найдена машина из 5 состояний, которая работает 47,176,870 шагов. Но здесь Тьюринг наносит нам лоу-кик - BB(N) невычислима. Так как невозможно определить, остановится ли произвольная машина Тьюринга, чтобы доказать значение BB(N), необходимо по отдельности доказать зацикливаемость всех машин, которые работают дольше BB(N). Одним из следствий этого является то, что BB(N) растёт быстрее всех функций, которые можно описать конечным алгоритмом.
Звучит, как абсолютно бесполезная на практике проблема, которую должны решать почётные доктора наук за государственные деньги, да? Как бы не так!
Многие исследователи-"любители" посчитали, что задача достаточно весёлая, чтобы самоорганизоваться ради её решения. В 2022 году был создан так называемый The Busy Beaver Challenge - центр притяжения фанатов данной проблемы. Они создали сайт, вики, дискорд и взялись за работу.
Доказательство, несмотря на прикольность проблемы, представляет собой сущий кошмар. Необходимо взять десятки триллионов всевозможных машин Тьюринга и для каждой, по отдельности или в группах, доказать, что она никогда не остановится.
Конечно, для большинства из них это не является большой проблемой, но в семье не без уродов. Ещё в 2003 году Skelet опубликовал свой результат - доказательство на Паскале длиной в 6000 строк, которое работает для всех, кроме 43 особо непонятных машин. Их так и назвали - 43 машины Скелета.
Исследователи в дискорде разделились и начали расправляться с машинами Скелета. 13 из них они назвали спорадическими - их не удалось доказать общими методами. Для них в индивидуальном порядке конструировали доказательство их бесконечной работы. Чтобы вы понимали уровень сложности происходящего, приведу описание первой из них:
Итак, спустя 2 года работы задача была полностью решена - подтверждено, что BB(5) = 47,176,870. В инструменте для формальных доказательств Coq был скомпилирован и выложен общий пруф этого утверждения, который для всех машин, работающих дольше BB(5) шагов, доказывает их зацикленность.
Что там дальше по списку, BB(6)? Да, вот вам машина, работающая
UPD. Оказалось, что неделю назад была найдена машина из 6 состояний, которая работает 10↑↑11010000 шагов - то есть 10 в 10 степени не 15 раз, а 10 миллионов. 6 состояний, Карл!
Чем же так заняты эти усердные бобры? Что можно делать так долго, оперируя всего в рамках 5 или 6 состояний? Разберём это в следующий раз, а также то, как это внезапно оказалось связано с одной из известных открытых проблем теории чисел.
@knowledge_accumulator
Продолжаем путешествие по автосалону Тьюринга. Как я уже говорил, представленные машины руководствуются предельно простой логикой, и сложность их поведения напрямую зависит от размера пространства состояний. Но даже небольшого числа хватает для выполнения чего-то разумного, например, вот эта машина умножает 2 бинарных числа, используя 13 состояний.
Но не все машины выполняют какую-то операцию - часть из них бесконечно зацикливается, например, она может всегда идти вправо, не меняя состояние. А можно ли это предугадать? Тут Тьюринг бьёт нам в печень.
Это называется Halting Problem - по заданной программе машины Тьюринга и входным данным определить, остановится она или попадёт в бесконечный цикл. Было доказано, что отвечающего на это алгоритма в общем случае не может существовать. Пруф остаётся в качестве упражнения для читателя.
Рассмотрим все машины Тьюринга с N состояний, которые остановятся, если их запустить на ленте из нулей. Какая из них работает дольше всех? Максимальное количество шагов и называется функцией усердного бобра - Busy Beaver - BB(N)
Несмотря на кажущуюся пустяковость и смешное название, эта функция - практически final boss среди последовательностей. Она растёт очень, очень, ОЧЕНЬ быстро. Начинается она вменяемо - BB(2) = 6, BB(3) = 21, BB(4) = 107.
Ещё в 1990 году была найдена машина из 5 состояний, которая работает 47,176,870 шагов. Но здесь Тьюринг наносит нам лоу-кик - BB(N) невычислима. Так как невозможно определить, остановится ли произвольная машина Тьюринга, чтобы доказать значение BB(N), необходимо по отдельности доказать зацикливаемость всех машин, которые работают дольше BB(N). Одним из следствий этого является то, что BB(N) растёт быстрее всех функций, которые можно описать конечным алгоритмом.
Звучит, как абсолютно бесполезная на практике проблема, которую должны решать почётные доктора наук за государственные деньги, да? Как бы не так!
Многие исследователи-"любители" посчитали, что задача достаточно весёлая, чтобы самоорганизоваться ради её решения. В 2022 году был создан так называемый The Busy Beaver Challenge - центр притяжения фанатов данной проблемы. Они создали сайт, вики, дискорд и взялись за работу.
Доказательство, несмотря на прикольность проблемы, представляет собой сущий кошмар. Необходимо взять десятки триллионов всевозможных машин Тьюринга и для каждой, по отдельности или в группах, доказать, что она никогда не остановится.
Конечно, для большинства из них это не является большой проблемой, но в семье не без уродов. Ещё в 2003 году Skelet опубликовал свой результат - доказательство на Паскале длиной в 6000 строк, которое работает для всех, кроме 43 особо непонятных машин. Их так и назвали - 43 машины Скелета.
Исследователи в дискорде разделились и начали расправляться с машинами Скелета. 13 из них они назвали спорадическими - их не удалось доказать общими методами. Для них в индивидуальном порядке конструировали доказательство их бесконечной работы. Чтобы вы понимали уровень сложности происходящего, приведу описание первой из них:
Skelet #1 - после по крайней мере 10^51 шагов, начинает бесконечно выдавать одинаковый паттерн каждые 8,468,569,863 шагов
Итак, спустя 2 года работы задача была полностью решена - подтверждено, что BB(5) = 47,176,870. В инструменте для формальных доказательств Coq был скомпилирован и выложен общий пруф этого утверждения, который для всех машин, работающих дольше BB(5) шагов, доказывает их зацикленность.
Что там дальше по списку, BB(6)? Да, вот вам машина, работающая
10^10^10^10^10^10^10^10^10^10^10^10^10^10^10^10
шагов. Впердё! UPD. Оказалось, что неделю назад была найдена машина из 6 состояний, которая работает 10↑↑11010000 шагов - то есть 10 в 10 степени не 15 раз, а 10 миллионов. 6 состояний, Карл!
Чем же так заняты эти усердные бобры? Что можно делать так долго, оперируя всего в рамках 5 или 6 состояний? Разберём это в следующий раз, а также то, как это внезапно оказалось связано с одной из известных открытых проблем теории чисел.
@knowledge_accumulator
1👍20🔥9🤯4❤1
Почему свободного рынка недостаточно для оптимального развития
Экономический рост - это результат оптимизационного процесса. Его участники, выбирая свою деятельность, ориентируются на возможность заработать деньги, а значит, удовлетворить спрос других участников. Накопленные ресурсы инвестируются в капитал и технологическое развитие, тем самым двигая экономику вперёд.
Свободный рынок - это алгоритм оптимизации, который обеспечивает оптимальное направление развития. Но помимо направления этого развития есть ещё и скорость. Даже при абсолютно одинаковых правилах игры экономика может развиваться с разной скоростью, и причина этому - человеческий капитал.
Человек обладает огромным разбросом по своему вкладу в экономику. С одной стороны, он создаёт спрос на очень разного уровня услуги и товары, а с другой, с разной охотой готов реагировать на экономические стимулы и занимать открытую нишу.
В качестве примера рассмотрим ноготочки💅 💅
Большинство девушек из России в эмиграции знают - наша родина - фронтир маникюрной индустрии 🇷🇺. Никто не запрещал женщинам в Лондоне построить нормальную маникюрную индустрию, но было два но - не было ни спроса, ни предложения. С притоком иммигранток из СНГ появился как спрос на нормальный сервис, так и способные его удовлетворить. Сейчас тут можно найти немало маникюрных салонов, открытых нашими сородичами. В одном из них моему корреспонденту сказали, что половина их клиентов - местные, и со временем уже они будут создавать спрос на высокое качество.
Таких примеров существует немало. Их всех объединяет простой паттерн: если в экономику приезжают крутые люди, то всё развивается быстрее, а если из неё уезжают крутые люди, всё развивается медленнее. На мой взгляд, грамотная иммиграционная политика - это ключевая составляющая успеха, по влиянию соревнующаяся с наличием свободного рынка.
То, как сегодня делают в так называемых развитых странах и особенно в США - это абсолютный кошмар. Чтобы привести страну к процветанию, необходимо проводить максимально простую иммиграционную политику, ведущую к притоку качественного человеческого материала:
- Полное отсутствие социалки для всех иммигрантов и их потомков до конца жизни
Так как отмена текущей социалки всё-таки ударяет по каким-то людям и является политическим вопросом, социалка ещё не приехавшим не вызовет такое сопротивление, и может быть без проблем отменена
- Нулевая бюрократия для получения разрешения на проживание
Либо оффер от местной компании, либо можно просто заплатить за визу, и добро пожаловать. Благодаря пункту выше это не вызовет коллапса - армия безработных мусульман, которые выходят на улицу только для митингов за уничтожение Израиля, не приедет к вам жить, если это стоит денег.
- Паспорт без права голоса
У паспорта есть несколько плюсов - стабильность, возможность путешествовать и другие. Однако, всеобщее избирательное право всё же создаёт риски наплыва зомби-леваков из других стран. Мне кажется, что право голоса должно быть отдельным вопросом от получения полноценного документа, и его решение выходит за рамки этого поста. Сам паспорт при этом можно выдавать достаточно быстро, например, за год.
- Нулевая толерантность к насилию
За любое проявление физической агрессии по отношению к другому человеку приезжий получает приз в виде пожизненной депортации, после первого же раза. Ограбил магазин, стащил телефон, врезал прохожему? До сви да ни я. Для исключения злоупотреблений это можно проводить через суд присяжных.
К сожалению, такая политика не выгодна находящимся у власти чиновникам. Успешный, умный, самодостаточный человек - это враг государства. Ему нужны безмозглые овощи, не способные заработать на жизнь, потому что это очень удобный электорат, голосующий за дальнейшее расширение полномочий чиновников. Именно поэтому мы не видим адекватную иммиграционную политику даже в развитых странах.
@knowledge_accumulator
Экономический рост - это результат оптимизационного процесса. Его участники, выбирая свою деятельность, ориентируются на возможность заработать деньги, а значит, удовлетворить спрос других участников. Накопленные ресурсы инвестируются в капитал и технологическое развитие, тем самым двигая экономику вперёд.
Свободный рынок - это алгоритм оптимизации, который обеспечивает оптимальное направление развития. Но помимо направления этого развития есть ещё и скорость. Даже при абсолютно одинаковых правилах игры экономика может развиваться с разной скоростью, и причина этому - человеческий капитал.
Человек обладает огромным разбросом по своему вкладу в экономику. С одной стороны, он создаёт спрос на очень разного уровня услуги и товары, а с другой, с разной охотой готов реагировать на экономические стимулы и занимать открытую нишу.
В качестве примера рассмотрим ноготочки
Большинство девушек из России в эмиграции знают - наша родина - фронтир маникюрной индустрии 🇷🇺. Никто не запрещал женщинам в Лондоне построить нормальную маникюрную индустрию, но было два но - не было ни спроса, ни предложения. С притоком иммигранток из СНГ появился как спрос на нормальный сервис, так и способные его удовлетворить. Сейчас тут можно найти немало маникюрных салонов, открытых нашими сородичами. В одном из них моему корреспонденту сказали, что половина их клиентов - местные, и со временем уже они будут создавать спрос на высокое качество.
Таких примеров существует немало. Их всех объединяет простой паттерн: если в экономику приезжают крутые люди, то всё развивается быстрее, а если из неё уезжают крутые люди, всё развивается медленнее. На мой взгляд, грамотная иммиграционная политика - это ключевая составляющая успеха, по влиянию соревнующаяся с наличием свободного рынка.
То, как сегодня делают в так называемых развитых странах и особенно в США - это абсолютный кошмар. Чтобы привести страну к процветанию, необходимо проводить максимально простую иммиграционную политику, ведущую к притоку качественного человеческого материала:
- Полное отсутствие социалки для всех иммигрантов и их потомков до конца жизни
Так как отмена текущей социалки всё-таки ударяет по каким-то людям и является политическим вопросом, социалка ещё не приехавшим не вызовет такое сопротивление, и может быть без проблем отменена
- Нулевая бюрократия для получения разрешения на проживание
Либо оффер от местной компании, либо можно просто заплатить за визу, и добро пожаловать. Благодаря пункту выше это не вызовет коллапса - армия безработных мусульман, которые выходят на улицу только для митингов за уничтожение Израиля, не приедет к вам жить, если это стоит денег.
- Паспорт без права голоса
У паспорта есть несколько плюсов - стабильность, возможность путешествовать и другие. Однако, всеобщее избирательное право всё же создаёт риски наплыва зомби-леваков из других стран. Мне кажется, что право голоса должно быть отдельным вопросом от получения полноценного документа, и его решение выходит за рамки этого поста. Сам паспорт при этом можно выдавать достаточно быстро, например, за год.
- Нулевая толерантность к насилию
За любое проявление физической агрессии по отношению к другому человеку приезжий получает приз в виде пожизненной депортации, после первого же раза. Ограбил магазин, стащил телефон, врезал прохожему? До сви да ни я. Для исключения злоупотреблений это можно проводить через суд присяжных.
К сожалению, такая политика не выгодна находящимся у власти чиновникам. Успешный, умный, самодостаточный человек - это враг государства. Ему нужны безмозглые овощи, не способные заработать на жизнь, потому что это очень удобный электорат, голосующий за дальнейшее расширение полномочий чиновников. Именно поэтому мы не видим адекватную иммиграционную политику даже в развитых странах.
@knowledge_accumulator
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍27🤡9❤7🥴4🤔3🔥2😁2👎1👌1
- О нет, наш малыш упал головой вниз на асфальт! Надеюсь, это никак не повлияет на его интеллект.
25 лет спустя:
- Я против кондиционеров, потому что они наносят вред окружающей среде 👎
25 лет спустя:
- Я против кондиционеров, потому что они наносят вред окружающей среде 👎
13😁26🔥4👎3🤯2💯2
Чем так занят усердный бобёр?
Продолжаю свою телегу про Busy Beaver(N). Напомню, что эта функция равна времени работы самой долгой машины Тьюринга из N состояний, исключая впадающие в бесконечный цикл, которую запускают на бесконечной ленте из нулей.
BB(4) равно 107 - на 4 состояниях особо не развернёшься, а вот BB(5) равна уже 47,176,870. Чтобы осознать её прикол, нам нужно сделать небольшое отступление и посмотреть на одну из простейших (на вид) открытых проблем в математике. Рассмотрим функцию такого вида:
Что, если взять какое-нибудь N и начать применять к нему такую функцию много раз?
Итак, функции, которые применяют определённую арифметическую операцию к числу в зависимости от остатка на деления, так и называют - Collatz-like. Их траектории выглядят практически случайными и могут долго колебаться, прежде чем придут в какое-то "финальное" состояние.
Да, вы всё правильно поняли - оказалось, что усердный бобёр из 5 состояний генерирует последовательность для Collatz-like функции от нуля следующего вида:
То есть, вместо единицы, как в оригинале, "конечных точек" у неё бесконечно много. Так выглядит генерируемая бобром последовательность:
Я окунулся ещё глубже, изучил доказательство и симуляцию, чтобы понять, как это реально выглядит на ленте машины Тьюринга. В итоге пронаблюдал следующее цирковое представление.
Итак, определим такое состояние ленты C(m, n) - сначала
1)
2) Далее машина наступает на каждую
3) Когда
Машина работает десятки миллионов шагов, потому что для каждого добавления пяти единиц за одну
Честно говоря, меня всё это повергает в восторг. Самая долгая машина Тьюринга из 5 состояний совершенно не обязана была делать что-то, имеющее короткую арифметическую интерпретацию. Более того, оказывается, теоретические границы вычислимого имеют связи с реальными математическими проблемами.
Busy Beaver для 6 состояний неизвестен. Такой "простор" позволяет создавать монстров, например, так называемого Экспоненциального Коллатца: вместо умножения становится возможным применять экспоненту на каждом шаге. Но это далеко не предел - только за этот июнь было получено 2 принципиально новых результата - числа, которые возможно записать только в стрелочной нотации. А вы жалуетесь, что GPT-5 долго релизят.
@knowledge_accumulator
Продолжаю свою телегу про Busy Beaver(N). Напомню, что эта функция равна времени работы самой долгой машины Тьюринга из N состояний, исключая впадающие в бесконечный цикл, которую запускают на бесконечной ленте из нулей.
BB(4) равно 107 - на 4 состояниях особо не развернёшься, а вот BB(5) равна уже 47,176,870. Чтобы осознать её прикол, нам нужно сделать небольшое отступление и посмотреть на одну из простейших (на вид) открытых проблем в математике. Рассмотрим функцию такого вида:
f(x) = x/2, если x чётное
f(x) = 3n+1, если x нечётное
Что, если взять какое-нибудь N и начать применять к нему такую функцию много раз?
5->16->8->4->2->1
. Так называемая гипотеза Коллатца заключается в том, что из любого числа мы в итоге придём к 1. Это было подтверждено для чисел <10^21, но так и не было доказано для любого N
. У Veritasium есть очень любопытное видео на эту тему.Итак, функции, которые применяют определённую арифметическую операцию к числу в зависимости от остатка на деления, так и называют - Collatz-like. Их траектории выглядят практически случайными и могут долго колебаться, прежде чем придут в какое-то "финальное" состояние.
Да, вы всё правильно поняли - оказалось, что усердный бобёр из 5 состояний генерирует последовательность для Collatz-like функции от нуля следующего вида:
f(x) = 5(x/3) + 6, если x mod 3 = 0
f(x) = 5(x-1)/3 + 9, если x mod 3 = 1
f(x) = finish state, если x mod 3 = 2
То есть, вместо единицы, как в оригинале, "конечных точек" у неё бесконечно много. Так выглядит генерируемая бобром последовательность:
0->6->16->34->64->114->196->334->564->946->1584->2646->4416->7366->12284->finish
Я окунулся ещё глубже, изучил доказательство и симуляцию, чтобы понять, как это реально выглядит на ленте машины Тьюринга. В итоге пронаблюдал следующее цирковое представление.
Итак, определим такое состояние ленты C(m, n) - сначала
m
единиц, потом n раз по 001
и ещё 1 единичка в конце. Указатель при этом смотрит на ноль по соседству слева перед всей этой конструкцией. Машина проделывает следующее упражнение, начиная из состояния C(m, 0)
.1)
m
единиц она превращает в ~m/3
троек 001
, т.е. общая длина почти не меняется. C(m, n) -> C(0, (m+4)/3)
или C(3, (m+3)/3)
, в зависимости от остатка от деления. В третьем случае машина как раз проваливается в своё конечное состояние.2) Далее машина наступает на каждую
001
, закрашивает нули и отправляется в самое начало ленты, добавляя ещё 2 единицы слева, а затем переходит к следующей 001
. То есть, C(m, n) -> C(m+5, n-1)
. 3) Когда
001
заканчиваются и n
снова равно 0, мы получили C(m_next, 0)
и далее повторяем процедуру, начиная со пункта 1. Последовательность значений m_1
, m_2
. m_3
, ... как раз и ведёт себя как Collatz-like ряд, описанный выше.Машина работает десятки миллионов шагов, потому что для каждого добавления пяти единиц за одну
001
указатель пробегает туда-сюда через все уже записанные ранее единицы.Честно говоря, меня всё это повергает в восторг. Самая долгая машина Тьюринга из 5 состояний совершенно не обязана была делать что-то, имеющее короткую арифметическую интерпретацию. Более того, оказывается, теоретические границы вычислимого имеют связи с реальными математическими проблемами.
Busy Beaver для 6 состояний неизвестен. Такой "простор" позволяет создавать монстров, например, так называемого Экспоненциального Коллатца: вместо умножения становится возможным применять экспоненту на каждом шаге. Но это далеко не предел - только за этот июнь было получено 2 принципиально новых результата - числа, которые возможно записать только в стрелочной нотации. А вы жалуетесь, что GPT-5 долго релизят.
@knowledge_accumulator
👍15🔥3❤1👻1
Почему люди не хотят жить в безопасности?
Среди всех причин преждевременной смерти людей выделяют так называемые Accidental deaths, то есть смерти из-за несчастного случая. В этом классе всё держится на 3 столпах:
- Падения
По многим причинам, это лидирующая причина смерти от несчастного случая у людей старшего поколения.
- Передоз
Часто замаскированный политкорректным словом "отравление", на самом деле именно передоз является главным источником таких смертей - это аж под 100 тысяч человек в год в США.
С первым ничего не поделаешь, не победив старение, тогда как передоз - дело добровольное. Третья же причина является и совсем случайной, и предотвратимой, и это конечно же машины.
В США на 100к человек приходится чуть больше 10 смертей в год от ДТП, по масштабу сопоставимо с падением и передозами.
Когда начинающие водители впервые выезжают на городскую дорогу, их начинает охватывать паника. Тебе нужно ехать на большой скорости по соседству с другими машинами. Одно неловкое движение любого из вас может привести к массовой смерти.
Со временем это чувство паники начинает проходить. Однако, на мой взгляд, это скорее притупление разумного страха, чем избавление от иррациональной фобии. Люди, управляющие машинами - это пиздец, как опасно, и статистика лишь подтверждает это.
Если бы машины изобрели сегодня, в эпоху благополучия и безопасности, их точно бы сразу запретили во многих странах. Современная "продвинутая" аудитория обсерается в штаны даже от чат-ботов, кто-то вон даже занимается "научными исследованиями" их опасности.
Мимо тогдашних медиа проблема смертности машин проскользнула, наверное, благодаря медленному adoption. В течение аж 20 лет (с 1900) смертность на 100т. плавно росла от 0.05 до 11 - сегодняшнего уровня.
Так вот, к чему я это. Лучший способ сделать вождение безопасным - убрать из него человеческий фактор. Совершенно очевидно, что автопилот, даже не являясь суперинтеллектом, будет допускать драматически меньше ошибок на дороге.
Для меня наличие автопилота - это самый важный фактор при выборе машины. Я скорее выберу тележку из супермаркета, которая ездит сама, чем бентли, которую нужно водить самостоятельно. Почему люди вокруг думают иначе?
Недавно с коллегой на работе мы обсуждали покупку машины. Он мне сказал - я его первый знакомый, который готов купить теслу из-за автопилота. Его друзья купили теслу, потому что она лучше ускоряется/тормозит, кому-то нравится экономия, кто-то топит за электрокары. Сам он её не купит, потому что тесла хуже конкурентов в плане удобства и качества сборки.
Ау, почему вам вообще на это не насрать? Вы что, реально всерьёз учитываете то, сколько в машине подстаканников и трясётся ли дверная ручка? Вас правда волнует выброс парниковых газов? Машина может ехать САМА, и вы ПОМРЁТЕ с меньшей вероятностью.
Через 100 лет потомки будут крутить пальцем у виска, смотря на наше поколение, которое, подступившись в плотную к технологии автономного вождения, всё ещё предпочитало водить вручную. Читающим это потомкам сообщаю - мы тут не все такие.
@knowledge_accumulator
Среди всех причин преждевременной смерти людей выделяют так называемые Accidental deaths, то есть смерти из-за несчастного случая. В этом классе всё держится на 3 столпах:
- Падения
По многим причинам, это лидирующая причина смерти от несчастного случая у людей старшего поколения.
- Передоз
Часто замаскированный политкорректным словом "отравление", на самом деле именно передоз является главным источником таких смертей - это аж под 100 тысяч человек в год в США.
С первым ничего не поделаешь, не победив старение, тогда как передоз - дело добровольное. Третья же причина является и совсем случайной, и предотвратимой, и это конечно же машины.
В США на 100к человек приходится чуть больше 10 смертей в год от ДТП, по масштабу сопоставимо с падением и передозами.
Когда начинающие водители впервые выезжают на городскую дорогу, их начинает охватывать паника. Тебе нужно ехать на большой скорости по соседству с другими машинами. Одно неловкое движение любого из вас может привести к массовой смерти.
Со временем это чувство паники начинает проходить. Однако, на мой взгляд, это скорее притупление разумного страха, чем избавление от иррациональной фобии. Люди, управляющие машинами - это пиздец, как опасно, и статистика лишь подтверждает это.
Если бы машины изобрели сегодня, в эпоху благополучия и безопасности, их точно бы сразу запретили во многих странах. Современная "продвинутая" аудитория обсерается в штаны даже от чат-ботов, кто-то вон даже занимается "научными исследованиями" их опасности.
Мимо тогдашних медиа проблема смертности машин проскользнула, наверное, благодаря медленному adoption. В течение аж 20 лет (с 1900) смертность на 100т. плавно росла от 0.05 до 11 - сегодняшнего уровня.
Так вот, к чему я это. Лучший способ сделать вождение безопасным - убрать из него человеческий фактор. Совершенно очевидно, что автопилот, даже не являясь суперинтеллектом, будет допускать драматически меньше ошибок на дороге.
Для меня наличие автопилота - это самый важный фактор при выборе машины. Я скорее выберу тележку из супермаркета, которая ездит сама, чем бентли, которую нужно водить самостоятельно. Почему люди вокруг думают иначе?
Недавно с коллегой на работе мы обсуждали покупку машины. Он мне сказал - я его первый знакомый, который готов купить теслу из-за автопилота. Его друзья купили теслу, потому что она лучше ускоряется/тормозит, кому-то нравится экономия, кто-то топит за электрокары. Сам он её не купит, потому что тесла хуже конкурентов в плане удобства и качества сборки.
Ау, почему вам вообще на это не насрать? Вы что, реально всерьёз учитываете то, сколько в машине подстаканников и трясётся ли дверная ручка? Вас правда волнует выброс парниковых газов? Машина может ехать САМА, и вы ПОМРЁТЕ с меньшей вероятностью.
Через 100 лет потомки будут крутить пальцем у виска, смотря на наше поколение, которое, подступившись в плотную к технологии автономного вождения, всё ещё предпочитало водить вручную. Читающим это потомкам сообщаю - мы тут не все такие.
@knowledge_accumulator
1👍25🤡20💯5❤3😁2👎1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать новую вселенную за 20 строк кода?
Когда школьники впервые учатся программировать, они начинают с простых консольных программ. Не знаю, как у других, но моя практика долгое время заключалась в решении каких-то задачек из спортивного программирования.
В моём окружении главной наживкой для обучения программированию была разработка игр. Однако, никто нам не объяснил - как на том же самом C++, на котором я решаю динамическое программирование, создаются 3D-игры? Интуитивно казалось, что эту пропасть нереально преодолеть, и мотивации разобраться не было.
Недавно я решил закрыть эту дыру и обнаружил вот это замечательное видео. Оказывается, на современном железе сделать подобие First Person View это элементарная задача.
Итак, заведём бинарный 2D-массив, содержащий "карту мира" - в каждой позиции либо стена, либо пустота. Смотря на значения этих переменных, у вас не возникнет мысли о том, что перед вами полноценная параллельная вселенная. Но пары секунд игрового опыта может быть достаточно, чтобы свести ваш мозг с ума и заставить в это поверить.
Представьте, что вы умеете рендерить 2D-массив пикселей в каком-нибудь окне. Заведём 4 переменные -
Чтобы нарисовать картинку от первого лица из этого положения, проходимся по каждому столбцу экрана. Каждый из них соответствует конкретному углу - между
Далее "запускаем луч" из положения камеры в этом направлении - "летим" переменными
Итак, у нас есть список
Дальнейшие улучшения просто делают картинку более красивой, не делая ничего принципиально нового. Добавляем цвет у потолка и пола, затемнение на границах, изменяем цвет стены в зависимости от дальности и т.д.
Посмотрите на гифку. Если вы не ощущаете себя в этой комнате, скорее всего, с вами не всё в порядке.
Этот базовый алгоритм называется
На подобном принципе был основан движок игры Wolfenstein 3D (1992) - знакового шутера того времени. Со временем он эволюционировал до полноценного 3D и лёг в основу Quake Engine (1996), от которого берут своё начало Source (Half-Life, CS, Dota 2), IW (Call of Duty) и, конечно, движок всех Doom.
Как оказалось, заложить первый кирпич в здание полноценной игры и создать параллельную вселенную с нуля не очень сложно! Даже написать обучение линейной регрессии на чистом C++, скорее всего, сложнее.
Очень рад за новое поколение, у которого есть такое количество доступной и познавательной информации в интернете, и они могут без большого труда прикоснуться к прекрасному. С другой стороны, их мозги превратятся в кисель благодаря тиктоку и шортсам, так что, соболезную.
@knowledge_accumulator
Когда школьники впервые учатся программировать, они начинают с простых консольных программ. Не знаю, как у других, но моя практика долгое время заключалась в решении каких-то задачек из спортивного программирования.
В моём окружении главной наживкой для обучения программированию была разработка игр. Однако, никто нам не объяснил - как на том же самом C++, на котором я решаю динамическое программирование, создаются 3D-игры? Интуитивно казалось, что эту пропасть нереально преодолеть, и мотивации разобраться не было.
Недавно я решил закрыть эту дыру и обнаружил вот это замечательное видео. Оказывается, на современном железе сделать подобие First Person View это элементарная задача.
Итак, заведём бинарный 2D-массив, содержащий "карту мира" - в каждой позиции либо стена, либо пустота. Смотря на значения этих переменных, у вас не возникнет мысли о том, что перед вами полноценная параллельная вселенная. Но пары секунд игрового опыта может быть достаточно, чтобы свести ваш мозг с ума и заставить в это поверить.
Представьте, что вы умеете рендерить 2D-массив пикселей в каком-нибудь окне. Заведём 4 переменные -
x
, y
, angle
и fov
- координаты камеры, угол по горизонтали, в котором она смотрит, и угол её обзора.Чтобы нарисовать картинку от первого лица из этого положения, проходимся по каждому столбцу экрана. Каждый из них соответствует конкретному углу - между
angle - fov/2
и angle + fov/2
. Далее "запускаем луч" из положения камеры в этом направлении - "летим" переменными
x_ray
и y_ray
, двигая точку по чуть-чуть в упомянутом направлении. На каждом шаге просто проверяем, есть ли блок стены в этом месте. Когда мы нашли блок стены или улетели за дальность прорисовки, возвращаем одно число - wall_distance
.Итак, у нас есть список
wall_distance
для каждой x-координаты. Теперь рисуем вертикальную линию в каждом столбце. Линия всегда будет в центре, а её длина будет обратно пропорциональна wall_distance
. Осталось добавить тривиальное управление персонажем - изменение x
, y
, angle
по кнопкам. Параллельная реальность готова!Дальнейшие улучшения просто делают картинку более красивой, не делая ничего принципиально нового. Добавляем цвет у потолка и пола, затемнение на границах, изменяем цвет стены в зависимости от дальности и т.д.
Посмотрите на гифку. Если вы не ощущаете себя в этой комнате, скорее всего, с вами не всё в порядке.
Этот базовый алгоритм называется
Ray Casting
и был впервые реализован ещё в 1960-х. На рубеже 80-х и 90-х благодаря изобретательству таких людей, как Джон Кармак, и развитию железа, стало возможно создавать адекватный игровой опыт на основе такой технологии. На подобном принципе был основан движок игры Wolfenstein 3D (1992) - знакового шутера того времени. Со временем он эволюционировал до полноценного 3D и лёг в основу Quake Engine (1996), от которого берут своё начало Source (Half-Life, CS, Dota 2), IW (Call of Duty) и, конечно, движок всех Doom.
Как оказалось, заложить первый кирпич в здание полноценной игры и создать параллельную вселенную с нуля не очень сложно! Даже написать обучение линейной регрессии на чистом C++, скорее всего, сложнее.
Очень рад за новое поколение, у которого есть такое количество доступной и познавательной информации в интернете, и они могут без большого труда прикоснуться к прекрасному. С другой стороны, их мозги превратятся в кисель благодаря тиктоку и шортсам, так что, соболезную.
@knowledge_accumulator
👍17🔥6😁4❤1
Абсолютно будничное рассуждение
В "Задаче трёх тел" мой самый любимый момент - это построение машины по решению диффуров из армии солдат. Как я уже упоминал ранее, если какой-либо вычислительный юнит способен выполнять логические операции, хоть редстоун в майнкрафте, то из него можно собрать полноценный компьютер, что и было "сделано" в книге.
Однако, там это была простая программа, решающая конкретную задачу и просто выдающая ответ. Предлагаю пойти в этом эксперименте ещё дальше. Для меня очевидно, что интеллект человека и даже суперинтеллект представим в виде алгоритма, а значит, конечной конструкции из логических гейтов.
Представим себе, что мы организовали людей согласно такой схеме. Каждому человеку каждый час поступает 2 входа - либо константа, либо выход другого человека, и они обязаны за этот "такт" вычислить 1 бинарную операцию и отдать результат следующему.
Далее представим, что суперинтеллект умеет выполнять команды, закодированные во "входных" людях просто как массив битов, а выходом программы является также закодированный текст, который потом декодируется и отдаётся на прочтение каждому человеку.
Что, если подать такому интеллекту на вход задачу "применить алгоритм в неизменном виде как можно больше раз, не заканчивая работу" и запустить схему?
Такая постановка бросает серьёзный вызов нашему представлению о всём, что связано с философией идентичности и сознания. Мы получили нечто невероятное - мета-сущность, чистую иллюзию, не имеющей никакого воплощения в реальности.
Раньше, рассуждая о "сознании" компьютера, мы представляли, что оно "живёт" в его памяти. Теперь же видно, что компьютер сам по себе - это тоже иллюзия. Компьютер не задаётся реальным объектом, компьютером является то, что выполняет функцию компьютера.
Надо понимать, что этот кейс ничем не отличается от всех остальных. Нервные клетки образуют мозг точно по тому же принципу - нет никакого глобального "мозга", есть огромная сеть вычислительных юнитов. Нет никакого процессора, это всё лишь куча связанных логических гейтов.
Сеть из человеческих мозгов точно также может быть вычислительным фундаментом новой формы живого существа - абстрактной вычислительной машины, которая по своей сути лишь куча логических операций, выполняемых в отдельных головах. Также, как мы сами являемся иллюзией, основанной на нейронах.
Но что, если я вам скажу, что это не мысленный эксперимент, а уже существующая реальность? Уже существует полно фантомных, не имеющих никакого физического воплощения сущностей, использующих человеческие мозги просто как вычислительные гейты для своего существования.
Такая сущность называется идея. Она передаётся между людьми, дёргая за наши нейроны, как за рычаги, и в ходе своей жизни распространяется, выживает или умирает. Сеть из человеческих мозгов населена большим количеством идей, которые образуют виртуальную экосистему.
Они борятся между собой за конечный ресурс - наши мозги, вычислительное время которых ограничено. Они воюют не только внутри головы, но ещё и используют целых людей в качестве своих рабов, полностью подчиняя себе.
В отличие от упомянутого сверхинтеллекта, у идей нет того, что мы могли бы назвать сознанием и чувством своего я. Однако, для выживания в мозговой среде это не нужно. Критериями здесь является её заразность и способность вытеснять остальные идеи из головы своего носителя, с чем прекрасно справляются самые опасные и деструктивные идеи, например, коммунизм или радикальное мусульманство.
Хорошего дня!
@knowledge_accumulator
В "Задаче трёх тел" мой самый любимый момент - это построение машины по решению диффуров из армии солдат. Как я уже упоминал ранее, если какой-либо вычислительный юнит способен выполнять логические операции, хоть редстоун в майнкрафте, то из него можно собрать полноценный компьютер, что и было "сделано" в книге.
Однако, там это была простая программа, решающая конкретную задачу и просто выдающая ответ. Предлагаю пойти в этом эксперименте ещё дальше. Для меня очевидно, что интеллект человека и даже суперинтеллект представим в виде алгоритма, а значит, конечной конструкции из логических гейтов.
Представим себе, что мы организовали людей согласно такой схеме. Каждому человеку каждый час поступает 2 входа - либо константа, либо выход другого человека, и они обязаны за этот "такт" вычислить 1 бинарную операцию и отдать результат следующему.
Далее представим, что суперинтеллект умеет выполнять команды, закодированные во "входных" людях просто как массив битов, а выходом программы является также закодированный текст, который потом декодируется и отдаётся на прочтение каждому человеку.
Что, если подать такому интеллекту на вход задачу "применить алгоритм в неизменном виде как можно больше раз, не заканчивая работу" и запустить схему?
Такая постановка бросает серьёзный вызов нашему представлению о всём, что связано с философией идентичности и сознания. Мы получили нечто невероятное - мета-сущность, чистую иллюзию, не имеющей никакого воплощения в реальности.
Раньше, рассуждая о "сознании" компьютера, мы представляли, что оно "живёт" в его памяти. Теперь же видно, что компьютер сам по себе - это тоже иллюзия. Компьютер не задаётся реальным объектом, компьютером является то, что выполняет функцию компьютера.
Надо понимать, что этот кейс ничем не отличается от всех остальных. Нервные клетки образуют мозг точно по тому же принципу - нет никакого глобального "мозга", есть огромная сеть вычислительных юнитов. Нет никакого процессора, это всё лишь куча связанных логических гейтов.
Сеть из человеческих мозгов точно также может быть вычислительным фундаментом новой формы живого существа - абстрактной вычислительной машины, которая по своей сути лишь куча логических операций, выполняемых в отдельных головах. Также, как мы сами являемся иллюзией, основанной на нейронах.
Но что, если я вам скажу, что это не мысленный эксперимент, а уже существующая реальность? Уже существует полно фантомных, не имеющих никакого физического воплощения сущностей, использующих человеческие мозги просто как вычислительные гейты для своего существования.
Такая сущность называется идея. Она передаётся между людьми, дёргая за наши нейроны, как за рычаги, и в ходе своей жизни распространяется, выживает или умирает. Сеть из человеческих мозгов населена большим количеством идей, которые образуют виртуальную экосистему.
Они борятся между собой за конечный ресурс - наши мозги, вычислительное время которых ограничено. Они воюют не только внутри головы, но ещё и используют целых людей в качестве своих рабов, полностью подчиняя себе.
В отличие от упомянутого сверхинтеллекта, у идей нет того, что мы могли бы назвать сознанием и чувством своего я. Однако, для выживания в мозговой среде это не нужно. Критериями здесь является её заразность и способность вытеснять остальные идеи из головы своего носителя, с чем прекрасно справляются самые опасные и деструктивные идеи, например, коммунизм или радикальное мусульманство.
Хорошего дня!
@knowledge_accumulator
1👍25❤7😁5🔥4🤡2🥱2🤯1
То, во что я верил 15 лет, оказалось подлым враньём.
Я начал программировать в 7 классе (да, поздно), и тогда это заключалось в решении задачек олимпиадного типа.
Там мне, как полагается, встретилась задача про числа Фибоначчи (вдруг кто забыл,
К счастью, больших проблем это у меня не вызвало - простой цикл из 3 переменных. У задачи был пункт со звёздочкой - сделайте алгоритм, который работает быстрее, чем за линию. Упёршись в непроходимый для меня тупик, я подсмотрел в решение и увидел то, что в мой мозг поместится не смогло. Но всё же поверил - N-ное число Фибоначчи можно найти за логарифм от N.
Уже в универе, прикола ради я прочитал про логарифмический алгоритм и тогда моих мозгов уже хватило, чтоб понять.
Итак, выражение "
Получается, что получить
Идея в том, что мы раскладываем результат на множители, у которых показатели степени это степени двойки. То есть
Звучит нереально круто. Так я и жил все эти годы, будучи уверенным в том, что знаю ответ на основной вопрос жизни, Вселенной и всего остального - о том, как быстро можно посчитать N-ное число Фибоначчи.
А потом я наткнулся на это видео - "1 секунда на вычисление самого большого числа Фибоначчи". Уже будучи готовым ублажить свой мозг изучением той информации, которую знаю и так, в результате я упал лицом не просто в грязь, а в натуральное говно.
Длина!
Ряд Фибоначчи растёт примерно со скоростью
Для возведения матрицы степени
Да, оказалось, что всю жизнь я думал, что алгоритм, работающий за квадрат, работает за логарифм. Это самая большая ошибка в данной области, которую я совершал в жизни.
Однако, как оказалось, существуют способы умножать числа быстрее, чем за квадрат. Начав ресёрчить более подробно, оказалось, что, конечно же, есть специальные математики, занимающиеся алгоритмами в данной области.
А они там такое безумие наоткрывали, что это достойно отдельного поста.
Upd. Тем, кто говорит, что N-ное число Фибоначчи можно посчитать за O(1) аналитической формулой, советую подписаться на канал Stupidity Accumulator
@knowledge_accumulator
Я начал программировать в 7 классе (да, поздно), и тогда это заключалось в решении задачек олимпиадного типа.
Там мне, как полагается, встретилась задача про числа Фибоначчи (вдруг кто забыл,
F_{i+2} = F_{i+1} + F_i
). Условие простое - найдите N-ное число Фибоначчи за константную память и линейное время.К счастью, больших проблем это у меня не вызвало - простой цикл из 3 переменных. У задачи был пункт со звёздочкой - сделайте алгоритм, который работает быстрее, чем за линию. Упёршись в непроходимый для меня тупик, я подсмотрел в решение и увидел то, что в мой мозг поместится не смогло. Но всё же поверил - N-ное число Фибоначчи можно найти за логарифм от N.
Уже в универе, прикола ради я прочитал про логарифмический алгоритм и тогда моих мозгов уже хватило, чтоб понять.
Итак, выражение "
F_{i+2} = F_{i+1} + F_i
" можно сформулировать в виде операции умножения матрицы на вектор. Введём матрицу 2x2: [[1, 1], [1, 0]]
и вектор 2x1: [F_{i+1}, F_i]
. Их умножение даст [F_{i+2}, F_{i+1}]
, то есть проделает 1 итерацию по ряду Фибоначчи.Получается, что получить
F_n
можно, возведя эту матрицу в степень n
. Вот тут-то мы и приходим к крутой оптимизации - возведение в n
-ную степень можно делать не через n
умножений, а через log n
! Идея в том, что мы раскладываем результат на множители, у которых показатели степени это степени двойки. То есть
n^29 = n * n^4 * n^8 * n^16
. Всего таких множителей будет log n
, и получить их все тоже можно за log n
. По сути, это эквивалентно переводу n
в двоичную систему счисления.Звучит нереально круто. Так я и жил все эти годы, будучи уверенным в том, что знаю ответ на основной вопрос жизни, Вселенной и всего остального - о том, как быстро можно посчитать N-ное число Фибоначчи.
А потом я наткнулся на это видео - "1 секунда на вычисление самого большого числа Фибоначчи". Уже будучи готовым ублажить свой мозг изучением той информации, которую знаю и так, в результате я упал лицом не просто в грязь, а в натуральное говно.
Длина!
Ряд Фибоначчи растёт примерно со скоростью
1.6^n
, а значит, количество цифр в записи n
- ного числа Фибоначчи растёт линейно относительно n
. Как минимум, для записи результата нам нужно линейное время и линейная память. Но это полбеды.Для возведения матрицы степени
n
в квадрат нам нужно умножить 2 числа, длина которых около n
. А помните сложность возведения чисел в столбик? Аж целый n^2
. Таким образом, для очень больших n
итоговое количество сделанных операций выглядит как:k * n^2 + k * (n/2)^2 + k * (n/4)^2 + ... = O(n^2)
Да, оказалось, что всю жизнь я думал, что алгоритм, работающий за квадрат, работает за логарифм. Это самая большая ошибка в данной области, которую я совершал в жизни.
Однако, как оказалось, существуют способы умножать числа быстрее, чем за квадрат. Начав ресёрчить более подробно, оказалось, что, конечно же, есть специальные математики, занимающиеся алгоритмами в данной области.
А они там такое безумие наоткрывали, что это достойно отдельного поста.
Upd. Тем, кто говорит, что N-ное число Фибоначчи можно посчитать за O(1) аналитической формулой, советую подписаться на канал Stupidity Accumulator
@knowledge_accumulator
👍27😐12😁10❤2🔥2👀1
Природа власти над иерархией
Политикой я интересуюсь уже довольно давно, и на большинство вопросов и так называемых "противоречий" нашёл ответ ещё годы назад. Однако, среди них есть темы, которые находятся на другом уровне сложности познания, по сравнению с тем, какой должен быть МРОТ (никакой).
В этот прекрасный четверг я бы хотел обсудить то, на каких принципах удерживается власть в человеческих иерархиях.
Итак, ключевое отличие людей от других приматов - это способность собираться в стаи, которые на порядки больше обычных. У обезьян и многих других, когда они проживают сообществом, есть иерархия особей, и зачастую она строится просто по праву сильного. Это вполне понятно - в таких сообществах есть простой властный атрибут. У кого самый пушистый хвост или кто лучше всех бьёт морду, тот и главный.
Однако, в человеческих стаях, размером с миллионы людей и раскинутые по всей планете, такое не совсем присутствует. В части сообществ, в особенности в западных, присутствует ноу-хау - источником власти является процедура. Вся стая поверила, что данный алгоритм назначения и снятия вожака является валидным. Например, когда президент США уходит с поста, то в тот же день он теряет все свои полномочия до последней копейки.
Надо сказать, это гениальное изобретение. В первую очередь потому, что обеспечивает возможность отдать власть без каких-либо рисков. Это не изобретение для простого народа, это изобретение элиты для самой себя, которая хочет иметь возможность уйти на пенсию и отдыхать, а не сидеть в бункере до конца своих дней. Не утверждаю, что эта логика работает гладко - если ваша морда слишком сильно не подходит, то и в Европе могут и партию экстремисткой объявить, и выборы отменить.
А вот что там у персональных диктатур? В России иерархия не подчиняется процедуре, в России процедура подчиняется иерархии. При этом, у Владимира Путина нет никаких выдающихся атрибутов личности - ну подкаченный дед, гениальным его не назовёшь. У него нет за спиной какого-то источника силы, который принадлежит лишь ему.
Власть Путина это любопытный феномен - сам по себе он, как альфа-примат своей стаи, в одиночку обладает нулевой физической силой по сравнению с любым его охранником. Единственное, что можно назвать осязаемым атрибутом власти в России - это ядерный чемоданчик. Это действительно священный "силовой" артефакт в нашей стране. Однако, даже он не запускает ракеты напрямую, а лишь отдаёт сигнал на запуск. Даже неясно, не проигнорируют ли его исполнители при получении.
Я для себя вижу только одно логичное объяснение природы власти в таких ситуации - вожак является вожаком, потому что все остальные верят, что он вожак, и что он им останется. Как только кто-то проявит нелояльность, его тут же устранят другие. Но не потому, что они этого хотят, а потому, что если не сделать этого, то это само по себе проявление нелояльности, и тогда тебя накажут другие.
Однако, это рекурсия, вызываемая на конечном числе людей. В моменты, когда диктаторы теряют власть, происходит какая-то магия, практически щелчок пальцев, после которого все перестают верить в то, что вожак останется вожаком, и он моментально теряет всё. Эту тонкость я пока понял плохо.
Почему Чаушеску потерял власть, а Лукашенко нет? Каждый отвечает на этот вопрос по-разному, и, наверное, мне стоит вывести правильный ответ на этот вопрос, который, в отличие от ответов большинства, не будет рассыпаться при контакте с реальностью. Но займусь я этим в другой раз.
@knowledge_accumulator
Политикой я интересуюсь уже довольно давно, и на большинство вопросов и так называемых "противоречий" нашёл ответ ещё годы назад. Однако, среди них есть темы, которые находятся на другом уровне сложности познания, по сравнению с тем, какой должен быть МРОТ (никакой).
В этот прекрасный четверг я бы хотел обсудить то, на каких принципах удерживается власть в человеческих иерархиях.
Итак, ключевое отличие людей от других приматов - это способность собираться в стаи, которые на порядки больше обычных. У обезьян и многих других, когда они проживают сообществом, есть иерархия особей, и зачастую она строится просто по праву сильного. Это вполне понятно - в таких сообществах есть простой властный атрибут. У кого самый пушистый хвост или кто лучше всех бьёт морду, тот и главный.
Однако, в человеческих стаях, размером с миллионы людей и раскинутые по всей планете, такое не совсем присутствует. В части сообществ, в особенности в западных, присутствует ноу-хау - источником власти является процедура. Вся стая поверила, что данный алгоритм назначения и снятия вожака является валидным. Например, когда президент США уходит с поста, то в тот же день он теряет все свои полномочия до последней копейки.
Надо сказать, это гениальное изобретение. В первую очередь потому, что обеспечивает возможность отдать власть без каких-либо рисков. Это не изобретение для простого народа, это изобретение элиты для самой себя, которая хочет иметь возможность уйти на пенсию и отдыхать, а не сидеть в бункере до конца своих дней. Не утверждаю, что эта логика работает гладко - если ваша морда слишком сильно не подходит, то и в Европе могут и партию экстремисткой объявить, и выборы отменить.
А вот что там у персональных диктатур? В России иерархия не подчиняется процедуре, в России процедура подчиняется иерархии. При этом, у Владимира Путина нет никаких выдающихся атрибутов личности - ну подкаченный дед, гениальным его не назовёшь. У него нет за спиной какого-то источника силы, который принадлежит лишь ему.
Власть Путина это любопытный феномен - сам по себе он, как альфа-примат своей стаи, в одиночку обладает нулевой физической силой по сравнению с любым его охранником. Единственное, что можно назвать осязаемым атрибутом власти в России - это ядерный чемоданчик. Это действительно священный "силовой" артефакт в нашей стране. Однако, даже он не запускает ракеты напрямую, а лишь отдаёт сигнал на запуск. Даже неясно, не проигнорируют ли его исполнители при получении.
Я для себя вижу только одно логичное объяснение природы власти в таких ситуации - вожак является вожаком, потому что все остальные верят, что он вожак, и что он им останется. Как только кто-то проявит нелояльность, его тут же устранят другие. Но не потому, что они этого хотят, а потому, что если не сделать этого, то это само по себе проявление нелояльности, и тогда тебя накажут другие.
Однако, это рекурсия, вызываемая на конечном числе людей. В моменты, когда диктаторы теряют власть, происходит какая-то магия, практически щелчок пальцев, после которого все перестают верить в то, что вожак останется вожаком, и он моментально теряет всё. Эту тонкость я пока понял плохо.
Почему Чаушеску потерял власть, а Лукашенко нет? Каждый отвечает на этот вопрос по-разному, и, наверное, мне стоит вывести правильный ответ на этот вопрос, который, в отличие от ответов большинства, не будет рассыпаться при контакте с реальностью. Но займусь я этим в другой раз.
@knowledge_accumulator
89👍19💩15🤡6🤔4❤3🔥2👎1😁1😍1
Этот метод умножения использует каждый китайский второклассник
Ещё тысячелетия назад люди научились умножать числа "в столбик", тратя
Итак, некий старпёр из МГУ по имени Андрей Колмогоров в 1960 году проводил математический семинар. На нём он сказал: "Мы уже тысячелетиями знаем про столбик, но так и не нашли ничего быстрее. Наверное, это и есть теоретически оптимальный алгоритм для такой операции".
На семинаре присутствовал 23-летний Толян. В отличие от Колмогорова, Толян в математике разбирался и на авторитетные мнения срал с крыши небоскрёба. Уже через неделю он предложил новый быстрый метод умножения.
Для начала числа нужно разложить "пополам" в виде выражения
Мы хотим умножить
И тут Толян заметил fun fact:
Итоговая сложность:
В 1971 году к серверу подключились Шёнхаге и Штрассен - тот самый, кто придумал быстрое умножение матриц. В своём телеграм-канале они запостили алгоритм, умножающий числа за
Число длины
Алгоритм заключается в следующем: сначала вычисляем изначальные полиномы в
Наивная имплементация этой логики даёт квадратичную сложность. Однако, быстрое дискретное преобразование Фурье, выбор правильной степени разложения и ряд других умных оптимизаций позволяют получить ту самую сложность
В 2019 году был предложен метод, который в теории способен умножать числа за
На текущий момент не доказано, что
@knowledge_accumulator
Ещё тысячелетия назад люди научились умножать числа "в столбик", тратя
O(n^2)
операций. Однако, потом произошёл сюжетный поворот. Далее пересказываю его, опираясь на достоверный источник - Википедию.Итак, некий старпёр из МГУ по имени Андрей Колмогоров в 1960 году проводил математический семинар. На нём он сказал: "Мы уже тысячелетиями знаем про столбик, но так и не нашли ничего быстрее. Наверное, это и есть теоретически оптимальный алгоритм для такой операции".
На семинаре присутствовал 23-летний Толян. В отличие от Колмогорова, Толян в математике разбирался и на авторитетные мнения срал с крыши небоскрёба. Уже через неделю он предложил новый быстрый метод умножения.
Для начала числа нужно разложить "пополам" в виде выражения
ax+b
, где x
это "круглое число", примерно равное корню из числа. Например, 11113333 = 1111 * 10^4 + 3333. То есть a
и b
это числа в 2 раза короче оригинального. Мы хотим умножить
ax + b
и cx + d
. (ax + b)(cx + d) = ac x^2 + (ad + bc) x + bd
. Так, умножение 2 чисел длиной N мы превратили в 4 умножения длиной N/2 и парочку линейных операций.И тут Толян заметил fun fact:
ad + bc = ad + bc + ac + bd - ac - bd = (a+b)(c+d) - ac - bd
. ac
и bd
мы уже умножаем и так для других коэффициентов, а (a+b)(c+d)
это только одно дополнительное умножение вместо двух. Получается, что одно из 4 умножений можно сэкономить!Итоговая сложность:
k*N + 3*k*(N/2) + 9*k*(N/4) + .... ~ O(N^1.6)
. Метод так и назвали в честь Толяна - алгоритм Карацубы. В 1971 году к серверу подключились Шёнхаге и Штрассен - тот самый, кто придумал быстрое умножение матриц. В своём телеграм-канале они запостили алгоритм, умножающий числа за
O(N * log n * log (log n))
. Число длины
N
можно представить в виде полинома степени K
от заданного основания B
: x_0 + x_1 * B + x_2 * B^2 + ...
У нас есть 2 таких полинома, и результатом их умножения является ещё один полином степени до 2K
. Очевидно, подставляя любое значение вместо B
, мы будем получать корректное равенство между произведением изначальных значений полинома и значением результирующего полинома.Алгоритм заключается в следующем: сначала вычисляем изначальные полиномы в
2K
точках, потом умножаем между собой эти результаты (в выбираемых точках они маленькие), а дальше можно восстановить коэффициенты результирующего полинома по этим 2K
точкам. Наивная имплементация этой логики даёт квадратичную сложность. Однако, быстрое дискретное преобразование Фурье, выбор правильной степени разложения и ряд других умных оптимизаций позволяют получить ту самую сложность
O(N * log n * log (log n))
. Детали этого процесса за гранью моего понимания.В 2019 году был предложен метод, который в теории способен умножать числа за
O(N log N)
. К сожалению, спрятанная константа здесь настолько большая, что его не имеет смысла применять в каких-то реальных ситуациях. На текущий момент не доказано, что
O(N log N)
- это нижняя грань сложности умножения 2 чисел. Лишь несуществование линейного алгоритма следует из одной из нерешённых проблем в Computer Science. Вот и живите теперь с этим.@knowledge_accumulator
4👍25😁7❤6🤔2😱1🤡1
Как моя цель на год оказалась худшим хобби, которое я пробовал
Несколько месяцев назад я начал пытаться стать неплохим игроком в iRacing - это самый популярный онлайн-симулятор гонок, в который играют в том числе и настоящие спортсмены.
Моя любимая жена провела ресёрч и подарила прекрасные Entry-level руль и педали, а также мы потом собрали специальную херовину для стабилизации всей конструкции и кресла. Я был готов покорять вершины, но не был готов к реальности.
Каждая конкретная соревновательная гонка - это поездка по заранее известной трассе. Её нужно знать наизусть до мелочей - передачу, скорость и траекторию на каждом повороте. Чем выше ваш скилл, тем быстрее вы учите трассу, но суть этого неизменна. Перед заездами нужно проводить часы в режиме практики.
И вот, началась настоящая гонка. Теперь вы и ещё 10 чуваков должны ехать по этой трассе. И здесь есть 2 сценария:
Ваш рейтинг ниже медианного
Это не гонка, это голодные игры. Люди не знают правильных траекторий и едут по-разному, но при этом продолжают ехать рядом. Естественно, они сразу начинают врезаться друг в друга и попадать на 2+ минуты ремонта.
Попасть в топ можно, если просто держать большую дистанцию и ехать спокойно - большая часть машин разъебётся и не доедет до финиша. Играть здесь скучно - это как симулятор городского вождения в сеттинге апокалипсиса.
Ваш рейтинг выше медианного
Весь ваш состав проезжает трассу почти идеально. Если Макс Ферстаппен проезжает трассу за 1:20, то почти все покажут результат в районе 1:22 - 1:24. По паре десятых секунд вы теряете на каждом повороте, потому что нажали тормоз на 5% сильнее или на 0.1 секунду раньше.
Это испытание вашей выносливости - в течение 10+ минут надо почти безошибочно пройти сотню поворотов. Но тут соперники вновь усугубляют ситуацию:
Почти в упор перед вами и сзади вас едут машины примерно в том же темпе. Любая ваша ошибка подставит не только вас, но и несколько других игроков, и вы все вместе улетите на последние места.
А ведь машины ещё и пытаются друг друга обогнать! Если вы не очень продвинутый игрок, вы не умеете правильно обгонять и реагировать на обгон. В итоге, больше половины обгонов заканчивается тем, что как минимум один улетает с трассы.
Весь этот ужас накладывается на самую большую проблему гонок - управление. Дело в том, что тормоз на 50%, 70%, 90% - это действия с принципиально разным результатом в контексте реальной гонки. Для иллюстрации безумия предлагаю вообразить интересную игру - автошахматы.
Теперь, чтобы сделать ход, вы нажимаете на педаль, которая за 3 секунды перебирает все ваши фигуры, и момент, когда вы её отпустите, определит фигуру. Направление хода будете определять с помощью руля, а количество пройденных клеток будет зависеть от силы нажатия на вторую педаль в момент отпускания первой.
Удобно? Вот этим и занимаются гонщики.
В начале я был заряжен на успех и даже слил пару сотен баксов на курс. Он был неплохой сам по себе, но стало понятно, что учиться нажимать педаль ровно на 80%, а не на 70% и на 90% это выше моего предела скуки. Надо сказать, я всё же дошёл до медианного рейтинга, так что, изначальную задачу в итоге выполнил.
Но в итоге, сам процесс игры приносит гораздо больше отрицательных эмоций, чем фана. Достаточно одного дебила, въехавшего в бок в конце 10-минутной гонки, чтобы перекрыть радость от кучи побед, каждая из которых это тоже скорее облегчение от того, что это закончилось.
@knowledge_accumulator
Несколько месяцев назад я начал пытаться стать неплохим игроком в iRacing - это самый популярный онлайн-симулятор гонок, в который играют в том числе и настоящие спортсмены.
Моя любимая жена провела ресёрч и подарила прекрасные Entry-level руль и педали, а также мы потом собрали специальную херовину для стабилизации всей конструкции и кресла. Я был готов покорять вершины, но не был готов к реальности.
Каждая конкретная соревновательная гонка - это поездка по заранее известной трассе. Её нужно знать наизусть до мелочей - передачу, скорость и траекторию на каждом повороте. Чем выше ваш скилл, тем быстрее вы учите трассу, но суть этого неизменна. Перед заездами нужно проводить часы в режиме практики.
И вот, началась настоящая гонка. Теперь вы и ещё 10 чуваков должны ехать по этой трассе. И здесь есть 2 сценария:
Ваш рейтинг ниже медианного
Это не гонка, это голодные игры. Люди не знают правильных траекторий и едут по-разному, но при этом продолжают ехать рядом. Естественно, они сразу начинают врезаться друг в друга и попадать на 2+ минуты ремонта.
Попасть в топ можно, если просто держать большую дистанцию и ехать спокойно - большая часть машин разъебётся и не доедет до финиша. Играть здесь скучно - это как симулятор городского вождения в сеттинге апокалипсиса.
Ваш рейтинг выше медианного
Весь ваш состав проезжает трассу почти идеально. Если Макс Ферстаппен проезжает трассу за 1:20, то почти все покажут результат в районе 1:22 - 1:24. По паре десятых секунд вы теряете на каждом повороте, потому что нажали тормоз на 5% сильнее или на 0.1 секунду раньше.
Это испытание вашей выносливости - в течение 10+ минут надо почти безошибочно пройти сотню поворотов. Но тут соперники вновь усугубляют ситуацию:
Почти в упор перед вами и сзади вас едут машины примерно в том же темпе. Любая ваша ошибка подставит не только вас, но и несколько других игроков, и вы все вместе улетите на последние места.
А ведь машины ещё и пытаются друг друга обогнать! Если вы не очень продвинутый игрок, вы не умеете правильно обгонять и реагировать на обгон. В итоге, больше половины обгонов заканчивается тем, что как минимум один улетает с трассы.
Весь этот ужас накладывается на самую большую проблему гонок - управление. Дело в том, что тормоз на 50%, 70%, 90% - это действия с принципиально разным результатом в контексте реальной гонки. Для иллюстрации безумия предлагаю вообразить интересную игру - автошахматы.
Теперь, чтобы сделать ход, вы нажимаете на педаль, которая за 3 секунды перебирает все ваши фигуры, и момент, когда вы её отпустите, определит фигуру. Направление хода будете определять с помощью руля, а количество пройденных клеток будет зависеть от силы нажатия на вторую педаль в момент отпускания первой.
Удобно? Вот этим и занимаются гонщики.
В начале я был заряжен на успех и даже слил пару сотен баксов на курс. Он был неплохой сам по себе, но стало понятно, что учиться нажимать педаль ровно на 80%, а не на 70% и на 90% это выше моего предела скуки. Надо сказать, я всё же дошёл до медианного рейтинга, так что, изначальную задачу в итоге выполнил.
Но в итоге, сам процесс игры приносит гораздо больше отрицательных эмоций, чем фана. Достаточно одного дебила, въехавшего в бок в конце 10-минутной гонки, чтобы перекрыть радость от кучи побед, каждая из которых это тоже скорее облегчение от того, что это закончилось.
@knowledge_accumulator
1😁20👍12🙈5❤3🤡2💔2🔥1
ARC-AGI-3
Напомню общую концепцию бенчмарков ARC-AGI. Вместо того, чтобы проверять модель на публично доступных данных и том же типе вопросов, на котором учили, мы пытаемся ставить перед моделью по-настоящему новую задачу и проверяем её способность обобщать.
Всего несколько месяцев назад была выпущена ARC-AGI-2, которая в целом не сильно отличается от первой версии, и обе были про решение простых визуальных задачек. А вот третья версия сменила формат и превратилась в игровой бенчмарк. Я прошёл все три доступные задачи и почувствовал суть происходящего.
Без каких-либо объяснений вас кидают в простенькую 2D-игру. Наша человеческая интуиция позволяет всего лишь за десятки действий построить модель этого мира и двигаться вперёд. При этом, авторы явно постарались сделать их совершенно непохожими на уже существующие игры.
Взгляните на прикреплённую картинку. В этой игре вы можете только кликать в произвольном месте. Ткнув в синий квадрат, вы обнаружите, что он меняет цвет на красный, и потом обратно при повторном клике. Так как на экране нет ничего примечательного, кроме квадрата в центре, почти первое, что будет делать человек - это пытаться повторить этот паттерн с помощью квадратов вокруг. И это будет победой над уровнем.
Дальнейшие уровни преследуют ту же цель, но вводят дополнительные механики, увеличивают сложность и размер. На последних я уже даже потупил какое-то время.
Нет никаких сомнений, что в эту и другие игры компьютер может научиться играть - шок, но RL существовал до того, как его стали применять в чат-ботах. Главное испытание - это скорость адаптации.
При обучении RL с нуля это большая проблема. Когда-то я рассказывал про прорывную работу на бенчмарке Atari-100K, где пытаются достичь хорошего уровня "всего" за 100 тысяч кадров. Это тот минимальный масштаб, на котором оперируют текущие методы, причём, в Atari почти нет меняющихся уровней.
Здесь постановка другая. Авторы не предполагают, что модель будет учиться с нуля. Они хотят, чтобы тестируемая модель принесла с собой хорошую интуицию про базовые концепции объектов, симметрии и т.д., и смогла с той же скоростью, что и мы, понять новые правила, а затем придерживаться плана победы и совершать какие-то длинные составные действия.
Для меня остаётся тривиальным вопрос о том, как такое решать - обучаемые алгоритмы, когда отскейлятся, такой бенчмарк съедят не жуя. Интересно то, как и когда к этому подступятся модели из текущей AI-волны. Очень скоро выходит GPT-5. У неё обязательно получится, ведь так?
@knowledge_accumulator
Напомню общую концепцию бенчмарков ARC-AGI. Вместо того, чтобы проверять модель на публично доступных данных и том же типе вопросов, на котором учили, мы пытаемся ставить перед моделью по-настоящему новую задачу и проверяем её способность обобщать.
Всего несколько месяцев назад была выпущена ARC-AGI-2, которая в целом не сильно отличается от первой версии, и обе были про решение простых визуальных задачек. А вот третья версия сменила формат и превратилась в игровой бенчмарк. Я прошёл все три доступные задачи и почувствовал суть происходящего.
Без каких-либо объяснений вас кидают в простенькую 2D-игру. Наша человеческая интуиция позволяет всего лишь за десятки действий построить модель этого мира и двигаться вперёд. При этом, авторы явно постарались сделать их совершенно непохожими на уже существующие игры.
Взгляните на прикреплённую картинку. В этой игре вы можете только кликать в произвольном месте. Ткнув в синий квадрат, вы обнаружите, что он меняет цвет на красный, и потом обратно при повторном клике. Так как на экране нет ничего примечательного, кроме квадрата в центре, почти первое, что будет делать человек - это пытаться повторить этот паттерн с помощью квадратов вокруг. И это будет победой над уровнем.
Дальнейшие уровни преследуют ту же цель, но вводят дополнительные механики, увеличивают сложность и размер. На последних я уже даже потупил какое-то время.
Нет никаких сомнений, что в эту и другие игры компьютер может научиться играть - шок, но RL существовал до того, как его стали применять в чат-ботах. Главное испытание - это скорость адаптации.
При обучении RL с нуля это большая проблема. Когда-то я рассказывал про прорывную работу на бенчмарке Atari-100K, где пытаются достичь хорошего уровня "всего" за 100 тысяч кадров. Это тот минимальный масштаб, на котором оперируют текущие методы, причём, в Atari почти нет меняющихся уровней.
Здесь постановка другая. Авторы не предполагают, что модель будет учиться с нуля. Они хотят, чтобы тестируемая модель принесла с собой хорошую интуицию про базовые концепции объектов, симметрии и т.д., и смогла с той же скоростью, что и мы, понять новые правила, а затем придерживаться плана победы и совершать какие-то длинные составные действия.
Для меня остаётся тривиальным вопрос о том, как такое решать - обучаемые алгоритмы, когда отскейлятся, такой бенчмарк съедят не жуя. Интересно то, как и когда к этому подступятся модели из текущей AI-волны. Очень скоро выходит GPT-5. У неё обязательно получится, ведь так?
@knowledge_accumulator
1👍13❤2😁1🤔1
Что хуже - гонки в компьютере или реальные гонки?
Неделю назад я написал пост о том, как я пережил пару месяцев занятий самыми приближенными к реальности виртуальными гонками. Но то, с чего они списаны - собственно, настоящие гонки, заслуживает отдельного внимания.
Я несколько раз за жизнь посещал картинг, и очень доволен этим опытом. Ты уже едешь быстро, но это практически не опасно. Погонять вместе с друзьями, которые такие же "профессионалы" - это классная форма социального взаимодействия.
Переходя к более быстрым машинам, всевозможные риски многократно повышаются - при столкновении испортишь и дорогую машину, и себя. Это уже начинает переходить в разряд экстремальных развлечений, а я такой хернёй не занимаюсь.
Само по себе серьёзное занятие гонками в реальности - такая же нудятина, как и в виртуальном мире - годами тренируешь свою мышечную память, чтобы жопой чувствовать машину и идеально точно совершать действия для оптимального прохождения поворота.
По сравнению с виртуальными гонками это как бы лучше тем, что в процессе ты получаешь адреналин от быстрой езды. С другой стороны, уже нет возможности так легко проверять пределы твоей машины, потому что стена, в которую ты влетишь, реальная.
Получается, что реальными гонками заниматься едва ли лучше, чем виртуальными, если нет цели подвергать себя риску и получать от этого удовольствие.
Но помимо занятий гонками в обществе гораздо более популярен другой феномен - а именно, на гонки любят смотреть. Для примера рассмотрим Формулу 1.
Понятно, что быть пилотом такой машины безумно сложно и требует доведения до идеала всех тех механизмов мышечной памяти, о которых я говорил. Но со стороны невозможно почувствовать то, через что проходит гонщик, и зрителю доступна лишь видимая часть происходящего.
Итак, несколько профессионалов, едущих с разницей в скорости примерно в 1%, мучают трассу до посинения. Казалось бы - гораздо интереснее наблюдать за муравейником. Однажды я наткнулся на видео - "ЗАЧЕМ СМОТРЕТЬ ФОРМУЛУ 1?", и понял - мне нужно знать ответ на этот вопрос. Краткое содержание от лица автора:
F1 - вершина автоспорта. Во-первых, из-за скорости. Хотя вообще-то мотоциклы едут быстрее, но зато машины F1 проезжают трассу не за 2 минуты, а за полторы.
Ну быстрые, и что с того? Такие скорости не только увлекательные, но ещё и несут опасность. Вообще многие смотрят F1 ради того, чтобы увидеть аварию. Но просто сидеть и ждать, когда она произойдёт, это так себе. Нужна борьба!
Тут соревнуются не только гонщики, но производители машин, пытающиеся собрать самую быструю из всех. Правда, в последнее время всё выигрывает одна и та же команда. Но тут уж развлекайте себя сами - выберите какого-нибудь лошка и начните за него болеть, вдруг выиграет!
Но вообще F1 не заканчивается на трассе, это полноценное шоу за её пределами. Можно следить за новостями и будет очень весело! Так что всё, бегом смотреть.
В целом, мне всё стало понятно. Как и в других безумно скучных видах спорта, типа футбола, фанаты прикрываются наличием лора вокруг этого спорта. Вместо того, чтобы быть мужиком и признаться себе, что любишь смотреть на шоу с прикольными персонажами и начать смотреть Дом-2, в котором Колян Должанский создал в одиночку больше смешных моментов, чем вся формула, они притворяются, что им нравится машинки.
Не ведитесь на эту пропаганду.
@knowledge_accumulator
Неделю назад я написал пост о том, как я пережил пару месяцев занятий самыми приближенными к реальности виртуальными гонками. Но то, с чего они списаны - собственно, настоящие гонки, заслуживает отдельного внимания.
Я несколько раз за жизнь посещал картинг, и очень доволен этим опытом. Ты уже едешь быстро, но это практически не опасно. Погонять вместе с друзьями, которые такие же "профессионалы" - это классная форма социального взаимодействия.
Переходя к более быстрым машинам, всевозможные риски многократно повышаются - при столкновении испортишь и дорогую машину, и себя. Это уже начинает переходить в разряд экстремальных развлечений, а я такой хернёй не занимаюсь.
Само по себе серьёзное занятие гонками в реальности - такая же нудятина, как и в виртуальном мире - годами тренируешь свою мышечную память, чтобы жопой чувствовать машину и идеально точно совершать действия для оптимального прохождения поворота.
По сравнению с виртуальными гонками это как бы лучше тем, что в процессе ты получаешь адреналин от быстрой езды. С другой стороны, уже нет возможности так легко проверять пределы твоей машины, потому что стена, в которую ты влетишь, реальная.
Получается, что реальными гонками заниматься едва ли лучше, чем виртуальными, если нет цели подвергать себя риску и получать от этого удовольствие.
Но помимо занятий гонками в обществе гораздо более популярен другой феномен - а именно, на гонки любят смотреть. Для примера рассмотрим Формулу 1.
Понятно, что быть пилотом такой машины безумно сложно и требует доведения до идеала всех тех механизмов мышечной памяти, о которых я говорил. Но со стороны невозможно почувствовать то, через что проходит гонщик, и зрителю доступна лишь видимая часть происходящего.
Итак, несколько профессионалов, едущих с разницей в скорости примерно в 1%, мучают трассу до посинения. Казалось бы - гораздо интереснее наблюдать за муравейником. Однажды я наткнулся на видео - "ЗАЧЕМ СМОТРЕТЬ ФОРМУЛУ 1?", и понял - мне нужно знать ответ на этот вопрос. Краткое содержание от лица автора:
F1 - вершина автоспорта. Во-первых, из-за скорости. Хотя вообще-то мотоциклы едут быстрее, но зато машины F1 проезжают трассу не за 2 минуты, а за полторы.
Ну быстрые, и что с того? Такие скорости не только увлекательные, но ещё и несут опасность. Вообще многие смотрят F1 ради того, чтобы увидеть аварию. Но просто сидеть и ждать, когда она произойдёт, это так себе. Нужна борьба!
Тут соревнуются не только гонщики, но производители машин, пытающиеся собрать самую быструю из всех. Правда, в последнее время всё выигрывает одна и та же команда. Но тут уж развлекайте себя сами - выберите какого-нибудь лошка и начните за него болеть, вдруг выиграет!
Но вообще F1 не заканчивается на трассе, это полноценное шоу за её пределами. Можно следить за новостями и будет очень весело! Так что всё, бегом смотреть.
В целом, мне всё стало понятно. Как и в других безумно скучных видах спорта, типа футбола, фанаты прикрываются наличием лора вокруг этого спорта. Вместо того, чтобы быть мужиком и признаться себе, что любишь смотреть на шоу с прикольными персонажами и начать смотреть Дом-2, в котором Колян Должанский создал в одиночку больше смешных моментов, чем вся формула, они притворяются, что им нравится машинки.
Не ведитесь на эту пропаганду.
@knowledge_accumulator
1👍15🗿11❤5😁4👎2🤪2👌1🤡1
Revisiting Neural Retrieval on Accelerators [2023]
Довольно часто в рекомендательной системе есть кандидатогенератор, отдающий порядка тысячи кандидатов, а дальше в дело уже вступает ранжирующая модель.
Авторы данной статьи непрозрачно намекают, что использование dot product для генерации кандидатов - отстой. Матрица скалярных произведений всех на всех получается с помощью умножения 2 матриц вдоль размерности длины d - размера эмбеддинга, а значит ранг итоговой матрицы ограничен этим самым d, тогда как реальность сложнее.
Бывает, что в сервисе есть ещё одна, более лёгкая стадия ранжирования, которая может забрать больше документов из кандгена и проскорить получше их перед подачей в тяжёлую модель. Авторы этой работы решили добиться максимум возможного из этого подхода.
Начнём с самой первой стадии. Авторы почему-то ненавидят HNSW, и поэтому используют эмбеддинг небольшого размера (64), чтобы можно было проскорить ваще всю базу и получить 100к кандидатов. Но им не нужно ровно 100к, поэтому используется approximate top-k.
Допустим, мы хотим достать 100к из миллиарда. Их будет разделять порог по похожести x. Этот порог можно оценить, засэмплив миллион документов и посчитав похожесть 100-го. Затем можно, используя этот порог, пробежаться по всей базе и отсеять документы. Итоговая сложность алгоритма падает с O(N log k) до O(N + rN * log rk), где r - доля сабсэмплинга. В реальности получается в 2.5 раза быстрее.
Дальше к этим 100к кандидатам применяется так называемая Mixture of Logits (MoL) - модель, которая берёт на вход эмбеддинг пользователя и айтема и выдаёт их похожесть, которая по выразительности находится между MLP и Dot Product.
Оба входных вектора нарезаются на куски размером по d - будем называть их подвекторами. Далее мы берём ku подвекторов пользователя и kx подвекторов документа и считаем ku*kx скалярных произведений друг на друга. Далее этот вектор скалярно умножается на вектор весов pi(x, u), который считается как линейный слой + софтмакс от на основе конката тех самых скалярных произведений и ещё двух векторов юзерных и айтемных фичей.
Авторы уделяют много времени оптимизациям, в том числе дизайна своего GPU kernel, правда, к сожалению, я так и не увидел понятного описания того, во сколько раз в точно таких же условиях оно применяется медленнее, чем dot product. Но суммарно эти 2 стадии могут прожевать в 1.8 раз меньше, чем просто top-k dot product. По качеству оно его при этом сильно превосходит.
@knowledge_accumulator
Довольно часто в рекомендательной системе есть кандидатогенератор, отдающий порядка тысячи кандидатов, а дальше в дело уже вступает ранжирующая модель.
Авторы данной статьи непрозрачно намекают, что использование dot product для генерации кандидатов - отстой. Матрица скалярных произведений всех на всех получается с помощью умножения 2 матриц вдоль размерности длины d - размера эмбеддинга, а значит ранг итоговой матрицы ограничен этим самым d, тогда как реальность сложнее.
Бывает, что в сервисе есть ещё одна, более лёгкая стадия ранжирования, которая может забрать больше документов из кандгена и проскорить получше их перед подачей в тяжёлую модель. Авторы этой работы решили добиться максимум возможного из этого подхода.
Начнём с самой первой стадии. Авторы почему-то ненавидят HNSW, и поэтому используют эмбеддинг небольшого размера (64), чтобы можно было проскорить ваще всю базу и получить 100к кандидатов. Но им не нужно ровно 100к, поэтому используется approximate top-k.
Допустим, мы хотим достать 100к из миллиарда. Их будет разделять порог по похожести x. Этот порог можно оценить, засэмплив миллион документов и посчитав похожесть 100-го. Затем можно, используя этот порог, пробежаться по всей базе и отсеять документы. Итоговая сложность алгоритма падает с O(N log k) до O(N + rN * log rk), где r - доля сабсэмплинга. В реальности получается в 2.5 раза быстрее.
Дальше к этим 100к кандидатам применяется так называемая Mixture of Logits (MoL) - модель, которая берёт на вход эмбеддинг пользователя и айтема и выдаёт их похожесть, которая по выразительности находится между MLP и Dot Product.
Оба входных вектора нарезаются на куски размером по d - будем называть их подвекторами. Далее мы берём ku подвекторов пользователя и kx подвекторов документа и считаем ku*kx скалярных произведений друг на друга. Далее этот вектор скалярно умножается на вектор весов pi(x, u), который считается как линейный слой + софтмакс от на основе конката тех самых скалярных произведений и ещё двух векторов юзерных и айтемных фичей.
Авторы уделяют много времени оптимизациям, в том числе дизайна своего GPU kernel, правда, к сожалению, я так и не увидел понятного описания того, во сколько раз в точно таких же условиях оно применяется медленнее, чем dot product. Но суммарно эти 2 стадии могут прожевать в 1.8 раз меньше, чем просто top-k dot product. По качеству оно его при этом сильно превосходит.
@knowledge_accumulator
1👍10❤3🔥1
Чем является язык?
Встречали ли вы когда-нибудь в своей жизни людей, борющихся за чистоту языка? Таких, которые осуждают за то, что ты использовал английское слово, у которого есть аналог на родном языке? Может быть, вы и сами такой?
Считаю, что этот вопрос далеко не является изолированным от остальных взглядов человека. Он отражает весьма глубокие представления о том, что является первичным - человек или система.
Если первична именно система, то над всеми людьми нависает некая более важная сущность. Это проникновение программистского склада ума в реальную жизнь - всё должно быть оптимально задизайнено и поддерживаться из центра, а все остальные должны подчиняться.
Это же касается и языка. Есть «правильный» язык, которым сторонник таких взглядов объективно посчитал тот, на котором говорит сам, и все остальные должны следовать этой парадигме.
Сотни тысяч лет язык эволюционировал, чтобы то, что получилось именно в 2025 году, стало нужно законсервировать. Необходимо создать министерство языка, которое определяет единственно верные правила, и полностью остановить процесс заимствования новых слов.
А какая у такого взгляда альтернатива? Какие выводы о языке будут вытекать из предположения о том, что человек стоит выше всего?
Во-первых, использовать нужно те слова, которые передадут твою мысль. Большое количество заимствований и англицизмов это не баг и «порча» языка. Zoom out, и вы поймёте, что это не что иное, как объединение многих языков в один в масштабе тысячелетий.
Но самый главный вывод в том, что в языке нет настоящих «правил» и «ошибок». Люди просто придерживаются паттернов, которые упрощают понимание текста. Я, бы мог, ставить, запятые где, угодно, или песать с ашыбками, но всё, к чему это приведёт - повышенное напряжение у читающего и меньшая скорость письма.
Если появляется новый паттерн, который многие используют, то пусть душнилы считают это ошибкой или чем угодно, но теперь это полноценная часть языка. Кофе сделал свой транспереход задолго до официального признания. Кстати, были ли протесты по этому поводу на красной площади?
Официально разрешаю вам использовать «ихний» и даже «егоный», а также одевать одежду. Только Надежду на надевайте.
@knowledge_accumulator
Встречали ли вы когда-нибудь в своей жизни людей, борющихся за чистоту языка? Таких, которые осуждают за то, что ты использовал английское слово, у которого есть аналог на родном языке? Может быть, вы и сами такой?
Считаю, что этот вопрос далеко не является изолированным от остальных взглядов человека. Он отражает весьма глубокие представления о том, что является первичным - человек или система.
Если первична именно система, то над всеми людьми нависает некая более важная сущность. Это проникновение программистского склада ума в реальную жизнь - всё должно быть оптимально задизайнено и поддерживаться из центра, а все остальные должны подчиняться.
Это же касается и языка. Есть «правильный» язык, которым сторонник таких взглядов объективно посчитал тот, на котором говорит сам, и все остальные должны следовать этой парадигме.
Сотни тысяч лет язык эволюционировал, чтобы то, что получилось именно в 2025 году, стало нужно законсервировать. Необходимо создать министерство языка, которое определяет единственно верные правила, и полностью остановить процесс заимствования новых слов.
А какая у такого взгляда альтернатива? Какие выводы о языке будут вытекать из предположения о том, что человек стоит выше всего?
Во-первых, использовать нужно те слова, которые передадут твою мысль. Большое количество заимствований и англицизмов это не баг и «порча» языка. Zoom out, и вы поймёте, что это не что иное, как объединение многих языков в один в масштабе тысячелетий.
Но самый главный вывод в том, что в языке нет настоящих «правил» и «ошибок». Люди просто придерживаются паттернов, которые упрощают понимание текста. Я, бы мог, ставить, запятые где, угодно, или песать с ашыбками, но всё, к чему это приведёт - повышенное напряжение у читающего и меньшая скорость письма.
Если появляется новый паттерн, который многие используют, то пусть душнилы считают это ошибкой или чем угодно, но теперь это полноценная часть языка. Кофе сделал свой транспереход задолго до официального признания. Кстати, были ли протесты по этому поводу на красной площади?
Официально разрешаю вам использовать «ихний» и даже «егоный», а также одевать одежду. Только Надежду на надевайте.
@knowledge_accumulator
1👍28❤6🔥3🤔3🤮2👎1💯1
LogQ correction
По малообъяснимой причине, я испытываю неприязнь к LogQ correction. Какая-то она слишком душная. Но всё же я стремлюсь оценивать идеи по их полезности, а не красоте. Поэтому сегодня я взгляну ей прямо в глаза и перерасскажу смысл вам.
Итак, в рекомендательных системах в каком-то смысле пытаются выучить распределение p(item | user), показывающее распределение на айтемы, с которыми пользователь положительно взаимодействует.
Для обучения нам нужны позитивные пары и негативные пары. Если в задаче ранкинга очень важны сложные негативы, и поэтому мы берём их из показов пользователя, для ретривала нам важнее уметь фильтровать полный мусор.
Поэтому ретривал-модели часто обучают следующим образом - берут батч (user_1, item_1), (user_2, item_2). Из N таких пар создают N * (N - 1) негативов, то есть каждого пользователя сопоставляют со всеми чужими документами. Получается халява - тяжёлую эмбеддинг модель мы применили 2*N раз, а получили N^2 обучающих сэмплов.
На практике матрицу юзерных эмбедов просто домножают на транспонированную матрицу документов, получаем много логитов, и в каждой строчке получается по одному p(item | user_i). Дальше применяем софтмакс и учим.
И тут в комнату входит душнила-математик -
«Вообще-то, при обучении такого классификатора важно честно оценить знаменатель при нормализации вероятности положительного документа. Если бы вы суммировали по всем документам, то можно и так, но в ваших негативах чаще других представлены популярные документы, являющиеся позитивами у других пользователей. Вы штрафуете их сильнее, чем надо»
Справедливо. Тут-то и приходит на помощь эта самая LogQ коррекция. По сути это просто importance sampling веса на негативные сэмплы, считающиеся как доля этого документа во всем датасете. Самое противное, что на полу она не валяется, и нужно заморачиваться с тем, чтобы её оценивать и добавлять в фичи, ну или как-то ещё её доставать.
И если вам было недостаточно душно в этой комнате, тут в неё заходит Кирилл @inforetriever
«Вообще-то, у вас тут в вашей коррекции ошибочка. Вы неправильно считаете вес для положительного айтема в знаменателе. Его вероятность в нём оказаться отличается от негативных документов»
В статье, от названия которой мне плохо - “Correcting the LogQ correction” - Кирилл и соавторы выписывают ну уже точно правильную формулу лосса для честной оптимизации likelihood. Там не очень сложно, но пересказывать тут в деталях откажусь, я только что позавтракал.
Судя по замерам, это добавляет качества. Конечно, не так много, как сама LogQ, но всё же это приятный результат, так что поздравляю авторов с успешным исследованием.
Боже упаси делать Retrieval🙏
@knowledge_accumulator
По малообъяснимой причине, я испытываю неприязнь к LogQ correction. Какая-то она слишком душная. Но всё же я стремлюсь оценивать идеи по их полезности, а не красоте. Поэтому сегодня я взгляну ей прямо в глаза и перерасскажу смысл вам.
Итак, в рекомендательных системах в каком-то смысле пытаются выучить распределение p(item | user), показывающее распределение на айтемы, с которыми пользователь положительно взаимодействует.
Для обучения нам нужны позитивные пары и негативные пары. Если в задаче ранкинга очень важны сложные негативы, и поэтому мы берём их из показов пользователя, для ретривала нам важнее уметь фильтровать полный мусор.
Поэтому ретривал-модели часто обучают следующим образом - берут батч (user_1, item_1), (user_2, item_2). Из N таких пар создают N * (N - 1) негативов, то есть каждого пользователя сопоставляют со всеми чужими документами. Получается халява - тяжёлую эмбеддинг модель мы применили 2*N раз, а получили N^2 обучающих сэмплов.
На практике матрицу юзерных эмбедов просто домножают на транспонированную матрицу документов, получаем много логитов, и в каждой строчке получается по одному p(item | user_i). Дальше применяем софтмакс и учим.
И тут в комнату входит душнила-математик -
«Вообще-то, при обучении такого классификатора важно честно оценить знаменатель при нормализации вероятности положительного документа. Если бы вы суммировали по всем документам, то можно и так, но в ваших негативах чаще других представлены популярные документы, являющиеся позитивами у других пользователей. Вы штрафуете их сильнее, чем надо»
Справедливо. Тут-то и приходит на помощь эта самая LogQ коррекция. По сути это просто importance sampling веса на негативные сэмплы, считающиеся как доля этого документа во всем датасете. Самое противное, что на полу она не валяется, и нужно заморачиваться с тем, чтобы её оценивать и добавлять в фичи, ну или как-то ещё её доставать.
И если вам было недостаточно душно в этой комнате, тут в неё заходит Кирилл @inforetriever
«Вообще-то, у вас тут в вашей коррекции ошибочка. Вы неправильно считаете вес для положительного айтема в знаменателе. Его вероятность в нём оказаться отличается от негативных документов»
В статье, от названия которой мне плохо - “Correcting the LogQ correction” - Кирилл и соавторы выписывают ну уже точно правильную формулу лосса для честной оптимизации likelihood. Там не очень сложно, но пересказывать тут в деталях откажусь, я только что позавтракал.
Судя по замерам, это добавляет качества. Конечно, не так много, как сама LogQ, но всё же это приятный результат, так что поздравляю авторов с успешным исследованием.
Боже упаси делать Retrieval
@knowledge_accumulator
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤19👍7🔥6