Limites e Continuidade
analise-real algoritmos, computacao-cientifica intermediarioLimites e Continuidade
Limite é o conceito que dá sentido a "aproximar-se sem necessariamente alcançar". É a base de derivada, integral, série e de toda a análise assintótica.
Definição épsilon-delta
$$\lim_{x \to a} f(x) = L \iff \forall \varepsilon > 0; \exists \delta > 0: 0 < |x-a| < \delta \implies |f(x)-L| < \varepsilon$$
A leitura como jogo ajuda: alguém escolhe uma tolerância $\varepsilon$ na saída; você precisa exibir uma tolerância $\delta$ na entrada que a garanta. Se consegue responder a qualquer $\varepsilon$, o limite existe.
Note a condição $0 < |x-a|$: o valor de $f$ em $a$ é irrelevante para o limite. Essa é a razão de o limite conseguir descrever buracos e descontinuidades.
Limites laterais e infinitos
$\lim_{x\to a^-}$ e $\lim_{x\to a^+}$ aproximam-se pela esquerda e pela direita. O limite existe se e somente se os dois existem e coincidem.
Limites no infinito descrevem comportamento assintótico, e são exatamente os que aparecem em análise de algoritmos:
$$\lim_{n \to \infty} \frac{3n^2 + 5n}{n^2} = 3$$
Continuidade
$f$ é contínua em $a$ quando
$$\lim_{x\to a} f(x) = f(a)$$
o que exige três coisas: o limite existe, $f(a)$ existe, e são iguais.
Intuitivamente, o gráfico não tem saltos nem buracos. Somas, produtos, quocientes (com denominador não nulo) e composições de contínuas são contínuas — o que permite concluir continuidade sem voltar à definição.
Teorema do valor intermediário
Se $f$ é contínua em $[a,b]$ e $y$ está entre $f(a)$ e $f(b)$, então existe $c \in [a,b]$ com $f(c) = y$.
O caso $y = 0$ é o mais usado: se $f(a)$ e $f(b)$ têm sinais opostos, existe raiz no intervalo. Esse é exatamente o fundamento do método da bisseção:
def bissecao(f, a, b, tol=1e-10, max_iter=200):
fa, fb = f(a), f(b)
if fa * fb > 0:
raise ValueError('f(a) e f(b) precisam ter sinais opostos')
for _ in range(max_iter):
m = (a + b) / 2 # evita estouro melhor que (a+b)/2 em inteiros
fm = f(m)
if fm == 0 or (b - a) / 2 < tol:
return m
if fa * fm < 0:
b, fb = m, fm
else:
a, fa = m, fm
return (a + b) / 2
A bisseção converge sempre, desde que a hipótese de sinais opostos valha. O intervalo cai pela metade a cada passo, então são necessárias $\log_2((b-a)/\text{tol})$ iterações — cerca de 50 para precisão de máquina em precisão dupla. É lenta comparada a Newton, mas é a única que não pode falhar.
A mesma ideia é a busca binária: nela, a função "está à esquerda do alvo" é monótona, e o teorema garante que o ponto de virada existe.
Teorema de Weierstrass
Uma função contínua num intervalo fechado e limitado atinge máximo e mínimo.
As duas hipóteses são essenciais. Em $(0,1)$, $f(x) = 1/x$ é contínua e não tem máximo. Em otimização, é este teorema que garante que um mínimo existe antes de qualquer algoritmo sair procurando por ele — e é por isso que restringir o domínio a um conjunto compacto costuma ser o primeiro passo de uma formulação bem posta.
Continuidade uniforme e a lipschitziana
$f$ é uniformemente contínua quando o mesmo $\delta$ serve para todo o domínio, e lipschitziana com constante $L$ quando
$$|f(x) - f(y)| \le L|x-y|$$
A condição de Lipschitz é a que mais aparece em computação. Ela limita quanto a saída pode variar em resposta à entrada, e é hipótese de:
- Convergência de gradiente descendente, cuja taxa de passo admissível é $1/L$ com $L$ a constante de Lipschitz do gradiente;
- Teorema do ponto fixo de Banach, que garante convergência de iterações contrativas;
- Robustez de redes neurais, em que limitar a constante de Lipschitz limita a sensibilidade a perturbações adversariais.
Descontinuidades
| Tipo | Descrição |
|---|---|
| Removível | O limite existe mas difere de $f(a)$ |
| Salto | Limites laterais existem e diferem |
| Essencial | Algum limite lateral não existe |
Funções de arredondamento, floor e ceil têm descontinuidades de salto nos inteiros — o que explica por que otimização com variáveis inteiras não pode usar métodos baseados em derivada.
Exemplo trabalhado
Provar que $\lim_{x\to 2}(3x+1) = 7$.
Dado $\varepsilon > 0$, queremos $|3x+1-7| < \varepsilon$, ou seja, $3|x-2| < \varepsilon$. Basta tomar $\delta = \varepsilon/3$: se $|x-2| < \delta$, então $|3x-6| = 3|x-2| < 3\delta = \varepsilon$. $\blacksquare$
Para funções lineares o $\delta$ sai diretamente do coeficiente angular — que é justamente a constante de Lipschitz.
Aplicações em computação
Métodos numéricos. Convergência de qualquer iteração é um enunciado sobre limites.
Análise assintótica. $O$, $\Omega$ e $\Theta$ se definem por limites de razões.
Otimização. Continuidade e diferenciabilidade decidem que família de método é aplicável.
Gráficos. Interpolação contínua entre quadros-chave; descontinuidade aparece como artefato visível.
Ponto flutuante. A aritmética de máquina é descontínua em relação aos reais — pequenas mudanças na entrada podem produzir saltos por arredondamento, e é por isso que testar igualdade exata de floats é um erro.
Erros comuns
- Supor que $\lim_{x\to a} f(x) = f(a)$ sem verificar continuidade.
- Concluir existência do limite sem checar os dois limites laterais.
- Aplicar Weierstrass em intervalo aberto ou ilimitado.
- Confundir contínua com diferenciável. $|x|$ é contínua e não diferenciável em zero — motivo pelo qual ReLU exige subgradiente.
- Usar bisseção sem verificar a troca de sinal.
Leituras recomendadas
- Rudin, Principles of Mathematical Analysis, capítulo 4 — continuidade com rigor total; o livro é famoso pela concisão.
- Spivak, Calculus — a melhor ponte entre cálculo operacional e análise rigorosa.
- Burden e Faires, capítulo 2 — bisseção, ponto fixo e Newton com análise de erro.
Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill. ISBN 9780070856134. Michael Spivak (2008). Calculus. Publish or Perish. ISBN 9780914098911.
Referências
- Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill.
- Michael Spivak (2008). Calculus. Publish or Perish.