Обновить
188.31

Математика *

Царица всех наук

Сначала показывать
Порог рейтинга

Из комментариев к статье о гитарном тюнере выяснилось, что многие НЕ верят, что можно вычислять ОЧЕНЬ ТОЧНО частоту синусоидального сигнала по очень небольшому количеству отсчетов не равному степени двойки для FFT и намного точнее чем FFT на том же количестве отсчетов и том же временном интервале накопления данных. Например, ошибка определения частоты может быть 0.05 Гц при небольшом количестве отсчетов на интервале 0.1 сек (FFT дало бы ошибку в 10 Гц = 1/0.1 сек) . Однако, кажется, это возможно. Вот ссылка на мой код на Python (>>исходник) (в телеграм) Коллеги, прошу проверить код, возможно я где-то ошибся.

Actual frequency: 5.77 Hz Estimated frequency: 5.769999999999999 Hz Frequency estimation error: 8.881784197001252e-16 Hz
Actual frequency: 5.77 Hz Estimated frequency: 5.769999999999999 Hz Frequency estimation error: 8.881784197001252e-16 Hz

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии11

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

Рассмотрим только одну ее характеристику - объем.

Для того, чтобы быть успешным в математике к концу школы, нужно примерно в 7-м классе слезть с мышления алгоритмами, начав разрывать их по самым неустойчивым шагам и перейти к мышлению отношениями. Писал об этой смене в этом посте. Здесь приведу предельно упрощенный пример. Можно воспринимать примеры "2 + 3 = 5", "2 = 5 - 3" и "3 = 5 - 2" как разные, и тогда знак равно здесь - знак действия, а можно как одно отношение между тремя числами, и тогда знак равно здесь означает тождество. Очевидно, что второй вариант более гибкий и, самое главное, позволяющий расширяться. Кстати, про знак равно - это отдельная песня...

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

Получается, что есть какой-то оптимум объема памяти? Интересно....

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Так получилось, что после 17-ти лет работы в ИТ я ушел в обучение школьников математике. В ИТ я работал программистом и потом системным аналитиком. Ушел потому что просто стало интересно. С падением в доходе. Естественно, постоянно делал себе различные вспомогательные сервисы, ведь, невозможно переставить что-то проектировать или программировать ))). Постепенно стало настолько интересно "как все устроено в обучении мозга человека", что поступил на мехмат МГУ в очную аспирантуру на кафедру "методика преподавания математики". Очень, кстати, полезно. Если поступать туда для того, чтобы что-то узнать/сделать.

Еще работая в ИТ, я постоянно проводил собеседования системных аналитиков и продуктовых менедежров. По 1-3 собеседования каждый день в течении нескольких лет. Обнаружил существование корреляции между "способностью строить объектную модель на лету" и "перспективностью кандидата". Конечно, это не единственная такая корреляция, но одна из самых стойких.

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

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Итак, группа исследователей создала платформу MathArena, где планируют делиться отчётами о сравнении нейросетей в различных математических проблемах. Для начала множество моделей уже протестировали на AIME 2025 I, олимпиаде, прошедшей в четверг.

Что такое AIME? American Invitational Mathematics Examination — элитное математическое состязание, проводимое с 1983 года. Существует две версии теста — AIME I и AIME II, но каждый участник может пройти только одну (хотя ИИ-моделям повезло, и вскоре появятся результаты для второй части). Олимпиада состоит из 15 задач, сложность которых возрастает.

Каждую модель тестировали по четыре раза на каждой задаче, вычисляя средний балл (столбец Accaccuracy) и финансовую стоимость вычислений (столбец Cost). Для удобства использовалась цветовая кодировка: 🟩зелёный — задача решена в более чем 75% случаев; 🟨жёлтый — успех в 25–75% случаев; 🟥красный — модель справилась менее чем в 25% попыток. Щелчком по клетке можно открыть условие задачи, ход рассуждений модели в каждом из четырёх подходов и финальные ответы.

🏆o3-mini-high от OpenAI показала впечатляющий результат — 80% решённых задач при очень низкой стоимости вычислений.
🔹DeepSeek-r1, лидер среди опенсорс-моделей, набрал 65%, а его дистиллированные версии тоже продемонстрировали достойные результаты. (Кстати, уже пробовали запустить его в нашем агрегаторе нейросетей?)

