32 คะแนน โดย GN⁺ 2025-05-23 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • งานพิสูจน์ชิ้นใหม่ของ Ryan Williams นักวิทยาการคอมพิวเตอร์เชิงทฤษฎีจาก MIT แสดงให้เห็นว่า ทรัพยากรด้านหน่วยความจำอาจเป็นทรัพยากรการคำนวณที่ทรงพลังกว่าเวลาได้
  • เป็นการทำลาย ภาวะชะงักงันนาน 50 ปีเกี่ยวกับความสัมพันธ์ระหว่างความซับซ้อนเชิงเวลา-พื้นที่ และเสนอวิธีแปลงอัลกอริทึมทุกตัวให้ใช้หน่วยความจำน้อยลงได้
  • หัวใจสำคัญของงานพิสูจน์คือการ ทำให้การจำลองแบบประหยัดพื้นที่เป็นแนวคิดทั่วไป เพื่อให้ลดการใช้พื้นที่ของอัลกอริทึมลงเหลือระดับ รากที่สองของเวลา
  • ส่งผลให้เกิดความคืบหน้าในการพิสูจน์ความแตกต่างระหว่าง คลาส PSPACE และ P ในเชิงปริมาณ และยังเปิดทางไปสู่งานพิสูจน์ที่มีช่องว่างกว้างขึ้นได้
  • ผู้เชี่ยวชาญประเมินผลงานนี้ว่าเป็น “ความก้าวหน้าที่น่าทึ่งและจุดเริ่มต้นของการสำรวจครั้งใหม่” และผลลัพธ์นี้อาจกลายเป็นเบาะแสในการแก้ปัญหาที่ยากอื่น ๆ ในวิทยาการคอมพิวเตอร์เชิงทฤษฎีต่อไป

One Small Step for Space, One Giant Leap for Complexity

ภาพรวมงานพิสูจน์ใหม่ของ Ryan Williams

  • ในฤดูร้อนปี 2024 Ryan Williams แห่ง MIT กำลังทบทวนงานพิสูจน์ของตนเอง และตระหนักว่า แนวคิดที่เคยคิดว่าเป็นความผิดพลาด แท้จริงแล้วใช้ได้ผล
  • เขาเสนอขั้นตอนทั่วไปในการแปลงอัลกอริทึมทุกตัวให้ ทำงานได้ด้วยหน่วยความจำที่น้อยลง
  • จากสิ่งนี้ เขาสามารถพิสูจน์ได้ว่าบางปัญหาไม่อาจแก้ได้ภายในเวลาที่จำกัดบางระดับ

เวลาและพื้นที่: ทรัพยากรสองชนิดของการคำนวณ

  • อัลกอริทึมทุกตัวใช้ทั้ง เวลาและหน่วยความจำ (พื้นที่)
  • เดิมทีเชื่อกันว่าในการแก้ปัญหาบางประเภท พื้นที่มีสัดส่วนตามเวลา
  • งานพิสูจน์ของ Williams วางหลักทางคณิตศาสตร์ว่า พื้นที่อาจทรงพลังกว่าเวลาได้

จุดเริ่มต้นและประวัติของวิทยาการคอมพิวเตอร์เชิงทฤษฎี

  • Juris Hartmanis และ Richard Stearns ได้วางนิยามของ ความซับซ้อนด้านเวลา/พื้นที่ ขึ้นในทศวรรษ 1960
  • พวกเขาวางรากฐานสำหรับการจัดปัญหาเป็น คลาสความซับซ้อน ตามทรัพยากรที่ต้องใช้ในการแก้ปัญหา
  • P คือปัญหาที่แก้ได้ภายในเวลาที่สมเหตุสมผล ส่วน PSPACE คือปัญหาที่แก้ได้ด้วยหน่วยความจำในระดับที่เหมาะสม

ความคืบหน้าครั้งแรก: เทคนิคการจำลองในปี 1975

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

จุดเปลี่ยน: Squishy Pebbles

  • ในปี 2010 นักทฤษฎีความซับซ้อนผู้บุกเบิก Stephen Cook และเพื่อนร่วมงานได้ออกแบบโจทย์ ปัญหาการประเมินต้นไม้ - Pebbles and Branching Programs for Tree Evaluation และพิสูจน์ว่าอัลกอริทึมที่มีงบประมาณด้านพื้นที่ต่ำกว่าค่าขีดหนึ่งไม่สามารถทำโจทย์นี้ได้
    • แต่มีช่องโหว่อยู่ งานพิสูจน์นั้นอาศัยสมมติฐานเชิงสามัญสำนึกแบบเดียวกับที่ Paul และคณะเสนอไว้เมื่อหลายสิบปีก่อน
    • กล่าวคือ อัลกอริทึมไม่สามารถเก็บข้อมูลใหม่ลงในพื้นที่ที่เต็มอยู่แล้วได้
    • ตลอดเวลากว่าสิบปี นักทฤษฎีความซับซ้อนพยายามอุดช่องโหว่นั้น
  • James Cook บุตรของ Stephen Cook และ Ian Mertz เผยแพร่อัลกอริทึมสำหรับ ปัญหาการประเมินต้นไม้ ในปี 2023 ที่ทำลายสมมติฐานเดิม Tree Evaluation Is in Space 𝑂 (log 𝑛 · log log 𝑛)
  • พวกเขาเสนอ แบบจำลองการแทนข้อมูล ใหม่ที่ทำให้ข้อมูลในหน่วยความจำสามารถซ้อนทับกันได้ทางกายภาพ
  • วิธีนี้กลายเป็น กุญแจสำคัญในการก้าวข้ามข้อจำกัดของการจำลองแบบเดิม

การก้าวกระโดดครั้งสำคัญของ Williams

  • หลังจากได้รู้จักเทคนิคของ Cook-Mertz ผ่านการนำเสนอของนักศึกษา Williams ก็เกิดแนวคิดที่จะ นำมันไปใช้กับการจำลองแบบสากล
  • การจำลองแบบใหม่นี้สามารถลดความต้องการด้านพื้นที่ของอัลกอริทึมลงได้สู่ระดับ รากที่สองของเวลา
  • เขาเผยแพร่บทความฉบับสมบูรณ์บน arXiv ในเดือนกุมภาพันธ์ 2025 และได้รับคำชื่นชมอย่างสูงจากแวดวงวิชาการ

ผลลัพธ์นี้มีความหมายอย่างไร

  • งานพิสูจน์นี้ยังไม่ได้พิสูจน์โดยตรงว่า PSPACE > P แต่เป็น ความสำเร็จชี้ขาดที่สร้าง ‘ช่องว่าง’ ไปในทิศทางนั้น
  • หากในอนาคตสามารถนำขั้นตอนนี้ไปใช้ซ้ำ ๆ เพื่อสร้างช่องว่างที่ใหญ่ขึ้นได้ ก็อาจเข้าใกล้การแก้ปัญหา P vs PSPACE
  • สิ่งนี้อาจเป็น จุดตั้งต้นในการคลี่คลายหนึ่งในโจทย์ยากที่เก่าแก่ที่สุดของวิทยาการคอมพิวเตอร์

บทส่งท้ายที่ชวนคิด

  • Williams ย้อนมองผลลัพธ์นี้ไว้ว่า
    “ผมยังไม่ได้พิสูจน์สิ่งที่อยากพิสูจน์จริง ๆ แต่สิ่งที่ลงท้ายด้วยการพิสูจน์ได้ กลับยอดเยี่ยมยิ่งกว่าสิ่งที่ผมต้องการเสียอีก

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

 
nunojay 2025-05-27

