🔴 Сложный ⏱️ 55 минут

Асимптоты

📋 Содержание урока

Асимптоты 📉

Ты запускаешь обучение нейросети. Первая эпоха — accuracy 0,62. Вторая — 0,78. Третья — 0,85. Ты радуешься: ещё пара эпох и будет 0,99! Но вот десятая эпоха — 0,913. Двадцатая — 0,927. Пятидесятая — 0,931. Кривая практически легла на горизонтальную линию где-то около 0,932 и дальше не идёт, сколько бы ты ни ждал. Это не баг обучения и не «модель устала». Это горизонтальная асимптота — прямая, к которой график подходит сколь угодно близко, но которой не достигает никогда.

Такое же поведение ты увидишь в куче других мест. Функция потерь cross-entropy при вероятности, стремящейся к нулю, улетает в $+\infty$ — вертикальная асимптота, из-за которой в каждой нормальной библиотеке предсказания клиппуют в диапазон вроде $[10^{-7};\ 1-10^{-7}]$. Сигмоида на краях становится почти плоской — и градиент, который через неё идёт, схлопывается в ноль (это и есть знаменитая проблема затухающих градиентов). Время работы алгоритма при больших входах растёт «почти линейно» — то есть график времени прижимается к некоторой наклонной прямой. Везде одна и та же математическая идея: функция ведёт себя как простая прямая, когда аргумент уходит в предельный режим.

Асимптота — это, по сути, «скелет» графика на бесконечности и возле точек разрыва. Если ты знаешь асимптоты, ты уже знаешь про функцию 80% того, что нужно для быстрого наброска графика и для прикидки «а что будет, если параметр устремить в ноль / в бесконечность». Именно поэтому асимптоты идут прямо перед уроком про построение графиков: сначала каркас, потом детали.

В этом уроке мы разберём все три типа асимптот — вертикальные, горизонтальные и наклонные, — выведем рабочие формулы через пределы, соберём универсальный алгоритм из четырёх шагов и прогоним его на десятках функций: от школьных дробей до сигмоиды, кривых обучения и функции потерь Хубера. Давай разберёмся.

🎯 Ты узнаешь:

  • Что такое асимптота строго — через односторонние пределы и пределы на бесконечности, а не «прямая, которую график не пересекает»
  • Как за секунды находить вертикальные асимптоты и как отличать их от «дырок» (устранимых разрывов)
  • Как определять горизонтальную асимптоту дробно-рациональной функции по одним лишь степеням числителя и знаменателя
  • Как считать наклонную асимптоту по формулам $k = \lim \frac{f(x)}{x}$ и $b = \lim (f(x) - kx)$, и почему у $+\infty$ и $-\infty$ ответы могут отличаться
  • Почему асимптоты сигмоиды и tanh — прямая причина затухающих градиентов, а асимптота scaling law — это «неустранимый лосс», ниже которого модель не опустится

История: откуда это взялось?

Слово «асимптота» пришло из греческого $\alpha\sigma\acute{\upsilon}\mu\pi\tau\omega\tau o\varsigma$ — «несовпадающий», «не соприкасающийся». И придумали идею задолго до всяких пределов: Аполлоний Пергский (около 262–190 гг. до н. э.) в трактате «Конические сечения» изучал гиперболу — кривую, которая получается при сечении конуса плоскостью. Он строго доказал, что ветви гиперболы приближаются к двум прямым сколь угодно близко, но никогда их не встречают. Для греческой математики это была почти скандальная вещь: две линии сближаются вечно и не пересекаются. Никакого понятия «предела» тогда не существовало, поэтому Аполлоний формулировал результат геометрически — через неравенства и оценки расстояний, — но по сути это уже был предел, просто написанный на другом языке.

Следующий громкий эпизод — XVII век. Итальянец Эванджелиста Торричелли в 1643 году взял ту самую гиперболу $y = 1/x$ (у которой асимптоты — обе оси координат) и вращал её ветвь вокруг оси $Ox$. Получилось тело, которое позже назвали «трубой Торричелли» или «рогом Гавриила». И вышел парадокс: длина трубы бесконечна, площадь её поверхности бесконечна, а объём конечен и равен $\pi$. Современники Торричелли спорили об этом яростно — Томас Гоббс называл результат абсурдом. А причина парадокса ровно одна: асимптотическое поведение $1/x$ — функция убывает достаточно быстро, чтобы «объём сошёлся», но недостаточно быстро, чтобы сошлась «площадь». Это первый в истории случай, когда асимптотика стала решать спор о реальном физическом объекте.

Строгий вид всё это приобрело только в XIX веке, когда Огюстен Луи Коши в «Курсе анализа» (1821) дал аккуратное определение предела через $\varepsilon$ и $\delta$. С этого момента асимптота перестала быть геометрической картинкой и стала тем, чем является сегодня: утверждением про предел разности $f(x) - (kx+b)$. А оттуда — прямая дорога в наши дни. Когда ты читаешь, что алгоритм работает за $O(n\log n)$, или что loss модели упирается в irreducible error, или что активация «насыщается» — во всех трёх случаях речь идёт об асимптотическом поведении функции, то есть о том самом, что Аполлоний рисовал на папирусе 2200 лет назад.


Вертикальные асимптоты: там, где функция взрывается

Интуиция

Представь, что ты делишь пирог между $x$ гостями: каждому достаётся $1/x$ пирога. Гостей десять — по десятой части. Гость один — весь пирог. А теперь начни уменьшать число гостей ниже единицы (математически это законно: $x = 0{,}1$, $x = 0{,}01$): доля каждого растёт — 10 пирогов, 100 пирогов, 1000 пирогов. При $x \to 0$ значение улетает вверх без всякого предела. График в этом месте становится почти вертикальным и прижимается к прямой $x = 0$, никогда её не касаясь. Вот эта прямая и есть вертикальная асимптота.

Ключевая мысль: вертикальная асимптота всегда живёт в точке, где функция не определена, — там, где знаменатель обращается в ноль, где логарифм упирается в свою границу, где тангенс перескакивает через $\pi/2$. Но обратное неверно: не всякая «дырка» в области определения даёт асимптоту. Иногда там всего лишь выколотая точка, и график спокойно проходит мимо. Отличать одно от другого — главный навык этого раздела.

Определение: Прямая $x = a$ называется вертикальной асимптотой графика функции $y = f(x)$, если хотя бы один из односторонних пределов в точке $a$ бесконечен:

$$\lim\limits_{x \to a^-} f(x) = \pm\infty \quad \text{или} \quad \lim\limits_{x \to a^+} f(x) = \pm\infty$$

Как искать — практическое правило:

  • Найди область определения $D(f)$: точки, где знаменатель $=0$; где под логарифмом $0$; где тангенс/котангенс не определены
  • Для каждой «подозрительной» точки $a$ посчитай односторонние пределы
  • Если хоть один из них бесконечен — прямая $x = a$ асимптота. Если оба конечны — это устранимый разрыв («дырка»), асимптоты нет
  • Вертикальных асимптот может быть сколько угодно: у $y = \tan x$ их бесконечно много ($x = \pi/2 + \pi n$)

Примеры с разбором