Можно заметить, что дистилляты хоть и уступают своим полным аналогам, но не так уж сильно: сжатие DeepSeek-r1 с 671 млрд параметров до 70 или даже 14 млрд привело к падению эффективности в обоих случаях всего на 15%. То есть урезанная модель становится заметно легче, но при этом сохраняет бóльшую часть своих возможностей.

К сожалению, Claude 3.5 Sonnet, модель июня 2024-го, оказалась на дне рейтинга. Однако её сильная сторона явно не в этом — огромное контекстное окно (200 000 токенов) делает модель отличным инструментом для программирования. Кодеры подтверждают, что она хорошо генерирует длинные и сложные фрагменты кода.

Пока что в тестах не замечено семейства Phi. Phi-4 набирает 80%+ на сложнейших бенчмарках, таких как MATH, уверенно обходя Gemini Pro и GPT-4o-mini. Посмотрим, добавят ли авторы сайта её в дальнейшем🤔

Тем временем пользователи X забили тревогу и решили проверить честность олимпиады, задействовав свежачок от OpenAI — Deep Research. Цель? Выяснить, не мелькали ли эти задачки где-то в Сети раньше и, соответственно, не могли ли их решения заранее попасть в обучающие данные моделей. Ведь если так, то модели получали преимущество.

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

Задача № 1: найти сумму всех целых оснований b > 9, для которых одно число делится на другое в системе счисления b. Аналогичное задание всплыло на Quora. Однако и различия существенны: на форуме просто рассматривались все возможные значения b, удовлетворяющие делимости, а в олимпиадном варианте — только те, которые больше 9. Это заметно сужает поиск и усложняет задачу.

Задача № 3: найти остаток от деления количества возможных распределений мороженого между игроками с заданными ограничениями. Deep Research нашёл похожую концепцию: обе задачи связаны с разбиением числа на несколько частей с учётом ограничений. Но здесь тоже есть нюансы: в олимпиадной версии обязательно, чтобы каждый из трёх вкусов достался хотя бы одному игроку, причём количество игроков, выбравших каждый вкус, подчиняется неравенству c > v > s. Более того, порядок распределения важен, что добавляет ещё один уровень сложности.

Итог. Похожие? Да. Идентичные? Нет. Найти аналоги почти любой задачи в интернете реально, если искать достаточно хорошо. Так что сказать, что модели видели точно такие же задачи, нельзя.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Увеличиваем точность БПФ. Изобретаем алгоритм для Гитарного Тюнера и оценки точности пения нот вокалистами. Это анонс статьи в разработке. Подписывайтесь на мой профиль на Хабре, чтобы не пропустить статью. Или присоединяйтесь к моей "телеге". Кратко: точности и быстродействия классического БПФ не хватает для точной и быстрой оценки частоты сигнала. Ищем и изучаем другие алгоритмы. Да, я знаю много китайских маленьких приборчиков и прищепок на гитару с весьма точной настройкой, но интересно разобраться как это достигается. Напишите в комментариях какие более точные алгоритмы определения частоты сигнала вы знаете? (я уже нашел несколько, сейчас тестирую, смотрите изображение ниже) На графиках амплитудный спектр суммы 7 синусоид с близкими частотами, интервал наблюдения 0.1 секунды, частота дискретизации 22050 Гц, как видите классический БПФ ошибается и даже не все синусы видит, а альтернатива дает меньшую ошибку и все синусы увидела. Вертикальные красные линии это реально находящиеся в тестовом сигнале синусоиды. Их частоты написаны над верхней границей графиков.

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии38

Нашел интересное видео - визуализация всех основных алгоритмов сортировки на Python

Забавно, но софт написан не на matplotlib, a на PyGame! https://github.com/Ctoic/Algorithm-Visualizer-Using-pygame

Я тоже попробовал графики рисовать на PyGame (рисую звук в реальном времени, осцилограф): https://habr.com/ru/articles/879786/

Теги:
Всего голосов 5: ↑4 и ↓1+6
Комментарии2

Я бывший ИТ-шник, а сейчас обучаю математике школьников частным образом. Т.е. я репетитор. Репетиторы - зло. Как быть?

