แนะนำตัวเอง และ บทที่ 1 รู้จักอัลกอริทึม


แนะนำตัวเอง

สวัดดีครับ ผมนายณฐนท์ ถือคุณ ชื่อเล่น โอเว่น เกิดเมื่อวันที่ 15 เมษายน พ.ศ.2545 กรุ็ปเลือด B ปัจจุบันศึกษาอยู่ที่โรงเรียนสุรวิทยาคาร ชั้น ม.4/9 อาหารที่ชอบ:ข้าวผัด สีที่ชอบ:สีดำ งานอดิเรก:เล่นเกมส์ ฟังเพลง

บทที่ 1 รู้จักอัลกอริทึม


อัลกอริทึม คืออะไร

ขั้นตอนวิธี หรือ อัลกอริทึม (อังกฤษ: algorithm) หมายถึง ลำดับขั้นตอนในการแก้ปัญหา หรือกระบวนการแก้ปัญหาที่สามารถอธิบายออกมาเป็นขั้นตอนที่ชัดเจน เมื่อนำเข้าอะไรแล้วจะต้องได้ผลลัพธ์เช่นไร กระบวนการนี้จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำอีก จนกระทั่งเสร็จสิ้นการทำงาน ขั้นตอนวิธีมีบทบาทสำคัญเพราะนอกจากจะมีขั้นตอนวิธีในการคำนวณทางคณิตศาสตร์แล้ว ยังมีขั้นตอนวิธีอื่นๆ ที่สามารถพบได้ในชีวิตประจำวัน เช่น การเข้าเว็บไซต์เพื่อซื้อของออนไลน์ จะเห็นว่ามีการแนะนำสินค้าที่ตรงตามความต้องการ , การออกแบบวงจรไฟฟ้า , การทำงานเครื่องจักรกล , หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง

อัลควาริชมี (al-Khwarizmi) คือใคร

อัลควาริชมี (al-Khwarizmi) คือใคร อัลควาริชมี (al-Khwarizmi) หรือ มูฮัมหมัด อิบนุ มูซา (Muhammad Ibn Musa) นักคณิตศาสตร์ นักดาราศาสตร์ชาวเปอร์เซีย เป็นผู้คิดค้นวิชาพีชคณิต (Algebra) และอัลกอริทึม (algorithm) ซึ่งหนังสือของเขาได้รับการแปลเป็นภาษาละตินในคริสตศวรรษที่ 12 และช่วยเชื่อมโยงคณิตศาสตร์ของฮินดู อาหรับและกรีกเข้าด้วยกัน และเป็นพื้นฐานการพัฒนาคณิตศาสตร์ในยุโรปในเวลาต่อมา ผลงานของอัลควาริชมี (al-Khwarizmi) ได้แก่ 

1) เขียนตำราชื่อ กิตาบ ซูรอต อัล อัรฎ (Kitab Surat al Aeb) เป็นตำราเกี่ยวกับแผนที่เล่มแรกในคริศตวรรษที่ 9 

2) เขียนตำราพีชคณิตที่ชื่อ หิซาบ อัล ญับร วะ อัล มุกอบะละฮ (Hisab al Jabr we al Muqabalah) หรือ (Algebra) ที่หมายถึง การคืนค่า (Restoring) ซึ่งเป็นกระบวนการที่ทำให้ค่าทั้งสองข้างของสมการมีค่าเท่ากัน เป็นต้น

คุณสมบัติของอัลกอริทึม

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

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

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

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

4. กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา : กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหากล่าวคือ กลุ่มของขั้นตอนต่าง ๆ ที่กำหนดไว้จะต้องใช้งานทั่วไปได้สำหรับทุก ๆ กรณี และจะต้องมีผลลัพธ์ที่ถูกต้องตรงตามที่กำหนดในปัญหานั้น ๆ ถึงแม้บางครั้งอาจจะได้ผลลัพธ์ที่ไม่ตรงกับปัญหากำหน
ดไว้ จึงถือได้ว่ากระบวนการนั้นเป็นอัลกอริทึมที่ไม่ดีนำไปใช้ไม่ได้

5. อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน : คุณสมบัติอีกข้อหนึ่งที่สำคัญคืออัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน เนื่องจากเครื่องคอมพิวเตอร์ไม่สามารถประมวลผลไปเรื่อย ๆ (infinite) โดยต้องมีจุดสุดท้ายของการทำงานเช่น การบวกเลขจำนวนเต็มครั้งละหนึ่งค่าไปเรื่อย ๆ ในที่นี่จะไม่เป็นอัลกอริทึม เนื่องจากไม่ได้ บอกจุดสุดท้ายของตัวเลขจำนวนเต็ม ดังนั้นจึงเป็นขั้นตอนการทำงานที่ไม่มีจุดสิ้นสุด

จุดประสงค์การเขียนอัลกอริทึม

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

    บทที่ 2 การแยกส่วนประกอบและการหารูปแบบ


    การแยกส่วนประกอบและการย่อยปัญหา (Decomposition)

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

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

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

    การแยกส่วนประกอบนั้น ไม่ได้ทำเฉพาะกับวัตถุหรือสิ่งของเท่านั้น แต่ยังสามารถทำได้กับกระบวนการและขั้นตอนวิธีด้วย เช่น การเดินทางมาโรงเรียน อาจเดินทางด้วยการเดินเท้า การเดินทางด้วยรถจักรยาน หรือการเดินทางด้วยรถจักรยานยนต์

    การหารูปแบบ (Pattern recognition)

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

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

    ตัวอย่างวิธีการแก้ปัญหาโดยการหารูปแบบ

    สถานการณ์ 

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

    การหารูปแบบเพื่อแก้ปัญหา 

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

    แต่ถ้าไม่ใช่ ก็ต้องค้นหาในกองสมุดการบ้านที่เหลือต่อไปอีก 99 เล่ม และถ้ายังค้นหาสมุดการบ้านของตนเองไม่พบ ก็ต้องค้นหาในกองสมุดการบ้านที่เหลือต่อไปอีก 98 เล่ม ไปเรื่อย ๆ


    บทที่ 3 การคิดเชิงนามธรรม


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

    จากภาพข้างต้นมีข้อมูลเพียงพอในการใช้วิเคราะห์การทำงานของระบบรอก และตัดรายละเอียดที่ไม่จำเป็นในการพิจารณาออกทั้งหมด เรียกภาพหรือแผนภาพต่างๆ ที่เป็นผลลัพธ์ของการคิดเชิงนามธรรมว่า “แบบจำลอง (Model)” 

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

    อ้างอิง 

    บทที่ 1 https://www.krui3.com/content/...

    บทที่ 2 https://www.krui3.com/content/...

    บทที่ 3 https://www.krui3.com/content/...

    หมายเลขบันทึก: 659888เขียนเมื่อ 14 กุมภาพันธ์ 2019 10:55 น. ()แก้ไขเมื่อ 14 กุมภาพันธ์ 2019 11:43 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-ไม่ดัดแปลงจำนวนที่อ่านจำนวนที่อ่าน:


    ความเห็น (0)

    ไม่มีความเห็น

    พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
    ClassStart
    ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
    ทั้งเว็บทั้งแอปใช้งานฟรี
    ClassStart Books
    โครงการหนังสือจากคลาสสตาร์ท