Video Transcript
Vamos falar sobre curvas de preenchimento de espaço. Elas são incrivelmente divertidas de animar, e elas também dão uma chance para
abordar uma certa questão filosófica. A matemática geralmente lida com quantidades infinitas, às vezes tão intimamente que
a própria substância de um resultado só faz sentido em um mundo infinito. Então a questão é: como esses resultados podem ser úteis em um contexto finito?
Tal como acontece com toda a filosofia, é melhor deixar de discutir até depois de
olharmos para o caso concreto na matemática real. Então, vou começar estabelecendo uma aplicação de algo chamado “Curva de Hilbert”,
seguido por uma descrição de algumas de suas origens em matemática infinita.
Digamos que você queira escrever algum software que permita que as pessoas vejam com
seus ouvidos. Isso levaria dados de uma câmera e, de algum modo, traduziria isso para um som de
maneira significativa. O pensamento aqui é que os cérebros são suficientemente plásticos para construir uma
intuição a partir da visão, mesmo quando os dados brutos são embaralhados em um
formato diferente. Dei alguns links na descrição para estudos sobre esse efeito. Para facilitar os experimentos iniciais, você pode começar tratando as imagens
recebidas com uma baixa resolução, talvez 256 por 256 pixels. E para facilitar meus próprios esforços de animação, vamos representar uma dessas
imagens com uma grade quadrada, cada célula correspondendo a um pixel.
Uma abordagem para este software som-para-ver seria encontrar uma maneira agradável
de associar cada um desses pixels a um valor de frequência exclusivo. Então quando esse pixel é mais brilhante, a frequência associada a ele seria tocada
mais alto; e se o pixel fosse mais escuro, a frequência seria silenciosa. Ouvir todos os pixels de uma só vez soaria como um monte de frequências sobrepostas
umas sobre as outras com frequências dominantes correspondentes às regiões mais
brilhantes da imagem, soando como uma bagunça cacofônica até que seu cérebro aprenda
a entender o que estas informações que isso contém.
Vamos deixar de lado temporariamente as preocupações sobre se isso realmente
funcionaria ou não. E, em vez disso, pense em qual função, do espaço do pixel até o espaço da frequência,
dá a esse software a melhor chance de funcionar. A parte complicada é que o espaço do pixel é bidimensional, mas o espaço da
frequência é unidimensional. Você poderia, claro, tentar fazer isso com um mapeamento aleatório. Afinal de contas, esperamos que os cérebros das pessoas façam sentido com dados muito
complicados de qualquer maneira. No entanto, pode ser bom aproveitar algumas das intuições que um determinado cérebro
humano já tem sobre o som. Por exemplo, se pensarmos em termos do mapeamento inverso do espaço de frequência
para o espaço de pixels, as frequências próximas umas das outras devem ficar juntas
no espaço de pixels. Dessa forma, mesmo que um ouvido tenha dificuldade em distinguir entre duas
frequências próximas, elas se referem, pelo menos, ao mesmo ponto básico no
espaço.
Para garantir que isso aconteça, você pode primeiro descrever uma maneira de traçar
uma linha através de cada um desses pixels. Então, se você fixar cada pixel em um ponto nessa linha e desvendar a linha inteira
para torná-la reta, você poderá interpretar essa linha como um espaço de frequência
e terá uma associação de pixels para frequências, que é o que queremos. Agora, um método de tecelagem seria fazer apenas uma linha de cada vez, alternando
entre esquerda e direita à medida que se move para cima desse espaço de pixels. Isso é como um jogo bem jogado de Cobra, então vamos chamar isso de “curva da
cobra”.
Quando você conta a sua amiga matemática sobre essa ideia, ela diz: “Por que não usar
uma curva de Hilbert?” Quando você pergunta o que é isso, ela tropeça por um momento. ”Então, não é uma curva, mas uma infinita família de curvas”, ela começa. “Bem, não, na verdade é apenas uma coisa, mas eu preciso falar sobre uma certa
família infinita primeiro.” Ela pega um pedaço de papel e começa a explicar o que ela decide chamar de “Pseudo
Curva de Hilbert”, por falta de um termo melhor.
Para uma ordem um da Pseudo Curva de Hilbert, você divide um quadrado em uma grade
dois por dois e conecta o centro do quadrado inferior esquerdo ao centro do quadrado
superior esquerdo, para o quadrado superior direito e depois para baixo no quadrado
inferior direito.
Para uma ordem dois da Pseudo Curva de Hilbert, em vez de apenas irmos diretamente de
um quadrante para outro, deixamos nossa curva fazer um pouco de trabalho para
preencher cada quadrante enquanto isso acontece. Especificamente, subdivida o quadrado em uma grade de quatro por quatro, e temos
nossa curva traçando uma miniatura de ordem um da Pseudo Curva de Hilbert dentro de
cada quadrante antes de passar para o próximo. Se deixássemos essas muitas curvas orientadas como estão, indo do final da mini curva
no canto inferior esquerdo até o início da mini curva no canto superior esquerdo, é
necessário esse tipo de salto desajeitado. Mesma coisa com ir da parte superior direita para a inferior direita. Então, nós invertemos as curvas no canto inferior esquerdo e no inferior direito para
tornar essa conexão mais curta.
Para ir de uma ordem dois para uma ordem três na Pseudo Curva de Hilbert é
completamente semelhante. Você divide o quadrado em uma grade de oito por oito, em seguida, coloca uma Pseudo
Curva de Hilbert de ordem dois em cada quadrante, inverte as posições
inferior-esquerda e inferior-direita apropriadamente e conecta-as de ponta a
ponta. E o padrão continua assim para ordens mais altas.
Para a matriz de 256 por 256 pixels, sua amiga matemática explica, você usaria uma
Pseudo Curva de Hilbert de ordem oito. E lembre-se, definir uma curva que tece através de cada pixel é basicamente o mesmo
que definir uma função do espaço do pixel ao espaço da frequência, já que você está
associando cada pixel com um ponto na linha.
Agora isso é bom como uma obra de arte, mas por que essas Pseudo Curvas de Hilbert
seriam melhores do que apenas a curva da cobra? Bem, aqui está uma razão muito importante. Imagine que você passa por esse projeto, integra o software com câmeras e fones de
ouvido reais e funciona. Pessoas em todo o mundo estão usando o dispositivo, construindo intuições para a
visão via som. O que acontece quando você faz um upgrade que aumenta a resolução da imagem da câmera
de 256 por 256 para 512 por 512? Se você estiver usando a curva da cobra, à medida que você faz a transição para uma
resolução mais alta, muitos pontos nessa linha de frequência teriam que ir para
partes completamente diferentes do espaço do pixel.
Por exemplo, vamos seguir um ponto na metade da linha de frequência. Isso vai acabar na metade do espaço do pixel, não importando a resolução, mas onde
está, da esquerda para a direita, pode variar de 256 a 512. Isso significa que todos usando o software precisariam reaprender como ver com seus
ouvidos, já que as intuições originais de quais pontos no espaço correspondem a
quais frequências não mais se aplicam.
No entanto, com a técnica da curva de Hilbert, à medida que você aumenta a ordem de
uma Pseudo Curva de Hilbert, um determinado ponto na linha se move cada vez
menos. Apenas se aproxima de um ponto mais específico no espaço. Dessa forma, você deu a seus usuários a oportunidade de ajustar suas intuições em vez
de reaprender tudo.
Portanto, para essa aplicação de som-para-ver, a abordagem da curva de Hilbert é
exatamente o que você quer. De fato, dado o quão específico é o objetivo, parece quase estranhamente
perfeito. Então você volta para a sua amiga matemática e pergunta a ela: “Ei, qual foi a
motivação original para definir uma dessas curvas?” Ela explica que perto do final do século 19, no tremor da pesquisa de Cantor sobre o
infinito, os matemáticos estavam interessados em encontrar um mapeamento de uma
linha unidimensional no espaço bidimensional, de forma que a linha percorresse todos
os pontos no espaço. Para ser clara, não estamos falando de uma grade de pixels limitada, como a que temos
no aplicativo de som-para-ver. Este é um espaço contínuo, que é muito infinito, e o objetivo é ter uma linha tão
fina quanto possa ser e ter área zero, de alguma forma passando por cada um desses
muitos pontos infinitos que formam a área infinita do espaço.
Antes de 1890, muitas pessoas pensavam que isso era obviamente impossível. Mas então Peano descobriu o primeiro do que viria a ser conhecido como “curvas de
preenchimento de espaço”. Em 1891, Hilbert seguiu com sua própria curva de preenchimento de espaço um pouco
mais simples. Tecnicamente, cada um preenche um quadrado, não todo o espaço, mas eu mostrarei a
você mais tarde como, uma vez que você preencheu um quadrado com uma linha,
preencher todo o espaço não é um problema. Aliás, os matemáticos usam essa palavra “curva” para falar sobre uma linha que
atravessa o espaço, mesmo que tenha cantos irregulares. Esta é uma terminologia especialmente contra intuitiva no contexto de uma curva de
preenchimento de espaço, que em certo sentido consiste apenas em cantos agudos. Um nome melhor pode ser algo como “fractal de preenchimento de espaço”, que algumas
pessoas usam. Mas ei, é matemática, então nós vivemos com uma terminologia ruim!
Nenhuma das Pseudo Curvas de Hilbert que você usa para preencher o espaço pixelado
contaria como uma curva de preenchimento de espaço, não importando o quão alta a
ordem. Basta aumentar o zoom em um dos pixels. Quando esse pixel é considerado parte do espaço contínuo infinito, a curva passa
apenas pela menor fatia de área zero dele. E certamente não atinge todos os pontos. Sua amiga matemática explica que uma curva de Hilbert real e genuína não é uma dessas
Pseudo Curvas de Hilbert; em vez disso, é o limite de todas elas.
Agora, definir esse limite rigorosamente é delicado. Você primeiro tem que formalizar o que essas curvas são como funções. Especificamente, funções que recebem um único número entre zero e um como entrada e
saída de um par de números. Esta entrada pode ser pensada como um ponto na linha e a saída pode ser pensada como
coordenadas no espaço 2D. Mas, em princípio, é apenas uma associação entre um único número e pares de
números.
Por exemplo, uma Pseudo Curva de Hilbert de ordem dois como uma função mapeia a
entrada 0.3 para o par de saída 0.125, 0.75. Uma ordem três da Pseudo Curva de Hilbert mapeia essa mesma entrada 0.3 para o par de
saída 0.0758, 0.6875.
Agora, a propriedade central que torna uma função como essa uma curva, e não apenas
qualquer associação antiga entre números únicos e pares de números, é
continuidade. A intuição por trás da continuidade é que você não quer que a saída da sua função
suba repentinamente a qualquer momento quando a entrada está mudando apenas
suavemente. E a forma como isso é feito rigorosamente em matemática, na verdade, é bem
inteligente. E apreciar completamente as curvas de preenchimento de espaço realmente requer a
digestão da ideia formal de continuidade. Então, definitivamente vale a pena dar um breve passo em frente para passar por isso
agora.
Considere um ponto de entrada específico, 𝐴, e a saída correspondente da função,
𝐵. Desenhe um círculo centrado em torno de 𝐴 e observe todos os outros pontos de
entrada dentro desse círculo e, em seguida, considere onde a função recebe todos
esses pontos no espaço de saída. Agora desenhe o menor círculo possível, centrado em 𝐵, que contenha essas
saídas. Escolhas diferentes para o tamanho do círculo de entrada podem resultar em círculos
maiores ou menores no espaço de saída. Mas observe o que acontece quando passamos por este processo em um ponto onde a
função salta. Desenhar um círculo em torno de 𝐴 e olhar os pontos de entrada dentro do círculo,
ver onde eles mapeiam e desenhar o menor círculo possível centrado em 𝐵 contendo
esses pontos, não importa quão pequeno seja o círculo 𝐴, o círculo correspondente
𝐵 não pode ser menor do que esse salto.
Por essa razão, dizemos que a função é “descontínua em 𝐴” se houver algum limite
inferior no tamanho desse círculo que circunda 𝐵. Se, por outro lado, o círculo ao redor de 𝐵 puder ser feito tão pequeno quanto você
quiser com escolhas suficientemente pequenas para círculos ao redor de 𝐴, você diz
que a função é “contínua em 𝐴”. A função como um todo é chamada “contínua” se for contínua em todos os pontos de
entrada possíveis.
Agora com isso como uma definição formal de curvas, você está pronto para definir o
que é uma curva real de Hilbert. Fazer isso depende de uma propriedade maravilhosa da sequência das Pseudo Curvas de
Hilbert, que deve sentir familiar. Tome um dado ponto de entrada como 0.3, e aplique cada função sucessiva da Pseudo
Curva de Hilbert a este ponto. As saídas correspondentes, à medida que aumentamos a ordem da curva, aproximam-se de
um determinado ponto no espaço. Não importa qual entrada você começa. Esta sequência de saídas que você obtém aplicando cada Pseudo Curva de Hilbert
sucessiva a este ponto sempre se estabiliza e se aproxima de algum ponto particular
no espaço 2D. Isto não é absolutamente verdade, a propósito, para curvas da cobra. Ou, na verdade, a maioria das sequências de curvas preenchendo espaços de pixels de
resoluções cada vez mais altas. As saídas associadas aos dados de entrada se tornam descontroladamente erráticas
conforme a resolução aumenta, sempre saltando da esquerda para a direita e nunca se
aproximando de nada.
Agora, devido a essa propriedade, podemos definir uma função de curva de Hilbert como
essa. Para um determinado valor de entrada entre zero e um, considere a sequência de pontos
no espaço 2D obtida aplicando cada função sucessiva da Pseudo Curva de Hilbert nesse
ponto. A saída da função da curva de Hilbert calculada nesta entrada é apenas definida como
sendo o limite desses pontos. Como a sequência das saídas da Pseudo Curva de Hilbert sempre converge, não importa
qual entrada você inicia, esta é realmente uma função bem definida de uma maneira
que nunca poderia ter sido, se tivéssemos usado curvas da cobra.
Agora, eu não vou passar pela prova de porque isso dá uma curva de preenchimento de
espaço, mas pelo menos vamos ver o que precisa ser provado. Primeiro, verifique se essa é uma função bem definida, comprovando que as saídas das
funções da Pseudo Curva de Hilbert realmente convergem da maneira que estou dizendo
que elas fazem. Em segundo lugar, mostre que essa função fornece uma curva, ou seja, é contínua. Terceiro e mais importante, mostre que ela preenche o espaço, no sentido de que cada
único ponto no quadrado unitário é uma saída dessa função. Eu realmente encorajo qualquer um assistindo esse vídeo a provar cada uma delas. Alerta de spoiler: todos os três fatos se revelam verdadeiros!
Você pode estender isso a uma curva que preenche todo o espaço apenas revestindo com
azulejos quadrados e, em seguida, encadeando um grupo de curvas de Hilbert em um
padrão espiral de azulejos, conectando o final de um azulejo ao início de um novo
azulejo adicionado um pequeno trecho de linha, se você precisar. Você pode pensar no primeiro azulejo como vindo do intervalo de zero a um, o segundo
azulejo como vindo do intervalo de um para dois e assim por diante. Assim, toda a linha de números reais positivos está sendo mapeada em todo o espaço
2D. Reserve um momento para deixar que este fato afunde. Uma linha, numa forma platônica de magreza, pode vagar por um espaço infinitamente
extenso e denso e atingir todos os pontos.
Observe que a propriedade central que tornou as Pseudo Curvas de Hilbert úteis tanto
na aplicação do som-para-ver quanto em suas origens infinitas, é que os pontos na
curva se movem cada vez menos conforme você aumenta a ordem dessas curvas. Ao traduzir imagens para som, isso foi útil porque significa que a atualização para
resoluções mais altas não exige a reciclagem de seus sentidos novamente. Para os matemáticos interessados em preencher espaços contínuos, essa propriedade é
o que garante que falar sobre o limite de uma sequência de curvas seja realmente uma
coisa significativa a ser feita. E essa conexão aqui entre o infinito e o mundo finito parece ser mais uma regra em
matemática do que em uma exceção.
Outro exemplo que vários astutos comentadores do vídeo “Inventando Matemática”
apontaram, é a conexão entre a soma divergente de todas as potências de dois e a
maneira como o número negativo é representado em computadores com bits. Não é tanto que o resultado infinito seja diretamente útil. Mas, ao contrário, os mesmos padrões e construções usados para definir e provar
fatos infinitos têm análogos finitos, e esses análogos finitos são diretamente
úteis. Mas a conexão é muitas vezes mais profunda do que uma simples analogia. Muitos teoremas sobre um objeto infinito são frequentemente equivalentes a alguns
teoremas relativos a uma família de objetos finitos.
Por exemplo, se durante o seu projeto de som-para-ver, você sentasse e realmente
formalizasse o que significa para sua curva permaner estável à medida que aumentasse
a resolução da câmera, você acabaria efetivamente escrevendo a definição do que
significa para uma sequência de curvas ter um limite. De fato, uma afirmação sobre algum objeto infinito, seja uma sequência ou um fractal,
pode ser vista como um modo particularmente limpo de isolar uma verdade sobre uma
família de objetos finitos.
A lição a ser tirada aqui é que, mesmo quando uma afirmação parece muito distante da
realidade, você deve estar sempre disposto a olhar além e os detalhes do que
realmente está sendo dito. Quem sabe? Você pode encontrar intuições para representar números de somas divergentes ou para
ver com seus ouvidos para preencher o espaço.