Пример 1 (простой): найди вертикальные асимптоты функции $y = \dfrac{1}{x-3}$

Решение:

Шаг 1. Найдём область определения. Знаменатель обращается в ноль при $x - 3 = 0$, то есть при $x = 3$. Значит, $D(f) = (-\infty; 3) \cup (3; +\infty)$, и единственная подозрительная точка — $x = 3$.

Шаг 2. Посчитаем предел слева. Если $x$ чуть меньше 3 (например, $2{,}999$), то $x - 3$ — маленькое отрицательное число, а единица, делённая на маленькое отрицательное, — огромное отрицательное:

$$\lim\limits_{x \to 3^-} \frac{1}{x-3} = -\infty$$

Шаг 3. Посчитаем предел справа. При $x$ чуть больше 3 (например, $3{,}001$) знаменатель — маленькое положительное число:

$$\lim\limits_{x \to 3^+} \frac{1}{x-3} = +\infty$$

Шаг 4. Оба предела бесконечны — условие определения выполнено с запасом.

Проверим наш ответ: $f(2{,}99) = \dfrac{1}{-0{,}01} = -100$, а $f(3{,}01) = \dfrac{1}{0{,}01} = 100$ ✅ — график действительно уходит вниз слева и вверх справа.

Ответ: $x = 3$ — вертикальная асимптота.


Пример 2 (средний): найди вертикальные асимптоты функции $y = \dfrac{x^2-4}{x^2-5x+6}$

Решение:

Шаг 1. Разложим числитель и знаменатель на множители. Числитель — разность квадратов:

$$x^2 - 4 = (x-2)(x+2)$$

Знаменатель — квадратный трёхчлен, корни ищем по теореме Виета: сумма корней 5, произведение 6, значит корни 2 и 3:

$$x^2 - 5x + 6 = (x-2)(x-3)$$

Шаг 2. Область определения: знаменатель равен нулю при $x = 2$ и $x = 3$. Обе точки под подозрением.

Шаг 3. Проверим $x = 2$. При $x \neq 2$ дробь сокращается:

$$\frac{(x-2)(x+2)}{(x-2)(x-3)} = \frac{x+2}{x-3}$$

Подставим предельное значение в сокращённое выражение:

$$\lim\limits_{x \to 2} \frac{x+2}{x-3} = \frac{4}{-1} = -4$$

Предел конечный и одинаковый с обеих сторон — значит, в точке $x = 2$ у графика просто выколотая точка с координатами $(2; -4)$, а не асимптота.

Шаг 4. Проверим $x = 3$. Здесь числитель сокращённой дроби равен $3 + 2 = 5 \neq 0$, а знаменатель стремится к нулю:

$$\lim\limits_{x \to 3^-} \frac{x+2}{x-3} = \frac{5}{0^-} = -\infty, \qquad \lim\limits_{x \to 3^+} \frac{x+2}{x-3} = \frac{5}{0^+} = +\infty$$

Ответ: единственная вертикальная асимптота — $x = 3$. В точке $x = 2$ асимптоты нет, там устранимый разрыв (дырка).

📌 Это главная ловушка темы: «знаменатель равен нулю» ещё не значит «асимптота». Сначала сокращай, потом делай выводы.


Пример 3 (сложный): у функции потерь $L(p) = -\ln p$, где $p$ — вероятность, которую модель присвоила правильному классу, найди вертикальную асимптоту и объясни, что она означает на практике

Это cross-entropy для одного объекта: если модель уверенно назвала правильный ответ ($p$ близко к 1), штраф почти нулевой; если она правильному ответу дала крошечную вероятность, штраф огромен.

Решение:

Шаг 1. Область определения логарифма: $p > 0$. Значит, граница области — точка $p = 0$, и предел здесь имеет смысл считать только справа.

Шаг 2. Посчитаем односторонний предел. Логарифм маленького положительного числа — большое отрицательное число ($\ln 0{,}001 \approx -6{,}9$), а перед логарифмом стоит минус:

$$\lim\limits_{p \to 0^+} (-\ln p) = +\infty$$

Шаг 3. Предел бесконечен, значит $p = 0$ — вертикальная асимптота графика $L(p)$.

Шаг 4. Прикинем масштаб взрыва численно:

$p$ $0{,}5$ $0{,}1$ $10^{-3}$ $10^{-7}$ $10^{-15}$
$L = -\ln p$ $0{,}69$ $2{,}30$ $6{,}91$ $16{,}12$ $34{,}54$

Ответ: $p = 0$ — вертикальная асимптота; при $p \to 0^+$ функция потерь неограниченно растёт.

Что это значит на практике: если модель с полной уверенностью ошиблась ($p$ численно обнулилось), лосс становится inf, градиент — nan, и обучение разваливается за один шаг. Ровно поэтому во всех библиотеках предсказания перед логарифмом обрезают: p = np.clip(p, 1e-7, 1 - 1e-7). Мы буквально не даём аргументу дойти до вертикальной асимптоты. Обрати внимание на цифры в таблице: клиппинг на $10^{-7}$ ограничивает штраф величиной $\approx 16{,}1$ — большой, но конечный и вполне переносимый для оптимизатора.

Почему это важно

Вертикальная асимптота — это математическое имя для «здесь всё взорвётся». В машинном обучении такие места встречаются постоянно, и почти всегда рядом с ними стоит защитный костыль, смысл которого без асимптот выглядит магией. Нормализация признака $z = \dfrac{x - \mu}{\sigma}$ имеет вертикальную асимптоту по $\sigma$ в нуле — поэтому в BatchNorm и LayerNorm в знаменателе всегда пишут $\sqrt{\sigma^2 + \varepsilon}$ с $\varepsilon \approx 10^{-5}$. Метрика вроде «доля ошибок на класс» имеет вертикальную асимптоту, когда объектов класса ноль. В методах внутренней точки (interior-point) для оптимизации с ограничениями специально добавляют барьерную функцию $-\ln(g(x))$ именно затем, чтобы её вертикальная асимптота физически не пускала решение за границу допустимой области — асимптота там работает как забор. Умение за пять секунд сказать «вот здесь знаменатель занулится и всё улетит в бесконечность» — это ровно то, что отличает код, который переживает продакшн, от кода, который падает на третьем батче.


Горизонтальные асимптоты: во что упирается функция на бесконечности

Интуиция

Представь, что ты наливаешь чай в чашку. Сначала уровень растёт быстро, потом медленнее, а у самых краёв — почти не меняется: чашка заполнена, больше некуда. Или другой образ, ближе к делу: ты тренируешь модель, и accuracy ползёт к 0,932 и там залипает. В обоих случаях есть «потолок» — число, к которому величина стремится, но которого не достигает.

Горизонтальная асимптота отвечает на вопрос: что происходит с $f(x)$, когда $x$ уезжает в бесконечность? Вариантов ровно три. Первый: значение стабилизируется около конкретного числа $b$ — это и есть горизонтальная асимптота $y = b$. Второй: значение улетает в $\pm\infty$ — горизонтальной асимптоты нет (но, возможно, есть наклонная, о ней дальше). Третий: значение болтается и никуда не сходится (как $\sin x$) — асимптоты тоже нет.

