เกมเลื่อนตัวเลข

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

คลิกที่ตัวเลขเพื่อเลื่อน ทั้งแถวหรือทั้งคอลัมน์เลื่อนพร้อมกันได้

จำนวนตา 0

เวลา 0:00

น้อยสุด -

ขนาด

คลิกที่ตัวเลข หรือใช้ปุ่มลูกศรก็ได้ ลูกศรบอกทิศที่ตัวเลขจะเลื่อนไป กดซ้ายคือเลื่อนตัวที่อยู่ขวาของช่องว่างมาทางซ้าย จำนวนตาที่น้อยที่สุดของแต่ละขนาดเก็บไว้ในเครื่องนี้ในเบราว์เซอร์นี้เท่านั้น ไม่ได้ส่งไปไหนต่อ

รางวัลพันดอลลาร์ที่ไม่มีวันมีใครมารับ

ปริศนานี้ปรากฏขึ้นในทศวรรษ 1870 และจุดกระแสคลั่งไคล้ระดับที่หนังสือพิมพ์เขียนถึง ผู้ที่ได้รับการยกให้เป็นคนคิดคือ Noyes Palmer Chapman นายไปรษณีย์ที่เมือง Canastota รัฐนิวยอร์ก ไม่ใช่ Sam Loyd แม้ว่า Loyd จะอ้างว่าเป็นผลงานของตัวเองไปจนตาย และคนจำนวนมากยังเชื่อแบบนั้นอยู่

สิ่งที่ Loyd ทำจริงนั้นเก่งกว่า เขาขายเวอร์ชันที่เรียงตัวเลขไว้ให้ครบทุกตัว ยกเว้นสองตัวสุดท้ายคือ 14 กับ 15 ที่สลับกันอยู่ แล้วตั้งรางวัลหนึ่งพันดอลลาร์ ให้ใครก็ตามที่เลื่อนมันกลับมาเรียงได้ รางวัลนั้นไม่เคยมีใครมารับ และไม่เคยมีความเสี่ยงเลย เพราะปริศนาที่เขาขายอยู่นั้นแก้ไม่ได้

ใช้เวลาไม่นานก็มีคนพิสูจน์ ในปี 1879 ในวารสาร American Journal of Mathematics William Woolsey Johnson แสดงให้เห็นว่ากระดานที่สลับกันนั้นไปไม่ถึงกระดานที่เรียงเสร็จ และ William E. Story แสดงว่าที่เหลือทั้งหมดไปถึงได้ สองคนรวมกันคือคำตอบของทั้งเกม จากการจัดเรียงตัวเลขสิบห้าตัวกับช่องว่างหนึ่งช่อง ครึ่งหนึ่งพอดีแก้ได้ และอีกครึ่งหนึ่งพอดีแก้ไม่ได้ และมองด้วยตาแยกไม่ออกว่าคุณถืออันไหนอยู่

ทำไมกระดานครึ่งหนึ่งถึงเป็นไปไม่ได้

ลองนับคู่ของตัวเลขที่เรียงสลับที่กันเมื่ออ่านกระดานจากซ้ายไปขวา บนลงล่าง จำนวนคู่ที่สลับกันนี้เรียกว่าจำนวน inversion และกระดานที่เรียงเสร็จแล้วมีค่านี้เป็นศูนย์

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

จึงมีปริมาณหนึ่งที่การเดินทุกแบบไม่แตะต้อง และกระดานที่เรียงเสร็จแล้วมีค่านั้นค่าเดียว กระดานที่มีค่าอีกแบบจึงไปถึงกระดานที่เรียงเสร็จไม่ได้ ไม่ว่าจะเล่นนานแค่ไหน เพราะการไปถึงต้องอาศัยการเดินที่เปลี่ยนสิ่งที่ไม่มีการเดินไหนเปลี่ยนได้ กระดานของ Loyd คือแบบนั้นพอดี การสลับตัวเลขสองตัวทำให้ค่าพลิกไปหนึ่ง และสลับครั้งเดียวก็พอแล้ว

หน้านี้จัดการเรื่องนี้ยังไง

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

คำถามที่พบบ่อย

มีการส่งข้อมูลขึ้นเซิร์ฟเวอร์ไหม

ไม่ และไม่มีเซิร์ฟเวอร์ให้ส่งด้วย นโยบายความปลอดภัยของเว็บกำหนด connect-src ‘none’ เบราว์เซอร์จึงบล็อกการเรียกเครือข่ายจากหน้านี้ กระดานถูกสับในแท็บนี้ และสถิติเก็บอยู่ในเบราว์เซอร์บนเครื่องนี้

ที่บอกว่ากระดานครึ่งหนึ่งแก้ไม่ได้หมายความว่าอะไร

หมายความตามนั้นเลย จากการจัดเรียงตัวเลขสิบห้าตัวราวสองหมื่นล้านล้านแบบ ครึ่งหนึ่งพอดีเลื่อนกลับมาเรียงได้ อีกครึ่งหนึ่งเลื่อนยังไงก็ไม่ได้ และดูด้วยตาแยกไม่ออก กรณีที่โด่งดังคือปริศนาของ Sam Loyd เมื่อทศวรรษ 1880 ที่ขายโดยเรียงทุกตัวไว้ให้แล้วยกเว้น 14 กับ 15 ที่สลับกัน พร้อมตั้งรางวัลให้คนแก้ได้ ไม่เคยมีใครมารับรางวัลนั้นเลย

แล้วรู้ได้ยังไงว่ากระดานที่นี่แก้ได้

เพราะมันไม่ได้ถูกสับ มันถูกสร้างโดยเริ่มจากกระดานที่เรียงเสร็จแล้วเดินตาที่ถูกกฎแบบสุ่ม และอะไรที่ไปถึงได้ด้วยตาที่ถูกกฎก็ย่อมเดินกลับมาได้ด้วยตาที่ถูกกฎ วิธีนี้ถูกต้องโดยโครงสร้าง ไม่ใช่ถูกต้องเพราะมีตัวตรวจที่อาจเขียนกลับด้าน ส่วนกฎ parity ที่ใช้ตัดสินเรื่องนี้เราก็เขียนและทดสอบไว้ด้วย เผื่อกระดานมาจากที่อื่น

ทำไมคลิกตัวเดียวแล้วเลื่อนทั้งแถว

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

ปุ่มลูกศรทำอะไร

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

สถิติจำนวนตาน้อยที่สุดมีความหมายไหม

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

เล่นด้วยคีย์บอร์ดอย่างเดียวได้ไหม

ได้ กด Tab ไปที่กระดานแล้วใช้ปุ่มลูกศร แต่ละตัวเลขจะประกาศหมายเลข แถว และคอลัมน์ กระดานจึงอ่านได้ ไม่ใช่แค่มองเห็น