Все потоки
Поиск
Написать публикацию
Обновить
319.29

Математика *

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

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_17

? Можете ли вы объяснить, как работает Prophet для прогнозирования временных рядов ? (Часть_1)

  1. Декомпозиция временного ряда: Prophet автоматически декомпозирует временной ряд на несколько компонентов:

    • Тренд: Prophet моделирует гибкий нелинейный тренд, который может быть линейным или логистическим, в зависимости от данных.

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

    • Праздники: Prophet позволяет включить информацию о праздниках и других событиях, которые могут влиять на временной ряд.

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

  • ? Телеграм-канал: t.me/DenoiseLAB (Если вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

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

9999999999999999.0 - 9999999999999998.0 в 20 языках программирования:

Ruby: irb(main):001:0> 9999999999999999.0 - 9999999999999998.0
2.0

Java: public class Foo{public static void main(String args[]){System.out.println(9999999999999999.0-9999999999999998.0);}}
2.0

Python: >>> 9999999999999999.0 - 9999999999999998.0
2.0

Rebol: >> 9999999999999999.0 - 9999999999999998.0
== 2.0

Haskell: Prelude> 9999999999999999.0 - 9999999999999998.0
2.0

TCL: % expr "9999999999999999.0-9999999999999998.0"
0.0

Emacs Lisp: ELISP> (- 9999999999999999.0 9999999999999998.0)
2.0

Common–Lisp: [1]> (- 9999999999999999.0 9999999999999998.0)
0.0

Maxima: (%i1) 9999999999999999.0-9999999999999998.0; (%o1) 2.0

Google: 0

K/Q: q)9999999999999999.0-9999999999999998.0
2f

R: > 9999999999999999.0-9999999999999998.0
[1] 2

Erlang: 1> 9999999999999999.0-9999999999999998.0 .
2.0

C: main(){printf("%lf\n",(double)9999999999999999.0-9999999999999998.0);}
2.000000

AWK: $ awk 'END{print 9999999999999999.0-9999999999999998.0}'</dev/null
2

GoLang: var a = 9999999999999999.0; var b = 9999999999999998.0; fmt.Printf("%f\n", a-b)
2.000000

Perl: $ perl -e 'print 9999999999999999.0-9999999999999998.0;print "\n";'
2.0

Perl6: $ perl6 -e 'print 9999999999999999.0-9999999999999998.0;print "\n";'
1

Wolfram: 1

soup: 9999999999999999.0-9999999999999998.0
1

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_14 (Часть_1)

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

  1. Кросс-валидация (Cross-Validation): Кросс-валидация позволяет оценить производительность модели на разных подмножествах данных. Например, метод k-fold cross-validation разбивает данные на k подмножеств, называемых фолдами. Модель обучается на k-1 фолдах и оценивается на оставшемся фолде. Этот процесс повторяется k раз, каждый раз используя разные фолды. Таким образом, модель оценивается на различных подмножествах данных, что помогает выявить ее стабильность популяции.

  2. Стратифицированная выборка (Stratified Sampling): При формировании обучающей и тестовой выборок можно использовать стратифицированный подход. Это означает, что при разделении данных на выборки будут сохранены пропорции классов или распределений признаков. Такой подход помогает уменьшить возможное искажение данных при изменении популяции.

    t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_13

?Вопрос_13: Какие есть альтернативы Expectation-Maximization (EM) ?

  1. Markov Chain Monte Carlo (MCMC): MCMC - это класс методов, которые позволяют проводить сэмплирование из сложных распределений, таких как постериорные распределения параметров моделей. MCMC методы генерируют последовательность сэмплов, которая соответствует искомому распределению. MCMC алгоритмы, такие как Metropolis-Hastings и Gibbs sampling, являются альтернативой EM и позволяют оценивать параметры модели, учитывая скрытые переменные.

  2. Stochastic Gradient Variational Bayes (SGVB): SGVB - это метод, который комбинирует идеи градиентного спуска и вариационного вывода для оценки параметров моделей. Он позволяет приближенно оптимизировать параметры модели, используя стохастические градиенты, что делает его масштабируемым для больших наборов данных. SGVB широко применяется в глубоком обучении и моделях с динамическими параметрами.

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

t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_12

?Вопрос_12: Expectation-Maximization (EM) ?

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

EM-алгоритм состоит из двух основных шагов: шага ожидания (Expectation) и шага максимизации (Maximization).

  1. Шаг ожидания (Expectation step, E-шаг): На этом шаге вычисляются ожидаемые значения скрытых переменных (или "ответственностей") в соответствии с текущими значениями параметров модели. Это делается путем вычисления условного математического ожидания скрытых переменных при условии наблюдаемых данных и текущих параметров модели.

  2. Шаг максимизации (Maximization step, M-шаг): На этом шаге обновляются параметры модели, чтобы максимизировать ожидаемое правдоподобие, полученное на E-шаге. Обновление параметров происходит путем решения оптимизационной задачи, которая может включать максимизацию правдоподобия или минимизацию ошибки между наблюдаемыми данными и ожидаемыми значениями.

    t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных);

    https://boosty.to/denoise_lab (Если вы хотите поддержать проект, или получить более модные фишки по коду и продвижению подписывайтесь).

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_11

?Вопрос_11: Какие есть альтернативы Affinity Propagation ?

  1. Агломеративная кластеризация (Agglomerative Clustering): Это иерархический метод кластеризации, который начинает с каждой точки данных в отдельном кластере и последовательно объединяет ближайшие кластеры, пока не достигнет заданного числа кластеров или критерия объединения. Агломеративная кластеризация может работать как с евклидовыми расстояниями, так и с другими метриками.

  2. Gaussian Mixture Models (GMM): Это статистическая модель, которая представляет каждый кластер как смесь нормальных распределений. GMM моделирует данные с помощью вероятностей и может обнаруживать скрытые кластеры и моделировать данные с разной формой распределения.

  3. Spectral Clustering: Этот алгоритм использует спектральные методы для преобразования данных в новое пространство и выполнения кластеризации. Он основан на вычислении собственных векторов матрицы сходства данных и последующем применении методов кластеризации на полученных спектральных коэффициентах.

    t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных)

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_10

?Вопрос_10: Что такок Tarantool и как он устроен ? (Часть_1)

✔️Ответ: Tarantool — это база данных с открытым исходным кодом и высокой производительностью, которая сочетает в себе функциональность базы данных и сервера приложений. Tarantool состоит из:

  1. In-Memory и Disk Storage: Tarantool предлагает возможность хранения данных как в оперативной памяти (In-Memory), так и на диске (Disk Storage). Это позволяет обеспечить высокую скорость доступа к данным и сохранить данные на долгосрочное хранение.

  2. Lua: Tarantool использует язык программирования Lua для создания хранимых процедур (stored procedures), триггеров и бизнес-логики. Lua обеспечивает гибкость и простоту внедрения пользовательского кода в базу данных.

  3. NoSQL и Lua Spaces: Tarantool поддерживает гибкую модель данных, известную как Lua Spaces. Lua Spaces предоставляет простой способ хранения и извлечения данных, а также мощные возможности индексирования и поиска.

     t.me/DenoiseLAB (Еесли вы хотите быть в курсе всех последних новостей и знаний в области анализа данных)

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_9

?Вопрос_9: В чем разница между Rapids, Vaex, Pandas, Polars, Modin, Dask они же все для анализа данных ?

✔️Ответ:

  1. Pandas предоставляет гибкие структуры данных, такие как DataFrame, и мощные инструменты для манипуляции, фильтрации, агрегации и анализа данных. Pandas обычно используется для работы с небольшими и средними объемами данных, которые могут поместиться в оперативную память одного компьютера;

  2. Dask позволяет обрабатывать данные, превышающие объем доступной оперативной памяти, с использованием распределенных вычислений. Dask предоставляет абстракции, такие как DataFrame и Array, которые подобны структурам данных из Pandas и NumPyx;

  3. Polars обладает высокой производительностью благодаря использованию Rust в своей реализации, а также предлагает возможности параллельной обработки данных. Она может работать с большими объемами данных и поддерживает некоторые распределенные вычисления;

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

  5. Modin предоставляет интерфейс, совместимый с Pandas, но с оптимизированной производительностью. Она использует различные движки обратной совместимости, такие как Dask и Ray, для распределенных и параллельных вычислений.

    https://t.me/DenoiseLAB

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_8

?Вопрос_8: Какие алгориммы поиска аномалий в данных существуют и чем они отличаются ?