Важная тонкость: направлений два — $x \to +\infty$ и $x \to -\infty$, — и проверять их надо отдельно. Бывает, что справа асимптота одна, слева другая, а бывает, что с одной стороны она есть, а с другой нет. Классика: $y = e^x$ имеет асимптоту $y = 0$ только слева, а справа улетает вверх.

Определение: Прямая $y = b$ называется горизонтальной асимптотой графика функции $y = f(x)$ при $x \to +\infty$, если

$$\lim\limits_{x \to +\infty} f(x) = b$$

Аналогично определяется горизонтальная асимптота при $x \to -\infty$. У графика может быть не более двух горизонтальных асимптот — по одной на каждое направление.

Рабочее правило для дробно-рациональной функции $f(x) = \dfrac{P(x)}{Q(x)}$, где $P$ и $Q$ — многочлены степеней $n$ и $m$:

  • $n < m$ (числитель «слабее»): $y = 0$ — горизонтальная асимптота
  • $n = m$ (степени равны): $y = \dfrac{a_n}{b_m}$, где $a_n$ и $b_m$ — старшие коэффициенты
  • $n = m + 1$ (числитель старше ровно на единицу): горизонтальной нет, зато есть наклонная
  • $n > m + 1$: ни горизонтальной, ни наклонной — функция растёт слишком быстро

Почему правило работает, видно за один приём: раздели числитель и знаменатель на $x$ в старшей степени. Например, для $\dfrac{3x^2+x}{2x^2-5}$ делим всё на $x^2$:

$$\frac{3 + \frac{1}{x}}{2 - \frac{5}{x^2}} \xrightarrow[x \to \infty]{} \frac{3 + 0}{2 - 0} = \frac{3}{2}$$

Все слагаемые с $x$ в знаменателе честно уходят в ноль, и остаётся отношение старших коэффициентов.

Примеры с разбором

Пример 1 (простой): найди горизонтальную асимптоту функции $y = \dfrac{3x+1}{x-2}$

Решение:

Шаг 1. Степени числителя и знаменателя равны (обе первая), значит асимптота — отношение старших коэффициентов. Но давай сделаем всё честно через предел.

Шаг 2. Разделим числитель и знаменатель на $x$:

$$\frac{3x+1}{x-2} = \frac{3 + \frac{1}{x}}{1 - \frac{2}{x}}$$

Шаг 3. Устремим $x \to \pm\infty$. Дроби $\frac{1}{x}$ и $\frac{2}{x}$ стремятся к нулю:

$$\lim\limits_{x \to \pm\infty} \frac{3 + \frac{1}{x}}{1 - \frac{2}{x}} = \frac{3}{1} = 3$$

Проверим наш ответ: $f(1000) = \dfrac{3001}{998} \approx 3{,}008$; $f(-1000) = \dfrac{-2999}{-1002} \approx 2{,}993$ ✅ — с обеих сторон жмётся к тройке.

Ответ: $y = 3$ — горизонтальная асимптота при $x \to +\infty$ и при $x \to -\infty$.


Пример 2 (средний): найди все асимптоты функции $y = \dfrac{2x+5}{x^2+1}$

Решение:

Шаг 1. Вертикальные. Знаменатель $x^2 + 1$ никогда не равен нулю (квадрат плюс единица минимум единица), значит $D(f) = \mathbb{R}$ и вертикальных асимптот нет вообще.

Шаг 2. Горизонтальные. Степень числителя 1, степень знаменателя 2, то есть $n < m$. Проверим пределом — разделим всё на $x^2$:

$$\frac{2x+5}{x^2+1} = \frac{\frac{2}{x} + \frac{5}{x^2}}{1 + \frac{1}{x^2}} \xrightarrow[x \to \pm\infty]{} \frac{0+0}{1+0} = 0$$

Шаг 3. Значит, $y = 0$ (ось $Ox$) — горизонтальная асимптота с обеих сторон.

Шаг 4. Заметим важное: график пересекает свою асимптоту. Решим $\dfrac{2x+5}{x^2+1} = 0$: числитель ноль при $x = -2{,}5$. То есть в точке $(-2{,}5;\ 0)$ кривая проходит ровно по асимптоте. Это законно: асимптота обязана быть пределом, а не запретной линией.

Проверим наш ответ: $f(100) = \dfrac{205}{10001} \approx 0{,}0205$, $f(1000) \approx 0{,}002$ ✅ — падает к нулю.

Ответ: вертикальных нет; $y = 0$ — горизонтальная асимптота при $x \to \pm\infty$; график пересекает её в точке $x = -2{,}5$.


Пример 3 (сложный): найди горизонтальные асимптоты функции $y = \dfrac{3x}{\sqrt{x^2+1}}$

Решение:

Шаг 1. Область определения — вся числовая прямая: под корнем всегда положительное число.

Шаг 2. Вынесем $x^2$ из-под корня. И вот здесь ключевой момент, на котором сыплется большинство:

$$\sqrt{x^2+1} = \sqrt{x^2\left(1 + \frac{1}{x^2}\right)} = |x|\sqrt{1 + \frac{1}{x^2}}$$

Именно модуль $|x|$, а не просто $x$ — потому что корень из квадрата равен модулю.

Шаг 3. Случай $x \to +\infty$. Здесь $|x| = x$:

$$\frac{3x}{|x|\sqrt{1+\frac{1}{x^2}}} = \frac{3x}{x\sqrt{1+\frac{1}{x^2}}} = \frac{3}{\sqrt{1+\frac{1}{x^2}}} \xrightarrow[x \to +\infty]{} \frac{3}{\sqrt{1}} = 3$$

Шаг 4. Случай $x \to -\infty$. Здесь $|x| = -x$:

$$\frac{3x}{-x\sqrt{1+\frac{1}{x^2}}} = \frac{-3}{\sqrt{1+\frac{1}{x^2}}} \xrightarrow[x \to -\infty]{} -3$$

Проверим наш ответ: $f(100) = \dfrac{300}{\sqrt{10001}} \approx 2{,}9998$, $f(-100) \approx -2{,}9998$ ✅

Ответ: две разные горизонтальные асимптоты: $y = 3$ при $x \to +\infty$ и $y = -3$ при $x \to -\infty$.

📌 Запомни этот приём: как только под корнем оказывается $x^2$ и ты собираешься считать предел на минус бесконечности — сразу пиши модуль. Забытый модуль здесь даёт ровно противоположный по знаку ответ.


Пример 4 (ML): найди горизонтальные асимптоты сигмоиды $\sigma(x) = \dfrac{1}{1+e^{-x}}$ и объясни через них проблему затухающих градиентов

Решение:

Шаг 1. Случай $x \to +\infty$. Тогда $-x \to -\infty$, а значит $e^{-x} \to 0$:

$$\lim\limits_{x \to +\infty} \frac{1}{1+e^{-x}} = \frac{1}{1+0} = 1$$

Шаг 2. Случай $x \to -\infty$. Тогда $-x \to +\infty$, и $e^{-x} \to +\infty$, то есть знаменатель неограниченно растёт:

$$\lim\limits_{x \to -\infty} \frac{1}{1+e^{-x}} = \frac{1}{+\infty} = 0$$

