Limites e Continuidade

analise-real algoritmos, computacao-cientifica intermediario

Limites 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

TipoDescrição
RemovívelO limite existe mas difere de $f(a)$
SaltoLimites laterais existem e diferem
EssencialAlgum 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

  1. Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill.
  2. Michael Spivak (2008). Calculus. Publish or Perish.