У меня есть основания полагать, что:

  • если ученик умеет учиться, то он научится и без репетитора, и без звездного учителя в школе, и разннобразных пособий ему много не нужно будет;

  • если ученик не умеет учиться, то ему существенно не поможет ни крутой репетитор, ни прекрасный школьный учитель - прогресс будет так себе, если, конечно, он в процессе не научится учиться и останется достаточно времени до события Х (ЕГЭ / поступление в лицей / то, что нужно).

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

Что делать? Учить учиться. Как?

  1. В началке учите считать устно. Не нужно, чтобы умножали трехзначное на трехзначное, нужно, чтобы умели упрощать себе работу. Если не разбираетесть в математике - найдите человека, желательно из знакомых, который сможет это сделать. И решайте текстовые задачи каждый день.

  2. В средней школе накапливайте алгоритмы. Ученик должен почувствовать, что алгоритмический подход становится неудобен. И что нужно переходить к объектам. Сравнивал это на Хабре с функциональным программированием и ООП.

  3. В старшей школе связывайте объекты (т.е. теорию), для этого вырабатывате привычку у ученика, чтобы при использовании любого теоретического факта в процессе решения задачи он задавал себе вопрос: "А я могу обосновать этот факт?". И если не может, то пробовать обосновать. А если не получается обосновать, то сформулировать вопрос учителю. Это даст невероятное ускорение процессу обучения. Но такое поведение контринтуитивно, и над ним нужно работать. Года два назад делал сборник правильных образовательных привычек.

А иначе траты ресурсов и времени и скромный результат.

Теги:
Всего голосов 7: ↑6 и ↓1+5
Комментарии7

Для точности ваших математических библиотек принимайте «Ульп». «Ульп» — и тесты не страшны!

Числа с плавающей точкой расположены неравномерно. У нас есть результат вычисления математической функции, число с плавающей точкой, и есть «эталон» — это ожидаемый результат в квазибесконечной точности. Но как понять, насколько велика погрешность вычисления, расстояние между ними?

Для этого достаточно договориться о единице измерения. Расстояние между соседними числами обозначается как 1 ульп (ulp — unit in the last place). Относительно него и будем оценивать погрешность вычисления математической функции. Поделим расстояние от результата до эталона на то, что является одним ульпом — то есть на расстояние от эталона до соседнего числа той же точности. Стандарт libm требует, чтобы ошибка не превышала 0,5 ульпа с учетом округления. 

Мы договорились о единицах измерения. Но остался еще один вопрос: с чем же мы сравниваем результаты? Откуда брать эталон в квазибесконечной точности? Здесь помогут системы компьютерной алгебры — прикладные программы для символьных вычислений и числовых операций произвольной точности.

Из таких систем ученые особенно любят Maple или Scilab, инженеры — Mathcad или Matlab, а разработчики — Sollya, поскольку эта библиотека имеет удобный C-интерфейс и ее можно вызывать прямо из тестов libm.

Низкая точность математических библиотек libm может навредить везде, где используются эти библиотеки, — в искусственном интеллекте, машинном обучении, дополненной и виртуальной реальности, компьютерном зрении.

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

Читать статью →

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии0

А что вообще такое аудит искусственного интеллекта? Это процесс, который проверяет, соответствуют ли система ИИ и её алгоритмы безопасным, правовым и этическим стандартам.

Подробнее о требованиях к аудиту рассказал Петр Владимирович Ганелин, советник по стратегии АНО «НТЦ ЦК». Он выступал на экспертном клубе «Аудит безопасности систем ИИ», который организовала ИТ-компания «Криптонит».

Какими качествами должна обладать надёжная система ИИ?

  • Подотчетность и прозрачность.

  • Объясняемость. Важно, чтобы пользователь понимал цель и возможное влияние системы ИИ.

  • Обеспечение приватности. Система ИИ должна гарантировать пользователю анонимность, конфиденциальность и контроль за данными.

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

  • Безопасность. Система ИИ не должна приводить к состоянию, в котором человек подвергается опасности.

  • Устойчивость. Это способность поддерживать регулярную деятельность и предотвращать, защищаться и восстанавливаться после атак.

А на чем именно фокусируется аудит ИИ?


Обычно аудиты обращают особое внимание на:

  • ввод данных для обучения (источник, качество и достоверность);

  • модели и алгоритмы ИИ;

  • общее использование системы ИИ, с кем взаимодействует система, какие вопросы решаются с ее помощью (уровень принятия решений, их контроль уполномоченным человеком).