Шаг 3. Вертикальных асимптот нет: знаменатель $1 + e^{-x}$ всегда строго больше единицы, в ноль не обращается никогда.

Шаг 4. Свяжем асимптоты с производной. Для сигмоиды известно красивое тождество:

$$\sigma'(x) = \sigma(x)\bigl(1 - \sigma(x)\bigr)$$

Подставим предельные значения. При $x \to +\infty$: $\sigma \to 1$, значит $\sigma' \to 1 \cdot (1-1) = 0$. При $x \to -\infty$: $\sigma \to 0$, значит $\sigma' \to 0 \cdot 1 = 0$. С обеих сторон производная схлопывается в ноль.

Числовая иллюстрация:

$x$ $0$ $3$ $6$ $10$
$\sigma(x)$ $0{,}500$ $0{,}953$ $0{,}9975$ $0{,}99995$
$\sigma'(x)$ $0{,}250$ $0{,}045$ $0{,}0025$ $0{,}000045$

Ответ: $y = 1$ при $x \to +\infty$, $y = 0$ при $x \to -\infty$; вертикальных асимптот нет.

Почему это и есть vanishing gradients: в глубокой сети градиент считается по цепному правилу — как произведение производных всех слоёв. Если нейрон «уехал» в область насыщения (в асимптотическую плоскую зону, $|x| > 6$), его множитель в этом произведении $\approx 0{,}0025$. Десять таких слоёв подряд дают множитель порядка $10^{-26}$ — сигнал обучения физически не доходит до первых слоёв. Максимум производной сигмоиды вообще $0{,}25$, так что даже без насыщения градиент затухает как $0{,}25^{L}$. Ровно поэтому индустрия ушла от сигмоиды в скрытых слоях к ReLU, у которой на положительной полуоси производная равна ровно 1 и никакой горизонтальной асимптоты нет. Асимптота, которая делает сигмоиду удобной на выходе (значения красиво зажаты в $(0;1)$ и читаются как вероятность), внутри сети становится её главным недостатком.

Почему это важно

Горизонтальная асимптота — это «потолок системы», и почти в каждом проекте по данным он где-то есть. Кривая обучения выходит на плато — это горизонтальная асимптота, и её значение равно тому качеству, выше которого твоя текущая архитектура на текущих данных не прыгнет: дальше нужно менять не число эпох, а модель или данные. В scaling laws формулу пишут как $L(N) = L_\infty + \dfrac{A}{N^{\alpha}}$, где $L_\infty$ — та самая горизонтальная асимптота, «неустранимый лосс» (irreducible loss): предельная неопределённость самого языка, ниже которой не опустится никакая модель, сколько параметров ей ни давай. Расписание learning rate вида $\eta(t) = \eta_0 e^{-t/\tau}$ имеет асимптоту $y = 0$ — скорость обучения стремится к нулю, но формально никогда его не достигает, поэтому в реальных пайплайнах ставят явный min_lr. И tanh, и softmax, и любая ограниченная активация — все живут между горизонтальными асимптотами, и знание их положения сразу говорит тебе диапазон выхода слоя.


Наклонные асимптоты: когда функция ведёт себя как прямая

Интуиция

Бывает, что функция на бесконечности не выходит на горизонтальное плато, но и не безумствует: она всё больше и больше похожа на обычную наклонную прямую. Пример из жизни: стоимость облачного инференса за месяц. Есть фиксированная часть (аренда инстанса, хранение весов) и переменная (плата за каждый запрос). При маленьком числе запросов фиксированная часть доминирует и график выглядит криво, а при больших объёмах затраты становятся почти строго линейными: $C(n) \approx kn + b$. График «ложится» на прямую — это и есть наклонная асимптота.

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

$$f(x) - (kx + b) \to 0 \quad \text{при } x \to \infty$$

Как найти $k$ и $b$? Разберём по шагам логику. Если функция примерно равна $kx + b$, то, поделив её на $x$, получим примерно $k + \frac{b}{x}$, а второе слагаемое исчезает — вот и формула для $k$. Найдя $k$, вычитаем $kx$ из функции, и остаётся то, что стремится к $b$.

Определение: Прямая $y = kx + b$ называется наклонной асимптотой графика $y = f(x)$ при $x \to +\infty$, если

$$\lim\limits_{x \to +\infty} \bigl(f(x) - (kx+b)\bigr) = 0$$

Такая прямая существует тогда и только тогда, когда существуют оба конечных предела:

$$k = \lim\limits_{x \to +\infty} \frac{f(x)}{x}, \qquad b = \lim\limits_{x \to +\infty} \bigl(f(x) - kx\bigr)$$

Аналогично при $x \to -\infty$. При $k = 0$ формула даёт горизонтальную асимптоту, то есть горизонтальная — это частный случай наклонной.

Два важных следствия:

  • У одной ветви ($+\infty$ или $-\infty$) не может быть одновременно горизонтальной и наклонной асимптоты — либо предел функции конечен, либо она растёт как прямая, третьего не дано
  • Порядок вычислений жёсткий: сначала $k$, потом $b$. Если первый предел бесконечен или не существует — дальше считать нечего, асимптоты нет

Быстрый способ для дробно-рациональных функций: если степень числителя ровно на 1 больше степени знаменателя, подели уголком. Целая часть и есть наклонная асимптота, а остаток стремится к нулю.

Примеры с разбором

Пример 1 (простой): найди все асимптоты функции $y = \dfrac{x^2+1}{x}$

Решение:

Шаг 1. Разделим почленно — здесь это делается устно:

$$\frac{x^2+1}{x} = \frac{x^2}{x} + \frac{1}{x} = x + \frac{1}{x}$$

Шаг 2. Вертикальная асимптота: знаменатель ноль при $x = 0$, и там $\lim\limits_{x\to 0^+} \left(x + \frac1x\right) = +\infty$. Значит $x = 0$ — вертикальная асимптота.

Шаг 3. Наклонная. Слагаемое $\frac{1}{x}$ стремится к нулю при $x \to \pm\infty$, то есть функция всё точнее совпадает с $y = x$:

$$f(x) - x = \frac{1}{x} \xrightarrow[x \to \pm\infty]{} 0$$

Шаг 4. Проверим формулами (полезно потренировать):

$$k = \lim\limits_{x \to \infty} \frac{x + \frac{1}{x}}{x} = \lim\limits_{x \to \infty}\left(1 + \frac{1}{x^2}\right) = 1$$$$b = \lim\limits_{x \to \infty}\left(x + \frac{1}{x} - 1\cdot x\right) = \lim\limits_{x \to \infty}\frac{1}{x} = 0$$

Проверим наш ответ: $f(100) = 100{,}01$ — отличие от прямой $y = x$ всего $0{,}01$ ✅

Ответ: $x = 0$ — вертикальная асимптота, $y = x$ — наклонная асимптота (с обеих сторон).


Пример 2 (средний): найди все асимптоты функции $y = \dfrac{2x^2-3x+5}{x-1}$

Решение:

Шаг 1. Вертикальная: знаменатель ноль при $x = 1$. Проверим, не сокращается ли дробь: подставим $x=1$ в числитель: $2 - 3 + 5 = 4 \neq 0$. Числитель не обнуляется, значит дробь не сокращается и предел бесконечен:

$$\lim\limits_{x \to 1^+} \frac{2x^2-3x+5}{x-1} = \frac{4}{0^+} = +\infty$$

Итак, $x = 1$ — вертикальная асимптота.

Шаг 2. Степень числителя (2) на единицу больше степени знаменателя (1) — значит, ищем наклонную. Поделим уголком:

$$2x^2 - 3x + 5 \ \big|\ x - 1$$

Первый шаг деления: $2x^2 : x = 2x$. Умножаем: $2x(x-1) = 2x^2 - 2x$. Вычитаем:

$$(2x^2 - 3x + 5) - (2x^2 - 2x) = -x + 5$$

Второй шаг: $-x : x = -1$. Умножаем: $-1 \cdot (x-1) = -x + 1$. Вычитаем:

$$(-x+5) - (-x+1) = 4$$

Шаг 3. Собираем результат деления:

$$\frac{2x^2-3x+5}{x-1} = 2x - 1 + \frac{4}{x-1}$$

Шаг 4. Остаток $\dfrac{4}{x-1} \to 0$ при $x \to \pm\infty$, значит разность между функцией и прямой $y = 2x-1$ стремится к нулю.

Проверим наш ответ: $f(101) = \dfrac{2\cdot 10201 - 303 + 5}{100} = \dfrac{20402 - 298}{100} = \dfrac{20104}{100} = 201{,}04$. А прямая даёт $2 \cdot 101 - 1 = 201$. Разница $0{,}04 = \dfrac{4}{100}$ ✅ — ровно как предсказал остаток.

Ответ: $x = 1$ — вертикальная асимптота, $y = 2x - 1$ — наклонная.


Пример 3 (сложный): найди наклонные асимптоты функции $y = \sqrt{x^2+4x}$

Решение:

Шаг 1. Область определения: $x^2 + 4x \geq 0$, то есть $x(x+4) \geq 0$, откуда $x \leq -4$ или $x \geq 0$. Значит, у графика две отдельные ветви, и уходить в бесконечность он может и вправо, и влево.

Шаг 2. Ветвь $x \to +\infty$. Считаем $k$:

$$k = \lim\limits_{x \to +\infty}\frac{\sqrt{x^2+4x}}{x} = \lim\limits_{x \to +\infty}\frac{x\sqrt{1+\frac{4}{x}}}{x} = \lim\limits_{x \to +\infty}\sqrt{1+\frac{4}{x}} = 1$$

(здесь $|x| = x$, потому что $x$ положительный).

Шаг 3. Считаем $b$. Разность вида «корень минус $x$» раскрывают домножением на сопряжённое:

$$b = \lim\limits_{x \to +\infty}\left(\sqrt{x^2+4x} - x\right) = \lim\limits_{x \to +\infty}\frac{(x^2+4x) - x^2}{\sqrt{x^2+4x}+x} = \lim\limits_{x \to +\infty}\frac{4x}{\sqrt{x^2+4x}+x}$$

Разделим числитель и знаменатель на $x$:

$$= \lim\limits_{x \to +\infty}\frac{4}{\sqrt{1+\frac{4}{x}}+1} = \frac{4}{1+1} = 2$$

Итого справа асимптота $y = x + 2$.

Шаг 4. Ветвь $x \to -\infty$. Теперь $|x| = -x$, и это меняет всё:

$$k = \lim\limits_{x \to -\infty}\frac{|x|\sqrt{1+\frac{4}{x}}}{x} = \lim\limits_{x \to -\infty}\frac{-x\sqrt{1+\frac{4}{x}}}{x} = -1$$

Шаг 5. Считаем $b$ для этой ветви (обрати внимание: $-kx = +x$):

$$b = \lim\limits_{x \to -\infty}\left(\sqrt{x^2+4x} + x\right) = \lim\limits_{x \to -\infty}\frac{(x^2+4x) - x^2}{\sqrt{x^2+4x} - x} = \lim\limits_{x \to -\infty}\frac{4x}{-x\sqrt{1+\frac{4}{x}} - x}$$

Разделим числитель и знаменатель на $x$ (это отрицательное число, но на предел деления это не влияет — делим и числитель, и знаменатель на одно и то же):

$$= \lim\limits_{x \to -\infty}\frac{4}{-\sqrt{1+\frac{4}{x}} - 1} = \frac{4}{-2} = -2$$

Проверим наш ответ: $f(-104) = \sqrt{104^2 - 416} = \sqrt{10816-416} = \sqrt{10400} \approx 101{,}98$. Прямая $y = -x-2$ даёт $104 - 2 = 102$. Отличие 0,02 ✅

Ответ: $y = x+2$ при $x \to +\infty$ и $y = -x-2$ при $x \to -\infty$.

📌 Мораль: у одной функции слева и справа асимптоты могут быть разными. Каждый раз, когда в задаче есть модуль, корень чётной степени или показательная функция, считай оба направления отдельно.


Пример 4 (ML): покажи, что функция потерь Хубера имеет наклонные асимптоты, и объясни, зачем это нужно

Функция потерь Хубера (Huber loss) с параметром $\delta$ устроена кусочно:

$$L_\delta(a) = \begin{cases} \dfrac{1}{2}a^2, & |a| \leq \delta \\[6pt] \delta\left(|a| - \dfrac{\delta}{2}\right), & |a| > \delta \end{cases}$$

Здесь $a$ — ошибка предсказания (residual).

Решение:

Шаг 1. При $x \to +\infty$ работает вторая ветка формулы (ведь $|a| > \delta$ выполняется автоматически), и там $|a| = a$:

$$L_\delta(a) = \delta a - \frac{\delta^2}{2}$$

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

Шаг 2. Формально по формулам: $k = \lim\limits_{a\to+\infty}\dfrac{\delta a - \frac{\delta^2}{2}}{a} = \delta$, затем $b = \lim\limits_{a\to+\infty}\left(\delta a - \frac{\delta^2}{2} - \delta a\right) = -\dfrac{\delta^2}{2}$.

Шаг 3. Симметрично при $a \to -\infty$ получаем $k = -\delta$, $b = -\dfrac{\delta^2}{2}$.

Ответ: $y = \delta a - \dfrac{\delta^2}{2}$ при $a \to +\infty$ и $y = -\delta a - \dfrac{\delta^2}{2}$ при $a \to -\infty$.

Зачем это нужно: сравни с MSE, где $L = a^2$ — у неё никаких наклонных асимптот нет, функция растёт квадратично, и один выброс с ошибкой 100 даёт вклад 10 000, перетягивая всё обучение на себя. У Хубера на больших ошибках рост линейный, а производная выходит на константу $\pm\delta$: как бы ни был чудовищен выброс, его вклад в градиент ограничен величиной $\delta$. Наклонная асимптота здесь — это математическая формулировка робастности к выбросам. Та же идея в gradient clipping: мы искусственно навязываем норме градиента константный потолок, то есть горизонтальную асимптоту.

Почему это важно

