บ้าน การเงินส่วนบุคคล อัลกอริทึม: ค่าใช้จ่ายด้านคอมพิวเตอร์และการติดตามพฤติกรรมตามตัวอักษร ->

อัลกอริทึม: ค่าใช้จ่ายด้านคอมพิวเตอร์และการติดตามพฤติกรรมตามตัวอักษร ->

สารบัญ:

วีดีโอ: วิทยาการคำนวณ EP8 อัลกอริทึม Algoritms(Computational thinking) ตอน อัลกอริทึมคืออะไร Kids Coding 2024

วีดีโอ: วิทยาการคำนวณ EP8 อัลกอริทึม Algoritms(Computational thinking) ตอน อัลกอริทึมคืออะไร Kids Coding 2024
Anonim

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

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

พื้นที่ปัญหา

พื้นที่ปัญหา

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

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

ปัญหาอินสแตนซ์

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

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

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

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

การค้นหาแบบกว้าง ๆ:

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

  • การค้นหาความชัดลึก: เทคนิคนี้เริ่มต้นที่โหนดรากและสำรวจชุดโหนดย่อยที่เชื่อมต่อกันจนกว่าจะถึงโหนดใบ ดำเนินการสาขาโดยสาขาจนกว่าจะพบทางออก ข้อเสียของอัลกอริทึมนี้คือไม่สามารถตรวจสอบโหนดที่ซ้ำกันได้ซึ่งหมายความว่าอาจข้ามเส้นทางโหนดเดียวกันมากกว่าหนึ่งครั้ง ในความเป็นจริงอัลกอริทึมนี้อาจไม่พบทางออกเลยซึ่งหมายความว่าคุณต้องกำหนดจุดตัดเพื่อไม่ให้เกิดอัลกอริธึมจากการค้นหาแบบอนันต์ ข้อดีของวิธีนี้ก็คือประสิทธิภาพของหน่วยความจำ
  • การค้นหาแบบสองทิศทาง: เทคนิคนี้ค้นหาพร้อมกันจากโหนดรากและโหนดปลายทางจนกระทั่งทั้งสองเส้นทางการค้นหาตรงกลาง ข้อได้เปรียบของแนวทางนี้ก็คือเวลาที่มีประสิทธิภาพเพราะพบว่าโซลูชันนี้เร็วกว่าโซลูชันอื่น ๆ ของ Brute-Force นอกจากนี้ยังใช้หน่วยความจำได้อย่างมีประสิทธิภาพกว่าวิธีอื่น ๆ และมักจะหาทางออก ข้อเสียเปรียบหลักคือความซับซ้อนของการใช้งานแปลเป็นวัฏจักรการพัฒนาที่ยาวขึ้น
  • การใช้ heuristic และค่าใช้จ่าย สำหรับบางคนคำว่า

heuristic

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

  • การค้นหา A *: อัลกอริทึมจะติดตามค่าโหนดเมื่อสำรวจโดยใช้สมการดังนี้:
  • f (n) = g n) + h (n) โดยที่ n คือตัวระบุโหนด
    • g (
    • n) คือค่าใช้จ่ายในการเข้าถึงโหนดจนถึงปัจจุบัน h (
    • n) คือค่าใช้จ่ายโดยประมาณที่จะบรรลุเป้าหมายจากโหนด f (
    • n) คือค่าใช้จ่ายโดยประมาณของเส้นทางจาก n ไปจนถึงเป้าหมาย แนวคิดคือการค้นหาเส้นทางที่มีแนวโน้มมากที่สุดก่อนและหลีกเลี่ยงเส้นทางที่มีราคาแพง การค้นหาที่ดีที่สุดครั้งแรกที่โลภ:

อัลกอริทึมเลือกเส้นทางที่ใกล้เคียงกับเป้าหมายโดยใช้สมการดังนี้:

  • f (n) = h
อัลกอริทึม: ค่าใช้จ่ายด้านคอมพิวเตอร์และการติดตามพฤติกรรมตามตัวอักษร ->

ตัวเลือกของบรรณาธิการ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

ใช้สำเนียงกระดาษในการจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัดหนังสือ

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

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

ใช้ขาตั้งกล้องเพื่อลดการสั่นของกล้อง - มัมมี่

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

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

การใช้ภาพถ่ายและผ้าลินินเพื่อจัดเตรียมอาหารและการถ่ายภาพอาหาร - มัมมี่

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

ตัวเลือกของบรรณาธิการ

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

การเพิ่มข้อมูลลงในภาพเดียวบน Canon EOS 6D ของคุณ - หุ่น

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

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

การปรับช่องมองภาพบนกล้อง Canon EOS 70D - Dummies

ใน Canon EOS 70D, ใกล้ด้านขวาบนของสายยางที่ล้อมรอบช่องมองภาพเป็นปุ่มหมุน (ดูรูปต่อไปนี้) ที่ช่วยให้คุณปรับโฟกัสของช่องมองภาพให้ตรงกับสายตาของคุณ ปุ่มหมุนนี้เป็นที่รู้จักอย่างเป็นทางการว่าเป็นตัวควบคุมการปรับสายตา หากไม่ใช้ขั้นตอนนี้ฉากที่ปรากฏ ...

ตัวเลือกของบรรณาธิการ

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

สิ่งที่ควรค้นหาในซอฟต์แวร์การถ่ายภาพ HDR - ดัมมี่

องค์ประกอบที่สำคัญที่สุดของการถ่ายภาพแบบไดนามิกสูงคือ ไม่แปลกใจที่แอพพลิเคชันซอฟต์แวร์ HDR นี่คือสิ่งที่คุณใช้ในการเปลี่ยนภาพถ่ายที่ถ่ายคร่อมของคุณ (และการเปิดรับแสงดิบแบบดิบเพียงครั้งเดียวสำหรับ pseudo-HDR) ในภาพช่วงไดนามิคสูงและแผนที่โทนเพื่อสร้างภาพที่มีความอิ่มตัวและดึงดูดความสนใจดังที่แสดงในภาพนี้ ใช้เวลาลอง ...

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

เมื่อต้องการแปลง HDR เป็นขาวดำ - ม้วน

หนึ่งตัวเลือกเพื่อสร้างสีดำและสีขาวสูง ภาพช่วงไดนามิก (HDR) คือการแปลงภาพถ่ายสีของคุณให้เป็นขาวดำก่อนใช้ภาพเหล่านี้เพื่อสร้างภาพ HDR คุณมีสองตัวเลือกเพื่อเลือกว่านี่คือทิศทางที่คุณต้องการหรือไม่: แปลงระหว่าง Conversion ดิบ แปลงระหว่างการทำแผนที่โทน หากเลือก ...

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

สิ่งที่ควรนำมาสู่การถ่ายภาพอาหารนอกสถานที่ - มัมมี่

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