✔️Ответ:

  • DBSCAN (Density-Based Spatial Clustering of Applications with Noise) - алгоритм кластеризации данных, который основывается на плотностной информации о расположении объектов. Он определяет кластеры как плотные области в пространстве признаков, разделенные областями разреженности;

  • LOF (Local Outlier Factor): LOF также использует информацию о плотности для обнаружения аномалий. Он вычисляет локальный коэффициент выброса для каждого объекта, основываясь на плотности окрестности данного объекта по сравнению с плотностью окрестности его соседей. Значения LOF выше единицы указывают на аномальные объекты;

  • Isolation Forest использует случайные деревья для изоляции аномалий. Он строит ансамбль изолирующих деревьев, разделяя объекты по случайным разделениям до тех пор, пока каждый объект не будет изолирован в отдельном листе. Аномалии обычно требуют меньшего числа разделений для изоляции, и поэтому имеют более короткий путь в дереве;

  • One-Class SVM (Support Vector Machines): One-Class SVM - алгоритм, который строит модель только для "нормальных" данных. Он пытается найти гиперплоскость, которая наилучшим образом разделяет нормальные данные от выбросов в пространстве признаков. Объекты, находящиеся далеко от этой гиперплоскости, считаются аномалиями.

    https://t.me/DenoiseLAB

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_7

?Вопрос_7: Какие есть разновидности Adam optimization и в чем их разница ?

✔️Ответ:

  1. AdamW вводит дополнительное слагаемое в обновление параметров модели для уменьшения влияния больших значений параметров. Это помогает справиться с проблемой увеличения значений параметров во время обучения нейронных сетей, что может приводить к переобучению. Дополнительное слагаемое регуляризует обновление параметров и способствует лучшей обобщающей способности модели;

  2. Nadam (Nesterov-accelerated Adaptive Moment Estimation) является вариацией алгоритма Adam с коррекцией Nesterov Momentum. Она использует модификацию алгоритма Momentum для вычисления градиентов в моменты времени, отличные от текущего;

  3. AMSGrad (Adaptive Moment Estimation with Variance Correction) вводит исправление для оценки второго момента градиентов. Оно предотвращает возможное увеличение оценки второго момента в сравнении с алгоритмом RMSprop;

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

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

    https://t.me/DenoiseLAB

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_6

?Вопрос_6: Всегда ли PCA спасает от проблеммы "проклятие размерности" и если нет, то что можно использовать вместо него ?

✔️Ответ:
РСА не всегда спасает от проклятия размерности, однако существует несколько продвинутых алгоримов для решения данной проблеммы:

  • t-SNE (t-Distributed Stochastic Neighbor Embedding): Этот алгоритм позволяет визуализировать данные высокой размерности в двух или трех измерениях, сохраняя при этом их локальную и глобальную структуру. Он основан на вероятностной модели, которая пытается сохранить близость между объектами в исходном пространстве и их представлением в пространстве меньшей размерности.

  • LLE (Locally Linear Embedding): LLE ищет линейные зависимости между соседними точками данных и пытается сохранить эти зависимости при снижении размерности. Алгоритм строит локальные линейные модели для каждой точки данных и затем находит низкоразмерное представление, которое наилучшим образом воспроизводит эти локальные модели.

  • UMAP (Uniform Manifold Approximation and Projection): UMAP является относительно новым алгоритмом снижения размерности, который сочетает в себе методы локальной связности и глобальной структуры данных. Он строит граф связности между точками данных и затем находит низкоразмерное представление, которое сохраняет геометрическую структуру данных.

    Кроме того, в ряде задач применяются: Isomap, MDS, Random Projection, Sparse Coding, NMF.

    https://t.me/DenoiseLAB

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

В лингвистике имеется слабо изученный закон Ципфа, применяемый для изучения распределений числовых значений различной природы. При этом отсутствует внятное теоретическое объяснение природы этого закона. Попытаемся придумать объяснение.

Рассмотрим следующую модель. Допустим, есть множество вершин, линейно упорядоченных и образующих граф, в котором из каждой вершины идут рёбра во все последующие вершины. В случайно выбранную вершину поступает новая информация. Вершина передает эту информацию в случайно выбранную вершину, в которую из нее идёт ребро, и так по цепочке. Если мы посчитаем для каждой вершины вероятность прохождения пути через неё, получим распределение частоты получения информации между вершинами. Будет ли подчиняться это распределение закону типа Ципфа?

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

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

