อัลกอริทึมของลูกบิด

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

เห็นบางคนก็นั่งหาหนทางบิดของตัวเองไป แต่บางคนก็เล่นเปิด YouTube เพื่อหาคลิปวีดีโอสอนการบิดกันเป็นเรื่องเป็นราวไปเลย!!!

โดยส่วนตัวแล้วผมไม่เคยเล่นลูกบิดได้สำเร็จเป็นเรื่องเป็นราวเลยนะ แม้แต่หน้าเดียวผมก็ไม่เคยเรียงสีครบเลย ได้ยินว่ามันมีสูตรด้วย ประมาณว่าถ้าจำสูตรได้นะ หลับตาบิดก็ยังได้เลย (ว่าเข้าไปนั่น)

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

ปรากฎว่าหาอัลกอริทึมไม่พบครับ แต่พบตัวโปรแกรมและต้นฉบับโปรแกรมเลย โดยตัวโปรแกรมเข้าไปดูได้ที่นี่ครับ เขียนด้วยภาษา Java นะ กลไกการทำงานเป็นแบบ Java Applet คิดว่าถ้าใครรู้ AWT คงจะอ่านเข้าใจ และสามารถแยกส่วนที่เป็นกราฟิก ออกจากส่วนที่เป็นอัลกอริทึมในการค้นหาวิธีการบิดลูกบิดได้

ที่เห็นว่าของเขาเข้าท่าก็คือ นอกจากเขาจะเขียนโปรแกรมให้เป็นแบบกราฟิกแล้ว เขายังเปิดให้เราดาวน์โหลด source code ไปอ่านดูเพื่อทำความเข้าใจได้ด้วย

แต่ถ้าให้ดีที่สุดอ่ะนะ ถ้าสามารถทำ Reverse engineering ไอ้เจ้า source code ของโปรแกรม ให้กลายเป็น Technical Specification เพื่ออธิบายอัลกอริทึมในการบิดลูกบิด ให้คนทั่วไปเข้าใจได้โดยง่าย มันก็คงดีไม่น้อยเลยเน้อะ?

เพราะผมคิดว่าอัลกอริทึมในการบิดลูกบิด มันน่าจะเอาไปประยุกต์ใช้กับเรื่องอื่นได้!!!

[tags]อัลกอริทึม, ลูกบิด, คอมพิวเตอร์, ซอฟต์แวร์[/tags]

Related Posts

