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

Свойства непрерывных функций

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

Свойства непрерывных функций 🌉

Представь узкий пешеходный мост через ущелье. Один конец моста лежит на высоте 200 метров над уровнем реки, другой — на высоте 350 метров. Мост не рвётся, не телепортируется, идёт сплошной линией. Спрашивается: обязательно ли где-то посередине этого моста есть точка ровно на высоте 300 метров? Интуиция кричит «да, конечно» — а вот доказать это строго, не апеллируя к рисункам и здравому смыслу, оказывается совсем не тривиальной задачей. Именно этим мы и займёмся в этом уроке.

В прошлых двух уроках ты разобрался, что такое непрерывность в точке ($183$) и как функция может эту непрерывность потерять — какие бывают разрывы и почему ($184$). Сегодня мы поднимаемся на уровень выше: не «что происходит в одной точке», а «что гарантированно происходит с функцией на целом отрезке, если она непрерывна в каждой его точке». Окажется, что непрерывность на отрезке — это неожиданно сильное условие. Оно не просто запрещает разрывы; оно математически принуждает функцию вести себя предсказуемо: не перепрыгивать через значения, оставаться в конечных пределах, обязательно достигать своего пика и своего дна.

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

Давай разберёмся во всём этом по порядку: от строгого доказательства через деление отрезка пополам — до практического алгоритма, которым за считанные строчки кода можно найти корень любого сложного уравнения с любой наперёд заданной точностью.

🎯 Ты узнаешь:

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

  • Как из этого факта вывести куда более общее утверждение: непрерывная функция принимает любое промежуточное значение между $f(a)$ и $f(b)$, а не только ноль (вторая теорема Больцано-Коши)

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

  • Как превратить доказательство первой теоремы Больцано-Коши в работающий алгоритм — метод бисекции, — и как оценить заранее, сколько итераций потребуется для нужной точности

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

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

Первым, кто дал строгую формулировку и доказательство теоремы о промежуточном значении, был чешский математик, философ и священник Бернард Больцано. В 1817 году он опубликовал работу с говорящим названием «Чисто аналитическое доказательство теоремы о том, что между любыми двумя значениями, дающими результаты противоположного знака, лежит по меньшей мере один действительный корень уравнения» — по сути, это и есть первая теорема, которую мы докажем сегодня. Больцано был недоволен тем, что математики его эпохи доказывали такие факты «на глаз», ссылаясь на непрерывность графика как на нечто самоочевидное, вытекающее из геометрической интуиции. Он настаивал: анализ должен опираться только на арифметику и логику, без апелляции к рисункам. Его работа на десятилетия опередила своё время — и осталась почти незамеченной, потому что вышла в малоизвестном пражском издании, а строгого определения предела, на которое опирается доказательство, тогда ещё не существовало в общепринятой форме.

Независимо и почти одновременно с Больцано схожими идеями занимался Огюстен Луи Коши — во Франции, в куда более заметных публикациях 1820-х годов, включая знаменитый учебник «Cours d'Analyse» (1821). Коши подходил к делу практически: он строил математический анализ как инструмент для инженеров и физиков Политехнической школы, и теорема о промежуточном значении была ему нужна как рабочий факт — гарантия существования решения уравнения, а не абстрактная красота. Именно поэтому в русскоязычной традиции теорему называют двойным именем — теоремой Больцано-Коши: Больцано дал первое строгое доказательство, а Коши закрепил результат в практике и сделал его общеизвестным.

Точку в вопросе строгости поставил полвека спустя Карл Вейерштрасс — тот самый, чей язык $\varepsilon$-$\delta$ ты уже использовал в предыдущих уроках. Именно Вейерштрасс в 1860-х годах в своих берлинских лекциях сформулировал и строго доказал теоремы об ограниченности непрерывной функции на отрезке и о достижении ею наибольшего и наименьшего значений. Показательно, что для этого ему пришлось сначала построить строгую теорию вещественных чисел (знаменитое доказательство того, что каждое ограниченное множество имеет точную верхнюю грань) — без неё теоремы Вейерштрасса попросту не доказываются. Это не случайность: свойства непрерывных функций на отрезке оказались настолько глубоко связаны с устройством самих вещественных чисел, что один результат невозможно получить без другого.

Первая теорема Больцано-Коши: о существовании корня

Интуиция: мост через пропасть

Представь, что ты идёшь вдоль графика непрерывной функции $f$ на отрезке $[a, b]$, как турист вдоль тропы над ущельем. В начале тропы, в точке $a$, ты стоишь ниже уровня моря — значение $f(a)$ отрицательно. В конце тропы, в точке $b$, ты оказываешься выше уровня моря — значение $f(b)$ положительно. Тропа сплошная, без телепортаций и разрывов — это и есть непрерывность. Вопрос: обязан ли ты хотя бы раз за прогулку пересечь линию уровня моря?

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

$$\text{если } f \text{ непрерывна на } [a,b] \text{ и } f(a)\cdot f(b) < 0, \text{ то существует } c\in(a,b): f(c)=0$$

Условие $f(a)\cdot f(b) < 0$ — это просто компактный способ сказать «значения на концах разных знаков», не расписывая отдельно случаи $f(a)<00>f(b)$.

Доказательство методом вложенных отрезков

Давай докажем это строго, тем же методом, которым Архимед две тысячи лет назад зажимал число $\pi$ между многоугольниками, — методом последовательного сжатия. Без ограничения общности считаем $f(a) < 0 < f(b)$ (случай $f(a) > 0 > f(b)$ разбирается заменой $f$ на $-f$).

Шаг 1. Обозначим $a_0 = a$, $b_0 = b$. Найдём середину $m_0 = \frac{a_0+b_0}{2}$ и вычислим $f(m_0)$.

  • Если $f(m_0) = 0$ — корень найден, доказательство закончено.

  • Если $f(m_0) > 0$ — знак сменился на левой половине, полагаем $a_1 = a_0$, $b_1 = m_0$.

  • Если $f(m_0) < 0$ — знак сменился на правой половине, полагаем $a_1 = m_0$, $b_1 = b_0$.