Какие проблемы есть в вопросах аудита систем искусственного интеллекта?

  • незрелые или отсутствующие методики (фреймворки), специфичные для аудита ИИ;

  • ограниченные прецеденты (малый опыт проведения аудитов подобного рода);

  • неоднозначность определения ИИ (отличие от экспертных систем);

  • быстрое изменение моделей (дообучение, федеративное обучение);

  • отсутствие сертифицированных аудиторов ИИ.

Доклад Петра Владимировича Ганелина «Требования к системам ИИ и организация аудита» был на V встрече экспертного сообщества по криптографии и большим данным, которую организовал «Криптонит» при поддержке Музея криптографии. Дискуссия была посвящена теме аудита безопасности систем ИИ.

Смотрите запись встречи
📺 на Rutube
📺 в VK видео

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии0

У меня есть ученики по математике (и программированию). Вчера один из учеников 9-го класса неожиданно задал вопрос, попав даже не "в десятку", а существенно точнее )). Вот что он мне написал (я сократил, сохранив смысл):

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

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

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

Я ответил ученику примерно так: "Искать решение - это искусство. Обосновывать найденное решение - это ремесло. Учиться учиться - это, как правильно организовывать ремесло, чтобы совершенствоваться в искусстве". Веду канал в телеграме для учеников и их родителей об умении учиться математике и, например, что значит, с моей точки зрения, уметь учиться, можно прочитать в этом моем посте.

Теги:
Всего голосов 7: ↑6 и ↓1+5
Комментарии9

Ещё раз о количестве способов набрать сдачу в n рублей из заданного набора монет/купюр

 Вот известная задача: «Имеется неограниченное количество монет достоинством 1, 2, 5 и 10 рублей. Определить, сколькими способами можно ими выдать сдачу в n рублей».

 Я, бывший преподаватель информатики, хочу рассказать профессионалам, экспертам, знатокам и гуру о придуманной мной (если это не «изобретение велосипеда») идее решения задачи без перебора всех возможных вариантов (без четырёх вложенных циклов).

Возможно, эта идея будет полезна в других задачах.

Итак.

При n = 7 все варианты следующие:

1 + 1 + 1 + 1 + 1 + 1 + 1

1 + 1 + 1 + 1 + 1 + 2

1 + 1 + 1 + 2 + 2

1 + 2 + 2 + 2

1 + 1 + 5

2 + 5

 Среди них можно выделить те, в которых минимальным слагаемым является 1. Их – 5. В оставшемся шестом варианте минимальным слагаемым является 2. Вариантов, в которых минимальным слагаемым является 5 и 10, в данном случае нет.

При n = 10 все варианты следующие (без знака +):

1111111111, 111111112, 11111122, 1111222, 112222, 111115, 11125, 1225, 22222, 55, 10,

то есть

количество вариантов с минимальным слагаемым 1 равно 8;

количество вариантов с минимальным слагаемым 2 равно 1;

количество вариантов с минимальным слагаемым 5 равно 1;

количество вариантов с минимальным слагаемым 10 равно 1.

 Подумав (😊), можем сказать, что при n = 11:

· количество вариантов с минимальным слагаемым 1 будет таким же, как общее число всех вариантов для n = 10 (так как разность 11 – 10 не превышает 1);

· количество вариантов с минимальным слагаемым 2 будет равно сумме количеств с минимальными слагаемыми 2, 5 и 10 для n = 9 (так как разность 11 – 9 не превышает 2);

· количество вариантов с минимальным слагаемым 5 будет равно сумме количеств с минимальными слагаемыми 5 и 10 для n = 6  (так как разность 11 – 6 не превышает 5);

· количество вариантов с минимальным слагаемым 10 будет равно такому же количеству для n = 1 (так как разность 11 – 1 не превышает 10).

 Приведённые рекуррентные зависимости применимы для всех значений n, но с некоторыми исключениями – при n = 1 количество вариантов с минимальным слагаемым 1, при n = 2 количество вариантов с минимальным слагаемым 2, при n = 5 количество вариантов с минимальным слагаемым 5 и при n = 10 количество вариантов с минимальным слагаемым 10 будет равно 1 (в перечисленных случаях соответствующие слагаемые появляются впервые).

Допустим, что максимальное значение n равно 99.

В программе, реализующей описанную идею для такого случая, можно использовать двумерный массив из 109 строк и пяти столбцов (10 начальных строк массива являются условными для рекуррентного расчёта значений при n = 1..99).

Вся программа на так называемом «школьном алгоритмическом языке» (система программирования КуМир):

алг
нач цел таб м[-9:99, 1:5], цел n, j
  | Нули, в том числе в фиктивных строках   

нц для n от -9 до 99
    нц для j от 1 до 5
      м[n, j] := 0
    кц
  кц

  | Расчёты
  нц для n от 1 до 99
    если n = 1
      то
        м[n, 1] := 1
      иначе | Рекуррентная зависимость
        м[n, 1] := м[n - 1, 5]
    все
    если n = 2
      то
        м[n, 2] := 1       иначе
        м[n, 2] := м[n - 2, 2] + м[n - 2, 3] + м[n - 2, 4]
    все
    если n = 5
      то
        м[n, 3] := 1
      иначе
        м[n, 3] := м[n - 5, 3] + м[n - 5, 4]
    все
    если n = 10
      то
        м[n, 4] := 1
      иначе
        м[n, 4] := м[n - 10, 4]
    все
    | Последний столбец
    м[n, 5] := м[n, 1] + м[n, 2] + м[n, 3] + м[n, 4]    
  кц
  | Вывод всех значений
  нц для n от 1 до 99
    вывод нс, n, " | ", м[n, 5]
  кц
кон

 Конечно, вместо массива из 109 строк можно использовать 10-строковый массив и после расчёта значений для очередной строки переписать массив, отбросив «хвостовую» строку.

 Спасибо.

Теги:
Всего голосов 3: ↑2 и ↓1+2
Комментарии2

Что такое «сверхвыразительные» нейросети?

С точки зрения математики нейронные сети аппроксимируют многомерные непрерывные функции при помощи более простых одномерных.

Проблема точного представления многомерных функций через одномерные ещё в 1900 году была сформулирована немецким математиком Давидом Гильбертом. Она известна как «13-я проблема Гильберта о суперпозициях непрерывных функций».

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

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

Построенная таким способом модель используется при создании так называемых «сверхвыразительных» нейросетей, которые обладают высокой способностью к аппроксимации сложных функций и представлению сложных зависимостей в данных.

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

Причины сделать нейросети сверхвыразительными:

  • академический интерес;

  • поиск универсального инструмента для максимально широкого спектра задач.

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

Теги:
Рейтинг0
Комментарии0

Ближайшие события

2041 оттенок несерого, или Как впихнуть невпихуемое.
2041 оттенок несерого, или Как впихнуть невпихуемое.

Легко обозначить на диаграмме четыре цвета! И 16 — не проблема. Все 256 оттенков серого, пожалуй, человеческий глаз уже не различит. А как различить тысячу и более?

На помощь приходят они! Палитры «в стиле тепловизора». Как же их получить?

Попробуем сначала тривиальное решение. Повторим один канал от 0 до 255 четыре раза подряд, а при помощи другого — различим эти повторы. Бррр, и некрасиво, и отличающиеся на единичку цвета часто похожи друг на друга меньше, чем отличающиеся на 256.

Нет, нужно что-то непрерывное! Давайте сначала перейдём от чёрного к зелёному, потом — к красному, потом — к белому, потом — к синему? Уже лучше! Но всё-таки белый светлее синего, а зелёный — красного, и хотя синие звёзды таки горяче́е — синий цвет зрение воспринимает как холодный…

Да, вот теперь лучше! Чёрный — синий, синий — зелёный, зелёный — красный, красный — жёлтый, жёлтый — белый! Прекрасные дополнительные диапазоны таились в комбинациях нескольких каналов сразу! А можно ли ещё больше?

От чёрного до серого — 128, от серого до светло-синего — 128, от него до чисто синего — 128, потом до зелёного 256 и потом до сине-зелёного, и только от него уже к красному, и потом от него сначала к пурпуру, а только от пурпура — к жёлтому и потом — к белому! Хорошо, но светло-синий светлее синего, а между сине-зелёным и красным — явный грязно-тёмный провал.

Ладно, пусть будет от чёрного — к серому, от него — к синему, от него — к светло-синему, а от него уже — к зелёному, а в переходе от сине-зелёного к красному пусть сначала быстро разгорается красный и медленно затухает сине-зелёный, а потом — наоборот! Две тысячи уникальных оттенков, плавно нарастающих по «психологической температуре»!

