跟讀練習: Hilbert's Curve: Is infinite math useful? - 通過影片學習英語口語
選擇練習模式
每種模式都會開啟全屏練習室。
119 句
如果句子過短或過長,請點選 Edit 進行調整。
1
Let's talk about space-filling curves.
我們來聊聊空間填充曲線。
2
They are incredibly fun to animate, and they also give a chance to address a certain philosophical question.
3
Math often deals with infinite quantities, sometimes so intimately that the very substance of a result only actually makes sense in an infinite world.
4
So the question is, how can these results ever be useful in a finite context?
5
As with all philosophizing, this is best left to discuss until after we look at the concrete case and the real math.
6
So I'll begin by laying down an application of something called a Hilbert curve, followed by a description of some of its origins in infinite math.
7
Let's say you wanted to write some software that would enable people to see with their ears.
8
It would take in data from a camera, and then somehow translate that into a sound in a meaningful way.
9
The thought here is that brains are plastic enough to build an intuition from sight even when the raw data is scrambled into a different format.
10
I've left a few links in the description to studies to this effect.
11
To make initial experiments easier, you might start by treating incoming images with a low resolution, maybe 256 by 256 pixels.
12
And to make my own animation efforts easier, let's represent one of these images with a square grid, each cell corresponding with a pixel.
13
One approach to this sound-to-sight software would be to find a nice way to associate each one of those pixels with a unique frequency value.
14
Then when that pixel is brighter, the frequency associated with it would be played louder, and if the pixel were darker, the frequency would be quiet.
15
Listening to all of the pixels all at once would then sound like a bunch of frequencies overlaid on top of one another, with dominant frequencies corresponding to the brighter regions of the image sounding like some cacophonous mess until your brain learns to make sense out of the information it contains.
16
Let's temporarily set aside worries about whether or not this would actually work, and instead think about what function, from pixel space down to frequency space, gives this software the best chance of working.
17
The tricky part is that pixel space is two-dimensional, but frequency space is one-dimensional.
18
You could, of course, try doing this with a random mapping.
19
After all, we're hoping that people's brains make sense out of pretty wonky data anyway.
20
However, it might be nice to leverage some of the intuitions that a given human brain already has about sound.
21
For example, if we think in terms of the reverse mapping from frequency space to pixel space, frequencies that are close together should stay close together in the pixel space.
22
That way, even if an ear has a hard time distinguishing between two nearby frequencies, they will at least refer to the same basic point in space.
23
To ensure this happens, you could first describe a way to weave a line through each one of these pixels.
24
Then if you fix each pixel to a spot on that line and unravel the whole thread to make it straight, you could interpret this line as a frequency space, and you have an association from pixels to frequencies.
25
One weaving method would be to just go one row at a time, alternating between left and right as it moves up that pixel space.
26
This is like a well-played game of Snake, so let's call this a Snake Curve.
27
When you tell your mathematician friend about this idea, she says, why not use a Hilbert curve?
28
When you ask her what that is, she stumbles for a moment.
29
So it's not a curve, but an infinite family of curves.
30
She starts, well no, it's just one thing, but I need to tell you about a certain infinite family first.
31
She pulls out a piece of paper and starts explaining what she decides to call pseudo-Hilbert curves, for lack of a better term.
32
For an order-one pseudo-Hilbert curve, you divide a square into a 2x2 grid, and connect the center of the lower left quadrant to the center of the upper left, over to the upper right, and then down in the lower right.
33
For an order-two pseudo-Hilbert curve, rather than just going straight from one quadrant to another, we let our curve do a little work to fill out each quadrant while it does so.
34
Specifically, subdivide the square further into a 4x4 grid, and we have our curve trace out a miniature order-one pseudo-Hilbert curve inside each quadrant before it moves on to the next.
35
If we left those mini-curves oriented as they are, going from the end of the mini-curve in the lower left to the start of the mini-curve in the upper left requires an awkward jump, same deal with going from the upper right down to the lower right, so we flip the curves in the lower left and lower right to make that connection shorter.
36
Going from an order-two to an order-three pseudo-Hilbert curve is similar.
37
You divide the square into an 8x8 grid, then put an order-two pseudo-Hilbert curve in each quadrant, flip the lower left and lower right appropriately, and connect them all tip to tail.
38
And the pattern continues like that for higher orders.
39
For the 256x256 pixel array, your mathematician friend explains, you would use an order-eight pseudo-Hilbert curve.
40
And remember, defining a curve which weaves through each pixel is basically the same as defining a function from pixel space to frequency space, since you're associating each pixel with a point on the line.
41
Now this is nice as a piece of art, but why would these pseudo-Hilbert curves be any better than just the snake curve?
42
Well here's one very important reason.
43
Imagine that you go through with this project, you integrate the software with real cameras and headphones, and it works!
44
People around the world are using the device, building intuitions for vision via sound.
45
What happens when you issue an upgrade that increases the resolution of the camera's image from 256x256 to 512x512?
46
If you were using the snake curve, as you transition to a higher resolution, many points on this frequency line would have to go to completely different parts of pixel space.
47
For example, let's follow a point about halfway along the frequency line.
48
It'll end up about halfway up the pixel space, no matter the resolution, but where it is left to right can differ wildly as you go from 256x256 up to 512x512.
49
This means everyone using your software would have to re-learn how to see with their ears, since the original intuitions of which points in space correspond to which frequencies no longer apply.
50
However, with the Hilbert curve technique, as you increase the order of a pseudo-Hilbert curve, a given point on the line moves around less and less, it just approaches a more specific point in space.
51
That way, you've given your users the opportunity to fine-tune their intuitions, rather than re-learning everything.
52
So, for this sound-to-sight application, the Hilbert curve approach turns out to be exactly what you want.
53
In fact, given how specific the goal is, it seems almost weirdly perfect.
54
So you go back to your mathematician friend and ask her, what was the original motivation for defining one of these curves?
55
She explains that near the end of the 19th century, in the aftershock of Cantor's research on infinity, mathematicians were interested in finding a mapping from a one-dimensional line into two-dimensional space in such a way that the line runs through every single point in space.
56
To be clear, we're not talking about a finite bounded grid of pixels, like we had in the sound-to-sight application.
57
This is continuous space, which is very infinite, and the goal is to have a line which is as thin as can be and has zero area, somehow pass through every single one of those infinitely many points that makes up the infinite area of space.
58
Before 1890, a lot of people thought this was obviously impossible, but then Peano discovered the first of what would come to be known as space-filling curves.
59
In 1891, Hilbert followed with his own slightly simpler space-filling curve.
60
Technically, each one fills a square, not all of space, but I'll show you later on how once you filled a square with a line, filling all of space is not an issue.
61
By the way, mathematicians use the word curve to talk about a line running through space even if it has jagged corners.
62
This is especially counterintuitive terminology in the context of a space-filling curve, which in a sense consists of nothing but sharp corners.
63
A better name might be something like space-filling fractal, which some people do use, but hey, it's math, so we live with bad terminology.
64
None of the pseudo-Hilbert curves that you use to fill pixelated space would count as a space-filling curve, no matter how high the order.
65
Just zoom in on one of the pixels.
66
When this pixel is considered part of infinite, continuous space, the curve only passes through the tiniest zero-area slice of it, and it certainly doesn't hit every point.
67
Your mathematician friend explains that an actual bonafide Hilbert curve is not any one of these pseudo-Hilbert curves.
68
Instead it's the limit of all of them.
69
Defining this limit rigorously is delicate.
70
You first have to formalize what these curves are as functions, specifically functions which take in a single number somewhere between 0 and 1 as their input, and output a pair of numbers.
71
This input can be thought of as a point on the line, and the output can be thought of as coordinates in 2D space.
72
But in principle it's just an association between a single number and pairs of numbers.
73
For example, an order-2 pseudo-Hilbert curve as a function maps the input 0.3 to the output pair 0.125, 0.75.
74
An order-3 pseudo-Hilbert curve maps that same input 0.3 to the output pair 0.0758, 0.6875.
75
Now the core property that makes a function like this a curve, and not just any ol' association between single numbers and pairs of numbers, is continuity.
76
The intuition behind continuity is that you don't want the output of your function to suddenly jump at any point when the input is only changing smoothly.
77
And the way this is made rigorous in math is actually pretty clever, and fully appreciating space-filling curves requires digesting the formal idea of continuity, so it's definitely worth taking a brief side-step to go over it now.
78
Consider a particular input point, a, and the corresponding output of the function, b.
79
Draw a circle centered around a, and look at all the other input points inside that circle, and consider where the function takes all those points in the output space.
80
Now draw the smallest circle you can centered at b that contains those outputs.
81
Different choices for the size of the input circle might result in larger or smaller circles in the output space.
82
But notice what happens when we go through this process at a point where the function jumps, drawing a circle around a, and looking at the input points within the circle, seeing where they map, and drawing the smallest possible circle centered at b containing those points.
83
No matter how small the circle around a, the corresponding circle around b just cannot be smaller than that jump.
84
For this reason, we say that the function is discontinuous at a if there's any lower bound on the size of this circle that surrounds b.
85
If the circle around b can be made as small as you want, with sufficiently small choices for circles around a, you say that the function is continuous at a.
86
A function as a whole is called continuous if it's continuous at every possible input point.
87
Now with that as a formal definition of curves, you're ready to define what an actual Hilbert curve is.
88
Doing this relies on a wonderful property of the sequence of pseudo-Hilbert curves, which should feel familiar.
89
Take a given input point, like 0.3, and apply each successive pseudo-Hilbert curve function to this point.
90
The corresponding outputs, as we increase the order of the curve, approaches some particular point in space.
91
It doesn't matter what input you start with, this sequence of outputs you get by applying each successive pseudo-Hilbert curve to this point always stabilizes and approaches some particular point in 2D space.
92
This is absolutely not true, by the way, for snake curves, or for that matter most sequences of curves filling pixelated space of higher and higher resolutions.
93
The outputs associated with a given input become wildly erratic as the resolution increases, always jumping from left to right, and never actually approaching anything.
94
Now because of this property, we can define a Hilbert curve function like this.
95
For a given input value between 0 and 1, consider the sequence of points in 2D space you get by applying each successive pseudo-Hilbert curve function at that point.
96
The output of the Hilbert curve function evaluated on this input is just defined to be the limit of those points.
97
Because the sequence of pseudo-Hilbert curve outputs always converges no matter what input you start with, this is actually a well-defined function in a way that it never could have been had we used snake curves.
98
Now I'm not going to go through the proof for why this gives a space-filling curve, but let's at least see what needs to be proved.
99
First, verify that this is a well-defined function by proving that the outputs of the pseudo-Hilbert curve functions really do converge the way I'm telling you they do.
100
Second, show that this function gives a curve, meaning it's continuous.
101
Third, and most important, show that it fills space, in the sense that every single point in the unit square is an output of this function.
102
I really do encourage anyone watching this to take a stab at each one of these.
103
Spoiler alert, all three of these facts turn out to be true.
104
You can extend this to a curve that fills all of space just by tiling space with squares and then chaining a bunch of Hilbert curves together in a spiraling pattern of tiles, connecting the end of one tile to the start of a new tile with an added little stretch of line if you need to.
105
You can think of the first tile as coming from the interval from 0 to 1, the second tile as coming from the interval from 1 to 2, and so on, so the entire positive real number line is getting mapped into all of 2D space.
106
Take a moment to let that fact sink in.
107
A line, the platonic form of thinness itself, can wander through an infinitely extending and richly dense space and hit every single point.
108
Notice, the core property that made pseudo-Hilbert curves useful in both the sound-to-sight application and in their infinite origins is that points on the curve move around less and less as you increase the order of those curves.
109
While translating images to sound, this was useful because it means upgrading to higher resolutions doesn't require retraining your senses all over again.
110
For mathematicians interested in filling continuous space, this property is what ensured that talking about the limit of a sequence of curves was a meaningful thing to do.
111
And this connection here between the infinite and finite worlds seems to be more of a rule in math than an exception.
112
Another example that several astute commenters on the Inventing Math video pointed out is the connection between the divergent sum of all powers of 2 and the way that the number of 1 is represented in computers with bits.
113
It's not so much that the infinite result is directly useful, but instead the same patterns and constructs that are used to define and prove infinite facts have finite analogs, and these finite analogs are directly useful.
114
But the connection is often deeper than a mere analogy.
115
Many theorems about an infinite object are often equivalent to some theorem regarding a family of finite objects.
116
For example, if during your sound-to-sight project you were to sit down and really formalize what it means for your curve to stay stable as you increase camera resolution, you would end up effectively writing the definition of what it means for a sequence of curves to have a limit.
117
In fact, a statement about some infinite object, whether that's a sequence or a fractal, can usually be viewed as a particularly clean way to encapsulate a truth about a family of finite objects.
118
The lesson to take away here is that even when a statement seems very far removed from reality, you should always be willing to look under the hood and at the nuts and bolts of what's really being said.
119
Who knows, you might find insights for representing numbers from divergent sums, or for seeing with your ears from filling space.
同頻道
FOR YOU
推薦影片
為何與此影片練習口語?
通過觀看和模仿本影片,學習者能夠提升他們的口語技巧。影片中探討了希爾伯特曲線以及無限數學的應用,這些複雜的概念提供了良好的背景,使練習者能夠在有趣的對話中加深對數學和哲學的理解。在這種語境中,學習者不僅能夠提高他們的英語影子跟讀能力,還能增強他們的理解力,通過參與這些高深的討論,鍛鍊靈活運用語言的能力。
語法與表達結構分析
- 句子構造: 影片中常用的長句子可以幫助學習者理解複雜的語法結構,例如:“數學經常處理無窮的數量,有時結果的實質只在無限的世界中才有意義。”這樣的句子展示了條件從句和讓步從句的使用。
- 抽象名詞使用: 頻繁提到的名詞如“智慧”、“直覺”及“對映”,幫助學習者學習如何表達抽象概念,進而在shadow speak中更有效地表達類比和推理。
- 主動與被動語態: 影片談及如何通過資料生成聲音的過程,以此幫助學習者練習提高英語發音時主動與被動語態的靈活運用。
常見發音陷阱
在影片中,有一些單詞可能對英語學習者構成發音挑戰,例如“frequency”和“curve”。這兩個詞的重音位置和母音發音可能較難掌握。此外,影片中說話者的快速語速可能會影響詞彙的識別,因此建議學習者反覆聽這些部分,並嘗試在shadow speech中模仿。同時,注意說話者在不同詞彙之間的連音,比如“sound”和“to see”之間的流暢過渡練習,對於提升整體發音的自然度至關重要。
影片中的語法
說話人最常用的結構,並附上影片中的原話:
| 結構 | 影片中的用法 |
|---|---|
| 被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的 | is scrambled · would be played · is left |
| 現在完成時 have/has + 過去分詞 — 過去發生但與現在仍有關聯的事 | I've left · you've given · has jagged |
什麼是跟讀法?
跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。



