В обоих случаях на новом отрезке $[a_1, b_1]$ по-прежнему $f(a_1) < 0 < f(b_1)$ (или найден точный корень), а длина отрезка уменьшилась вдвое: $b_1 - a_1 = \frac{b_0-a_0}{2}$.

Шаг $n$. Повторяем ту же процедуру для каждого следующего отрезка. Если ни на одном шаге мы не наткнулись точно на ноль, получаем бесконечную последовательность вложенных отрезков $[a_0,b_0] \supset [a_1,b_1] \supset [a_2,b_2] \supset \cdots$, где на каждом $f(a_n) < 0$, $f(b_n) > 0$, а длина $b_n - a_n = \frac{b-a}{2^n} \to 0$.

Сходимость. Последовательность $a_n$ монотонно не убывает и ограничена сверху числом $b$ — по теореме о пределе монотонной ограниченной последовательности (урок 179) она сходится к некоторому пределу $c$. Последовательность $b_n$ монотонно не возрастает, ограничена снизу числом $a$, значит тоже сходится, причём к тому же самому $c$, поскольку $b_n - a_n \to 0$.

Финал. Осталось показать, что $f(c) = 0$. По непрерывности $f$ в точке $c$: $f(a_n) \to f(c)$ и $f(b_n) \to f(c)$ (обе последовательности точек стремятся к $c$). Но $f(a_n) < 0$ для всех $n$, значит и предел $f(c) \le 0$. С другой стороны, $f(b_n) > 0$ для всех $n$, значит $f(c) \ge 0$. Единственное число, которое одновременно $\le 0$ и $\ge 0$ — это ноль. Значит, $f(c) = 0$, и $c \in [a,b]$ (а на самом деле $c \in (a,b)$, поскольку в самих точках $a$ и $b$ значение функции ненулевое по условию).

Теорема (первая теорема Больцано-Коши). Если функция $f$ непрерывна на отрезке $[a,b]$ и $f(a) \cdot f(b) < 0$, то существует точка $c \in (a,b)$ такая, что $f(c) = 0$.

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

Разбор примеров

Пример 1 (лёгкий). Доказать, что уравнение $x^3 - x - 1 = 0$ имеет корень на интервале $(1, 2)$.

Рассмотрим $f(x) = x^3 - x - 1$ — многочлен, непрерывный на всей числовой прямой, а значит и на $[1,2]$. Вычислим значения на концах:

$$f(1) = 1 - 1 - 1 = -1 < 0, \qquad f(2) = 8 - 2 - 1 = 5 > 0$$

Знаки разные, $f(1)\cdot f(2) < 0$. По первой теореме Больцано-Коши существует $c \in (1,2)$ такое, что $f(c) = 0$ — уравнение имеет корень на этом интервале.

Пример 2 (средний). Доказать, что уравнение $2^x = 3x$ имеет решение на интервале $(0, 1)$.

Перепишем уравнение как $f(x) = 2^x - 3x = 0$. Функция $f$ — разность двух непрерывных функций (показательной и линейной), значит непрерывна на всей прямой. Вычислим:

$$f(0) = 2^0 - 3\cdot 0 = 1 - 0 = 1 > 0, \qquad f(1) = 2^1 - 3\cdot 1 = 2 - 3 = -1 < 0$$

Знаки разные — по теореме существует корень $c \in (0,1)$. Заметь: нам не пришлось ничего знать про явную формулу этого корня (его и нет в элементарных функциях) — теорема доказывает существование, ничего не говоря о способе вычисления. Способ вычисления мы обсудим чуть позже, в разделе про метод бисекции.

Пример 3 (сложный). Доказать, что уравнение $x^5 - 5x + 1 = 0$ имеет по меньшей мере три различных действительных корня.

Здесь одного применения теоремы мало — нужно найти несколько интервалов со сменой знака. Составим таблицу значений $f(x) = x^5 - 5x + 1$ в нескольких точках:

$$f(-2) = -32 + 10 + 1 = -21, \qquad f(-1) = -1 + 5 + 1 = 5, \qquad f(0) = 1$$$$f(1) = 1 - 5 + 1 = -3, \qquad f(2) = 32 - 10 + 1 = 23$$

Смотрим на смену знаков: между $x=-2$ и $x=-1$ знак меняется с минуса на плюс — по теореме есть корень $c_1 \in (-2,-1)$. Между $x=0$ и $x=1$ знак меняется с плюса на минус — есть корень $c_2 \in (0,1)$. Между $x=1$ и $x=2$ знак меняется с минуса на плюс — есть корень $c_3 \in (1,2)$. Три интервала, три гарантированных корня, и все они различны, поскольку лежат в непересекающихся интервалах. Вот так, простым перебором контрольных точек и трёхкратным применением одной и той же теоремы, доказывается существование сразу трёх корней уравнения пятой степени — безо всякой попытки решить его аналитически (что для степени $5$, кстати, в общем случае и невозможно — по теореме Абеля-Руффини).

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

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

Вторая теорема Больцано-Коши: о промежуточном значении

Интуиция: лифт, который не может телепортироваться

Вернёмся к вопросу из вступления: если функция на одном конце отрезка равна $200$, а на другом $350$, обязана ли она хотя бы раз принять значение $300$? Первая теорема отвечала только на вопрос про ноль. Сейчас мы обобщим её до произвольного промежуточного значения — и окажется, что для этого не нужно ничего нового доказывать: достаточно одной замены переменной.

Представь лифт, который едет с первого этажа на десятый. Он не может телепортироваться — значит, чтобы попасть на десятый этаж, он обязан проехать мимо пятого. Формально:

$$\text{если } f \text{ непрерывна на } [a,b],\ f(a)=A,\ f(b)=B,\ A\ne B,$$

