ปัญหาง่าย ๆ อย่างหนึ่งที่คนสามารถใช้เวลาไม่นานในการแก้ปัญหา และมักถูกหยิบยกมาให้นักเรียนได้ฝึกเขียนโปรแกรม คือ ปัญหาแผ่นเลื่อนแปดแผ่น ตามที่เห็นในรูปครับ
ปัญหาข้อนี้ ถ้าเขียนโปรแกรมไม่ดี อาจต้องใช้เวลาหลายพันปี
ใช่แล้ว คุณอ่านไม่ผิดหรอกครับ อาจใช้เวลาหลายพันปีจริง ๆ แต่ด้วยวิธีการอันชาญฉลาดจะสามารถลดเวลาลงได้ จนเหลือไม่ถึง 10 วินาที!!!
แล้วทำไมผมถึงยกตัวอย่างปัญหาข้อนี้ขึ้นมา
เหตุผลก็เพราะว่า ผมไปอ่านเจอข่าวชิ้นหนึ่งที่มีคนเขียนถึงโปรแกรมชื่อ อี-พัซเซลอร์ (e-Puzzler) ซึ่งบีบีซีนิวส์เขียนถึงเรื่องนี้ไว้เมื่อเดือนมิถุนายน 2551 และไทมส์เขียนถึงเรื่องนี้ไว้อีกครั้งเมื่อเดือนเมษายนปีนี้เอง
โครงการอี-พัซเซลอร์นี้ถูกสร้างขึ้นมาเพื่อจัดการปัญหาในทำนองเดียวกันกับปัญหาแผ่นเลื่อนแปดแผ่นนี้ โดยโครงการนี้เกิดจากการต้องการกู้คืนเอกสารที่เป็นความลับของ กระทรวงความมั่นคงแห่งชาติของเยอรมนีตะวันออก ซึ่งก่อนการทลายกำแพงเบอร์ลินเมื่อ 21 ปีก่อนหน้านี้ เอกสารเหล่านี้ถูกสั่งให้ทำลาย ในตอนต้นเอกสารเหล่านี้ถูกทำลายด้วยเครื่องทำลายเอกสาร แต่ด้วยเหตุผล ใดไม่ปรากฏ แรงงานมนุษย์ถูกนำมาใช้ ฉีกทำลายเอกสารเหล่านี้ในเวลาต่อมา ซึ่ง ผลจากการสั่งให้ทำลายเอกสารในครั้งนั้น คือ เกิดเศษกระดาษขนาดเล็ก ๆ จำนวน มาก โดยเอกสารเหล่านี้ถูกเก็บไว้ในห้อง ใต้ดินของสำนักงานใหญ่ของกระทรวงความมั่นคงแห่งชาติในกรุงเบอร์ลิน ในถุงขยะจำนวน 16,000 ใบ ถ้าจะนับเป็นจำนวนเศษกระดาษชิ้นเล็ก ๆ ก็คือ ประมาณ 600 ล้านแผ่น
ในอีก 2 ปีต่อมาหลังการทลายกำแพงเบอร์ลิน เจ้าหน้าที่จำนวน 45 คนได้รับมอบหมายให้นำเศษกระดาษชิ้นเล็กชิ้นน้อยนี้มาเรียงต่อกันเพื่อกู้ข้อความความลับที่ถูกเก็บซ่อนไว้กลับมา ผลจากการทำงานหนักอย่างต่อเนื่องของเขาเหล่านี้ ในเดือนสิงหาคม 2552 มีการนำเอกสารมาเรียงต่อกันจากถุงเพียง 350 ใบเท่านั้นเอง ซึ่งถ้าเป็นแบบนี้ต่อไป ว่ากันว่า จะต้องใช้เวลาถึง 800 ปี ในการกู้คืนเอกสารทั้งหมด (คุณผู้อ่านสามารถหา รายละเอียดเพิ่มเติมได้จาก http://www. time.com/time/business/article/ 0,8599, 1983287,00. html)
โครงการอี-พัซเซลอร์จึงเกิดขึ้น เพื่อ นำเอกสารชิ้นเล็กชิ้นน้อยเหล่านี้มาสแกนเก็บเป็นไฟล์ด้วยเครื่องสแกนชนิดพิเศษ เพื่อ ให้สามารถแปลงภาพของกระดาษชิ้นเล็ก ๆ เหล่านี้ให้เป็นดิจิทัล จากนั้นจึงนำกระดาษ ชิ้นเล็กชิ้นน้อยในรูปแบบดิจิทัลเหล่านี้มา เรียงประกอบกันเพื่อกู้คืนต้นฉบับที่สมบูรณ์ ซึ่งจากการประมาณของเจ้าหน้าที่ผู้รับผิดชอบโครงการนี้ จะต้องรอไปจนถึงปี พ.ศ. 2556 จึงจะเรียงต่อกระดาษชิ้นเล็กชิ้นน้อยเหล่านี้ ต่อกันจนเสร็จ
เห็นไหมครับว่า กับหลายปัญหาบนโลกนี้ คอมพิวเตอร์ที่ว่าเร็ว ๆ ยังต้องใช้เวลาหลายปี
มนุษย์เองก็เช่นกันครับ ถึงแม้ปัญหาจะยากลำบาก แต่การเริ่มตะลุยแก้บนหนทางอันยาวไกล ก็ยังดีกว่า
“การนั่งมองปัญหา โดยไม่ทำอะไร”... จริงไหมครับ.
สุกรี สินธุภิญโญ
(sukree.s@chula.ac.th)
ภาควิชาวิศวกรรมคอมพิวเตอร์
คณะวิศวกรรมศาสตร์
จุฬาลงกรณ์มหาวิทยาลัย
ที่มาจาก เดลินิวส์
http://www.dailynews.co.th/newstartpage/index.cfm?
page=content&categoryID=582&contentID=69773