தவளைகளைப் பிடிக்கவும்

ஒரு தவளை எண் வரிசையில் குதித்து அதைப் பிடிக்க முயற்சி செய்கிறீர்கள். குதித்து பிடிப்பது எப்போதும் மாற்று. தவளை position \(s \in \mathbb{Z}\) இடத்தில் தொடங்குகிறது, மேலும் ஒவ்வொரு அசைவிலும் அது \(z \in \mathbb{Z}\) தூரத்தை தாண்டுகிறது (if \(z>0\) , அது குதிக்கிறது வலதுபுறம், இல்லையெனில் இடதுபுறம்). jump \(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 ) $$

ஒவ்வொரு இயற்கை எண்களுக்கும் முழு எண்களின் எண்ணிக்கையை (சரியாக) ஒதுக்கும் செயல்பாடு. இந்த செயல்பாட்டின் தேர்வு functions \(f(n) = (-1)^n \left \lfloor \frac{n}{2} \right \rfloor\) , \(\mathbb{N}\) \(\mathbb{Z}\) மற்றும் \(g(2^kr) = (k+1, \frac{r+1}{2})\) , இது \(\mathbb{N}\) \(\mathbb{N}^2\) வரைபடம் இருதரப்பு, உந்துதல்.

இப்போது \(h\) ( \(h\) அறுவைசிகிச்சை ஊடுருவக்கூடியது என்பதைக் காட்டுகிறோம், ஆனால் இந்த சொத்து எங்களுக்குத் தேவையில்லை).

\((x,y) = (2^{k_1} r_1, 2^{k_2} r_2) \in\mathbb{Z}^2\) Let \((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)\) உடன் \(h(m) = (x_m,y_m) = (s, z)\) \(\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\) ஐ நிலையாக தேர்வு செய்கிறோம்.

\(x_m + m \cdot y_m = s + m \cdot z = a_m\) with \(m\) உடன் சரியாக \(m\) \(x_m + m \cdot y_m = s + m \cdot z = a_m\) , தேர்வு தவளை மீது விழுகிறது.

\(h\) ஐத் தவிர, கேன்டரின் இணைத்தல் செயல்பாடு அல்லது ஒரு பைஜெக்டிவ் சுழல் போன்ற பல செயல்பாடுகள் சாத்தியமாகும்.

ஜாவாஸ்கிரிப்டில் ஒரு எளிய செயல்படுத்தல் இங்கே:

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

மீண்டும்