การออกแบบและการวิเคราะห์อัลกอริทึม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Advertisements

อัลกอริทึม ITS101 2/2011.
อสมการ 1.1 อสมการเชิงเส้นตัวแปรเดียว
แนวคิดในการเขียนโปรแกรม
Course Orientation Data Structure and Algorithms ( )
การศึกษาและประยุกต์ใช้ขั้นตอนวิธีเชิง วิวัฒน์แบบหลายจุดประสงค์บนคลังข้อมูล เจเมทัล Study of Evolutionary Algorithm in Multi- objective on Library jMetal.
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
การทำงานแบบเลือกทำ (Selection)
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
ขั้นตอนในการทำวิจัย.
การออกแบบการวิจัยการเขียนเค้าโครงการวิจัย
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Thesis รุ่น 1.
การศึกษารายกรณี.
การแก้ปัญหาด้วยคอมพิวเตอร์
โครงการ(Project) ระบบเฝ้าระวังเครื่องแม่ข่าย
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
บทที่ 5 คำสั่งแบบมีเงื่อนไข Conditional Statements
การจำลองความคิด
Surachai Wachirahatthapong
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
แนะนำรายวิชา STC0101 หลักการเขียนโปรแกรมคอมพิวเตอร์ และอัลกอริทึม
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
Polynomial and Rational functions
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
ขั้นตอนวิธี (Algorithm)
การเขียนโครงการ.
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
ความหมาย ปัญญาประดิษฐ์
โครงร่างการวิจัย (Research Proposal)
การเขียนโปรแกรมภาษาซี
ผังงาน (Flowchart) มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
การออกแบบฐานข้อมูลเชิงสัมพันธ์
การวิจัยดำเนินงาน Operations research
บทที่ 4 อัลกอริทึมแบบเรียงลำดับ (Sequential Algorithm)
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
การเขียนผังงาน (Flowchart)
ใบงานที่ 5 สัญลักษณ์ (Flowchart)
ตัวอย่างการเขียน บทที่ 1 บทนำ.
Flow Chart INT1103 Computer Programming
ที่ใช้ใน Object-Oriented Design
บทที่ 2 หลักการแก้ปัญหา
แบบสอบถาม (Questionnaires)
2.1 วิธีแก้ปัญหาด้วยคอมพิวเตอร์ (Computer problem solving methods)
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
Introduction : Principle of Programming
การเขียนโปรแกรมเบื้องต้น
การเขียนผังงาน (Flowchart)
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 4 analysis of algorithm efficiency.
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
หลักการแก้ปัญหา.
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
บทที่ 2 แนวคิดในการเขียนโปรแกรม. ขั้นตอนการ พัฒนาโปรแกรม ในการพัฒนาโปรแกรมมีขั้นตอนหลัก 5 ขั้นตอน ซึ่งไม่ว่าจะทำการพัฒนาโปรแกรม ครั้งใดจะต้องปฏิบัติตามขั้นตอนเหล่านี้
บทที่ 2 การวิเคราะห์อัลกอริทึม
การคิดวิเคราะห์เพื่อการพัฒนางาน
โครงสร้างข้อมูลและอังกอลิทึม
หลักการเขียนโปรแกรมเบื้องต้น
หลักการเขียนโครงการ.
Data Structure and Algorithms
ซอฟต์แวร์ (Softwarre)
ลักษณะโครงการวิจัยที่ดี
แบบทดสอบก่อนเรียน กลุ่มสาระการเรียนรู้วิทยาศาสตร์ ชั้นมัธยมศึกษาปีที่ 2 เรื่อง กระบวนการสืบเสาะแสวงหาความรู้ คะแนนเต็ม 10 คะแนน.
การเขียนผังงาน ผังงาน (Flowchart)
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
7.Discussion การอภิปราย นายวัชรกร เดชะบุญ รหัสนิสิต
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
วิทยาศาสตร์หมายถึงอะไร
เรียนรู้ร่วมกันเป็นทีม
ใบสำเนางานนำเสนอ:

การออกแบบและการวิเคราะห์อัลกอริทึม ง30220 การวิเคราะห์และออกแบบระบบ

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

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

อัลกอริทึมแบบละโมบ วิธีการแบบฮิวริสติกแบบหนึ่งเรียกว่าวิธีการแบบ ละโมบ (greedy algorithm) จะใช้หลักการเลือกคำตอบที่ดีที่สุดในขณะนั้นโดยไม่ สนผลกระทบที่ตามมา เมื่อทำจนครบอาจไม่ได้คำตอบที่ดีที่สุด

ข้อมูลนามธรรม ข้อมูลนามธรรม (Abstract Data Type : ADT) เป็นการจำลองโมเดลทางคณิตศาสตร์และมีการ รวบรวมหรือกำหนดวิธีการต่างๆไว้ในโมเดลนั้นด้วย

การเลือกอัลกอริทึม แนวคิดในการเลือกอัลกอริทึมจะมี 2 วิธีที่ขัดแย้งกัน คือ 1. ต้องการอัลกอริทึมที่เข้าใจง่าย 2. ต้องการอัลกอริทึมที่มีประสิทธิภาพสูงสุด ทั้งสองข้อจะขัดแย้งกันเอง เพราะอัลกอริทึมที่มี ประสิทธิภาพสูงจะเข้าใจยาก

การวัดความเร็วของโปรแกรม ความเร็วของโปรแกรมมักขึ้นอยู่กับปัจจัยดังต่อไปนี้ 1. input 2. ประสิทธิภาพของคำสั่ง 3. ความเร็วของคำสั่ง 4. อัลกอริทึมที่ใช้เขียนโปรแกรมนั้น

กฎในการวัดความเร็วของข้อมูล 1. ในการทำงานเกี่ยวกับกระบวนความ กำหนดค่า อ่านข้อมูล รับข้อมูล เขียนข้อมูล จะใช้เวลา O(1) 2. เวลาที่ใช้ในคำสั่งที่เรียงตามลำดับกันจะมีค่าเท่ากับ คำสั่งที่ใช้เวลามากที่สุด 3. เวลาของ loop จะมีค่าเท่ากับจำนวนความ ซับซ้อนของลูป ถ้าลูปเดียวจะมีค่าเท่ากับ O(n) สอง ลูปเป็น O(n2) เป็นต้น