1 คะแนน โดย GN⁺ 2025-05-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ติดตามกระบวนการมองปริศนาสมการผลไม้·อีโมจิบนอินเทอร์เน็ตในรูปแบบหนึ่งว่าเป็น สมการไดโอแฟนไทน์เชิงจำนวนเต็ม และไล่ไปจนถึงการสร้างคำตอบจำนวนเต็มบวก
  • เครื่องมือหลักคือวิธีเชิงเรขาคณิตที่แทนที่จะหาคำตอบจำนวนเต็มโดยตรง จะหา จุดตรรกยะ ก่อน แล้วสร้างจุดตรรกยะใหม่ด้วยเส้นตรงหรือเส้นสัมผัส
  • หลังการแทนตัวแปรและการหมุน สมการจะกลายเป็น เส้นโค้งวงรี ที่สมมาตร แต่จุดง่าย ๆ ที่เห็นในตอนแรกไม่ได้เชื่อมไปสู่คำตอบบวกของโจทย์เดิมโดยตรง
  • บนเส้นโค้งวงรี เส้นตรงที่เชื่อมจุดตรรกยะสองจุด หรือเส้นสัมผัสที่จุดหนึ่ง จะสร้างจุดตัดจุดที่สาม และด้วยสูตรของ Vieta จุดนั้นก็ยังคงเป็นจุดตรรกยะ
  • หลังจากใช้ Mathematica ค้นหาจุดที่ไม่ตื้นเขินนักและทำการคำนวณซ้ำ ๆ ก็สามารถสร้าง คำตอบจำนวนเต็มบวกขนาดมหึมา ที่เป็นไปได้เมื่อแปลงกลับไปยังตัวแปรเดิม

กระบวนการที่ปริศนาอีโมจิบนอินเทอร์เน็ตกลายเป็นโจทย์คณิตศาสตร์

  • บนอินเทอร์เน็ตมี ปริศนาสมการอีโมจิ แพร่หลาย ซึ่งจงใจทำให้สับสนในรายละเอียดอย่างจำนวนกล้วย จนทำให้ได้คำตอบต่างกัน
  • ต้นปี 2017 ใน r/math มี reddit thread ที่มีใจความว่าผู้คนเริ่มเอือมกับปริศนาคณิตศาสตร์ผลไม้แบบ Facebook และมีผู้ใช้คนหนึ่งสร้างโจทย์ที่ยากขึ้นโดยใช้ภาพผลไม้
  • เมื่อ Sridhar Ramesh ดัดแปลงปัญหานั้นเล็กน้อยและเผยแพร่ออกไปอย่างกว้างขวาง มันก็กลายเป็นปัญหาชื่อเสียที่เชื่อกันว่าคำตอบต่ำสุดยาวมาก และต้องใช้ความรู้เรื่อง เส้นโค้งวงรี
  • เป้าหมายคือการไล่ดูขั้นตอนการแก้ปัญหาอีโมจิเวอร์ชันดัดแปลงนั้นจริง ๆ

ตัวอย่างเตรียมความพร้อม: พีทาโกรัสทริปเปิลและจุดตรรกยะ

  • เริ่มจากใช้ปัญหาการหาพีทาโกรัสทริปเปิลเป็นตัวอย่างที่ง่ายกว่า
  • แทนที่จะหาคำตอบจำนวนเต็มโดยตรง หากเปลี่ยนเป็นปัญหาการห้า จุดตรรกยะ บนวงกลมหนึ่งหน่วยที่สอดคล้องกัน โครงสร้างจะเรียบง่ายขึ้น
  • หากเริ่มจากจุดตรรกยะจุดหนึ่งบนวงกลมหนึ่งหน่วย แล้วลากเส้นตรงที่มีความชันเป็นจำนวนตรรกยะ จุดที่สองที่ตัดกับวงกลมก็จะเป็นจุดตรรกยะด้วย
    • เมื่อต้องหาจุดตัดของเส้นตรงกับวงกลม จะได้สมการกำลังสอง
    • สัมประสิทธิ์เป็นจำนวนตรรกยะ และเมื่อรู้ว่ารากหนึ่งเป็นจำนวนตรรกยะอยู่แล้ว ตามสูตรของ Vieta อีกรากก็เป็นจำนวนตรรกยะเช่นกัน
  • ในทางกลับกัน จุดตรรกยะอื่นบนวงกลมหนึ่งหน่วยจะมีความชันของเส้นตรงที่เชื่อมกับจุดตั้งต้นเป็นจำนวนตรรกยะ จึงสามารถสร้างจุดตรรกยะทั้งหมดได้ด้วยวิธีเดียวกัน
  • กระบวนการนี้นำไปสู่รูปมาตรฐานที่เขียนพีทาโกรัสทริปเปิลทั้งหมดด้วยจำนวนเต็มบวกสองจำนวนและตัวคูณ
  • รูปแบบสำคัญคือ วิธีได้จุดใหม่ด้วยเส้นตรง และแนวคิดคล้ายกันนี้ก็ถูกใช้กับปัญหาอีโมจิเดิมด้วย

