Бесконечно малые и большие: как работать с экстремально малым и большим
🎯 Зачем это нужно?
Представь, что ты программист в Netflix 🎬. Алгоритм рекомендаций работает с миллиардами данных - некоторые числа становятся астрономически большими, другие стремятся к нулю. Как понять, какие из них действительно важны?
📱 В ML: Когда нейросеть обучается, некоторые веса становятся очень маленькими, другие - огромными 🚗 В Tesla: GPS определяет координаты с точностью до сантиметров - ошибки бесконечно малы ⚡ В квантовой физике: Постоянная Планка h ≈ 10⁻³⁴ - практически “ноль” в макромире
📚 История вопроса
В 1734 году Беркли критиковал Ньютона: “Как можно делить на бесконечно малое? Это же ноль!” 🤔
Математики 200 лет спорили о том, что такое dx в формуле производной f’(x) = df/dx. Только в XIX веке Коши и Вейерштрасс дали строгое определение через пределы. Оказалось - всё дело в скорости приближения к нулю или бесконечности!
💡 Интуиция
Бесконечно малые - это не просто “очень маленькие числа”. Это функции, которые стремятся к нулю, но с разной скоростью:
🐌 x → 0 медленно
🐎 x² → 0 быстрее
🚀 e^(-1/x²) → 0 сверхбыстро при x → 0
Аналогично бесконечно большие:
🐌 x → ∞ медленно
🐎 x² → ∞ быстрее
🚀 e^x → ∞ сверхбыстро
[МЕДИА: image_01] Описание: График сравнения скоростей роста различных функций Промпт: “mathematical graph comparing growth rates of functions like x, x², eˣ, different colors for each curve, logarithmic scale, clean educational style, university level”
📐 Формальное определение
Бесконечно малые при x → a:
Функция α(x) называется бесконечно малой при x → a, если: lim[x→a] α(x) = 0
Сравнение бесконечно малых:
- α ~ β (эквивалентны): lim[x→a] α(x)/β(x) = 1
- α = o(β) (α меньшего порядка): lim[x→a] α(x)/β(x) = 0
- α = O(β) (α не больше β): |α(x)/β(x)| ≤ M для некоторой константы M
Бесконечно большие при x → a:
Функция f(x) называется бесконечно большой, если: lim[x→a] f(x) = ∞
🔍 Примеры с разбором
Пример 1: Сравнение при x → 0
Сравним α(x) = x² и β(x) = sin x при x → 0
Шаг 1: Проверим, что обе б.м.: lim[x→0] x² = 0 ✓ lim[x→0] sin x = 0 ✓
Шаг 2: Найдём отношение: lim[x→0] x²/sin x = lim[x→0] x²/x = lim[x→0] x = 0
Вывод: x² = o(sin x), то есть x² стремится к нулю быстрее sin x
Пример 2: Эквивалентные функции
При x → 0:
- sin x ~ x (классическая эквивалентность!)
- tan x ~ x
- ln(1+x) ~ x
- e^x - 1 ~ x
Проверим sin x ~ x: lim[x→0] (sin x)/x = 1 (первый замечательный предел!) ✓
[МЕДИА: image_02] Описание: Сравнительная таблица эквивалентных бесконечно малых Промпт: “educational table showing equivalent infinitesimals near zero, mathematical formulas, clean typography, university textbook style, organized in rows and columns”
Пример 3: Асимптотика в программировании
Алгоритм сортировки массива из n элементов:
- Пузырьковая сортировка: T(n) = O(n²)
- Быстрая сортировка: T(n) = O(n log n)
- Поиск в отсортированном: T(n) = O(log n)
При n → ∞: log n = o(n) = o(n²)
Это значит, что для больших n бинарный поиск работает несравнимо быстрее линейного!
🎮 Практика
Базовый уровень 🟢
Задание 1: Определи порядок малости x³ относительно x при x → 0
💡 Подсказка
Найди предел отношения x³/x✅ Ответ
lim[x→0] x³/x = lim[x→0] x² = 0, значит x³ = o(x)Задание 2: Верно ли, что 3x ~ 5x при x → 0?
💡 Подсказка
Проверь, равен ли предел отношения единице✅ Ответ
lim[x→0] (3x)/(5x) = 3/5 ≠ 1, поэтому НЕ эквивалентныЗадание 3: Используя sin x ~ x, вычисли lim[x→0] (sin 3x)/(5x)
💡 Подсказка
sin 3x ~ 3x при x → 0✅ Ответ
lim[x→0] (sin 3x)/(5x) = lim[x→0] (3x)/(5x) = 3/5Задание 4: Сравни x² и x⁴ при x → 0
✅ Ответ
lim[x→0] x⁴/x² = lim[x→0] x² = 0, значит x⁴ = o(x²)Продвинутый уровень 🟡
Задание 5: Найди главную часть функции f(x) = x + x² + x³ при x → 0
💡 Подсказка
Какое слагаемое "главнее" при малых x?✅ Ответ
Главная часть: x, так как x² = o(x), x³ = o(x)Задание 6: Вычисли lim[x→0] (e^x - 1 - x)/x²
💡 Подсказка
Разложи e^x по формуле Тейлора: e^x = 1 + x + x²/2 + o(x²)✅ Ответ
e^x - 1 - x = x²/2 + o(x²), поэтому предел равен 1/2Задание 7: Определи порядок роста функции f(n) = n² + 100n + 5000 при n → ∞
✅ Ответ
f(n) = O(n²), главная часть n²Задание 8: Покажи, что ln x = o(x) при x → +∞
💡 Подсказка
Используй правило Лопиталя для lim[x→∞] (ln x)/x✅ Ответ
lim[x→∞] (ln x)/x = lim[x→∞] (1/x)/1 = 0Челлендж 🔴
Задание 9: В машинном обучении функция потерь имеет вид L(θ) = θ² + 0.01θ⁴ + 0.0001θ⁶. При малых θ, какой член доминирует в градиенте L’(θ)?
✅ Ответ
L'(θ) = 2θ + 0.04θ³ + 0.0006θ⁵ ≈ 2θ при малых θЗадание 10: Алгоритм A работает за время O(n log n), алгоритм B - за O(n^1.5). При каком n алгоритм A станет быстрее?
✅ Ответ
Решаем n log n < n^1.5, откуда log n < n^0.5. Численно: примерно при n > 16Задание 11: Найди асимптотику суммы 1 + 1/2 + 1/3 + … + 1/n при n → ∞
💡 Подсказка
Это гармонический ряд, растёт как ln n✅ Ответ
Сумма ~ ln n + γ (γ - постоянная Эйлера ≈ 0.577)⚠️ Частые ошибки
❌ Ошибка: “Если lim α(x) = 0, то α(x) всегда меньше любой другой б.м.” ✅ Правильно: Нужно сравнивать скорость стремления к нулю через отношение 💡 Почему: x и 2x обе стремятся к 0, но растут с одинаковой скоростью
❌ Ошибка: “O(n) + O(n²) = O(n + n²)” ✅ Правильно: O(n) + O(n²) = O(n²) 💡 Почему: Берётся доминирующий (самый быстрорастущий) член
❌ Ошибка: Путать o(малое) и O(большое) ✅ Правильно: o - строго меньший порядок, O - не больший порядок 💡 Почему: x² = o(x) НЕверно, но x² = O(x) тоже НЕверно при x → ∞
🎓 Главное запомнить
✅ Бесконечно малые/большие - это функции, а не числа
✅ Главное - не величина, а скорость изменения
✅ Эквивалентность: lim α(x)/β(x) = 1
✅ В анализе алгоритмов: доминирует самый быстрорастущий член
🔗 Связь с другими темами
Откуда пришли: Пределы (урок 180) - фундамент для понимания б.м. и б.б. Куда ведут: Ряды Тейлора, асимптотические разложения, анализ сложности алгоритмов Практика: Численные методы, машинное обучение, теория вероятностей
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку