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

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

สารบัญ:

วีดีโอ: วิทยาการคำนวณ 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
อัลกอริทึม: ค่าใช้จ่ายด้านคอมพิวเตอร์และการติดตามพฤติกรรมตามตัวอักษร ->

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

สำรวจภาพพื้นผิวในภาพถ่ายอาหาร - หุ่น

สำรวจภาพพื้นผิวในภาพถ่ายอาหาร - หุ่น

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

ค้นหาภาพระยะใกล้และระยะใกล้ - Dummies

ค้นหาภาพระยะใกล้และระยะใกล้ - Dummies

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

แก้ไข Light Balance ของภาพ HDR ใน Photomatix - Dummies

แก้ไข Light Balance ของภาพ HDR ใน Photomatix - Dummies

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

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

วิธีเลือกเลนส์สำหรับการถ่ายภาพสัตว์ป่า - หุ่น

วิธีเลือกเลนส์สำหรับการถ่ายภาพสัตว์ป่า - หุ่น

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

วิธีการถ่ายภาพสัตว์ที่เคลื่อนไหว - มัมมี่

วิธีการถ่ายภาพสัตว์ที่เคลื่อนไหว - มัมมี่

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

วิธีการถ่ายภาพวัตถุที่มีแสงด้านหลัง - ม.อ.

วิธีการถ่ายภาพวัตถุที่มีแสงด้านหลัง - ม.อ.

เมื่อดวงอาทิตย์ส่องลงด้านหลังของวัตถุ เมื่อกล้องวัดวัตถุหรือวัตถุที่มีแสงด้านหลังมันมืดกว่าฉากอื่น ๆ คุณสามารถจัดการวัตถุย้อนแสงได้สองวิธี: ใช้การชดเชยแสงเพื่อเพิ่มแสง

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

เปลี่ยนขนาดภาพและความละเอียดใน Photoshop Elements 10 - Dummies

เปลี่ยนขนาดภาพและความละเอียดใน Photoshop Elements 10 - Dummies

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

การโคลนและการรักษาเครื่องมือใน Photoshop Elements 12 - Dummies

การโคลนและการรักษาเครื่องมือใน Photoshop Elements 12 - Dummies

เครื่องมือการทำสำเนาและการเยียวยาใน Photoshop Elements 12 ใช้สำหรับเอฟเฟ็กต์และเมื่อคุณต้องการทำความสะอาดภาพ การโคลนเกี่ยวข้องกับการทำซ้ำพื้นที่รูปภาพเพื่อสร้างเนื้อหารูปภาพที่ไม่ได้อยู่ในภาพต้นฉบับในขณะที่การรักษาหมายถึงการลบรอยขีดข่วนและความไม่สมบูรณ์ในภาพถ่าย เครื่องมือการโคลนเครื่องมือโคลนนิ่ง ...

โหมดผสมผสานใน Photoshop Elements 11 - Dummies

โหมดผสมผสานใน Photoshop Elements 11 - Dummies

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