แปลงสมการเดิมให้เป็นเส้นโค้งวงรี

  • หลังจากกำจัดตัวส่วนของสมการในปัญหาอีโมจิแล้ว ปัญหาจะถูกแปลงจากการหาคำตอบจำนวนเต็มไปเป็นการหา จุดตรรกยะ ของอัตราส่วนตัวแปรแทน
  • จึงไม่ได้มองหาคำตอบจำนวนเต็มบวกโดยตรง แต่สำรวจจุดตรรกยะทั้งหมดก่อน รวมทั้งค่าบวกและลบ
  • กราฟไม่เปลี่ยนแปลงเมื่อสลับตัวแปรสองตัว จึงมีสมมาตรแบบเอียง
  • เพื่อความสะดวก จึงใช้การแทนตัวแปรเพื่อหมุนกราฟให้เป็นรูปที่สมมาตรกับแกน และเรียกเส้นโค้งนี้ว่า เส้นโค้งวงรี
  • บนกราฟมีจุดตรรกยะง่าย ๆ ที่มองเห็นได้ด้วยตา แต่ไม่สอดคล้องกับคำตอบบวกที่ใช้ได้ของโจทย์เดิม
  • ดังนั้นจึงต้องใช้จุดง่ายเหล่านั้นเป็นจุดตั้งต้นเพื่อสร้างจุดตรรกยะเพิ่ม

กลเม็ดเส้นตรงที่ใช้ได้กับเส้นโค้งวงรีด้วย

  • หากลากเส้นตรงเชื่อมจุดตรรกยะสองจุด (P), (Q) บนเส้นโค้งวงรี เส้นตรงนั้นจะตัดเส้นโค้งอีกครั้งที่จุดที่สาม (R)
  • จุดตัดที่สามนี้ก็เป็น จุดตรรกยะ เช่นกัน
    • เมื่อนำสมการเส้นตรงไปแทนในสมการเส้นโค้งวงรี จะได้สมการกำลังสามในตัวแปรหนึ่งตัว
    • สัมประสิทธิ์ของสมการกำลังสามเป็นจำนวนตรรกยะ
    • เมื่อรู้แล้วว่ารากสองรากมาจากพิกัดของ (P), (Q) ซึ่งเป็นจำนวนตรรกยะ ตามสูตรของ Vieta รากที่สามก็เป็นจำนวนตรรกยะด้วย
    • เมื่อนำกลับไปแทนในสมการเส้นตรงอีกครั้ง พิกัดที่เหลือก็ถูกกำหนดเป็นจำนวนตรรกยะ
  • ในกรณี (P=Q) จะใช้ เส้นสัมผัส ที่จุดนั้นแทนเส้นตรงที่เชื่อมสองจุด และนับจุดตัดโดยรวมความซ้ำซ้อนด้วย
  • แม้จะเชื่อมจุดง่ายที่พบในตอนแรกหรือวาดเส้นสัมผัส ก็ยังวนอยู่กับเพียงไม่กี่จุด และไม่ขยายไปสู่จุดใหม่ที่มีประโยชน์
  • จุดเหล่านี้เป็น torsion point จึงไม่สามารถหลุดไปหาจุดใหม่ได้ แม้จะทำกลเม็ดเส้นตรงแบบเดิมซ้ำ ๆ

