1.3 การถ่ายทอดรายละเอียดของปัญหาและการแก้ปัญหา
หลังจากที่คัดแยกรายละเอียดที่จําเป็นออกจากรายละเอียดที่ไม่จําเป็นได้แล้ว ขั้นตอนต่อไปคือการ ถ่ายทอดรายละเอียดนี้ไปสู่ผู้ที่จะวิเคราะห์และแก้ปัญหา ซึ่งเป็นไปได้หลายรูปแบบ หากผู้แก้ปัญหาคือบุคคลอื่น การถ่ายทอดปัญหาสามารถทําได้โดยการอธิบายเป็นข้อความและอาจใช้แผนภาพประกอบ หากผู้แก้ปัญหา คือคอมพิวเตอร์ การถ่ายทอดวิธีการแก้ปัญหาก็จะอยู่ในรูปของภาษาโปรแกรม
ตัวอย่างที่ 1.4 ด่านผ่านทางของลุงสมบัติ
ลุงสมบัติต้องการหารายได้เสริมโดยการตัดถนนส่วนบุคคลที่อนุญาตให้ผู้ขับขี่ยานพาหนะผ่านไปมาได้ แต่ต้องจ่ายค่าผ่านทาง โดยเริ่มต้นที่คันละ 10 บาท บวกด้วยค่าธรรมเนียมที่คิดตามจํานวนล้อของยานพาหนะ ล้อละ 5 บาท (ตัวอย่างเช่น รถเก๋ง 4 ล้อจะต้องเสียค่าผ่านทาง 10 + 4x 5 = 30 บาท) ส่วนคนเดินเท้าสามารถ สัญจรผ่านไปมาได้โดยไม่ต้องเสียค่าผ่านทาง รูป 1.2 แสดงยานพาหนะและ ผู้สัญจรที่ผ่านด่านของลุงสมบัติ
ให้อธิบายสถานการณ์ใหม่ที่ประกอบไปด้วยรายละเอียดน้อยที่สุด โดยที่ยังมีข้อมูลเพียงพอที่จะ นําไปคํานวณว่าลุงสมบัติสามารถเก็บค่าผ่านทางได้เป็นจํานวนทั้งสิ้นกี่บาท
สิ่งที่โจทย์ต้องการทราบ คือ ค่าผ่านทางทั้งหมดที่ลุงสมบัติจะเก็บได้ ซึ่งคํานวณได้จากจํานวนยานพาหนะ และจํานวนล้อของยานพาหนะ ส่วนรายละเอียดอื่น ๆ เช่น สี ขนาด รูปทรง จํานวนคนเดินผ่านทาง สามารถละทิ้งได้เนื่องจากไม่มีส่วนเกี่ยวข้องกับการคํานวณ
สถานการณ์ข้างต้นจึงสามารถพิจารณาให้เหลือเพียงรายละเอียดที่จําเป็นได้ดังนี้
> ยานพาหนะ 1 ล้อ จํานวน 2 คัน
> ยานพาหนะ 2 ล้อ จํานวน 3 คัน
> ยานพาหนะ 3 ล้อ จํานวน 1 คัน ว ยานพาหนะ 4 ล้อ จํานวน 3 คัน
> ค่ายานพาหนะผ่านทางเริ่มต้น คันละ 10 บาท 2 ค่ายานพาหนะผ่านทางเพิ่มเติม ล้อละ 5 บาท
จะเห็นได้ว่ารายการข้างต้นให้ข้อมูลที่เพียงพอต่อการถ่ายทอดให้กับผู้ที่รับผิดชอบในการนําข้อมูลไปคํานวณ เป็นค่าผ่านทางทั้งหมดที่ลุงสมบัติสามารถรวบรวมได้ ซึ่งคํานวณได้ดังนี้
ค่าผ่านทางทั้งหมด = (จํานวนยานพาหนะทั้งหมด x 10) + (จํานวนล้อทั้งหมด X 5)
= (2 + 3 + 1 + 3) x 10 + (1 x 2) + (2 x 3) + (3 x 1) + (4 x 3) x 5
= 205 บาท
ตัวอย่างที่ 1.5 บ่อเลี้ยงปลาของคุณนายสมศรี
คุณนายสมศรีต้องการสร้างบ่อเลี้ยงปลาลงบนพื้นที่ว่างรูปสี่เหลี่ยมพื้นผ้าด้านหลังบ้าน พื้นที่ดังกล่าว มีขนาด 15 x 8 ตารางเมตร ปัจจุบันมีหญ้าคาขึ้นรกสูงประมาณ 100 เซนติเมตร จึงจําเป็นต้องจ้างคนงาน มาตัดหญ้าให้เรียบร้อย ซึ่งคิดค่าแรงตามพื้นที่ตารางเมตรละ 10 บาท บ่อน้ําที่ต้องการสร้างเป็นรูปวงกลม ขนาดเส้นผ่านศูนย์กลาง 5 เมตร มีความลึก 1 เมตร ปูด้วยกระเบื้องลายหินอ่อนทั้งพื้นสระและผนัง ด้านในของสระ กระเบื้องที่นํามาปูมีขนาดแผ่นละ 3 x 3 เซนติเมตร เมื่อสร้างบ่อเสร็จแล้วจะเติมน้ําจนเต็ม และซื้อลูกปลาสีเหลือง สีแดง และสีเขียว มาเลี้ยงเอาไว้อย่างละ 5 ตัว ซึ่งที่ตลาดนัดมีขายตัวละ 40 บาท ตัวอย่างบ่อเลี้ยงปลาของคุณนายสมศรีดังรูป 1.3
รูป 1.3 ตัวอย่างบ่อเลี้ยงปลาของคุณนายสมศรี
คุณนายสมศรีต้องการทราบว่า
> หากต้องตัดหญ้าเต็มพื้นที่ จะต้องจ่ายค่าแรงให้ช่างตัดหญ้าทั้งสิ้นกี่บาท
> ต้องซื้อกระเบื้องปูพื้นและผนังบ่อเลี้ยงปลาทั้งสิ้นกี่แผ่น
การตอบคําถามแต่ละข้อนั้นใช้รายละเอียดที่อธิบายไว้แตกต่างกันดังตาราง 1.2
ตาราง 1.2 แนวคิดเชิงนามธรรมที่ใช้หาคําตอบบ่อเลี้ยงปลาตามเงื่อนไขกําหนด
ตัวอย่างที่ 1.6 เดินกลับบ้านหลังเลิกเรียน
รูป 1.4 แผนภาพแสดงที่ตั้งสถานที่ต่าง ๆ
> เส้นทางเดินจากโรงเรียนกลับบ้านที่ใช้ระยะทางสั้นที่สุด
> เส้นทางเดินจากโรงเรียนกลับบ้านที่สั้นที่สุดโดยแวะร้านขายขนม
> เส้นทางเดินจากโรงเรียนกลับบ้านที่สั้นที่สุดโดยแวะร้านขายขนม และเลือกเดินเฉพาะถนนที่มีร่มเงาเท่านั้น
รูป 1.5 แสดงแผนภาพเชิงนามธรรมที่ให้ข้อมูลเพียงพอที่จะตอบคําถามได้ทั้งหมด สัญลักษณ์รูปวงรี แทนสถานที่ เส้นตรงแทนถนนที่เชื่อมระหว่างสถานที่ ตัวเลขกํากับเส้นแทนระยะทางของถนน และเส้นสีเขียว แทนถนนที่มีร่มเงา
รูป 1.5 แผนภาพเชิงนามธรรมของที่ตั้งสถานที่ต่าง ๆ
ตาราง 1.3 แนวคิดเชิงนามธรรมที่ใช้หาเส้นทางเดินตามเงื่อนไขที่กําหนด
หมายเหตุ ลูกศรสีน้ําเงินเป็นเส้นทางของคําตอบ
การนําแนวคิดเชิงนามธรรมมาประยุกต์ใช้กับการแก้ปัญหา จะช่วยให้การออกแบบขั้นตอนวิธีการแก้ปัญหา มีประสิทธิภาพและประสิทธิผล ไม่ว่าจะเป็นการแก้ปัญหาด้วยบุคคลหรือคอมพิวเตอร์ก็ตาม อีกทั้งยังเป็นการ ช่วยให้มองเห็นรูปแบบของปัญหาที่คล้ายคลึงกัน ทําให้สามารถนําขั้นตอนวิธีการแก้ปัญหาที่มีอยู่แล้วมาประยุกต์ ใช้กับปัญหาในชีวิตจริงได้ ลองพิจารณาตัวอย่างต่อไปนี้
ตัวอย่างที่ 1.7 สะพานเจ็ดแห่งของโคนิกสเบิร์ก
เมืองโคนิกสเบิร์ก ประเทศรัสเซีย มีแม่น้ําพรีเกิลผ่ากลางทําให้แบ่งเมืองออกเป็นสองฝั่ง แม่น้ํานี้ ยังแตกแขนงออกเป็นสองสาย ทําให้เกิดเกาะขึ้นสองเกาะระหว่างพื้นที่เมืองทั้งสองฟาก ชาวเมืองได้สร้างสะพาน ขึ้นเจ็ดแห่งเพื่อเชื่อมพื้นที่เมืองทั้งหมดเข้าด้วยกันดังรูป 1.6
รูป 1.6 ภาพวาดของเมืองโคนิกสเบิร์กและสะพานทั้งเจ็ดแห่ง
ต่อมาสะพานทั้งเจ็ดแห่งนี้ได้กลายเป็นปริศนา ที่น่าท้าทายเมื่อหลายคนพยายามที่จะเดินข้ามสะพาน ให้ครบทั้งหมดโดยจะไม่ข้ามสะพานใด ๆ ซ้ําเป็นครั้ง ที่สอง แต่ก็ไม่มีใครทําได้สําเร็จ นักเรียนลองพยายาม หาเส้นทางการข้ามสะพานด้วยตนเองว่าทําได้หรือไม่
หากนักเรียนยังไม่ทราบคําตอบ ให้ลองศึกษาตัวอย่างต่อไปนี้
ตัวอย่างที่ 1.8 ลากเส้นโดยไม่ยกปากกา
ลองพยายามวาดรูปด้านล่างให้ครบทุกเส้นโดยไม่ยกปากกาและไม่มีการลากเส้นทับ เส้นเดิม นักเรียนสามารถหาวิธีการวาดได้หรือไม่
ตัวอย่างที่ 1.7 และ 1.8 ดูเป็นปัญหาที่แตกต่างกันมาก แต่ในความเป็นจริงแล้ว วิธีการแก้ปัญหาหนึ่ง สามารถนํามาใช้แก้ปัญหาอีกปัญหาหนึ่งได้ ซึ่งทําได้โดยการนําแนวคิดเชิงนามธรรมมาใช้มองปัญหาของการ เดินข้ามสะพานเจ็ดแห่ง ในที่นี้ให้นําตําแหน่งสะพาน เมืองที่ถูกแบ่งเป็นสองฝั่ง และเกาะกลางแม่น้ําทั้งสองเกาะ มาสร้างเป็นรูปแบบที่ตัดรายละเอียดที่ไม่จําเป็นออก ดังรูป 1.7
รูป 1.7 ภาพเชิงนามธรรมของปัญหาสะพานเมืองโคนิกสเบิร์ก
ภาพทางด้านขวาของรูป 1.7 นั้น แม้ว่าจะมีการคัดแยกรายละเอียดของเมืองและสิ่งก่อสร้างที่ไม่จําเป็น ออกไปแล้ว จะเห็นว่าขนาดของเกาะและพื้นที่เมืองนั้นไม่ได้เป็นรายละเอียดที่เกี่ยวข้องกับปัญหา จึงสามารถ แทนพื้นที่เกาะและเมืองแต่ละบริเวณด้วยจุดหนึ่งจุด และให้สะพานแทนด้วยเส้นที่เชื่อมโยงจุดเหล่านี้เข้าด้วยกัน ดังรูป 1.8
รูป 1.8 รูปวาดเชิงนามธรมของสะพานเมืองโคนิกสเบิร์ก
เมื่อเปรียบเทียบการเดินข้ามสะพานให้ครบทั้งเจ็ดแห่งโดยไม่เดินข้ามสะพานเดิมซ้ําจึงเทียบได้กับการลากเส้น สีดําทั้งเจ็ดให้ครบ โดยไม่ลากเส้นเดิมที่ลากไปแล้ว ดังนั้นหากหาวิธีการลากเส้นให้ครบโดยไม่ซ้ําได้ ก็จะได้ วิธีการเดินข้ามสะพานทั้งเจ็ดโดยไม่ซ้ําเช่นเดียวกัน นั่นคือวิธีการหาคําตอบของตัวอย่างที่ 1.8 ก็จะสามารถ นํามาใช้หาคําตอบของตัวอย่างที่ 1.7 ได้
นักคณิตศาสตร์ชื่อเลออนฮาร์ด ออยเลอร์ (Leonhard Euler) เป็นหนึ่งในผู้นําแนวคิดเชิง นามธรรมลักษณะนี้มาแก้ปัญหาการเดินข้ามสะพาน ทั้งเจ็ดแห่ง ในปี ค.ศ. 1736 โดยอาศัยรูปแบบที่ เรียบง่ายนี้มาพิสูจน์ได้ว่าไม่มีเส้นทางใดที่จะเดิน ข้ามสะพานได้ตามเงื่อนไขที่กําหนด
สรุปท้ายบท
การนําแนวคิดเชิงนามธรรมไปใช้ในการแก้ปัญหา สิ่งที่สําคัญที่สุดคือการคัดแยกคุณลักษณะ ที่สําคัญออกจากรายละเอียดที่ไม่จําเป็น เพื่อให้ได้ข้อมูลที่จําเป็น เพียงพอ และกระชับในการถ่ายทอด องค์ประกอบของปัญหา ทําให้การแก้ปัญหามีประสิทธิภาพมากขึ้น ช่วยให้ การออกแบบขั้นตอนวิธีในการ หาคําตอบทําได้ง่ายขึ้น อีกทั้งยังเพิ่มโอกาสที่จะพบว่าปัญหาที่กําลังแก้ไขเป็นสิ่งเดียวกันกับปัญหาเดิม ที่เคยแก้ไขแล้ว ส่งผลให้สามารถนําวิธีการที่มีอยู่แล้วมาประยุกต์ใช้งานได้โดยไม่ต้องออกแบบวิธีการ แก้ปัญหาใหม่ตั้งแต่ต้น