1 पॉइंट द्वारा GN⁺ 2025-02-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सिर्फ चार 2 का उपयोग करके संख्याएँ बनाने वाली यह पहेली इस बात पर निर्भर करती है कि अनुमत operations को कितनी दूर तक बढ़ाया जाता है; यह चार संक्रियाओं वाली पहेली से उन्नत गणितीय खेल तक फैल जाती है
  • सिर्फ भिन्नों और चार मूलभूत संक्रियाओं से 1 से 6 तक बनाए जा सकते हैं, और घातांक व factorial जोड़ने पर 18, 28, 256, 65536 जैसी बड़ी संख्याएँ भी बनाई जा सकती हैं
  • 2 को जोड़कर 22 या 222 माना जाए, या complex numbers और absolute value का उपयोग किया जाए, तो साधारण गणना से कठिन लगने वाली संख्याओं को भी कई तरीकों से व्यक्त किया जा सकता है
  • 7 को बनाना कठिन संख्या माना जाता है, लेकिन gamma function जैसे tools की अनुमति हो तो इसे सिर्फ चार 2 से सीधे बनाया जा सकता है
  • Paul Dirac का सामान्य हल nested square roots और base-2 logarithm का उपयोग करके किसी भी संख्या को व्यक्त करता है, और 2 = √(2+2) प्रतिस्थापन से ठीक चार 2 पूरे किए जाते हैं

2 के चार अंकों से संख्या बनाने के मूल नियम

  • पहेली की शर्त यह है कि अंक 2 को ठीक चार बार इस्तेमाल करना है, और किसी अन्य अंक के बिना सिर्फ गणितीय operations से लक्ष्य संख्या बनानी है
  • चार मूलभूत संक्रियाओं और भिन्नों से भी छोटी संख्याएँ अपेक्षाकृत आसानी से बनाई जा सकती हैं
    • 1 = (2+2)/(2+2)
    • 2 = 2/2 + 2/2
    • 3 = 2·2 - 2/2
    • 4 = 2+2+2-2
    • 5 = 2·2 + 2/2
    • 6 = 2·2·2 - 2
  • घातांक और factorial की अनुमति देने पर व्यक्त की जा सकने वाली संख्याओं की सीमा बहुत बढ़ जाती है
    • 18 = 2^(2^2) + 2
    • 28 = (2+2)! + 2 + 2
    • 256 = (2+2)^(2+2)
    • 65536 = 2^(2^(2^2))
  • अंकों को जोड़कर लिखना भी इस पहेली में अक्सर इस्तेमाल होने वाला एक trick है
    • 26 = 22 + 2 + 2
    • 11 = 22 / √(2+2)
    • 444 = 222 · 2
  • खासकर 7 ऐसी संख्या है जिसे बनाना मुश्किल माना जाता है, लेकिन gamma function का उपयोग करें तो 7 = Γ(2) + 2 + 2 + 2 के रूप में व्यक्त किया जा सकता है
  • Math StackExchange थ्रेड में integral, recurring decimals, combinatorial operators आदि का उपयोग करने वाले उदाहरण हैं
  • complex numbers और absolute value का उपयोग करें तो 12 = |2 + 2√-2|² जैसी अभिव्यक्ति भी संभव है

Dirac का सामान्य हल

  • Paul Dirac ने ऐसा सामान्य हल खोजा जो सभी संख्याओं पर लागू हो सकता है, और इसका मुख्य उपकरण nested square roots है
  • 2 पर square root को बार-बार लागू करने पर इसे नीचे की तरह घातांक रूप में लिखा जा सकता है
    • √2 = 2^(1/2) = 2^(2^-1)
    • √√2 = 2^(1/4) = 2^(2^-2)
    • √√√2 = 2^(1/8) = 2^(2^-3)
  • यदि square root को n बार लागू किया जाए, तो वह √√...√2 = 2^(2^-n) के रूप में बनता है
  • इस पर base-2 logarithm एक बार लेने से 2^-n मिलता है, और फिर एक बार और logarithm लेने पर -n मिलता है
  • इसलिए किसी भी n को n = -log₂(log₂(√√...√2)) के रूप में व्यक्त किया जा सकता है
  • मूल सूत्र में अंक 2 सिर्फ तीन बार आता है, इसलिए 2 = √(2+2) का उपयोग करके एक 2 को बदल दें तो ठीक चार 2 का प्रयोग करने वाला सूत्र मिल जाता है
  • उदाहरण के लिए, 7 को square root 7 बार nested करके इस तरह लिखा जा सकता है 7 = -log_{√(2+2)}(log₂(√√√√√√√2))
  • सूत्र के भीतर n वास्तविक अभिव्यक्ति में आने वाला अंक नहीं है, बल्कि square root की पुनरावृत्ति की संख्या गिनने के लिए सहायक संकेत है
  • अंततः सभी संख्याओं को व्यक्त करने का रास्ता खुल जाता है, लेकिन जितने square root चिन्ह चाहिए उन्हें ठीक-ठीक लिखना अभी भी बाकी रहता है

1 टिप्पणियां

 
GN⁺ 2025-02-24
Hacker News की राय
  • जैसे ही functions की अनुमति देते हैं, लगता है कि गेम का मकसद ही छोड़ दिया गया
    उदाहरण के लिए gamma function (n-1)! है, तो अब हम चार 2 और एक 1 से 7 बना रहे हैं
    अगर function call के अंदर कोई संख्या छिपाई जा सकती है, तो हमेशा सफल होना बहुत आसान हो जाता है

    • +, -(binary/unary), ×, ÷ भी functions हैं, और exponentiation भी function है। तो उन्हें क्यों अनुमति देनी चाहिए?
      ऐसे puzzles में elementary functions की सीमा को लेकर हमेशा राय अलग हो सकती है, लेकिन मुझे नहीं लगता कि square root को ban करने की जरूरत है
      gamma function के (n-1)! होने की बात करें तो, 2 भी आखिरकार सिर्फ S(S(0)) ही है (https://en.wikipedia.org/wiki/Peano_axioms)
      Paul Dirac की construction को trivial कहना मुश्किल है, और मैं जानना चाहूंगा कि क्या आप सच में उसे trivial मानते हैं या कोई और सरल construction जानते हैं
    • gamma function आते ही मेरा पहला खयाल भी यही था
      gamma function allowed है तो दूसरे functions क्यों नहीं? मनचाहे functions डाल दें तो game को जैसे चाहें हल किया जा सकता है
      आखिरकार लेख की शुरुआत से ही यह ठीक से परिभाषित नियमों वाला problem नहीं लगता। किन functions या operations का set allowed है, यह साफ बताना चाहिए, और ज्ञान के स्तर के साथ problem कैसे expand होता है यह दिखाने का इरादा ऐसा सुधार करने पर भी बना रह सकता है
    • आखिर यह मजे के लिए है, और gamma function और square root को पर्याप्त basic माना जा सकता है
      चाहें तो functions के अलग-अलग subsets तक सीमित करके, उनके भीतर कौन-सी संख्याएं संभव या असंभव हैं, यह prove करने की कोशिश भी कर सकते हैं
      लेख में भी “mathematical tools” कहा गया था, arbitrary functions नहीं
    • बात में दम है, लेकिन जैसा दूसरों ने कहा, “functions allow करना” अपने आप में समस्या नहीं है। basic mathematical operations भी functions ही हैं
      हालांकि अगर केवल वे functions allow करें जो integer tuples को integer में map करते हैं ((Z, Z, ...) -> Z), तो original game का मकसद बना रहता है
      इससे square root और log बाहर हो जाएंगे, addition·subtraction·multiplication रहेंगे, लेकिन division बाहर हो जाएगा। factorial n! और non-negative exponents वाली exponentiation भी allow की जा सकती है
      इस constraint के अंदर कोई general solution बनाया जा सकता है या नहीं, यह जानने की उत्सुकता है
    • Dirac solution में gamma function नहीं है, और केवल N square roots और 2 logs इस्तेमाल होते हैं
  • अगर “कोई भी mathematical operation इस्तेमाल करें” है, तो आसान है; बस successor function का इस्तेमाल करें
    S(n) = n+1
    6 = 2*2*2-2
    7 = S(2*2*2-2)
    8 = S(S(2*2*2-2))
    इसी तरह आगे भी चलता रहेगा

    • “दूसरी संख्या इस्तेमाल नहीं करनी” वाली constraint देखें तो पहली line में 1 आना cheating जैसा लगता है
    • मैंने school में काफी maths पढ़ी है, engineering का काम करता हूं और रोज maths इस्तेमाल करता हूं, YouTube के कई maths channels भी subscribe किए हैं, लेकिन इस function के बारे में जिंदगी में पहली बार सुना
      इस puzzle के असल में कोई rules तो नहीं हैं, लेकिन यह function बिल्कुल भी well-known नहीं लगता
    • दिए गए integer के लिए चार 2 से बनने वाला सबसे छोटा expression ढूंढना शायद ज्यादा interesting challenge होगा
    • मेरा भी यही खयाल था। square root भी notation के पीछे 2 छिपाने जैसा है
      कौन-से operators कितनी बार इस्तेमाल किए जा सकते हैं, यह concretely तय न हो तो पूरा project बहुत consistent नहीं लगता
    • lambda calculus बातचीत में आ गया
  • संबंधित रूप से, 1964 में 26 साल के Donald Knuth ने “Representing numbers using only one 4” भी लिखा था (https://www.jstor.org/stable/2689238)
    यह उनके Selected Papers on Fun and Games के chapter 10 में भी फिर छपा, और इसमें सिर्फ एक digit 4 और तीन operations √x(square root), ⌊x⌋(floor function), x!(factorial) इस्तेमाल होते हैं
    यह इस अब तक अनसुलझे conjecture पर खत्म होता है कि क्या सभी integers को इस तरह represent किया जा सकता है
    2011 की किताब के appendix में इससे भी पहले 1962 में J. H. Conway और M. J. T. Guy का 1.5-page paper “π in Four 4's” भी紹介 किया गया है। यह दोनों के Cambridge students होने के समय का मिलता-जुलता idea था: https://archive.org/details/eureka-25/page/18/mode/1up?view=...
    उदाहरण के लिए 5 = ⌊√√√√√(4!)!⌋ है, क्योंकि 24! 5^32 और 6^32 के बीच है

  • पता नहीं सिर्फ मुझे ऐसा लगा, लेकिन sqrt(2*2) या sqrt(2^2) के बजाय sqrt(2+2) का चुनाव अजीब लगा
    इससे यह दिखाने की जरूरत से ज्यादा परदा पड़ जाता है कि 2=sqrt(2+2) क्यों है

    • अच्छी बात पकड़ी, लेकिन इसे सिर्फ लेखक का अजीब चुनाव कहना मुश्किल है
      पूरे लेख, हर argument, मुख्य point, वाक्य, formatting आदि हर चीज पर cognitive bandwidth खर्च होती है, और time pressure भी रहा होगा
      critic आराम से सिर्फ एक point पर focus कर सकता है, इसलिए वह obvious लगता है :)
    • कहीं low-cost operations को reward करने वाला golf score जैसा कुछ भी हो सकता है
      “Dirac hacking” शायद score बहुत खा जाएगी
    • सच में? क्यों? 2+2, 2*2, 2^2 तीनों obviously 4 हैं और sqrt(4)=2 है, तो समझ नहीं आता कि + बाकी से ज्यादा अजीब क्यों है
  • व्यक्तिगत रूप से मुझे संक्षिप्तता वाला तरीका ज़्यादा पसंद है
    मैंने single-character commands वाली एक stack machine बनाई थी, और इसी समस्या का एक variation हल करना था। संख्याएँ सिर्फ़ 0 से 9 तक थीं, और अक्षर 23 का मतलब था 2 को push करना और फिर 3 को push करना। असली संख्या 23 दिखाने के लिए 45*3+ जैसा expression लिखना पड़ता था
    इसलिए हर integer को सबसे कम character count में encode करने की समस्या बची
    इस्तेमाल किए जा सकने वाले tools थे: digits 0~9, P: Pi, *: (a * b), /: (a / b), -: (a - b), +: (a + b), s: sin(a), c: cos(a), q: sqrt(a), l: log(a), ~: abs(a), #: round(a), $: Math.floor(a), C: clamp(a), <: min(a, b), >: max(a, b), ^: pow(a, b), a: atan2(a, b), %: positiveMod(a, b), !: (1 - a), ?: (a <= 0 ? 0 : 1), o: a xor b scaled by c; ((a*c) xor (b*c))/c, d: stack के top को duplicate करना, :: top की दो items को swap करना, ;: top और तीसरी item को swap करना
    बाद में इस stack machine को complex-number stack के रूप में फिर से बनाकर देखना चाहूँगा कि क्या-क्या किया जा सकता है
    अगली बार ऐसा कुछ post करूँगा तो phone से नहीं लिखूँगा

    • सामान्य answer शायद computable न हो
      https://en.wikipedia.org/wiki/Kolmogorov_complexity
    • हर संख्या को “10 से multiply करो और वह digit add करो” वाले command से बनाकर, space की तरह 0 push करने के लिए अलग command रख दिया जाए तो कैसा रहेगा? तब 23 को " 23" से represent किया जा सकता है
    • https://www.hacker.org/hvm/ (2008) याद आता है
    • काफ़ी सारी संख्याएँ शायद base-9 या base-10 में encode होंगी। आम तौर पर digit + * digit + * जैसे pattern की repetition या उसके equivalent रूप होंगे
  • “संख्या 2 को सिर्फ़ तीन बार इस्तेमाल किया गया” छोटी-सी कमी है, लेकिन ऐसा तभी है जब हम इस तथ्य को ignore करें कि radical notation common value को default मानकर 1/2 power को छिपा देता है
    छिपे हुए 2 काफ़ी ज़्यादा हैं

    • यह कहना मुश्किल है कि radical notation सचमुच कुछ छिपाता है। यह तथ्य कि वह half power के लगभग समान है, एक theorem है
      फिर तो मानना पड़ेगा कि 2 भी 1+1 छिपाता है, और क्या game असंभव हो जाएगा?
      higher-degree polynomials की तुलना में quadratic polynomials बहुत ज़्यादा common हैं, इसलिए square root arbitrary powers की तुलना में ज़्यादा fundamental लगता है
      fancy functions allow करने के बाद game के हास्यास्पद हो जाने वाली बातें बहुत हैं, लेकिन व्यक्तिगत रूप से मुझे लगता है कि specific rule restrictions के बिना भी संतोषजनक solutions खोजने में मज़ा है
  • इससे जुड़ा एक reverse engineering/CTF challenge था। cheating रोकने के लिए नाम नहीं बताऊँगा, लेकिन मेरा solution ऐसा shellcode inject करना था जो stack pointer में एक खास संख्या add करता था
    लेकिन पूरे shellcode में, add की जाने वाली संख्या सहित, सिर्फ़ ASCII alphanumeric bytes ही इस्तेमाल किए जा सकते थे
    इसलिए मैंने SAT solver का इस्तेमाल करके ऐसी संख्या-combinations ढूँढीं जो forbidden bytes इस्तेमाल किए बिना desired value तक add हो जाएँ
    https://docs.google.com/presentation/d/19K7SK1L49reoFgjEPKCF...

  • mobile game Tchisla याद आता है। इसमें दी गई एक संख्या और कुछ operators, square root और ! वगैरह का इस्तेमाल करके 1000 या 10000 तक की सभी संख्याएँ बनानी होती हैं
    काफ़ी मज़ेदार है, खेलते-खेलते strategies बनती हैं, और user experience भी simple और efficient है। बस यह पहले से जान लें कि यह बहुत समय खा जाता है
    [0] https://apps.apple.com/fr/app/tchisla-number-puzzle/id110062...

  • क्लासिक four fours problem है, और बचपन में मैंने इसे “The Man Who Counted” नाम की किताब से सीखा था
    https://en.wikipedia.org/wiki/Four_fours
    https://en.wikipedia.org/wiki/The_Man_Who_Counted

    • मैंने बचपन में जो सीखा था, वह भी वही version था। मेरी बनाई यह page भी मज़ेदार हो सकती है
      The Definitive Four Fours Answer Key
      https://dwheeler.com/fourfours/
    • वही था
      उसी से मैंने false induction सीखी थी। मुझे वह कहानी भी पसंद थी जिसमें लोग कतार में खड़े होते हैं, उनकी पीठ पर कुछ चिपका होता है, और उन्हें अंदाज़ा लगाना होता है कि वह क्या है
  • कमाल तो है, लेकिन उस sqrt symbol के अंदर छिपे हुए 2 बहुत ज़्यादा हैं