$$\text{то для любого } C \text{ между } A \text{ и } B \text{ найдётся } c\in[a,b]: f(c)=C$$

Вывод из первой теоремы

Доказательство здесь на удивление короткое, потому что вся тяжёлая работа уже сделана. Рассмотрим вспомогательную функцию $g(x) = f(x) - C$. Она непрерывна на $[a,b]$ как разность непрерывной функции и константы. Вычислим значения на концах:

$$g(a) = f(a) - C = A - C, \qquad g(b) = f(b) - C = B - C$$

Поскольку $C$ лежит строго между $A$ и $B$, одна из разностей $A-C$, $B-C$ положительна, а другая отрицательна (например, если $A < C < B$, то $A - C < 0$, а $B - C > 0$). Значит, $g(a)\cdot g(b) < 0$, и по первой теореме Больцано-Коши существует $c \in (a,b)$ такое, что $g(c) = 0$, то есть $f(c) - C = 0$, то есть $f(c) = C$. Именно это и требовалось доказать.

Теорема (вторая теорема Больцано-Коши, о промежуточном значении). Если функция $f$ непрерывна на отрезке $[a,b]$ и $C$ — любое число между $f(a)$ и $f(b)$, то найдётся точка $c \in [a,b]$, в которой $f(c) = C$.

Первая теорема — это в точности частный случай второй при $C = 0$. Мы доказали общий случай не заново, а буквально сведением к уже доказанному — классический приём математики: не решать новую задачу с нуля, а свести её к старой заменой переменной.

Разбор примеров

Пример 1 (лёгкий). Доказать, что функция $f(x) = x^2$ на отрезке $[1,3]$ принимает значение $5$.

$f$ непрерывна как элементарная функция. $f(1) = 1$, $f(3) = 9$. Число $5$ лежит между $1$ и $9$. По второй теореме Больцано-Коши существует $c \in [1,3]$: $f(c) = 5$. И действительно, такая точка явно вычисляется: $c = \sqrt5 \approx 2{,}236$, что лежит внутри $[1,3]$ — теорема подтверждается прямой проверкой.

Пример 2 (средний). Доказать, что $\sin x$ на отрезке $\left[0, \frac{\pi}{2}\right]$ принимает любое значение $C \in [0,1]$.

$\sin x$ непрерывна всюду. $\sin 0 = 0$, $\sin\frac{\pi}{2} = 1$. Для любого $C$ между $0$ и $1$ по второй теореме найдётся $c \in \left[0,\frac{\pi}{2}\right]$ с $\sin c = C$. Это ровно то утверждение, на котором держится существование функции $\arcsin$ на отрезке $[-1,1]$ — обратная функция определена именно потому, что прямая функция непрерывно и монотонно «прочёсывает» весь этот отрезок значений, не пропуская ни одной точки.

Пример 3 (сложный). Пусть функции $f$ и $g$ непрерывны на $[a,b]$, причём $f(a) < g(a)$, а $f(b) > g(b)$. Доказать, что существует точка $c \in (a,b)$, в которой $f(c) = g(c)$.

Формулировка выглядит новой, но приём тот же самый: сведение к разности. Рассмотрим $h(x) = f(x) - g(x)$ — непрерывная функция как разность непрерывных. Тогда:

