Բռնել գորտերին

Գորտը ցատկում է համարի գծի վրա, և դու փորձում ես որսալ այն: Թռչկոտելը և բռնելը միշտ փոխարինող են: Գորտը սկսվում է \(s \in \mathbb{Z}\) դիրքում \(s \in \mathbb{Z}\) դիրքում և ամեն շարժումով ցատկում է \(z \in \mathbb{Z}\) հեռավորությունից (եթե \(z>0\) , այն ցատկում է աջից, հակառակ դեպքում, եթե ձախից): \(z\) նույն թռիչքի համար նույնն է: Բեկումը բաղկացած է ամբողջ թվերի դիրքի ճշգրտումից: Մարդը չգիտի ոչ \(z\) ոչ էլ \(s\) : Մենք ցույց ենք տալիս, որ կա գորտը միշտ բռնելու միջոց:


Առաջին հերթին, \(a_1 = s\) և \(a_{n+1} = a_n + z = s + n \cdot z\) \(s,z \in \mathbb{Z}\) :

Մենք հիմա ընտրում ենք 

$$h:\mathbb{N} \to \mathbb{Z}^2: h(2^k r) = \left ( (-1)^{k+1} \left \lfloor \frac{k+1}{2} \right \rfloor, (-1)^{\frac{r+1}{2}} \left \lfloor \frac{r+1}{4} \right \rfloor \right ) $$

որպես գործառույթ, որը յուրաքանչյուր բնական թվին հատկացնում է (ճշգրիտ) ամբողջ թվերի մի շարք բազմություն: Այս գործառույթի ընտրությունը կատարվում է գործառույթների միջոցով \(f(n) = (-1)^n \left \lfloor \frac{n}{2} \right \rfloor\) , \(\mathbb{N}\) \(f(n) = (-1)^n \left \lfloor \frac{n}{2} \right \rfloor\) վրա \(\mathbb{Z}\) և \(g(2^kr) = (k+1, \frac{r+1}{2})\) , որը \(\mathbb{N}\) վրա \(\mathbb{N}^2\) քարտեզը կենսաբանական, մոտիվացված:

Մենք այժմ ցույց են տալիս surjectivity են \(h\) ( \(h\) է նաեւ injective, բայց մենք պետք չեն այդ սեփականությունը):

Եկեք \((x,y) = (2^{k_1} r_1, 2^{k_2} r_2) \in\mathbb{Z}^2\) : Բայց հետո

$$h \left ( 2^{2 \cdot 2^{k_1} r_1 - 1} \cdot (4 \cdot 2^{k_2} r_2 - 1) \right ) = (2^{k_1} r_1, 2^{k_2} r_2) = (x,y).$$

Հետեւաբար, \(\forall (s,z) \in \mathbb{Z}^2 \, \exists \, m \in \mathbb{N}\) հետ \(h(m) = (x_m,y_m) = (s, z)\) :

Օրինակ, եթե մեր հերթն է շարժվել \(n = 88\) , մենք հաշվարկում ենք \(h(88)=(2,3)\) և որպես դիրք ընտրում ենք \(2 + 88 \cdot 3 = 266\) :

Այնուհետև հենց \(m\) \(x_m + m \cdot y_m = s + m \cdot z = a_m\) հետո ընտրությունը ընկնում է գորտին:

Բացի \(h\) , հնարավոր են շատ այլ գործառույթներ, ինչպիսիք են Կանտորի զուգավորման գործառույթը կամ կենսաբանական պարույրը :

Ահա JavaScript- ում պարզ իրականացում:

See the Pen catch the frog by David Vielhuber (@vielhuber) on CodePen.

Վերադառնալ