33 thoughts on “อัลกอริทึมของลูกบิด

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

    แต่ถ้าเป็นตอนนี้คงเอามาเขียนเป็นโปรแกรมคอมพิวเตอร์ แล้วล่ะ

  2. วันนั้นดูรายการโทรทัศน์ เห็นบิดกันอย่างเทพเลยพี่น้อง แป๊บเดียวเสร็จเลย (เขาแข่งขันกัน) บางคนมันบิดแค่มือเดียวเอง และที่สุดยอดกว่านั้นก็มี มันใช้เท้าสองเท้านี่แหล่ะ คีบไปบิดมา เสร็จอีกเช่นกันในเวลาอันน้อยนิด

    เอากะมันดิ เอ…ผมไม่รู้ว่าที่เขามาเล่น ๆ กันนี่เพราะเห็นในโทรทัศน์เมื่อไม่นานนี่หรือเปล่าหนอ….. สงสัยอะ

  3. ผมเพิ่งซื้อมาเล่นเมื่อวันอาทิตย์ที่แล้วนี้เอง

    คิดถึงตอนมัธยมเลยซื้อมาเล่น

    ตอนนี้ได้สีเดียวเองครับ

  4. ผมนั่งเล่นเป็นวันเลย
    มันจะมีอยู่ 6 จุด ของตรงกลางแต่ละหน้าที่มันไม่บิดตาม แล้วก็ค่อย ๆ ไล่จากตรงมุม
    อะไรทำนองเนี้ย

  5. มันมีสูตรครับคุณ RedHooligan

    มาแนวเดียวกับผมเลยคุณ pete ฮา ^-^

    ตอนนั้นเพื่อนคุณ moniguna ใช้ 80486dx เป็นตัวประมวลผลป่ะครับ ถ้าใช่ล่ะก็ ไม่น่าแปลกใจเลยครับ เพราะมันก็ช้าได้ประมาณนั้นจริง ๆ

    เออ จริงด้วยแฮะคุณ discovery mam เสียงมันพ้องกันจริง ๆ ด้วย

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

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

    อ้า คุณข่าก็มีสูตรในการเล่นกับเขาเหมือนกัน สูตรเฉพาะ ^-^

    ผมตามเข้าไปดูในคลิบวีดีโอที่คุณ Audy ให้ดูแล้วนะ เห็นแล้วแบบว่า อยากจะบ้า โหย ต้องทำทั้งโมดูลวิเคราะห์ลูกบิดผ่านกล้อง, ต้องทำโมดูลวิเคราะห์การบิด, แถมต้องทำโมดูลควบคุมหุ่นยนต์ให้บิดลูกบิดด้วย … จะเก่งกันไปถึงไหนฟระเนี่ย????

  6. ผมว่าในคลิบที่คุณ Audy เอามาอ่ะ เจ๋งนะ เป็นหุ่น Lego ไม่ใช่หรอครับ ชิ้นส่วนคล้ายๆ

  7. ผมยังงงหัวแทบแตกอยู่นะครับ ว่าคิดได้ยังไง

    ถ้าเขียนเป็นโปรแกรมได้แบบนี้ ก็แสดงว่ามีสมการในการแก้ปัญหา

  8. กำลังงงเหมือนกันว่าเขากลับมาฮิตกันใหม่เหรอ เพราะเห็นที่ทำงานลูกค้าที่ฉันไปนั่งประจำช่วงนี้ เขาก็เอามาเล่นกัน

    สำหรับตัวเองแล้วไม่เคยบิดได้สำเร็จ เลยไม่สนใจจะทำ เพราะทำแล้วพาลอยากแกะมาออกมาให้หมดเลย เลิกบิดซะ

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

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

  10. สำหรับผมจะทำไปทีละแถวครับ แถวแรกกับแถวสองไม่ยากเท่าไหร่ บิดไปบิดมาก็พอได้ แต่แถว 3 นี่แหละครับที่มันยาก ต้องมาคิดสูตรแล้วก็จดไว้ว่าใช้สูตรนี้แล้วจะได้ผลแบบไหนอะไรแบบนี้ (แต่คนฉลาดๆความจำดีๆอาจไม่ต้องจดก็ได้มั้งครับไม่รู้เขา – -“) ก็คิดอยู่นานเหมือนกันนะครับกว่าจะได้ ได้แล้วก็แอบภูมิใจเหมือนกันนะครับ 55+

    ผมว่าถ้าจะทำจริงๆใครก็ทำได้แหละครับ มันอยู่ที่ความอดทนแล้วก็อยากทำมากกว่า ของผมนั่งงมอยู่เป็นอาทิตย์ T_T

  11. เห่อมาพักใหญ่ คนหมดแรงเห่อ

    เสาร์ที่ผ่านมา เพิ่งได้ของแท้มา ทำให้เกิดอาการอยากเล่นอีก ประกอบกับ ของแท้ มันจะหมุนได้ง่ายกว่า

    Solutions มีหลายแบบล่ะมั้ง รู้สึกนะ วิธีแก้แบบในเว็บ Rubiks เลย ก็จะดูเข้าท่า แต่ว่า งงๆ เล็กน้อย เพราะว่า มันไม่ interactive

    แต่เว็บนี้ เพิ่งเจอมาเมื่อก่อนเที่ยง ก็เข้าท่าดี เป็น Java อย่างที่คุณพี่ไท้บอกนี่ล่ะ ค่อยๆ ดูไปทีละหน่อย ก็พอเข้าใจบ้าง

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

  12. เห็นน้องที่ office กำลังบ้าอยู่ หลายคนเหมือนกันครับ
    เห็นนั่ง search ทำตามสูตรกัน มันจะมีประโยชน์อันใดเนี้ย

    ผมว่ามันไม่ต้องดูสูตรก็ทำได้นะ ทำไมต้องดูสูตรด้วย

    อันนี้ไม่ใช่งาน copy then develope ซะหน่อย
    มันก็แค่ logic ธรรมดาๆ ไม่ใช่หรือครับ

  13. ผมศึกษาเรื่องนี้จริงๆจังๆอยู่พักหนึ่ง

    สรุปได้ว่า มันไม่มีสูตรตายตัวขนาดที่หลับตาบิดแล้วได้หรอกครับ

    แต่มันจะมีสูตรว่าถ้าเจอลักษณะแบบนี้จะทำไงต่อ เจอแบบนี้แก้ยังไง ไปเรื่อยๆจนเสร็จทั้งหมด

    ส่วนวิธีทำ มันมีวิธีทำ หลายแบบมากๆครับ

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

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

    นอกจากนี้ก็ยังมีคนคิดค้นอีกหลากหลายวิธี ซึ่งมันก็มีมาก แต่ไม่ค่อยนิยม เพราะมันต้องแลกกันระหว่าง ความเร็ว กับ ความซับซ้อน

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

  14. อิอิก๊าป
    ผมน่ะก๊าปอิอิ
    อย่าจะถามอะก๊าปไอลูกนี้มันเรียกว่าอะไรเหไรอก๊าปอิอิ
    ซื่อมาเล่นยังไม่รู้เลยก๊าปอิอิ

  15. มาคอมเม้นช้าไปรึป่าวไน่ใจนะคะ -*-
    พอดี นู๋ก็ชอบเล่น ลูกบิดนี่เหมือนกันล่ะค่ะ
    ช่วงสมัย ม.ปลาย เห็นเพื่อนๆเห่อเล่นกัน เลยซื้อมาเล่นบ้าง
    แล้วก็บังเอิญมีเพื่อนที่เล่นได้อยู่อ่ะค่ะ เลยให้เค้าสอนเล่น

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

    ตอบคุณ โอก๊าป นะคะ

    ภาษาไทยที่เรียกทั่วไป เราเรียก ลูกบิด อ่ะค่ะ
    ภาษาอังกฤษ เรียกว่า Rubik’s Cube
    อันนี้อาจารย์สอนภาษาต่างประเทศบอกตอนเห็นเอามาเล่นกันในคาบเรียน
    เพื่อนในห้องเค้า เรียก fantastic cube อ่ะค่ะ สงสัยอาจารย์กลัวลูกศิษย์จาไปเรียกให้คนอื่นฟังแล้วขายหน้า-*-

  16. วิธีของผมก็เริ่มจากมุมเหมือนกัน ผมคิดเองหมดเลย ไม่เคยค้นหาสูตรเลยภูมิใจครับ กว่าผมจะคิดวิธีการทั้งหมดเสร็จก็เกือบ 2 สัปดาห์แน่ะ(แต่จริงลองทำมั่วๆ วันเดียวมันก็แก้ได้แล้ว)

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

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

  17. นี้เยย thailandcube.com เพียบ มีเทคนิค เยอะ ผมก้อมาเสริมรูปแบบวิธีจากเว็บนี้แหละ แต่ไม่ค่อยได้เล่น เร็วสุดก้อแค่ นาทีครึ่ง ในเว็บ สิบกว่าวินาที ก้อมี เทพ ทั้งนั้น

  18. ยังไม่เคยจะทำได้ครบทุกด้วยเลยครับ
    ทำได้เป็นแถวๆไปได้แค่สองแถวเหลือแถวเดียวทำไม่ได้สักที
    มันมีสูตรการเล่นให้จำเป็นหลักๆไปนะครับ
    ผมไม่เคยเห็นมันจะเป็นกฏตายตัวสักที

  19. “มีคนบอกว่าลูกบิดก็คือพีชคณิต สามารถเอาสมการทางคณิตศาสตร์มาอธิบายได้” ผมก็ไม่รู้ว่ามันแปลว่าอะไร ใครรู้ ใครเข้าใจช่วยมาบอกทีครับ

  20. ลูกบิดที่เป็นลายการ์ตูนจะเล่นยากกว่าลูกบิดที่เป็นสีหรือเปล่า หรือว่าวิธีเล่นเหมือนกัน ใครรู้บ้างค่ะ ตอบด้วยนะ

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *