Ответы пользователя по тегу Математика
  • Как и где учить математику, если вкатываешься в нейросети?

    @rPman
    Построение нейронных сетей из готовых инструментов (типа pytorch или для конкретных сетей типа transformer для llm), как это ни странно, не требует никаких знаний математики.

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

    И еще момент, сами знания, которые ты получишь из книг скорее всего тебе слабо помогут, они дадут базис и терминологию, но тебе все равно нужна будет практика, много.
    Ответ написан
    Комментировать
  • Так КАКАЯ математика нужна для работы с базами данных???

    @rPman
    хватит школьных знаний

    Да, когда говорят про реляционную алгебру, мыслят категориями математического анализа, но знаний особых тут не нужно, достаточно просто запомнить (если честно, серьезно углубляться в такую математику нужно разработчикам серверов баз данных, когда начинаешь это дело оптимизировать, не забывая про доказуемую корректность, обывателю же это не надо)
    Ответ написан
    Комментировать
  • Как решить многокритериальную задачу о назначениях?

    @rPman
    Строки - работники, колонки - критерии?
    В общем случае тебе нужно составить метрику, самая тупая - это расстояние в евклидовом пространстве до нулевой точки - т.е. квадратный корень из суммы квадратов значений (в твоем случае критериев)

    Если нужно сравнивать двух работников, то тогда квадратный корень из суммы квадратов разностей их критериев, но осторожно, эта метрика не транзитивна, т.е. если работник A лучше B, а B лучше C, то A не обязательно будет лучше C.

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

    Предполагается что критерии имеют одинаковый смысл - чем больше значение тем лучше, так же рост значимости - линейный, т.е. увеличение значения критерия в два раза и в четыре означает буквально улучшение в 2 раза и в 4 соответствено. Бывает, когда значение критерия обратное и не ограничено, т.е. чем меньше тем лучше, тогда его переворачивают 1/(X+1) в этом случае значение критерия станет на интервале 0-1 (правда не линейное но это более сложный разговор, к примеру экспоненту в линейный превращают логарифмом)

    Итого формула: Xi=sqrt(SUMj((Aj*Yij)^2))
    Где i - номер строки, j - номер колонки, Xi - значение метрики для i-го работника, Yij - значение критерия j для работника i, Aj - коэффициент значимости критерия j

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

    Скорее всего придется сочетать эти алгоритмы, т.е. сначала исключить работников, которые в принципе не соответствуют критериям (зачем тебе программист, не умеющий программировать) а затем оставшихся выбирать по метрике выше
    Ответ написан
    Комментировать
  • Можно ли бесконечное число планет выпрямить в бесконечную плоскость?

    @rPman
    У данной задачи есть проблема в формулировке (скорее всего ее либо ты не полностью ее выдал либо, скорее всего, составитель задачи не учитывал особенности строения вселенной, по современным (последние десятилетия) представлениям.

    Во первых, мы не знаем сколько планет во вселенной, но можно взять приближение сверху - берем все видимое вещество минус темная материя и темная энергия, берем 90% от остатка - будем считать что это водород (сколько там еще от черных дыр надо отнять)

    1. топаем на вики и смотрим плотность Критическая плотность (космология)

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

    В общем чья плотность в итоге будет больше - сферы с радиусом Р или твоей ленты из вещества той же длины

    Бредовая задача ;)
    Ответ написан
  • Как написать программу на питоне которая описывает решения выражения?

    @rPman
    какой курс университета эта задача?
    очень интересная

    для начала нужно определить правила, буквально перечислив ситуации когда так надо делать:
    умножение на 9: число умножается на 10 и вычитается это же число

    чтобы на 11 умножить двузначное число нужно
    сложить его цифры и записать результат в середину...

    возвести количество единиц в квадрат если получилось однозначное
    число дописать 0 слева


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

    в принципе на все вышеописанное кроме 'рациональных' вычислений есть готовые библиотеки, но что то мне говорит что цель задания именно в велосипеде
    Ответ написан
    Комментировать
  • -x^2 - положительно или отрицательно?

    @rPman
    речь ведь не про языки программирование а про математику

    лучше бы написал вопрос так

    вопрос на засыпку, чем отличается применение минуса в следующих формулах?
    oaouqma5cm6ih1kbyjticysytd4.png
    и
    0xv-ndfy68ditjpokip2pwkxx6q.png

    в обоих ли случаях минус перед 2 нужно применять перед следующей операцией возведения в степень и корня?

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

    p.s. сходу не нашел строгого определения применимости минуса как знака и его приоритет именно как знак перед числом а не арифметический операнд (ведь можно записать 1 - -2)

    отредактировано
    Ответ написан
  • Как рассчитать заработанную разницу?

    @rPman
    Хочу момент упомянуть, что прежде чем спрашивать о доходах, нужно определить, в какой валюте его считать.

    Исторически (последние поколения) в мире базовой валютой считается американский бакс, поэтому все в расчетах по привычке его используют, но подумай хорошенько, если твой доход считать в bitcoin, получил ли ты доход? Проблема в том что когда продолжительность сделки небольшая относительно колебаний стоимости этой базовой валюты, то все нормально, а если нет?

    Еще способ, считать в той валюте, в которой совершил вход и выход из сделки (это у тебя USD или RUB?) или использовать индекс гамбургера?

    p.s. если не понятно, попробуй оценить свой доход для валютной пары EURRUB или к примеру EURCNY?
    Ответ написан
  • Я придумал свою валюту. Как мне рассчитать курс к другой валюте?

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

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

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

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

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

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

    p.s. красивых формул и алгоритмов поведения маркетмейкера не будет, точнее они будут сильно зависеть от твоего рынка, люди изучают экономику именно для того чтобы хотя бы понимать как это работает, ну а люди, способные прогнозировать и малипулировать рынком на вес золота и таких очень мало.
    Ответ написан
  • Как вычислить координату угла А прямоугольника?

    @rPman
    Странно, обычно известны координаты центра и все размеры

    определяй координаты центра, для этого можно взяв за начало координат точку B (0,0) повернуть расположенный нормально прямоугольник (в твоей схеме это отрицательные значения по X,Y соответственно половина ширины и высоты прямоугольника), используя матрицу поворота

    Затем получаешь координаты центра, прибавив к полученным координатам B, а чтобы получить координаты A снова прибавляешь (так как вектор тот же самый)
    Ответ написан
  • Как рассчитать курс несуществующей валюты в рублях?

    @rPman
    Курс валюты это не про балансы пользователей, это про товарооборот

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

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

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

    p.s. с игровыми валютами все то же самое, ты рулишь экономикой через эмиссию (изменения шансов и количество выпадения мусорного лута например, который игроками тут же обменивается на игровое золото)

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

    @rPman
    Задача не ясна, что значит вычитать максимально много
    наиболее точное значение будет - само число

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

    текущее число равно максимальное
    в цикле закидываешь его в черный ящик,
    - если смогло - уменьшаешь число на половину от значения между текущим и минимальным
    - если не смогло (число больше желаемого) то увеличиваешь число на половину значения между текущим и максимальным
    продолжать до тех пор пока разница между текущим значением и предыдущим не станет 1 (или точнее допустимой погрешности)
    Ответ написан
    Комментировать
  • Как определить значение X и Y по нажатию курсора на область графика?

    @rPman
    математика? график это график функции?

    Когда ты сам рисуешь график, ты должен реализовать формулу, которая из x и y=F(x) твоего графика вычислять screenX и screenY, т.е. координаты (чаще всего в пикселах) точек на экране

    соответственно обратный процесс, из клика по экрану, тебе нужно написать обратное преобразование

    если с X обычно все просто, пусть minx и maxx это минимальное и максимальное значения на графике для x, а график на экране рисуется с minScreenX до maxScreenX, то вычисление точки screenx = ((x-minx)*(maxScreenX-minScreenX)/(maxx-minx))+minScreenX
    точно так же считаешь screeny, только вместо x берешь y=f(x), miny, maxy и minScreenY, maxScreenY соответственно

    обратное преобразование для x проблем не составит, это школьный курс, но вот для y немного сложнее, если у f(x) можно аналитически вывести обратную функцию x=FF(y) то все просто, иначе, есть простой способ - сохранить в памяти в массиве все значения функции для каждой точки screenX на экране в виде ассоциативного массива ff[x]=[...] и использовать его вместо обратной функции
    Ответ написан
    Комментировать
  • Какой оптимальный алгоритм для однозначного определения слагаемых в сумме?

    @rPman
    Если представить стоимость отдельного заказа (в копейках) в 2-ричной системе счисления (набор бит) и каждый заказ должен устанавливать только свой бит (брать младшие биты, установив остальные в 0), то сумма этих чисел в младших разрядах будет аналогично битовой операции OR, т.е. по итоговой сумме можно будет однозначно понять, какой заказ был включен в нее.

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

    Пример, берем младшие 4 бита для адреса (возможность одновременно быть в обработке 4-ем заказам)
    1 - 10110001 цена 177р
    2 - 01100010 цена 98р
    3 - 11110100 цена 244р
    4 - 00011000 цена 24р
    если платежка пришла по 3-ем заказам, например 1+2+4 то это даст сумму 299р - 100101011, смотрим на младшие биты, установлены 1,2 и 4


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

    Логично что это подойдет только если заказов мало, например 2^10 это всего 10.24р

    К сожалению если не добавить какого то еще знания о возможностях группировки заказов, то это никак не оптимизировать
    Ответ написан
    1 комментарий
  • Как получить число?

    @rPman
    (текущее_значение - минимальное_значение) / (максимальное_значение - минимальное_значение)=[0..1]
    Ответ написан
    3 комментария
  • Как рассчитать средние посуточные данные с учетом високосного дня?

    @rPman
    Дико интересный вопрос, как вообще в анализе данных с этим справляются?

    Природе пофиг на наши дни месяцы и недели, может и для визуализации на это тоже наплевать? волевым решением принять за год фиксированное количество дней, определить условные месяцы и визуализировать соответственно.

    Еще вариант, что такое усреднение по суткам? это значит сложить значения год назад, два назад, три назад... вот и берите тот день, который был год назад, воспользовавшись получается данными в один и тот же день в прошлом для вычисления среднего в разные дни (так можно делать для min/max/average методов, а вот складывать нельзя).
    Ответ написан
  • Повышение и понижение стоимости акций как описать правильно математически?

    @rPman
    Осторожно, есть два кардинально отличающихся места на рынке где можно совершать сделки:
    * обменник (например банк), вам говорят цену, которая периодически меняется и в некотором смысле зависит от объема
    * биржа (в правильном варианте с ней вы работаете через биржу, но есть кухни которые выступают обменником или даже симулянтами), вы можете выставить свою цену (limit сделки) либо совершить сделку по рыночной цене (market) - как в варианте выше но без 'скрытой' комиссии (обменник обычно является обычным трейдером на бирже, вычисляя свою стоимость и добавляя свои комиссии).

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

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

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

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

    @rPman
    +Normal Damage*SuperDamageMultiplier/N

    если супер дамаг может быть и для крита, отдельно и его добавь
    Ответ написан
    1 комментарий
  • Как определить промах летательного аппарата?

    @rPman
    Если не нужно заморачиваться с силой кориолиса, сопротивлением воздуха и тем более аэродинамикой, то считайте пересечение параболы с плоскостью земли. Задачу решаете на плоскости, по которой движется снаряд (т.е. задача двухмерная), сама плоскость находится через вектор направления движения летательного аппарата.

    p.s. если аппарат летит со включенными двигателями то решаете сначала задачу так буд то они выключены, а затем даете поправку на их основе. само собой, если двигатели работают с переменным ускорением, то это тоже придется учитывать...
    Ответ написан
  • Как генерировать числа с линейно заданной вероятностью?

    @rPman
    Если параметры задают вероятность дискретно (на картинке кстати у вас не дискретно а сложные нелинейные зависимости, т.е. 1 встречается почти в 50 раз реже 10, смею предположить что вам ТАК не надо) на интервалах, типа от [0-10) - 50 то решайте проблему в лоб, сначала выбирайте интервал в соответствии с вероятностями (если задаете количественно, то это сумма заданых значений - максимальное значение, а интервал значения rand - соответствующее значение для суммы до этого интервала и с ним, после выбора интервала просто делаете повторный rand так как в пределах интервала вам нужно равномерное.
    Ответ написан