Наклонная асимптота — это язык, на котором говорят об асимптотической сложности алгоритмов. Когда пишут $T(n) = O(n)$, имеют в виду ровно то, что график времени работы на больших входах прижимается к наклонной прямой. Реальная функция при этом может быть страшной — с фиксированными накладными расходами, кэш-эффектами, дробными слагаемыми, — но её асимптота проста, и именно она определяет, доживёт ли твой пайплайн до миллиона строк. Прикладной смысл прямой $y = kx + b$ вообще всегда один и тот же: $k$ — это «цена за единицу» на больших объёмах (маржинальная стоимость запроса, время на один токен), а $b$ — постоянная часть, которая на бесконечности уже ни на что не влияет, но задаёт сдвиг. И ещё одно место, где наклонная асимптота работает буквально: LeakyReLU и ELU — у них при $x \to -\infty$ есть асимптоты (наклонная с малым $k$ у LeakyReLU, горизонтальная $y = -\alpha$ у ELU), и именно поведение на этой ветви решает, «умрёт» нейрон или сохранит хоть какой-то градиент.


Алгоритм: как найти все асимптоты за четыре шага

Собираем всё в единую процедуру, которую можно применять механически.

Шаг 1 — область определения. Найди точки, где функция не определена: нули знаменателя, границы логарифма, точки разрыва тангенса. Это кандидаты в вертикальные асимптоты.

Шаг 2 — вертикальные. Для каждого кандидата $a$ посчитай односторонние пределы. Бесконечность хотя бы с одной стороны — асимптота есть. Оба предела конечны — это дырка, асимптоты нет.

Шаг 3 — горизонтальные. Посчитай $\lim\limits_{x\to+\infty} f(x)$ и $\lim\limits_{x\to-\infty} f(x)$ отдельно. Конечный предел $b$ даёт асимптоту $y = b$ для соответствующего направления.

Шаг 4 — наклонные. Только для тех направлений, где горизонтальной не оказалось: посчитай $k = \lim \dfrac{f(x)}{x}$; если $k$ конечно и не равно нулю, посчитай $b = \lim (f(x) - kx)$; если и он конечен — асимптота $y = kx+b$ есть.

Полный разбор: найди все асимптоты функции $y = \dfrac{x^2-3x+2}{x-3}$

Шаг 1. Знаменатель ноль при $x = 3$. Проверяем числитель в этой точке: $9 - 9 + 2 = 2 \neq 0$, дробь не сокращается. $D(f) = (-\infty;3)\cup(3;+\infty)$.

Шаг 2. Односторонние пределы в точке 3:

$$\lim\limits_{x\to3^-}\frac{x^2-3x+2}{x-3} = \frac{2}{0^-} = -\infty, \qquad \lim\limits_{x\to3^+}\frac{x^2-3x+2}{x-3} = \frac{2}{0^+} = +\infty$$

Вертикальная асимптота: $x = 3$.

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

Шаг 4. Разница степеней ровно единица, ищем наклонную делением уголком. $x^2 : x = x$, умножаем: $x(x-3) = x^2-3x$, вычитаем: $(x^2-3x+2)-(x^2-3x) = 2$. Деление закончено, остаток 2:

$$\frac{x^2-3x+2}{x-3} = x + \frac{2}{x-3}$$

Остаток стремится к нулю с обеих сторон, значит $y = x$ — наклонная асимптота при $x \to \pm\infty$.

Проверим наш ответ: $f(1003) = 1003 + \dfrac{2}{1000} = 1003{,}002$ — практически на прямой $y = x$ ✅

Ответ: $x = 3$ (вертикальная), $y = x$ (наклонная).


Практика: 30 заданий

Базовые (задания 1-10)

Задание 1: Найди вертикальную асимптоту функции $y = \dfrac{1}{x+5}$.


Задание 2: Найди горизонтальную асимптоту функции $y = \dfrac{4x-1}{x+3}$.


Задание 3: Найди все вертикальные асимптоты функции $y = \dfrac{1}{x^2-16}$.


Задание 4: Найди горизонтальную асимптоту функции $y = \dfrac{5x+2}{x^2+1}$.


Задание 5: Есть ли у функции $y = x^2 + 3$ горизонтальная асимптота?


Задание 6: Найди вертикальную асимптоту функции $y = \ln x$.


Задание 7: Расписание скорости обучения задано формулой $\eta(t) = 0{,}1 \cdot e^{-t/5}$, где $t$ — номер эпохи. Найди горизонтальную асимптоту и объясни, что она означает.


Задание 8: Найди все асимптоты функции $y = \dfrac{3x^2+1}{2x^2-x}$.


Задание 9: Найди горизонтальные асимптоты сигмоиды $\sigma(x) = \dfrac{1}{1+e^{-x}}$ и укажи область значений функции.


Задание 10: Найди все асимптоты функции $y = 2 + \dfrac{1}{x-1}$.


Средние (задания 11-20)

Задание 11: Есть ли у функции $y = \dfrac{x^2-9}{x-3}$ вертикальная асимптота в точке $x = 3$?


Задание 12: Найди все асимптоты функции $y = \dfrac{x^2+2x+3}{x}$.


Задание 13: Найди все асимптоты функции $y = \dfrac{x^2+4}{x+1}$.


Задание 14: Вычисли односторонние пределы функции $y = \dfrac{1}{x-2}$ в точке $x = 2$ и опиши поведение графика.


Задание 15: Найди горизонтальные асимптоты функции $y = \dfrac{\sqrt{4x^2+1}}{x}$.


Задание 16: Найди горизонтальные асимптоты активации $\tanh x = \dfrac{e^{x}-e^{-x}}{e^{x}+e^{-x}}$ и сравни её насыщение с сигмоидой.


Задание 17: Найди все асимптоты функции $y = \dfrac{x^3+1}{x^2}$.


Задание 18: Точность модели по эпохам описывается формулой $A(t) = 0{,}95 - 0{,}45 \cdot e^{-t/10}$. Найди горизонтальную асимптоту и определи, на какой эпохе точность впервые превысит $0{,}94$.


Задание 19: Найди все асимптоты функции $y = \dfrac{x^2-4}{x^2-1}$.


Задание 20: При каком значении $a$ график функции $y = \dfrac{ax+3}{2x-5}$ имеет горизонтальную асимптоту $y = 4$?


Продвинутые (задания 21-30)

Задание 21: Найди все асимптоты функции $y = \dfrac{3x^2+2}{x-1}$.


Задание 22: Найди все асимптоты функции $y = \dfrac{x^3-2x}{x^2+1}$.


Задание 23: Найди все асимптоты функции $y = x + \sqrt{x^2+1}$ отдельно при $x\to+\infty$ и при $x\to-\infty$.


Задание 24: Время работы алгоритма приближённо равно $T(n) = n + \log_2 n$ (в условных единицах). Есть ли у графика наклонная асимптота $y = n$?


Задание 25: Время обработки батча из $n$ объектов равно $T(n) = \dfrac{n^2+5n}{n+3}$ мс. Найди наклонную асимптоту и объясни её смысл.


Задание 26: Упрощённый scaling law: $L(N) = 1{,}5 + \dfrac{8}{\sqrt{N}}$, где $N$ — число параметров модели (в млн). Найди горизонтальную асимптоту и определи, при каком $N$ лосс опустится до $2{,}0$.


Задание 27: При каких $a$ и $b$ график функции $y = \dfrac{ax^2+bx+1}{x-2}$ имеет наклонную асимптоту $y = 3x+1$?


Задание 28: Логарифмический лосс одного объекта $L(p) = -\ln p$. Найди вертикальную асимптоту и вычисли, какое максимальное значение примет лосс, если предсказания клиппуются снизу величиной $p_{\min} = 10^{-7}$.


Задание 29: Для функции $y = \dfrac{2x+1}{x-3}$ найди горизонтальную асимптоту, вычисли расстояние от графика до неё при $x = 103$ и определи, при каких $x$ это расстояние станет меньше $0{,}001$.


Задание 30: Отладка кода. Найди ошибку и исправь её.

import numpy as np

def f(x):
    return (2*x**2 + 3*x) / (x**2 - 4)

# хотим численно оценить горизонтальную асимптоту
print(f(1e200))   # ожидали ≈ 2.0, получили: nan (и RuntimeWarning: invalid value)

Частые ошибки

Ошибка 1: считать, что график не может пересекать асимптоту

Неправильно: «Асимптота — это линия, к которой график стремится и которую никогда не пересекает».

Правильно: пересекать можно сколько угодно раз — запрет касается только предельного поведения. Функция $y = \dfrac{2x+5}{x^2+1}$ имеет асимптоту $y = 0$ и пересекает её в точке $x = -2{,}5$. А $y = \dfrac{\sin x}{x}$ пересекает свою асимптоту $y = 0$ бесконечно много раз — в каждой точке $x = \pi n$.

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


Ошибка 2: объявлять вертикальную асимптоту в каждом нуле знаменателя

Неправильно: у функции $y = \dfrac{x^2-4}{x^2-5x+6}$ вертикальные асимптоты $x = 2$ и $x = 3$, потому что знаменатель там равен нулю.

Правильно: в точке $x = 2$ обнуляется и числитель, дробь сокращается, предел равен $-4$ — там устранимый разрыв («дырка»), а не асимптота. Асимптота только одна: $x = 3$.

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


Ошибка 3: терять модуль при выносе $x$ из-под корня

Неправильно: $\sqrt{x^2+1} = x\sqrt{1+\frac{1}{x^2}}$, поэтому $\lim\limits_{x\to-\infty}\dfrac{3x}{\sqrt{x^2+1}} = 3$.

Правильно: $\sqrt{x^2} = |x|$, а при $x \to -\infty$ модуль раскрывается как $-x$. Верный ответ: $\lim\limits_{x\to-\infty}\dfrac{3x}{\sqrt{x^2+1}} = -3$. Слева и справа асимптоты разные.

💡 Почему важно: ошибка даёт ответ, противоположный по знаку, — то есть график «отражается» относительно оси. Правило простое: увидел корень чётной степени и минус бесконечность — пиши модуль сразу, не откладывая.


Ошибка 4: искать наклонную асимптоту там, где уже есть горизонтальная

Неправильно: у функции $y = \dfrac{3x+1}{x-2}$ есть горизонтальная асимптота $y = 3$, поищем ещё и наклонную.

Правильно: для одного направления возможно только что-то одно. Если предел $f(x)$ конечен, то $k = \lim \dfrac{f(x)}{x} = \dfrac{\text{конечное}}{\infty} = 0$, и формула наклонной вырождается в ту же самую горизонтальную. Наклонную ищут только тогда, когда функция на бесконечности растёт неограниченно.

💡 Почему важно: это экономит половину времени решения. Порядок всегда такой: сначала предел функции; конечен — это горизонтальная, точка; бесконечен — переходим к $k$ и $b$.


Ошибка 5: считать, что «растёт медленнее» = «есть асимптота»

Неправильно: у $y = x + \ln x$ логарифм растёт очень медленно, значит асимптота $y = x$.

Правильно: проверяем по определению: $k = \lim\limits_{x\to+\infty}\dfrac{x+\ln x}{x} = 1$, но $b = \lim\limits_{x\to+\infty}(x + \ln x - x) = \lim \ln x = +\infty$. Второй предел бесконечен, значит наклонной асимптоты нет. Разность растёт — пусть медленно, но растёт, а требуется стремление к нулю.

💡 Почему важно: это принципиальная разница между «асимптотой» в анализе и «асимптотикой» в теории сложности. Для $O$-нотации достаточно совпадения порядка роста, для асимптоты нужна сходимость разности к нулю. Смешивать эти два понятия — путь к неверным выводам и в математике, и в оценке алгоритмов.


Ошибка 6: путать порядок вычисления $k$ и $b$

Неправильно: сначала посчитать $b = \lim (f(x) - kx)$, подставив туда «примерно подходящий» $k$ на глаз.

Правильно: $k$ вычисляется первым и строго по формуле $k = \lim \dfrac{f(x)}{x}$. Только затем найденное значение подставляется в формулу для $b$. Если $k$ угадать неверно, предел для $b$ либо разойдётся, либо даст бессмысленное число.

💡 Почему важно: формулы связаны, и ошибка в $k$ гарантированно уводит $b$ в бесконечность. Заодно это хорошая самопроверка: если $b$ вдруг получился бесконечным, первым делом перепроверь $k$.


Главное запомнить

✅ Асимптота — это прямая, к которой график неограниченно приближается; строго это формулируется через пределы, а не через «график её не касается».

Вертикальная $x = a$: хотя бы один односторонний предел в точке $a$ бесконечен. Ищи в нулях знаменателя, на границе логарифма, в точках разрыва тангенса.

✅ Ноль знаменателя ещё не асимптота: если числитель тоже обнуляется и дробь сокращается — это устранимый разрыв (дырка). Сначала сокращай, потом делай выводы.

Горизонтальная $y = b$: $\lim\limits_{x\to\pm\infty} f(x) = b$. Направления $+\infty$ и $-\infty$ проверяются отдельно; асимптот может быть две разные.

✅ Для дробно-рациональной $\dfrac{P_n}{Q_m}$: при $n m+1$ асимптот нет.

Наклонная $y = kx+b$ существует тогда и только тогда, когда конечны оба предела: $k = \lim\dfrac{f(x)}{x}$, затем $b = \lim(f(x)-kx)$. Порядок нарушать нельзя.

✅ Горизонтальная асимптота — частный случай наклонной при $k = 0$; на одном направлении обе одновременно существовать не могут.

✅ График может пересекать горизонтальную и наклонную асимптоту, причём сколько угодно раз; вертикальную — не может, потому что там функция не определена.

✅ Вертикальных асимптот бывает сколько угодно (у $\tan x$ — бесконечно много), а горизонтальных и наклонных суммарно максимум две — по одной на каждое направление.

✅ Асимптотика в ML читается сразу: горизонтальная асимптота активации = насыщение и затухающий градиент; горизонтальная асимптота лосса = irreducible loss; вертикальная асимптота = место, где нужен $\varepsilon$ или клиппинг; наклонная = линейный режим на больших объёмах.


Связь с другими темами курса

Что было раньше: предел функции и непрерывность дали нам инструмент, без которого асимптоту даже не сформулировать. Дробно-рациональные функции и гипербола $y = 1/x$ (уроки про степенную функцию) — простейший пример графика сразу с двумя асимптотами. Экстремумы и производная из предыдущего урока отвечают за «локальную» форму кривой, а асимптоты — за «глобальную»: вместе они и дают полную картину.