การหาจุดตรรกยะในบริเวณที่ใช้ได้

  • ใช้ Mathematica สำรวจจุดตรรกยะที่ไม่ตื้นเขินนักบนเส้นโค้งวงรี และหนึ่งในนั้นถูกนำมาใช้ในการคำนวณต่อมา
  • เป้าหมายไม่ใช่จุดตรรกยะใดก็ได้ แต่เป็นจุดที่เมื่อแปลงกลับไปยังตัวแปรเดิมแล้ว ค่าทั้งสามเป็นบวกทั้งหมด
  • หากตัวแปรทั้งหมดเป็นลบ ก็สามารถกลับเครื่องหมายทั้งหมดเพื่อให้ได้คำตอบบวก จึงกำหนดให้ตัวแปรหนึ่งเป็นบวกแล้วไล่เงื่อนไขย้อนกลับ
  • เงื่อนไขนี้แสดงออกมาเป็น บริเวณสีเขียว เฉพาะส่วนหนึ่งบนระนาบพิกัดที่แปลงแล้ว และต้องส่งจุดตรรกยะบนเส้นโค้งวงรีเข้าไปในบริเวณนั้น
  • การคำนวณด้วยมือยุ่งยากมาก จึงใช้ Mathematica คำนวณสูตรพิกัดของจุดตัดที่ได้จากการทำเส้นตรงและเส้นสัมผัส
  • มีการสร้างสูตรพิกัดสำหรับจุดตัดที่สามจากเส้นตรงที่เชื่อมสองจุด และสำหรับจุดตัดที่สามจากเส้นสัมผัสที่จุดเดียวกัน โดยเมื่อสมการซับซ้อนขึ้น ตัวเลขก็ใหญ่ขึ้นมาก

การประกอบคำตอบจำนวนเต็มบวกสุดท้าย

  • เริ่มจากจุดตรรกยะตั้งต้น วาดเส้นสัมผัสเพื่อให้ได้จุดใหม่ แล้ววาดเส้นสัมผัสที่จุดใหม่นั้นอีกเพื่อให้ได้จุดถัดไป ทำซ้ำไปเรื่อย ๆ
  • หลังการทำเส้นสัมผัสหลายครั้งก็ยังไม่เข้าไปในบริเวณเป้าหมายโดยตรง จึงเชื่อมต่อเพิ่มเติมกับจุดที่ได้จากการสลับเครื่องหมายพิกัดของจุดหนึ่งเพื่อสร้างอีกจุดหนึ่ง
  • สุดท้ายจึงเชื่อม จุดตรรกยะที่ดี ซึ่งเก็บไว้ก่อนหน้านี้เข้ากับจุดที่มีพิกัดขนาดใหญ่ที่ได้มาก่อน และในที่สุดก็ไปถึงจุดตรรกยะภายในบริเวณสีเขียวเป้าหมาย
  • จากนั้นนำจุดตรรกยะสุดท้ายนี้แปลงกลับไปเป็นตัวแปรเดิม แล้วคูณด้วยตัวคูณร่วมน้อยของตัวส่วนเพื่อสร้าง คำตอบจำนวนเต็มบวก
  • ในการตรวจสอบขั้นสุดท้าย ยืนยันได้ว่าคำตอบจำนวนเต็มขนาดมหึมาที่สร้างขึ้นนั้นสอดคล้องกับสมการของปัญหาอีโมจิเดิม