Вообще применимость закона Ципфа для конкретной предметной области зависит от простоты выдвигаемой модели. Если моделируемый объект ведет себя примерно так, то модель применима

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_5

?Вопрос_5: Что означает термин "Variance Inflation Factor" и как он интерпритируется и есть ли ему аналоги ?

✔️Ответ:

"Variance Inflation Factor" (VIF) относится к статистическому показателю, используемому для измерения степени мультиколлинеарности в модели линейной регрессии. Мультиколлинеарность происходит, когда две или более независимые переменные в модели сильно коррелируют друг с другом, что может исказить результаты регрессии.

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

Интерпретация VIF следующая: если VIF предиктора равен 5.27 (корень из 5.27 = 2.3), это означает, что стандартная ошибка для коэффициента этого предиктора в 2.3 раза больше, чем если этот предиктор имел бы корреляцию 0 с другими предикторами в модели. VIF измеряет количество завышенных дисперсий, вызванных мультиколлинеарностью. 

В качестве аналога VIF можно рассмотреть "Tolerance Index" (TI), который также используется для измерения степени мультиколлинеарности в модели. TI также представляет собой отношение дисперсии оценок параметра к дисперсии модели.

https://t.me/DenoiseLAB

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

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_4

?Вопрос_4: Как проверить нормальность набора данных или признака?

✔️Ответ: Существует список проверок нормальности, они следующие:

  • W-тест Шапиро-Уилка:

    1. Рассчитывается выборочное среднее и ковариационная матрица выборки;

    2. Затем вычисляются статистики заказа (например, i-е наименьшее число в выборке) и ожидаемые значения из статистики заказа, выбранные из стандартного нормального распределения;

    3. Наконец, вычисляется W-статистика, которая сравнивается с критическим значением, полученным через моделирование Монте-Карло;

    4. Если W-статистика значима, то гипотеза о нормальном распределении данных отвергается, то есть данные, не следуют нормальному распределению;

  • Тест Мартинеса-Иглевича:

    1. Вычисляются квантили выборки;

    2. Эти квантили сравниваются с квантилями стандартного нормального распределения;

    3. Расстояние между квантилями выборки и стандартного нормального распределения вычисляется для каждого квантиля;

    4. Если все расстояния меньше некоторого критического значения, то гипотеза о нормальном распределении данных принимается.

  • Тест Д'Агостино

    1. Вычисляются эксцесс и асимметрия выборки и эти значения сравниваются с ожидаемыми значениями для нормального распределения;

    2. Расстояние между вычисленными и ожидаемыми значениями вычисляется для каждого из них;

    3. Если оба расстояния меньше некоторого критического значения, то гипотеза о нормальном распределении данных принимается.

    https://t.me/DenoiseLAB

    #work #coding #testing #optimization #ml #learning

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_3

?Вопрос_3: Что такое преобразование Бокса-Кокса?

Преобразование Бокса-Кокса (Box-Cox transformation) - это преобразование, которое преобразует "ненормальные" зависимые переменные в нормальные переменные, так как нормальность является наиболее распространенным предположением при использовании многих статистических методов. Оно было предложено Георгом Боксом и Дэвидом Коксом в 1964 году.

Преображование Бокса-Кокса (Общий вид)
Преображование Бокса-Кокса (Общий вид)

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

  1. Метод максимального правдоподобия: В этом подходе подбирается значение (лямбда), которое максимизирует правдоподобие модели. Это можно сделать с помощью численных методов оптимизации, таких как метод Ньютона-Рафсона или метод Брента;

  2. Критерии информационного критерия: можно использовать информационные критерии, такие как критерий Акаике (AIC) или критерий Шварца (BIC);

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

    https://t.me/DenoiseLAB

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

❓100 Вопросов по Машинному обучению (Machine Learning) - Вопрос_2

?Вопрос_2: Объясните, что такое One-hot encoding и Label Encoding. Как они влияют на размерность заданного набора данных ?

✔️Ответ:

One-hot encoding - это представление категориальных переменных в виде двоичных векторов, при котором каждая уникальная категория переменной преобразуется в новый бинарный столбец, называемый "фиктивной переменной". В этом новом столбце значение 1 указывает на принадлежность к соответствующей категории, а значение 0 - на принадлежность к другим категориям. Таким образом, каждая уникальная категория представлена отдельным столбцом. Это позволяет алгоритмам машинного обучения интерпретировать категориальные значения и использовать их в расчетах. Не создает ложного упорядочения или отношения между значениями категориальных переменных и помогает избежать проблемы ложной корреляции между категориями переменных. Однако, использование one-hot encoding увеличивает размерность набора данных ("проклятие размерности").

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

#work #coding #testing #optimization #ml #learning

Телеграмм: https://t.me/DenoiseLAB

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

Youtube-канал ones and zeros опубликовал визуализации нахождения маршрута между двумя точками в реальных городах (Чикаго и Рим) при помощи A*. Алгоритм A* — это рекурсивный алгоритм поиска пути в графах на основе эвристик, изобретённый в 1968 году как усовершенствованная версия алгоритма Дейкстры. Этот алгоритм активно применяется в разработке игр.

Статья про A* в Википедии: ссылка

Пара статей на Хабре с объяснением работы алгоритма: 1, 2

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

Для решения задачи наименьших квадратов с двумя переменными предлагается круговой метод оптимизации. Задано отображение из плоскости в m-мерное пространство, координатные функции которого могут удовлетворять, например, свойству покоординатной монотонности, а также свойству замедления роста: каждая координата растет тем слабее, чем больше ее величина. Задача наименьших квадратов состоит в минимизации суммы квадратов m функций, зависящих от двух переменных.

Цель - найти все оптимумы, не вычисляя производные. Пусть задано два начальных приближения a, b. Первый шаг алгоритма: найти решение линеаризованной задачи наименьших квадратов в этом направлении. В результате получится точка c. Второй шаг алгоритма: решить задачу линейного поиска относительно угла. Развернем вектор bc на такой угол, в котором значение целевой функции станет локально минимальным. Для решения этой задачи можно использовать метод парабол, если вычислить значения целевой функции при развороте вектора, скажем, на ±5° и приблизить зависимость от угла многочленом второй степени. Далее полученная точка становится вторым приближением, а второе приближение с предыдущего шага - первым.

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

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

Профессор Университета Дрекселя Дарий Гринберг выложил на arXiv.org 422-страничный конспект по теории графов. Документ на английском «An introduction to graph theory» рекомендует себя как материал на курс Math 530 в Дрекселе длиной в четверть. Текущая редакция датируется 2 августа 2023 года.

Рассматриваются простые графы и мультиграфы, эйлеровы циклы, гамильтоновы циклы, остовные деревья, матричная теорема о деревьях, теорема де Брёйна — Эренефест — Смита — Татта, правильная раскраска, теорема Турана, двудольные графы, теорема Менгера и теорема Галлая — Мильграма. Также включены около сотни задач (без решений).

Гринберг вообще любит свободно распространять информацию. У себя на странице на сайте университета он непринуждённо ссылается на книги на пиратской библиотеке Library Genesis.

arXiv:2308.04512

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

Постановка задачи:

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

Бармен отвечает: У меня столько пива нет.


Вот программа, которая это считает:

const бармен = function (математиков) {
    let пиво = 0;
    let счётчик = 1;
    let делитель = 2;
    while (счётчик <= математиков) {
        пиво += 1 / делитель++;
        счётчик++;
    }
    return пиво;
};

Вот пиво в зависимости от количества математиков:

1 - 0.5
10 - 2.02
100 - 4.197
1 000 - 6.486
10 000 - 8.788
100 000 - 11.09
1 000 000 - 13.393
10 000 000 - 15.695
100 000 000 - 17.998
```
Результаты расчётов расхода пива на математиков
Результаты расчётов расхода пива на математиков

С каждым разрядом, начиная от 10 000 математиков, прирост пива составляет 2,3 литра.

Вот вариация данной задачи:

Бесконечное число математиков заходит в бар.
Первый заказывает одно пиво, второй - половину кружки, третий - четверть.
Бармен отвечает: Вот дурачьё! - И наливает две кружки.

Предлагайте Ваши варианты задач про пиво с математиками. Пишите интересные наблюдения.

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

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