Что дальше: следующий урок — построение графиков функций — использует асимптоты как первый шаг любого исследования. Схема там такая: область определения → асимптоты → производная и экстремумы → выпуклость → и только потом рисунок. Асимптоты задают «рамку», внутри которой график обязан поместиться, и после них построение превращается в дорисовывание деталей. Дальше в анализе тема развернётся в асимптотические разложения (ряд Тейлора на бесконечности), а в теории вероятностей — в предельные теоремы, которые по сути тоже утверждения об асимптотическом поведении.

Где это применяется в жизни и в ML/данных:

📊 В машинном обучении: насыщение сигмоиды и tanh (горизонтальные асимптоты $\Rightarrow$ vanishing gradients), плато кривой обучения и early stopping, irreducible loss в scaling laws, робастность Huber loss (наклонные асимптоты) и gradient clipping.

💻 В программировании: асимптотическая сложность алгоритмов, амортизированное время работы, оценка «сколько это будет стоить на миллионе строк», численная устойчивость возле точек разрыва.

📈 В экономике и бизнесе: кривая насыщения рынка (продажи выходят на потолок), закон убывающей отдачи, маржинальная стоимость на больших объёмах — это ровно коэффициент $k$ наклонной асимптоты.

🔬 В физике и химии: предельная скорость при падении с сопротивлением воздуха, кривая радиоактивного распада с асимптотой в нуле, кинетика Михаэлиса-Ментен — скорость реакции выходит на горизонтальную асимптоту $V_{\max}$.


Интересные факты

💡 Труба, которую можно наполнить краской, но нельзя покрасить. Тело вращения ветви гиперболы $y = 1/x$ (труба Торричелли, 1643) имеет конечный объём $\pi$ и бесконечную площадь поверхности. То есть краски, чтобы залить её изнутри, нужно конечное количество, а чтобы покрасить стенку изнутри — бесконечное. Парадокс разрешается тем, что «слой краски конечной толщины» физически не помещается в трубу там, где её диаметр становится меньше толщины слоя. Всё это — прямое следствие асимптотического поведения $1/x$.

💡 У тангенса бесконечно много асимптот. График $y = \tan x$ имеет вертикальную асимптоту в каждой точке $x = \dfrac{\pi}{2} + \pi n$ — их бесконечно много, и расположены они строго через $\pi$. Это, кстати, почему в графических библиотеках тангенс без специальной обработки рисуется с уродливыми вертикальными «палками»: соседние точки по разные стороны асимптоты соединяются отрезком, которого на самом деле нет.

💡 Асимптота может быть кривой. Кроме прямых, бывают «криволинейные асимптоты»: например, у $y = x^2 + \dfrac{1}{x}$ разность с параболой $y = x^2$ стремится к нулю, так что парабола служит асимптотической кривой. В теории сложности это встречается постоянно, когда сравнивают функцию не с прямой, а с $n\log n$ или $n^2$.

💡 Знаменитый «хоккейный клюшкообразный» график в статьях про LLM — это график с двумя асимптотами. По оси $x$ — вычислительный бюджет в логарифмическом масштабе, по оси $y$ — loss. Слева кривая почти вертикальна (модель ещё не учится), справа выходит на горизонтальную асимптоту неустранимой ошибки. Вся полезная работа исследователя происходит в узком «колене» между двумя асимптотами — и именно поэтому scaling laws пишут в виде $L = L_\infty + A\cdot C^{-\alpha}$: первое слагаемое задаёт асимптоту, второе описывает, как быстро мы к ней подходим.


Лайфхаки и полезные трюки

1. Правило степеней вместо вычисления пределов

Для дробно-рациональной функции сравни степени числителя и знаменателя — и ответ готов за две секунды: числитель слабее $\Rightarrow$ $y=0$; степени равны $\Rightarrow$ отношение старших коэффициентов; числитель старше ровно на 1 $\Rightarrow$ делим уголком, целая часть и есть наклонная. Полноценный предел считай только там, где есть корни, логарифмы или экспоненты.


2. Деление уголком вместо формул $k$ и $b$

Если функция дробно-рациональная, забудь про два предела: просто подели числитель на знаменатель. Получишь вид $f(x) = (kx+b) + \dfrac{\text{остаток}}{Q(x)}$, где первая скобка — асимптота, а дробь автоматически стремится к нулю. Это быстрее и почти не даёт ошибок. Формулы $k$ и $b$ береги для корней, логарифмов и экспонент.


3. Проверяй ответ подстановкой большого числа

Нашёл асимптоту $y = 2x-1$? Подставь $x = 101$ в исходную функцию и в прямую и сравни. Значения должны отличаться на сотые. Это тридцатисекундная проверка, которая ловит почти любую арифметическую ошибку в делении уголком.


4. Определяй сторону подхода по знаку остатка

Остаток после деления показывает не только «стремится к нулю», но и откуда график подходит к асимптоте. Если остаток положителен при больших $x$ — кривая идёт выше прямой; отрицателен — ниже. Например, для $T(n) = n+2-\dfrac{6}{n+3}$ остаток отрицательный, значит график всегда чуть ниже прямой $y = n+2$. Для эскиза графика это ровно та информация, которой не хватает.


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

Не мучайся с формальным раскрытием $\frac{5}{0^+}$: просто подставь число, которое чуть больше или чуть меньше подозрительной точки. Для $\dfrac{x+2}{x-3}$ возьми $x = 3{,}01$: числитель $\approx 5$, знаменатель $0{,}01$, результат $\approx 500$ — значит справа предел $+\infty$. Быстро, наглядно и без шансов ошибиться в знаке.


6. В коде сразу спрашивай «а где здесь асимптота?»

Перед каждым делением, логарифмом и корнем задай вопрос: может ли аргумент подойти к точке разрыва? Если да — добавь $\varepsilon$ в знаменатель, клиппинг под логарифм или явную проверку. Асимптота в математике красива, а в проде выглядит как ZeroDivisionError в три часа ночи.


7. Разделяй направления с самого начала

Как только в задаче появляется $|x|$, корень чётной степени, $e^x$ или кусочно заданная функция, сразу заводи два столбика: «$x\to+\infty$» и «$x\to-\infty$». Это дисциплинирует и снимает половину ошибок в теме — очень часто половина ответа теряется просто потому, что человек посчитал один предел и решил, что второй такой же.


Асимптоты — это, пожалуй, самый прикладной сюжет всего школьного анализа. Они отвечают на два вопроса, которые ты будешь задавать себе всю профессиональную жизнь: «что будет, если довести параметр до предела?» и «где эта система сломается?». Кривая обучения вышла на плато — асимптота. Градиенты умерли в глубоких слоях — асимптота активации. Лосс стал nan на третьем батче — вертикальная асимптота, к которой подошли слишком близко. Время работы выросло линейно на больших данных — наклонная асимптота. Один и тот же математический объект, который Аполлоний Пергский описал на папирусе, а Коши записал через пределы, сегодня объясняет поведение моделей на миллиардах параметров.

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

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!