$$h(a) = f(a) - g(a) < 0 \qquad (\text{по условию } f(a)

$$h(b) = f(b) - g(b) > 0 \qquad (\text{по условию } f(b)>g(b))$$

Знаки разные — по первой теореме Больцано-Коши (это её прямое применение, второй теоремой мы пользуемся неявно, беря $C=0$) существует $c \in (a,b)$ такое, что $h(c) = 0$, то есть $f(c) = g(c)$. Геометрически это означает: если один график «стартует» ниже другого, а «финиширует» выше, то графики обязаны где-то пересечься. Частный случай этого факта при $g(x) = x$ — теорема о неподвижной точке, которую ты разберёшь в задании 20.

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

Вторая теорема Больцано-Коши — это утверждение о полноте образа: непрерывная функция на отрезке не «перепрыгивает» ни одно значение между $f(a)$ и $f(b)$, её область значений на этом отрезке заполнена сплошь, без дыр. Именно на этом факте строится корректность определения всех обратных функций — арксинуса, логарифма, корня. В прикладных задачах — от калибровки модели до подбора порога решения в бинарной классификации — эта теорема гарантирует, что если ты варьируешь параметр непрерывно, то любое целевое значение метрики между двумя достигнутыми крайними значениями обязательно где-то достигается, а значит, задачу «подбери параметр под целевой уровень» в принципе имеет смысл решать.

Теоремы Вейерштрасса: ограниченность и достижение экстремумов

Интуиция: почему замкнутый отрезок — это не формальность

Обе теоремы Больцано-Коши говорили про значения функции — какие числа она принимает. Теоремы Вейерштрасса говорят про границы этих значений: не улетает ли функция в бесконечность, и если нет, достигает ли она своего максимума и минимума на самом деле, а не только «стремится» к ним.

Представь резиновый жгут, натянутый между двумя гвоздями, вбитыми в стену. Как бы ты его ни изгибал — плавно, без разрывов, — он останется в конечных пределах (жгут не улетит в бесконечность) и обязательно будет самая высокая точка провисания и самая низкая. Это интуитивно понятно для замкнутого отрезка $[a,b]$ — то есть когда есть два конкретных гвоздя. А что если один «гвоздь» убрать, оставив интервал открытым?

Возьмём функцию $f(x) = \frac{1}{x}$ на интервале $(0, 1)$ — открытом, без включённых концов. Функция непрерывна на всём этом интервале. Но при $x \to 0^+$ она улетает к $+\infty$ — никакой конечной границы нет, функция не ограничена, хотя каждая отдельная точка интервала вполне «безобидна». Вот в чём разница: замкнутость отрезка — это не бюрократическая деталь условия теоремы, а его смысловое ядро. Без неё функция может «убегать» к границе, которая формально не включена в область определения, и обе теоремы Вейерштрасса рассыпаются.

Теорема об ограниченности

Теорема (первая теорема Вейерштрасса). Если функция $f$ непрерывна на отрезке $[a,b]$, то она ограничена на этом отрезке: существует число $M > 0$ такое, что $|f(x)| \le M$ для всех $x \in [a,b]$.

Идея доказательства — тот же метод деления пополам, что и в первой теореме Больцано-Коши, только «от противного». Допустим, $f$ не ограничена на $[a,b]$. Разделим отрезок пополам — хотя бы на одной из половин функция тоже должна быть неограниченной (иначе, будучи ограниченной на обеих половинах по отдельности, она была бы ограничена и на их объединении). Выберем эту половину, снова разделим пополам — и так до бесконечности. Получаем вложенные отрезки $[a_n,b_n]$ длины $\frac{b-a}{2^n} \to 0$, на каждом из которых $f$ неограничена. По теореме о вложенных отрезках существует единственная общая точка $c$, к которой сходятся и $a_n$, и $b_n$. Но $f$ непрерывна в точке $c$, а значит, по самому определению непрерывности, $f$ обязана быть ограниченной в некоторой окрестности $c$ — а эта окрестность на достаточно позднем шаге целиком содержит отрезок $[a_n,b_n]$ (потому что его длина стремится к нулю). Противоречие: мы предполагали, что $f$ неограничена на каждом $[a_n,b_n]$, а получили, что она там ограничена. Значит, исходное предположение неверно, и $f$ ограничена на всём $[a,b]$.

Теорема о достижении экстремумов

Ограниченность — это ещё не всё. Функция может быть ограничена, но никогда не достигать своей точной верхней грани — как в примере $f(x) = x$ на открытом $(0,1)$: значения зажаты между $0$ и $1$, но ни $0$, ни $1$ функция не принимает ни в одной точке интервала. Вторая теорема Вейерштрасса закрывает и этот пробел — но только для замкнутого отрезка.

Теорема (вторая теорема Вейерштрасса, о достижении наибольшего и наименьшего значений). Если функция $f$ непрерывна на отрезке $[a,b]$, то она достигает на этом отрезке своего наибольшего и своего наименьшего значений: существуют точки $c_1, c_2 \in [a,b]$ такие, что $f(c_1) \le f(x) \le f(c_2)$ для всех $x \in [a,b]$.

Доказательство опирается на первую теорему Вейерштрасса и на свойство полноты вещественных чисел. Раз $f$ ограничена на $[a,b]$, множество её значений $\{f(x): x\in[a,b]\}$ ограничено сверху, а значит, по аксиоме полноты, имеет точную верхнюю грань $M = \sup f$. Нужно показать, что эта грань достигается — то есть существует точка $c_2$, где $f(c_2) = M$ в точности, а не просто $f(x)$ подбирается к $M$ сколь угодно близко. Строгое доказательство этого шага использует более тонкий факт — теорему Больцано-Вейерштрасса о том, что из любой ограниченной последовательности точек можно выбрать сходящуюся подпоследовательность (полное доказательство выходит за рамки одного урока и обычно даётся в курсе с элементами теории множеств, но идея та же: строим последовательность точек $x_n \in [a,b]$ такую, что $f(x_n) \to M$, извлекаем из неё сходящуюся подпоследовательность $x_{n_k} \to c_2 \in [a,b]$, и по непрерывности $f(c_2) = \lim f(x_{n_k}) = M$). Для минимума рассуждение зеркально: примени доказанное к функции $-f$.

Разбор примеров

Пример 1 (лёгкий). Найти наибольшее и наименьшее значения функции $f(x) = -x^2 + 6x - 5$ на отрезке $[1,4]$.

$f$ непрерывна как многочлен, отрезок замкнут — обе теоремы Вейерштрасса применимы, экстремумы гарантированно существуют. Перепишем через выделение полного квадрата: $f(x) = -(x-3)^2 + 4$. Парабола направлена ветвями вниз, вершина в точке $x=3$ (она лежит внутри $[1,4]$), значение в вершине $f(3) = 4$ — это и есть глобальный максимум. Для минимума проверяем концы отрезка (у параболы с ветвями вниз минимум на замкнутом отрезке всегда на одном из концов): $f(1) = -1+6-5=0$, $f(4) = -16+24-5=3$. Минимальное из двух — $0$ при $x=1$.

Ответ: наибольшее значение $4$ достигается при $x=3$, наименьшее $0$ — при $x=1$.

Пример 2 (средний). Показать, что теорема о достижении экстремума ломается на открытом интервале: рассмотреть $f(x) = x$ на $(0,1)$.

Функция непрерывна и, безусловно, ограничена: $0 < f(x) < 1$ для всех $x$ из интервала. Точная верхняя грань множества значений — это $1$, точная нижняя — $0$. Но ни $1$, ни $0$ не достигаются ни в одной точке интервала: для любого $x \in (0,1)$ всегда найдётся более близкая к границе точка $x' \in (0,1)$ с $f(x') > f(x)$ (например, $x' = \frac{x+1}{2}$). Максимум и минимум попросту не существуют, несмотря на непрерывность и ограниченность. Причина ровно та, что обсуждалась во вступлении: интервал не замкнут, точки $0$ и $1$ не входят в область определения, и «убежать» к ним функция технически не может, но и остановиться в конкретной точке максимума — тоже. Это классическая иллюстрация того, почему в формулировке теоремы Вейерштрасса слово «отрезок» (замкнутый и ограниченный) — не украшение, а необходимое условие.

Пример 3 (сложный, ML-контекст). Функция потерь задана формулой $L(w) = (w-3)^2 + 2$ на отрезке допустимых значений параметра $w \in [-10, 10]$. Доказать (не решая уравнение на производную, а используя только теоремы Вейерштрасса и элементарную оценку), что минимум существует, и найти его.

Сначала — теоретическая часть. Функция $L$ непрерывна на $[-10,10]$ как многочлен, отрезок замкнут и ограничен. По второй теореме Вейерштрасса минимум $L$ на этом отрезке гарантированно существует — это не нужно доказывать отдельно для каждой конкретной функции, это следствие общей теоремы, работающей для любой непрерывной функции на компактном множестве.

Теперь — явное вычисление, чисто алгебраически, без производной. Слагаемое $(w-3)^2$ всегда неотрицательно, и обращается в $0$ ровно при $w = 3$. Значит:

$$L(w) = (w-3)^2 + 2 \ge 0 + 2 = 2 \quad \text{для всех } w$$

причём равенство достигается именно при $w=3$, и эта точка лежит внутри допустимого отрезка $[-10,10]$. Значит, глобальный минимум $L$ на этом отрезке равен $2$ и достигается при $w=3$ — что полностью согласуется с гарантией существования, данной теоремой Вейерштрасса.

Ответ: минимум $L=2$ при $w=3$; факт, что минимум вообще есть и он конечен, следует из теоремы Вейерштрасса ещё до того, как мы нашли явное значение.

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

Вот ключевая мысль всего раздела, ради которой мы и разбирали строгие доказательства: теорема Вейерштрасса о достижении экстремумов — это теоретическое основание всей задачи обучения модели в машинном обучении. Когда ты обучаешь нейросеть, ты минимизируешь функцию потерь $L(\theta)$ по параметрам $\theta$. Если пространство допустимых параметров компактно (например, веса ограничены по норме — что на практике часто достигается регуляризацией или явным ограничением), а функция потерь непрерывна (что почти всегда так — композиции гладких функций активации, линейных слоёв и стандартных функций потерь непрерывны), то теорема Вейерштрасса гарантирует, что глобальный минимум этой функции потерь на этом множестве параметров существует. Без этой гарантии сама постановка задачи «найти оптимальные веса» была бы некорректной — а вдруг минимума просто нет, и функция потерь может уменьшаться бесконечно, никогда не достигая никакого предельного значения? Компактность параметрического пространства и непрерывность функции потерь закрывают этот вопрос раз и навсегда.

Но здесь же кроется важное предостережение, к которому мы ещё вернёмся: теорема Вейерштрасса доказывает существование минимума, но абсолютно ничего не говорит о том, как его найти. Градиентный спуск — рабочий, но не всесильный алгоритм: он может застрять в локальном минимуме, на седловой точке или сходиться крайне медленно, даже когда глобальный минимум по теореме заведомо есть. Разница между «минимум существует» и «мы умеем его вычислить» — это разница между чистой математикой существования и вычислительной математикой алгоритмов, и следующий раздел урока как раз про мост между ними.

Метод бисекции: от доказательства к алгоритму

Интуиция: доказательство, которое умеет считать

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

Алгоритм и оценка точности

Дан отрезок $[a,b]$, на котором $f(a)\cdot f(b) < 0$ и $f$ непрерывна. Алгоритм:

  1. Вычислить середину $m = \frac{a+b}{2}$ и значение $f(m)$.

  2. Если $f(m) = 0$ (или $|f(m)|$ достаточно мало) — остановиться, $m$ и есть приближённый корень.

  3. Если $f(a)\cdot f(m) < 0$ — корень в левой половине, положить $b := m$.

  4. Иначе — корень в правой половине, положить $a := m$.

  5. Повторять, пока длина отрезка $b-a$ не станет меньше заданной точности $\varepsilon$.

После $n$ итераций длина отрезка равна $\frac{b-a}{2^n}$ (той самой исходной длины, делённой на $2^n$ — ровно как в доказательстве теоремы). Чтобы гарантировать точность $\varepsilon$, нужно решить неравенство $\frac{b-a}{2^n} < \varepsilon$, откуда:

$$n \ge \log_2\left(\frac{b-a}{\varepsilon}\right)$$

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

Разбор примеров

Пример 1 (лёгкий). Оценить, сколько итераций бисекции потребуется, чтобы найти корень уравнения $x^3 - x - 1 = 0$ на отрезке $[1,2]$ (существование которого мы доказали выше) с точностью $\varepsilon = 0{,}01$.

По формуле:

$$n \ge \log_2\left(\frac{2-1}{0{,}01}\right) = \log_2 100 \approx 6{,}644$$

Число итераций должно быть целым и не меньше этой величины, значит $n = 7$.

Ответ: $7$ итераций.

Пример 2 (средний). Выполнить три первых шага бисекции для нахождения $\sqrt2$ как корня уравнения $f(x) = x^2 - 2 = 0$ на отрезке $[1,2]$.

Стартуем: $f(1) = 1-2=-1<0$, $f(2)=4-2=2>0$ — условие теоремы выполнено.

Шаг 1. Середина $m = 1{,}5$. $f(1{,}5) = 2{,}25-2=0{,}25>0$. Знак совпадает со знаком на правом конце, значит корень в левой половине: новый отрезок $[1;\,1{,}5]$.

Шаг 2. Середина $m = 1{,}25$. $f(1{,}25) = 1{,}5625-2=-0{,}4375<0$. Знак совпадает с левым концом — корень в правой половине: новый отрезок $[1{,}25;\,1{,}5]$.

Шаг 3. Середина $m = 1{,}375$. $f(1{,}375) = 1{,}890625-2=-0{,}109375<0$. Снова корень в правой половине: новый отрезок $[1{,}375;\,1{,}5]$.

После трёх шагов корень локализован в отрезке $[1{,}375;\,1{,}5]$ длины $0{,}125$. Истинное значение $\sqrt2 \approx 1{,}41421$ действительно лежит внутри этого отрезка — метод работает предсказуемо, как и обещает доказанная теорема.

Пример 3 (сложный, численный метод). Найти корень уравнения $x - e^{-x} = 0$ на отрезке $[0,1]$, выполнив три шага бисекции, и оценить общее число итераций, нужных для точности $\varepsilon = 0{,}0001$.

Сначала проверим применимость теоремы: $f(x) = x - e^{-x}$, $f(0) = 0 - 1 = -1 < 0$, $f(1) = 1 - e^{-1} \approx 1 - 0{,}3679 = 0{,}6321 > 0$. Условие выполнено.

Шаг 1. $m=0{,}5$. $f(0{,}5) = 0{,}5 - e^{-0{,}5} \approx 0{,}5 - 0{,}6065 = -0{,}1065 < 0$. Корень справа: отрезок $[0{,}5;\,1]$.

Шаг 2. $m=0{,}75$. $f(0{,}75) = 0{,}75 - e^{-0{,}75} \approx 0{,}75-0{,}4724=0{,}2776>0$. Корень слева: отрезок $[0{,}5;\,0{,}75]$.

Шаг 3. $m=0{,}625$. $f(0{,}625)=0{,}625-e^{-0{,}625}\approx0{,}625-0{,}5353=0{,}0897>0$. Корень слева: отрезок $[0{,}5;\,0{,}625]$.

После трёх шагов корень локализован в $[0{,}5;\,0{,}625]$; истинный корень (известный как постоянная Омега, $\Omega \approx 0{,}5671$) действительно лежит внутри. Теперь оценим общее число итераций для точности $0{,}0001$:

$$n \ge \log_2\left(\frac{1-0}{0{,}0001}\right) = \log_2 10\,000 \approx 13{,}288 \quad\Longrightarrow\quad n = 14$$

Ответ: после трёх шагов корень в $[0{,}5;\,0{,}625]$; для точности $0{,}0001$ нужно $14$ итераций.

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

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

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

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

Задание 1: Доказать, что уравнение $\cos x = x$ имеет решение на интервале $(0, \frac{\pi}{2})$.


Задание 2: Найти наибольшее и наименьшее значения $f(x) = x^2 - 4x + 3$ на отрезке $[0,5]$, обосновав их существование теоремой Вейерштрасса.


Задание 3: Доказать, что функция $f(x) = x^3$ на отрезке $[-1,2]$ принимает значение $5$.


Задание 4: Объяснить, почему функция $f(x) = \frac{1}{x}$ на интервале $(0,1)$ не ограничена, хотя непрерывна в каждой точке этого интервала, и почему это не противоречит теореме Вейерштрасса.


Задание 5: Доказать, что уравнение $\sin x + x - 1 = 0$ имеет корень на отрезке $[0,1]$.


Задание 6: Дан отрезок $[a,b]=[1,2]$ и функция $f(x)=x^3-x-1$. Оценить число итераций бисекции для точности $\varepsilon = 0{,}01$.


Задание 7: Для функции $f(x)=x^3-x-1$ на $[1,2]$ выполнить первый шаг бисекции: найти середину отрезка, вычислить в ней значение функции и определить новый (уточнённый) отрезок.


Задание 8: Доказать, что уравнение $x^5 + x - 1 = 0$ имеет ровно один действительный корень на отрезке $[0,1]$.


Задание 9: Доказать, что уравнение $2^x = 3x$ имеет решение на интервале $(0,1)$.


Задание 10: Функция $f(x) = -x^2+6x-5$ непрерывна на отрезке $[1,4]$. Найти её наибольшее значение, сославшись на теорему Вейерштрасса, и вычислить его.


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

Задание 11: Доказать, что любой многочлен нечётной степени имеет хотя бы один действительный корень.


Задание 12: Функция потерь модели с одним параметром задана как $L(w) = w^4 - 3w^2 + 2$ на допустимом множестве $w \in [-2,2]$. Доказать, что минимум существует, и найти его значение.


Задание 13: Доказать, что уравнение $x = \cos x$ имеет ровно один действительный корень (на всей числовой прямой).


Задание 14: Показать на примере, что при $f(a)\cdot f(b) > 0$ (одинаковые знаки на концах) функция всё же может иметь корни внутри отрезка — то есть условие теоремы достаточное, но не необходимое.


Задание 15: Функция $f(x) = e^x - 3x$ непрерывна на отрезке $[0,2]$. Доказать существование минимума и найти его точное значение.


Задание 16: Доказать, что функция $\operatorname{arctg} x$ на отрезке $[-10,10]$ принимает значение $1$, и указать точку, где это происходит.


Задание 17: Показать, что для $f(x)=\dfrac{1}{1-x^2}$ на интервале $(-1,1)$ теорема Вейерштрасса не применима, и объяснить, что происходит с функцией на самом деле.


Задание 18: Забегая немного вперёд к технике производных: для функции $f(x)=x^3-6x^2+9x$ на отрезке $[0,3]$ производная равна $f'(x)=3x^2-12x+9$. Методом бисекции локализовать (одним шагом) корень $f'(x)=0$ на отрезке $[0;\,1{,}5]$.


Задание 19: Начальный отрезок бисекции имеет длину $10$. Сколько итераций потребуется для точности $\varepsilon=10^{-6}$?


Задание 20: Пусть $f:[0,1]\to[0,1]$ непрерывна. Доказать, что существует точка $c\in[0,1]$ такая, что $f(c)=c$ (неподвижная точка).


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

Задание 21: Восстановить общее доказательство первой теоремы Больцано-Коши методом вложенных отрезков для произвольной функции $f$, непрерывной на $[a,b]$, с $f(a)<0


Задание 22: Функция потерь одного параметра задана как $L(\theta)=\theta^2-4\theta\sin\theta+5$ на компактном множестве допустимых значений $\theta\in[0,5]$. Доказать существование глобального минимума, не решая уравнение $L'(\theta)=0$ явно.


Задание 23: Оценить число итераций бисекции для нахождения корня уравнения $x-e^{-x}=0$ на $[0,1]$ с точностью $\varepsilon=10^{-4}$.


Задание 24: Выполнить первые три шага бисекции для уравнения $x-e^{-x}=0$ на $[0,1]$ и указать локализующий отрезок после третьего шага.


Задание 25: Доказать, что не существует непрерывной функции $f:[0,1]\to\mathbb{R}$, область значений которой — вся числовая прямая $\mathbb{R}$.


Задание 26: Функция $f$ непрерывна на всей числовой прямой и периодична с периодом $T>0$. Доказать, что $f$ ограничена на $\mathbb{R}$ и достигает своих наибольшего и наименьшего значений на всей прямой.


Задание 27: Объяснить, почему теорема Вейерштрасса о достижении минимума гарантирует существование глобального минимума функции потерь, но не гарантирует, что градиентный спуск его найдёт.


Задание 28: Функция $f(x)=x\sin\frac1x$ при $x\ne0$, $f(0)=0$. Доказать, что $f$ непрерывна на $[-1,1]$, а значит ограничена и достигает экстремумов на этом отрезке, и указать простую оценку границы.


Задание 29: Пусть $f$ непрерывна на $[a,b]$ и достигает своего наименьшего значения $m$ в точке $c_1$ и наибольшего значения $M$ в точке $c_2$. Доказать, что $f$ принимает любое значение $C\in[m,M]$, а не только значения между $f(a)$ и $f(b)$.


Задание 30: Объединяя все четыре теоремы урока, доказать: если $f$ непрерывна на $[a,b]$, то множество значений $f\bigl([a,b]\bigr)$ — это в точности отрезок $[m,M]$, где $m$ и $M$ — наименьшее и наибольшее значения $f$.


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

Ошибка 1. Считают, что первая теорема Больцано-Коши доказывает единственность корня.

Как выглядит: находят смену знака на концах отрезка, делают вывод «значит, корень ровно один».

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

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

Ошибка 2. Применяют теоремы Вейерштрасса на открытом интервале или на неограниченном множестве.

Как выглядит: пишут «функция непрерывна на $(0,1)$, значит по теореме Вейерштрасса она ограничена и достигает максимума» — или то же самое для всей числовой прямой $\mathbb{R}$.

Почему возникает: условие «отрезок» механически опускается как несущественная деталь, а не как ключевое требование теоремы.

Как правильно: обе теоремы Вейерштрасса требуют именно замкнутого и ограниченного множества (отрезка). На открытом интервале функция может уходить к границе, как $f(x)=\frac1x$ на $(0,1)$; на неограниченном множестве, как $\mathbb{R}$, функция может неограниченно расти, как $f(x)=x$. Всегда проверяй оба условия — замкнутость и ограниченность — прежде чем ссылаться на теорему.

Ошибка 3. Путают условие $f(a)\cdot f(b) < 0$ с необходимым условием существования корня.

Как выглядит: видят $f(a)$ и $f(b)$ одного знака и делают вывод «корней на отрезке точно нет».

Почему возникает: теорема формулируется как импликация «разные знаки $\Rightarrow$ есть корень», и по ошибке читается как равносильность.

Как правильно: импликация работает только в одну сторону. Задание 14 демонстрирует функцию $f(x)=x^2-1$ на $[-2,2]$ с одинаковыми (положительными) значениями на концах, но с двумя корнями внутри. Отсутствие смены знака ничего не говорит об отсутствии корня — оно лишь означает, что эта конкретная теорема не может подтвердить его существование напрямую.

Ошибка 4. Забывают проверить непрерывность функции перед применением любой из четырёх теорем.

Как выглядит: применяют теорему Больцано-Коши к функции $f(x)=\frac1x$ на отрезке, содержащем $x=0$ внутри — например, на $[-1,1]$, где $f(-1)=-1<0$ и $f(1)=1>0$, ошибочно заключая, что есть корень.

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

Как правильно: все четыре теоремы этого урока начинаются со слова «если $f$ непрерывна на $[a,b]$» — это не формальность, а первое, что нужно проверить. В примере с $\frac1x$ функция терпит разрыв второго рода в нуле, лежащем внутри отрезка, и никакого корня уравнение $\frac1x=0$ в действительности не имеет.

Ошибка 5. Считают число итераций бисекции «на глаз», не используя формулу.

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

Почему возникает: формула $n \ge \log_2\frac{b-a}{\varepsilon}$ кажется необязательной деталью, а не рабочим инструментом.

Как правильно: всегда явно вычисляй $n$ по формуле перед запуском алгоритма — особенно в программировании, где заранее известное число итераций позволяет писать простой цикл for вместо цикла с условием, а также заранее оценивать вычислительную стоимость.

Ошибка 6. Путают направление сужения отрезка на очередном шаге бисекции.

Как выглядит: при $f(a)<0$, $f(m)>0$ (значит корень в левой половине) по ошибке заменяют $a$ на $m$ вместо $b$.

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

Как правильно: держи в голове простое правило — обновляй ту границу, знак функции в которой совпадает со знаком в новой средней точке. Если $f(m)$ того же знака, что и $f(b)$, замени $b$ на $m$ (корень слева от старого $b$, значит новая правая граница — $m$); если знак совпадает с $f(a)$ — замени $a$ на $m$.

Ошибка 7. Думают, что раз теорема Вейерштрасса гарантирует существование минимума функции потерь, то любой алгоритм оптимизации обязательно его найдёт.

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

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

Как правильно: теорема Вейерштрасса отвечает только на вопрос «есть ли минимум вообще» — и отвечает да, при выполнении условий. Найдёт ли его градиентный спуск (или любой другой алгоритм) — отдельный вопрос, зависящий от выпуклости функции, инициализации, шага обучения и множества других факторов, которые сама теорема не рассматривает (см. задание 27).

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

  • Первая теорема Больцано-Коши. Если $f$ непрерывна на $[a,b]$ и $f(a)\cdot f(b)<0$, то существует $c\in(a,b)$: $f(c)=0$. Гарантирует существование хотя бы одного корня, но не единственность.

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

  • Вторая теорема Больцано-Коши. Если $f$ непрерывна на $[a,b]$, то для любого $C$ между $f(a)$ и $f(b)$ найдётся $c\in[a,b]$: $f(c)=C$. Выводится из первой теоремы применением к вспомогательной функции $g(x)=f(x)-C$.

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

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

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

  • Метод бисекции — прямое алгоритмическое воплощение доказательства первой теоремы Больцано-Коши: число итераций для точности $\varepsilon$ на отрезке длины $L$ заранее оценивается формулой $n \ge \log_2\frac{L}{\varepsilon}$.

  • Объединение всех четырёх теорем даёт сильный итог: образ отрезка при непрерывном отображении — это в точности отрезок $[m,M]$, где $m,M$ — наименьшее и наибольшее значения функции.

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

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

Что нужно было знать до этого урока

Этот урок целиком опирается на строгое определение непрерывности из урока 183 «Непрерывность: строгое определение через предел» и на понимание видов разрывов из урока 184 «Точки разрыва функций» — все четыре теоремы этого урока формулируются именно для функций, непрерывных на всём отрезке без единого разрыва внутри него. Метод доказательства через вложенные отрезки использует теорему о пределе монотонной ограниченной последовательности из урока 179 «Теоремы о пределах» — тот же самый инструмент, которым в уроке 180 строго выводилось число $e$.

Что изучить дальше

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

Где это нужно в жизни

🤖 ML/AI. Теорема Вейерштрасса о достижении минимума — фундамент корректности постановки задачи обучения модели: если пространство параметров компактно, а функция потерь непрерывна, глобальный минимум существует. Метод бисекции — прямой концептуальный предок методов одномерной оптимизации (метод золотого сечения, тернарный поиск для унимодальных функций) и основа калибровки порога классификации по целевой метрике.

💻 Численные методы и программирование. Функция bisect в библиотеке scipy.optimize языка Python — это прямая программная реализация алгоритма, доказательство которого мы разобрали пошагово; двоичный поиск в отсортированном массиве — та же логика «раздели пополам и отбрось ненужную половину», примененная к дискретным данным вместо непрерывной функции.

📈 Экономика и финансы. Существование точки безубыточности (где выручка равна затратам) при непрерывном изменении объёма производства — прямое приложение первой теоремы Больцано-Коши: если при нулевом объёме прибыль отрицательна, а при достаточно большом — положительна, точка безубыточности гарантированно существует.

🌡️ Физика и инженерия. Задача поиска равновесной температуры, давления или иного параметра системы, при котором две противоборствующие величины уравновешиваются, почти всегда сводится к применению теоремы о промежуточном значении — ровно тому приёму, что разобран в задании 3 этого урока с функциями $f$ и $g$.

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

  • Работа Больцано 1817 года, где впервые строго доказана теорема о промежуточном значении, была написана им как богословом и философом на пенсии — в 1810-х годах Больцано был отстранён от преподавания в Пражском университете по политическим и религиозным причинам, и математику продолжал развивать фактически в одиночку, вне академической системы. Его результаты были заново открыты и оценены математическим сообществом лишь спустя десятилетия.

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

  • Теорема о промежуточном значении лежит в основе забавного бытового факта: в любой момент времени на Земле существует по меньшей мере одна пара диаметрально противоположных точек с одинаковой температурой и одинаковым атмосферным давлением. Это следствие более общей теоремы Борсука-Улама, доказательство которой для одномерного случая (окружности) — почти дословное повторение второй теоремы Больцано-Коши.

  • Карлу Вейерштрассу приписывают фразу о том, что математик, не сохранивший в себе немного поэта, не может быть настоящим математиком, — и одновременно именно он считается «отцом строгости» в анализе, заставившим целое поколение математиков переписать интуитивные доказательства на язык $\varepsilon$-$\delta$. Теоремы, названные его именем в этом уроке, — прямой результат этой программы: превратить «на графике очевидно видно» в цепочку логических следствий из аксиом вещественных чисел.

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

  1. Перед применением любой из четырёх теорем произноси про себя чек-лист: «непрерывна ли функция? отрезок ли это (замкнут и ограничен)?». Большинство ошибок в этом уроке (см. раздел выше) — это пропуск именно этой проверки.

  2. Для доказательства существования корня трансцендентного уравнения сразу составляй таблицу значений в нескольких «круглых» точках — как в примере с уравнением пятой степени, где три смены знака сразу дали три корня. Это быстрее, чем пытаться угадать интервал наугад.

  3. Формулу числа итераций бисекции $n \ge \log_2\frac{L}{\varepsilon}$ удобно прикидывать в уме через степени двойки: раз $2^{10} \approx 1000$, для повышения точности в тысячу раз достаточно примерно десяти дополнительных итераций — не нужно каждый раз доставать калькулятор для логарифма.

  4. Если условие $f(a)\cdot f(b)<0$ не выполняется, не спеши делать вывод «корней нет» — расширь отрезок поиска или раздели его на несколько частей и проверь знак в промежуточных точках, как в задании про уравнение пятой степени.

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

  6. При доказательстве от противного (как в задании про сюръективность на $\mathbb{R}$) всегда явно проговаривай, какая именно теорема даёт противоречие — это не только упрощает проверку решения, но и тренирует привычку опираться на точные формулировки, а не на общее ощущение «этого не может быть».

  7. Держи в голове геометрический образ каждой теоремы отдельно: для первой Больцано-Коши — «мост пересекает уровень моря», для второй — «лифт проезжает мимо всех промежуточных этажей», для теорем Вейерштрасса — «резиновый жгут между двумя гвоздями остаётся конечным и имеет верхнюю и нижнюю точку провисания». Эти образы восстанавливаются в памяти быстрее сухих формулировок.

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

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

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

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