....เอ๊ะ?

 
GN⁺ 2025-05-23
ความเห็นจาก Hacker News
  • พูดแบบตัดเรื่อง fuzz ออกไป เครื่องทัวริงหลายเทปที่ทำงานในเวลา t สามารถถูกจำลองได้โดยใช้พื้นที่ O(sqrt(t log t)) (โดยปกติเวลาที่ใช้จะนานกว่า t) Simulating Time With Square-Root Space
    • น่าเสียดายที่บทความของ Quanta มักผสมภาษากึ่งกวีหรือถ้อยคำเกินจริงกับคณิตศาสตร์มากไปจนทำให้เข้าใจผิด ในบทความ Quanta บอกว่า “งานบางประเภทต้องใช้พื้นที่มากพอๆ กับเวลาในการรัน” แต่แค่ดู complexity hierarchy อย่างเดียวก็ไม่ได้ทำให้เกิดสัญชาตญาณทั่วไปแบบนั้น เรื่องนี้พูดได้แค่กับ “อัลกอริทึมบางส่วน” เท่านั้น จะเอาไปสร้างภาพรวมทั้งหมดไม่ได้
    • ไม่แน่ใจว่าเพราะพยายามใจดีกับผู้อ่านเกินไปหรือเปล่า แต่ Quanta อธิบายคลาสความซับซ้อน P แค่ว่า “ปัญหาทั้งหมดที่แก้ได้ในเวลาที่สมเหตุสมผล” โดยไม่ใช้คำว่า polynomial เลย รู้สึกเหมือนดูถูกผู้อ่านนิดๆ
  • ใน “Camel Book” ที่สะท้อนปรัชญาแบบ Perl มีประโยคหนึ่งว่า “ถ้าหน่วยความจำไม่พอ ก็ซื้อเพิ่มได้ แต่ถ้าเวลาไม่พอ ก็ไม่มีทางแก้” เป็นหนังสือที่ขำดีเลยชอบมาก
    • แต่ก็คิดว่าคำพูดนี้มีได้สองด้าน โปรแกรมที่ต้องการมากกว่าหน่วยความจำที่เครื่องมีอยู่จะรันไม่ได้ทันที ขณะที่ถ้าแค่ใช้เวลานาน อย่างน้อยมันก็ยังรันได้ ดังนั้นเวลาก็ยังเป็นทรัพยากรสำคัญอยู่ดี
  • ชัยชนะของ lookup table ที่เก็บค่าที่คำนวณล่วงหน้าไว้ แต่ก่อนเคยคิดว่าถ้าเก็บการคำนวณทุกอย่างไว้รวมศูนย์จนแทบไม่ต้องใช้โปรเซสเซอร์เลย ความเร็วในการประมวลผลคงปฏิวัติวงการได้ (จริงๆ ก็ยังมีปัญหาใหญ่อีกเรื่องคือการค้นหาให้เร็ว)
    • ตอนเริ่มทำงานด้านระบบจัดเก็บข้อมูล เคยเสนอไอเดียว่าให้คำนวณบล็อก 4KB ทุกแบบล่วงหน้าแล้วเก็บไว้ พอมีคนชี้ว่าจำนวนบล็อก 4KB ที่ไม่ซ้ำกันมีมากกว่าจำนวนอะตอมในจักรวาล ก็ยังจำได้ว่าตกใจมาก
    • อัลกอริทึม HashLife ก็ทำสิ่งคล้ายกันนี้แบบ Turing-complete กับ Conway's Game of Life รู้สึกน่าทึ่งที่แม้ต้องรับมือกับสถานะที่ซับซ้อนและหลากหลายมาก ก็ยังคำนวณสถานะอนาคตล่วงหน้าแบบกระโดดข้ามไปได้
    • ขอเล่นมุกว่าการ cache ตัว retrieval (การค้นคืน) ของ lookup เองก็ไม่ได้มีปัญหาอะไร
    • มันถูกทำจริงอยู่แล้วในรูปแบบการแจกจ่ายซอฟต์แวร์ที่แคชกันระดับคอมมูนิตี้ กล่าวคืออุปสรรคดั้งเดิมที่ต้องยอมทิ้งฟีเจอร์ของภาษาเพราะคอมไพล์ให้มีประสิทธิภาพไม่ได้ สามารถข้ามได้ด้วยการคอมไพล์แบบขนานบนคลาวด์และแคชทั่วโลก คอมไพล์แค่ครั้งเดียวตอนปล่อยก็ใช้ร่วมกันได้ทั้งหมด
    • ต่อเนื่องจากประโยคที่ว่า “ถ้าเก็บการคำนวณทุกอย่างไว้ที่ศูนย์กลางก็คงไม่ต้องมีโปรเซสเซอร์” ก็เลยคิดต่อไปว่าอาจถึงขั้น memoize ประวัติการค้นหาทั้งหมดด้วย
  • สไตล์ของ Quanta ที่ชอบใช้ภาษากึ่งกวีทำให้เข้าใจยากว่าจริงๆ แล้วงานวิจัยนี้เอาไปใช้กับคอมพิวเตอร์จริงได้ไหม หรือเป็นเพียงสถานการณ์เชิงทฤษฎีล้วนๆ อยากรู้ว่ามันหมายถึงคอมพิวเตอร์จะช้าลงเพื่อแลกกับการใช้หน่วยความจำมากขึ้นหรือเปล่า
  • ทำงานเขียนโปรแกรมกราฟิกแบบ raster มานาน จนการใช้ lookup table กลายเป็นสัญชาตญาณไปแล้ว ช่วงหลังยังพัฒนาเครื่องมือฝั่งเซิร์ฟเวอร์ที่ใส่รูปทรงหลายแบบไว้ใน DB ล่วงหน้า แล้วใช้ผลลัพธ์ที่ปรับเหมาะไว้แล้วในแต่ละ query เป็นแพตเทิร์นที่ไม่ซับซ้อนและเข้าใจง่าย ไม่ได้มีศาสตราจารย์ MIT มาสอนเป็นพิเศษ แค่ซึมซับจากการลงมือทำเอง พอเห็นว่ามันมีหลักฐานรองรับทางคณิตศาสตร์ก็รู้สึกภูมิใจดี คิดว่าเคล็ดวิชาเชิงอัลกอริทึมหลายอย่างก็มักมาจากประสบการณ์ของคนทำงานจริงเหมือนกัน (เช่น อัลกอริทึม winding number)
    • ช่วงนี้ผลลัพธ์ทั้งหมดที่ได้จากการทำ optimization เกม ก็มาจากการจัดการ lookup table ให้เหมาะกับสถานการณ์ ไม่จำเป็นต้องเป็นแค่อาร์เรย์คงที่ถึงจะเรียกว่า lookup table ได้ แม้แต่ข้อมูลที่เปลี่ยนไปทีละนิดตามเวลา ก็ใช้แนวคิดเดียวกันได้เหมือนกัน มันทำให้เริ่มมองเห็นการย้ายงานไปทำบน GPU มากขึ้น และพบว่าโครงสร้างที่ตารางเคยถูกสร้างแบบคงที่ตอนคอมไพล์หรือรันไทม์นั้น ถ้าเปลี่ยนแค่บางส่วนระหว่างรันไทม์แล้วส่งเข้า GPU เหมือน texture จะมีประสิทธิภาพมาก ขอบเขตว่าตรงไหนควรเรียกว่า lookup table เลยเริ่มพร่าเลือนไป
  • รู้สึกได้ตามสัญชาตญาณว่าพื้นที่ (หน่วยความจำ) สามารถแทนผลลัพธ์ได้มากกว่าเวลามาก สำหรับเทปยาว n คุณอาจเขียนได้ในเวลา O(n) แต่ถ้าเป็นเทปเลขฐานสอง เทปยาว n มีได้ 2^n รูปแบบ ถ้าใช้พื้นที่ให้ดี มันจะให้พลังในการแทนค่ามากกว่าเวลาอย่างชัดเจน
    • สัญชาตญาณของผมคือ: ในหนึ่งเซลล์สามารถเก็บผลลัพธ์กลางจากการคำนวณหลายร้อยครั้งได้ ถ้าเก็บผลลัพธ์กลางไม่ได้ แล้วต้องคำนวณสิ่งเดิมซ้ำทุกครั้ง ประสิทธิภาพจะตกลงมาก สถานการณ์ที่ cache hit rate เป็น 0% นั้นหายากมาก และส่วนใหญ่เรามักทำให้มีประสิทธิภาพขึ้นได้ด้วยการใช้พื้นที่ ในทางกลับกัน การใช้เวลาเพียงครั้งเดียวเพื่อแทนพื้นที่ของหลายร้อยเซลล์นั้นทำได้ยาก และด้วยสถาปัตยกรรมคอมพิวเตอร์ปัจจุบัน SIMD แบบไม่จำกัดก็เป็นไปไม่ได้
    • สมมติฐานเรื่อง random access memory แบบ O(1) ถูกมองว่าเป็นเรื่องธรรมดาเกินไป แต่ในความเป็นจริงยิ่งคอมพิวเตอร์มีขนาดใหญ่ ต้นทุนการเข้าถึงยิ่งโตได้ถึง O(n^(1/3)) สัมผัสได้ชัดมากในดาต้าเซ็นเตอร์ จำได้ว่าเป็นโมเดลอื่นที่ไม่ใช่ UMA
    • ตราบใดที่ยังพิสูจน์ P ≠ PSPACE ไม่ได้ นี่ก็ยังเป็นพื้นที่ที่พิสูจน์ทางคณิตศาสตร์ยากกว่าที่สัญชาตญาณจะบอก
    • อีกด้านหนึ่งก็จริง แต่สำหรับปัญหาที่ทำ parallelization ได้ยาก (เช่น alternating machine PTIME=PSPACE) พื้นที่อาจไม่ได้ให้ประโยชน์มากนัก ในงานนี้การขยับจาก t/log t ไปเป็น sqrt(t log t) ถือว่าเป็นก้าวกระโดดสำคัญ แต่ก็น่าจะยังมีข้อจำกัดแท้จริงบางอย่างที่แม้ parallelization แบบไม่จำกัดก็ข้ามไม่ได้
    • ในงานจริงก็ขึ้นอยู่กับลักษณะงาน หากการเข้าถึงสตอเรจช้ากว่าการคำนวณซ้ำมาก การคำนวณใหม่อาจเร็วกว่า
  • “ความสัมพันธ์ผกผัน” ระหว่างเวลาและพื้นที่ อธิบายได้ว่าเมื่อคุณจำกัดทรัพยากรด้านหนึ่ง คุณจะไม่ได้ค่าที่ดีที่สุดของอีกด้านโดยอัตโนมัติ ตัวอย่างเช่นในอัลกอริทึมจัดเรียง ถ้ามีข้อจำกัดสามอย่างคือ เวลา/พื้นที่/ความเป็น stable เมื่อบังคับให้ stable เพิ่มเข้ามา ประสิทธิภาพด้านเวลาหรือพื้นที่ก็มักจะแย่ลง ปัจจุบันยังไม่มี stable sort ที่เร็วและใช้หน่วยความจำน้อยได้เท่ากับ non-stable sort
  • โดยส่วนตัวชอบสไตล์บทความของ Quanta Magazine มันช่วยเปิดมุมมองให้ไม่ใช่แค่นักวิทยาการคอมพิวเตอร์ แต่รวมถึงคนทั่วไปที่สนใจสาขาใกล้เคียงด้วย ภาพรวมแบบมองจากมุมสูงและคำอธิบายที่เป็นมิตรช่วยจุดประกายมุมมองและไอเดียใหม่ๆ
  • แชร์ลิงก์ไปยังงานบรรยายและงานวิจัยของ Ryan Williams
  • ถ้า single-tape ทัวริงแมชชีนรับเลขฐานสอง N เป็นอินพุต แล้วต้องการเขียนเลข 1 จำนวน N ตัวทางด้านขวาของเทป ก็ดูเหมือนว่าจะต้องใช้พื้นที่ N ช่องในเวลา N แล้วจะจำลองสิ่งนี้ด้วยพื้นที่น้อยกว่า N ได้อย่างไร นอกจากนี้ด้วยโครงสร้างของทัวริงแมชชีนที่กระโดดไปตำแหน่งสุ่มบนเทปไม่ได้ ก็สงสัยว่ามันเกี่ยวข้องกับคอมพิวเตอร์จริงอย่างไร
    • เครื่องทัวริงหลายเทปเร็วกว่าแบบเทปเดียวมาก และ “พื้นที่” ที่พูดถึงตรงนี้หมายถึงพื้นที่ทำงานชั่วคราวโดยไม่นับอินพุต/เอาต์พุต
    • ตัวงานวิจัยเน้นที่ปัญหาแบบตัดสินใจเป็นหลัก คือพิจารณาเฉพาะกรณีที่เอาต์พุตต้องการแค่ 1 บิต ถ้าเอาต์พุตมี N บิต ก็อธิบายได้ว่าแทบจะเท่ากับเอาปัญหาแบบตัดสินใจ N ข้อมาต่อกัน