1 ความคิดเห็น

 
GN⁺ 2025-05-22
ความคิดเห็นบน Hacker News
  • มีคำตอบ Quora ที่ยอดเยี่ยมเกี่ยวกับปัญหานี้: https://www.quora.com/How-do-you-find-the-positive-integer-s...
    • โพสต์ Quora นั้นเขียนโดย Alon Amit และขอเสริมว่า ต้นฉบับก็อ้างถึง Alon Amit เช่นกัน ดังนั้นความคิดของเขาจึงค่อนข้างเป็นคำอธิบายย้อนหลัง
  • ในเรื่องที่เกี่ยวข้อง ตอนสอนคณิตศาสตร์ให้ลูก ๆ ตอนยังเล็กและช่วยทำการบ้าน ผมมักจะเขียนใหม่เป็นสมการ หรือเมื่อไปถึงขั้นนั้นก็เปลี่ยนสมการนั้นเอง
    แต่แทนที่จะใช้ตัวอย่างเช่น x ผมใช้ชื่ออย่าง เมฆนุ่มฟู หรือดาว เด็ก ๆ แม้จะหงุดหงิดแต่ก็ยังสนใจอยู่ และภายหลังได้ยินว่าพวกเขาก็ทำแบบเดียวกันเวลาช่วยเพื่อน
    มันง่ายที่จะลืมความรู้สึกตอนเริ่มเรียนรู้ นามธรรม แบบนี้ แต่สิ่งสำคัญคือการแสดงให้เห็นว่า x ไม่ได้มีอะไรพิเศษ อาจเป็นดวงอาทิตย์ หรือวลีอย่าง “จำนวนแมวทั้งหมด” ก็ได้
    • ในวัฒนธรรมคณิตศาสตร์มี minimalism อยู่ ซึ่งผมก็เข้าใจอยู่บ้างว่าเวลาขว้างสมการไปมาและสลับจัดรูป การทำให้ทุกอย่างสั้นที่สุดเท่าที่เป็นไปได้ช่วยได้
      แต่พอภายหลังตีพิมพ์แล้ว ความอ่านง่ายแย่ลงจริง ๆ กลายเป็นสถานการณ์ประมาณว่า “มีพจน์หนึ่งที่มีบทบาทสำคัญในสมการนี้ แต่มันหมายถึงอะไรกันแน่? ใครบางคนตั้งชื่อมันว่า φ เลยไม่รู้เลย”
      ผมมักพูดเล่นว่า ถ้าคุณคิดว่าโปรแกรมเมอร์ตั้งชื่อไม่เก่ง ลองดูนักคณิตศาสตร์สิ นักคณิตศาสตร์มีความภาคภูมิใจประหลาด ๆ ในความสามารถด้านการตั้งชื่อแย่
      แย่ที่สุดคือโปรแกรมที่สืบทอดมาจากบทความคณิตศาสตร์โดยตรง ถ้าตัวแปรมี ค่าสัมประสิทธิ์สหสัมพันธ์ อยู่ ก็เรียกมันแบบนั้นไปเลย เรามีภาษาและสัญลักษณ์ที่สั่งสมมาหลายพันปีเพื่อแบ่งปันไอเดีย อย่าเข้ารหัสมันแล้วเรียกว่า rho
  • ผมลองเอาสิ่งนี้ให้ ChatGPT ดู อัปโหลดแค่รูปเข้าอินเทอร์เฟซ OpenAI พื้นฐาน และคาดว่าโมเดลคงจะรู้โจทย์อยู่แล้วแล้วตอบคำตอบออกมา หรือไม่ก็สร้างคำตอบหลอน ๆ หรือไม่ก็ปฏิเสธการแก้โจทย์ไปเลย
    แต่ผลจริงออกมาเป็นแบบนี้: https://chatgpt.com/share/682cce62-c53c-8003-be2c-2929395868...
    สรุปคือโมเดลเดาคำตอบอย่างมั่นใจ ลองคำนวณ เห็นว่าผิด แล้วก็พยายามใหม่ไปเรื่อย ๆ แถมยังเดาซ้ำแบบเดิมด้วย มันจำ สมมาตร ไม่ได้เลย และทำตัวเหมือนผู้กระทำที่ไม่มีโครงสร้างโดยสิ้นเชิง
    สุดท้ายมันยืนยันอย่างหนักแน่นว่าปริศนานี้ไม่มีคำตอบ ถ้าโมเดลยังทำงานแย่แบบนี้กับปริศนาในอนาคต ผมคงต้องปรับความเชื่อของตัวเองใหม่
    • ผลลัพธ์จาก Gemini อยู่ที่นี่: https://g.co/gemini/share/ab287b25648f
      ผมถาม ChatGPT o3 ด้วย และมันคิดอยู่ 11.5 นาที: https://chatgpt.com/share/682d0993-db4c-8004-a66c-3908ef7203...
    • น่าประทับใจ ถ้ากำหนดแบบตามใจว่า “จำนวนที่มนุษย์สามารถคำนวณหรือเข้าใจในหัวได้” เป็นคำตอบที่สมเหตุสมผล ก็ชัดเจนว่าไม่มี คำตอบที่สมเหตุสมผล
      มันมี ChatGPT เวอร์ชันที่เชื่อมกับ Wolfram Alpha ไม่ใช่เหรอ? สงสัยว่าลองใช้ตัวนั้นหรือยัง
  • “คนที่ชื่อ Sridhar Ramesh” งั้นเหรอ Sridhar เป็นยอดฝีมือที่น่าติดตาม คนที่เป็นดอกเตอร์คณิตศาสตร์และขณะเดียวกันก็ระดับดอกเตอร์ด้านโพสต์ไร้สาระนั้นหาได้ไม่บ่อย
  • ผมชอบแนวนี้มาก ๆ เริ่มเรียกมันเองว่า “Dantzig Sniping” และผมก็มีอันหนึ่งที่ทำเองด้วย: https://x.com/TheOisinMoran/status/1298305686082744320
    บริบทและตัวอย่างที่เกี่ยวข้องเพิ่มเติมอยู่ที่นี่: https://x.com/TheOisinMoran/status/1299124512240398336
    • ผมนึกว่าเป็นชื่อที่มาจาก Gdańsk หรือ Danzig เลยสงสัยว่าที่นั่นมีอะไรถูกสไนป์
    • สงสัยว่าปัญหาที่มีคุณสมบัติแบบนี้ถูกค้นพบได้อย่างไร
  • ปี 2025 แล้ว ทำไมผู้เขียนถึงไม่ใช้ อีโมจิผลไม้ จริง ๆ เป็นชื่อตัวแปรล่ะ?
    • เวลาพยายามทำความเข้าใจโค้ดเบส C ที่ซับซ้อน การเปลี่ยนตัวแปรเดิมเป็นอีโมจิมักช่วยได้มาก
      ติดตามได้ง่ายขึ้นเยอะว่าตัวแปรไหนถูกใช้ที่ไหน และมองเห็นโครงสร้างล้วน ๆ ของโค้ดได้ดีขึ้นในพริบตา ตัวอย่างที่เคยโพสต์ไว้ก่อนหน้านี้อยู่ที่นี่: https://imgur.com/F27ZNfk
      น่าเสียดายที่ภาษาโมเดิร์นส่วนใหญ่อย่าง Rust และ JS ทำตามคำแนะนำ XID_Start/XID_Continue ซึ่งโดยส่วนตัวแล้วผมว่ามีแรงจูงใจไม่ค่อยหนักแน่นนัก และกัน อักขระอีโมจิ ทั้งหมดออกจาก identifier
    • นี่เป็นเฉลย C# ที่ Gemini สร้างขึ้น โดยใช้ตัวแปรอีโมจิผลไม้แก้โจทย์ น่าจะเป็นการ brute force: https://imgur.com/a/cC5QPH0
    • ปีนี้คือปี 2025 ก็จริง แต่ภาษานั้นคงไม่ได้ถูกสร้างขึ้นในปี 2025
  • ถ้าใช้ค่าคงที่อื่นแทน 4 คำตอบที่เล็กที่สุดอาจกลายเป็น จำนวนที่มหึมาจริง ๆ ได้: https://observablehq.com/@robinhouston/a-remarkable-diophant...
    • ผมชอบวิธีที่ทั้งโง่แต่อลังการในการโหลดตัวเลขยาว 120 ล้านหลักขึ้นมาใน textarea เล็ก ๆ เฉพาะตอนจำเป็นจริง ๆ
  • จำได้ตอนที่โจทย์นั้นออกมาครั้งแรก พวกเราหัวเราะกันลั่นใน สัมมนาทฤษฎีจำนวน
  • ผมชอบการขุดลึกลงไปถึงส่วนลึกของทฤษฎีจำนวนและกราฟแปลก ๆ นะ แต่ไม่เข้าใจว่าในปริศนาแอปเปิล/กล้วยดั้งเดิม มันตั้งใจให้ส่วนไหนยากหรือชวนสับสนกันแน่
    มันมีจุดที่สับสนง่ายพอจะทำให้คนเถียงกันหรือเปล่า หรือจริง ๆ มันง่ายพอที่จะทำให้ทุกคนรีบออกมาอวดฉลาดกัน?
    ผมได้ 10, 4, 2 แต่บางทีอาจเป็นผมเองที่สับสนก็ได้
    • “ทริก” คือในชุดสุดท้ายมี กล้วยแค่ 3 ลูก ในขณะที่ชุดอื่นมี 4 ลูก เช่นเดียวกัน สมการสุดท้ายมีมะพร้าวแค่ลูกเดียว
      ดังนั้นจึงดูเหมือนตีความได้เป็น 1 + 10 + 3