На самом деле даже 2041, но это я пожадничал со стартовым серым. В максимуме он слишком светлый для начала диапазона и вообще слишком похож на другие цвета из серединки. Код этого варианта я приведу целиком, можете на свои вкусы дорабатывать:

	int c,x=0;
	for (c=0;c<192;c++,x++)
	{
		Test[y][x][0]=c;
		Test[y][x][1]=c;
		Test[y][x][2]=c;
	}
	for (c=0;c<192;c++,x++)
	{
		Test[y][x][0]=191-c;
		Test[y][x][1]=191-c;
		Test[y][x][2]=192+c/3;
	}
	for (c=1;c<128;c++,x++)
	{
		Test[y][x][0]=c;
		Test[y][x][1]=c;
		Test[y][x][2]=255;
	}
	for (c=1;c<256;c++,x++)
	{
		Test[y][x][0]=127-c/2;
		Test[y][x][1]=127+c/2;
		Test[y][x][2]=255-c;
	}
	for (c=1;c<256;c++,x++)
	{
		Test[y][x][0]=0;
		Test[y][x][1]=255;
		Test[y][x][2]=c;
	}
	for (c=1;c<256;c++,x++)
	{
		int Br = 127-abs(c-128);
		Test[y][x][0]=c  +Br/4;
		Test[y][x][1]=255-c +Br/4;
		Test[y][x][2]=255-c +Br/2;
	}
	for (c=1;c<256;c++,x++)
	{
		Test[y][x][0]=255;
		Test[y][x][1]=0;
		Test[y][x][2]=c;
	}
	for (c=1;c<256;c++,x++)
	{
		Test[y][x][0]=255;
		Test[y][x][1]=c;
		Test[y][x][2]=255-c;
	}
	for (c=1;c<256;c++,x++)
	{
		Test[y][x][0]=255;
		Test[y][x][1]=255;
		Test[y][x][2]=c;
	}

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

А гость нашей программы — профессиональная логарифмическая палитра, цельнотянутая из какого-то научного журнала то ли конца 80-х, то ли начала 90-х, когда тепловизоры только завоёвывали свою экологическую нишу (увы, авторство по этой причине вряд ли удастся установить, она очень долго переходила из рук в руки). Обратите внимание, как в ней идут цвета: первые несколько отличаются очень сильно, а последние — на какую-то несчастную единичку в одном разряде одного канала. Вот она — работа профессионалов!

А какие палитры для приведения одноканального HDR (с неподвластным глазу SNR) к трёхканальному обычному изображению (с подвластным глазу SNR) знаете вы?

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии6

Винтик, Шпунтик и Кубик Рубика

Я давно подозревал, что между задачей про Винтика и Шпунтика и кубиком Рубика есть определенная связь. И вот только сейчас придумал простую аналогию. Представьте, что у нас есть грань размера 3x3 и нам надо покрасить 9 ячеек в три цвета. 3 - в красный, 3 - в желтый, и 3 - в зеленый. Сколько существует раскрасок при которых ни одна строка и ни один столбец не закрашены одним цветом?

Картинка ниже дает примеры возможных и невозможных раскрасок

У задачки есть три уровня сложности

  1. Написать код, который считает число возможных раскрасок.

  2. Посчитать то же самое число аналитически (то есть "на бумажке"🧐)

  3. Очевидно, что задача обладает некоторым набором симметрий. Иными словами перестановка строк (эта группа изоморфна S3) переводит решение в решение. То же самое с перестановкой столбцов (тоже S3). Также "перекрашивание" (красные в желтые, желтые в зеленые и тп) дает еще одно S3. Ну и наконец транспонирование матрицы или поворот на 900 (2700) также переводит решение в решение. Вопрос "со звездочкой" - сколько существует орбит решений относительно действия этой группы?

    Маленькая подсказка - можно воспользоваться теоремой Редфилда-Пойа. Но окончательного ответа я с ее помощью получить не смог...😒

Теги:
Всего голосов 7: ↑7 и ↓0+12
Комментарии0

Шахматная доска и набор фишек могут стать вычислительным устройством типа калькулятора. Блогер Джон Нейпир назвал свой проект «Арифметика расположения, выполняемая на шахматной доске». Этот метод использования фишек на шахматной доске основан на двоичных и основных алгебраических свойствах. С помощью только фишек на шахматной доске можно выполнять умножение, деление и находить квадратные корни, включая квадратные корни иррациональных чисел.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Новогодняя интеллектуальная разминка с Cloud.ru 🦾

формулаВсем привет! Продолжаем занимать вас интеллектуальными задачами, и наша следующая — с уровнем уровень сложности «эксперт»:

Вы — Агент K, работающий в «Департамента мостов и тоннелей»  («Люди в черном» / Men-in-Black). У вас 24 часа, чтобы обучить большую языковую модель для общения с аркелианцами. Сколько GPU NVIDIA A100 нужно для вашего суперкомпьютера, чтобы успеть обучить модель за это время и спасти Землю? Создайте формулу для вычисления машинного времени суперкомпьютера (в GFLOPS или в GPU-часах), затрачиваемого на обучение модели не хуже чем Llama 2 70B (с возможностью применения для оценки времени обучения других моделей). 

Время обучения Llama 2 — 1720320 GPU-часов, для обучения модели использован датасет с 2 триллионами токенов. Другие необходимые данные возьмите в интернете. 

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

Варианты ответов оставляйте в комментариях 👇 В пятницу — 10 января — Павел Бузин (@pbuzin) — эксперт Cloud.ru по AI и машинному обучению, раскроет правильный ответ под этим постом.

И оставляйте реакции и предложения — как вам такой формат, что можно улучшить? 

Вам может быть интересно:

Теги:
Всего голосов 3: ↑2 и ↓1+1
Комментарии5

Задача на зубок: считаем орешки

В магазине полезных перекусов продаются на развес орехи:

  • Арахис — 500 руб/кг,

  • Миндаль — 1000 руб/кг,

  • Кешью — 1200 руб/кг,

  • Грецкий — 800 руб/кг,

  • Фундук — 1100 руб/кг,

  • Фисташки — 1400 руб/кг.

Менеджер проанализировал спрос и предлагает продавать упаковки с миксом орехов в таких вариантах:

  • арахис, миндаль, кешью;

  • миндаль, фундук, фисташки;

  • кешью, фундук, грецкий.

Любая упаковка микса — по 200 грамм. В каждом миксе орехи взяты в пропорции 2:1:1, где первый — это самый дешёвый орех в данной смеси.

Менеджер предлагает установить цену 200 руб за упаковку микса. Какой микс наиболее выгодно продавать по такой цене, а какой — наименее выгодно?

Ответ опубликуем в комментариях! Больше задач найдёте в бесплатном тренажере «Основы математики для цифровых профессий».

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии5

Новогодний марафон интеллектуальных задачек 🦾

Привет, Хабр! Поздравляем всех с наступившим Новым годом!

Надеемся, что все уже доели салаты, успели отоспаться и отдохнуть. И чтобы вы не заскучали, мы заготовили новую партию интеллектуальных задачек 🙂. Сегодня средний уровень сложности — снова для разминки:

Представьте, что вы — Бен Кэмпбелл, гениальный студент MIT и герой фильма «Двадцать одно». Профессор Микки Роса предлагает вам решить задачу про смену двери (также известную как Парадокс Монти Холла). Вот только дверей у вас будет 4, и только за одной из них приз. Выгодно ли вам изменить решение после того, как вы предложите открыть одну дверь, а Микки Роса откроет вам другую?

Варианты ответов оставляйте в комментариях 👇 9 января Павел Бузин (@pbuzin) — эксперт Cloud.ru по AI и машинному обучению, раскроет правильный ответ под этим постом.

А еще пишите — над задачами в каких областях вам будет интересно «поломать голову» в будущем?

Вам может быть интересно:

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Следующий год будет необычным — математики доказали этот факт научным способом.

Смотрите сами:

2025 — это квадрат суммы чисел от 1 до 9: (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 2025

2025 также является суммой кубов чисел от 1 до 9:

1³+ 2³+ 3³+ 4³+ 5³+ 6³+ 7³+ 8³+ 9³ = 2025

А ещё (20 + 25)² = 2025

Это вам не астрология: в следующий раз такое повториться через ТЫСЯЧУ лет — в 3025 году.

Теги:
Всего голосов 24: ↑23 и ↓1+29
Комментарии2

Вклад авторов