นาย ณัฐพงษ์ สุดก้องไพร

47

Transcript of นาย ณัฐพงษ์ สุดก้องไพร

หนวยการเรยนรท 1 เทคโนโลยการสอสาร

การเรยนรท 1วตถประสงคของการจดการขอมล หนวยขอมลและเขตขอมลคย .

วตถประสงคในการจดการขอมล1. การเกบขอมล ตองเกบขอมลเพอใหสามารถน ากลบมาใชไดในภายหลง

2. การจดขอมล ตองจดขอมลใหอยในรปแบบทสามารถเรยกใชงานไดอยางมประสทธภาพ

3. การปรบปรงขอมล ตองปรบขอมลใหมความถกตองสมบรณอยเสมอ

4. การปกปองขอมล ตองปกปองขอมลจากการท าลาย ลกลอบใช หรอแกไขโดยมชอบ รวมทงปกปองขอมลจากอบตเหตทอาจเกดจากวนาศภย หรอความบกพรองภายในระบบคอมพวเตอรหนวยขอมล (DATA UNITS)

หนวยของขอมลคอมพวเตอรสามารถจดเรยงเปนล าดบชนเลกไปขนาดใหญไดดงน

1.บต (bit)เลขฐาน 2 หนงหลกซงมคาเปน 0 หรอ 1

2.ตวอกษร (charecter)กลมของบตสามารถแทนคาตวอกษรได ในชดอกขระ ASCII 1 ไบต (

8 บต) แทนตวอกษรตว 1 ตว เชน 01000001 แทนตวอกษร A ในปจจบนมชดอกขระทใชเลขฐานสอง 16 บต แทนคาตวอกษร คอ รหส Unicode เชน 0000 0000 1110 0110 แทนอกษรตว ?

3.เขตขอมล (Field)ซงประกอบดวยกลมตวอกษรทแทนขอเทจจรง

4.ระเบยน (Record)ระเบยน คอโครงสรางขอมลทแทนตววตถชนหนง เชน ระเบยนขอมล

นกศกษาเลขทะเบยน 431999999

5.แฟม (file)ตารางทเปนกลมของระเบยนทมโครงสรางเดยวกน เชน ตารางการ

สงซอสนคาของลกคา

6.ฐานขอมล (Database)กลมของตาราง (และความสมพนธ)

การเรยงล าดบชนของหนวยขอมลดงนเขตขอมลคย (Key field) คอเขตขอมลทใชส าหรบระบระเบยนขอมลอยางเฉพาะเจาะจงขอมลทอยในเขตขอมลนจะไมซ ากบระเบยนอน ๆ เชน แฟมขอมลพนกงานอาจใชเลขทพนกงานเปนตวระบระเบยบ

การเรยนรท 2 ชนดขอมลและประเภทของแฟมขอมลชนดของขอมล

ขอมลทตองการจดเกบนนอาจจะมรปแบบไดหลายอยาง รปแบบส าคญ ๆ ไดแก

3.1 ขอมลแบบรปแบบ (formatted data) เปนขอมลทรวมอกขระซงอาจหมายถงตวอกษร ตวเลข ซงเปนรปแบบทแนนอน ในแตละระเบยน ทกระเบยนทอยในแฟมขอมลจะมรปแบบทเหมอนกนหมด ขอมลทเกบนนอาจเกบในรปของรหสโดยเมออานขอมลออกมาอาจจะตองน ารหสนนมาตความหมายอกครง เชน แฟมขอมลประวตนกศกษา

3.2 ขอมลแบบขอความ (text)เปนขอมลทเปนอกขระในแบบขอความ ซงอาจหมายถงตวอกษร ตวเลข สมการฯ แตไมรวมภาพตาง ๆ น ามารวมกนโดยไมมรปแบบทแนนอนในแตละระเบยน เชน ระบบการจดเกบขอความตาง ๆ ลกษณะการจดเกบแบบนจะไมตองน าขอมลทเกบมาตความหมายอก ความหมายจะถกก าหนดแลวในขอความ

3.3 ขอมลแบบภาพลกษณ (images) เปนขอมลทเปนภาพ ซงอาจเปนภาพกราฟทถกสรางขนจากขอมลแบบรปแบบรปภาพ หรอภาพวาด คอมพวเตอรสามารถเกบภาพและจดสงภาพเหลานไปยงคอมพวเตอรอนได เหมอนกบการสงขอความ โดยคอมพวเตอรจะท าการแปลงภาพเหลาน ซงจะท าใหคอมพวเตอรสามารถทจะปรบขยายภาพและเคลอนยายภาพเหลานนไดเหมอนกบขอมลแบบขอความ

3.4 ขอมลแบบเสยง (audio) เปนขอมลทเปนเสยง ลกษณะของการจดเกบกจะเหมอนกบการจดเกบขอมลแบบภาพ คอ คอมพวเตอรจะท าการแปลงเสยงเหลานใหคอมพวเตอรสามารถน าไปเกบได ตวอยางไดแก การตรวจคลนหวใจ จะเกบเสยงเตนของหวใจ

3.5 ขอมลแบบภาพและเสยง (video) เปนขอมลทเปนเสยงและรปภาพ ทถกจดเกบไวดวยกน เปนการผสมผสานรปภาพและเสยงเขาดวยกน ลกษณะของการจดเกบขอมล คอมพวเตอรจะท าการแปลงเสยงและรปภาพน เชนเดยวกบขอมลแบบเสยงและขอมลแบบภาพลกษณะซงจะน ามารวมเกบไวในแฟมขอมลเดยวกน

ประเภทของแฟมขอมลประเภทของแฟมขอมลจ าแนกตามลกษณะของการใชงานไดดงน

6.1แฟมขอมลหลก (master file)แฟมขอมลหลกเปนแฟมขอมลทบรรจขอมลพนฐานทจ าเปนส าหรบระบบงาน และเปนขอมลหลกทเกบไวใชประโยชนขอมลเฉพาะเรองไมมรายการเปลยนแปลงในชวงปจจบน มสภาพคอนขางคงทไมเปลยนแปลงหรอเคลอนไหวบอยแตจะถกเปลยนแปลงเมอมการสนสดของขอมล เปนขอมลทส าคญทเกบไวใชประโยชน ตวอยาง เชน แฟมขอมลหลกของนกศกษาจะแสดงรายละเอยดของนกศกษา ซงม ชอนามสกล ทอย ผลการศกษา แฟมขอมลหลกของลกคาในแตละระเบยนของแฟมขอมลนจะแสดงรายละเอยดของลกคา เชน ชอสกล ทอย หรอ ประเภทของลกคา

6.2 แฟมขอมลรายการเปลยนแปลง (transaction file)แฟมขอมลรายการเปลยนแปลงเปนแฟมขอมลทประกอบดวยระเบยนขอมลทมการเคลอนไหว ซงจะถกรวบรวมเปนแฟมขอมลรายการเปลยนแปลงทเกดขนในแตละงวดในสวนทเกยวของกบขอมลนน แฟมขอมลรายการเปลยนแปลงนจะน าไปปรบรายการในแฟมขอมลหลก ใหไดยอดปจจบน ตวอยางเชน แฟมขอมลลงทะเบยนเรยนของนกศกษา

6.3 แฟมขอมลตาราง (table file)แฟมขอมลตารางเปนแฟมขอมลทมคาคงท ซงประกอบดวยตารางทเปนขอมลหรอชดของขอมลทมความเกยวของกนและถกจดใหอยรวมกนอยางมระเบยบ โดยแฟมขอมลตารางนจะถกใชในการประมวลผลกบแฟมขอมลอนเปนประจ าอยเสมอ เชน ตารางอตราภาษ ตารางราคาสนคาตวอยางเชน ตารางราคาสนคาของบรษทขายอะไหลเครองคอมพวเตอรดงน

รหสสนคา รายชอสนคา ราคา51 จอภาพ 4,50052 แปนพมพ 1,20053 แรม 4 M 4,50054 แรม 8 M 7,00055 กระดาษตอเนอง 50056 แฟมคอมพวเตอร 200

ในแฟมขอมลนจะประกอบดวยระเบยนแฟมขอมลตารางของสนคาทมฟลดตางๆ ไดแก รหสสนคา รายชอ สนคา และราคาสนคาตอหนวย แฟมขอมลตารางรายการสนคา จะใชรวมกบแฟมขอมลหลายแฟมขอมลในระบบสนคา ไดแก แฟมขอมลคลงสนคา (inventory master file) แฟมขอมลใบสงซอของลกคา (customer order master file) และแฟมขอมลรายการสตคาของฝายผลต (production master file) มขอควรสงเกตวาแฟมขอมลตาราง แฟมขอมลรายการเปลยนแปลง และแฟมขอมลหลก ทง 3 แฟม จะมฟลดทเกยวกบตวสนคารวมกน คอ ฟลดรหสสนคา (product code) ฟลดรวมกนนจะเปนตวเชองโยงระหวางแฟมขอมลตารางกบแฟมขอมลอน ๆ ทงหมดทตองการจะใชคาของฟดลรายชอสนคา (product description) และราคาสนคา (product price) จากแฟมขอมลตาราง

การจดแฟมขอมลแบบนจะท าใหประหยดเนอทในอปกรณเกบขอมลของแฟมขอมลหลก กลาวคอในแฟมขอมลหลกไมตองม 2 ฟลด คอ ฟลดรายการสนคาและฟลดราคาสนคา มแตเพยงฟลดรหสสนคากเพยงพอแลว เมอใดทตองการใชฟลดรายการสนคาในการแสดงผลกอานคาออกมาจากแฟมขอมลตารางได นอกจากนนยงเปนการลดความซ าซอนของขอมลและเมอผใชระบบตองการเปลยนแปลงรายการสนคาหรอราคาสนคากจะเปลยนในแฟมขอมลตารางทเดยว โดยไมตองไปเปลยนแปลงในแฟมขอมลอน

6.4 แฟมขอมลเรยงล าดบ (sort file)แฟมขอมลเรยงล าดบเปนการจดเรยงระเบยนทจะบรรจในแฟมขอมลนนใหม โดยเรยงตามล าดบคาของฟลดขอมลหรอคาของขอมลคาใดคาหนงในระเบยนนนกได เชน จดเรยงล าดบตาม วนเดอนป ตามล าดบตวอกขระเรยงล าดบจากมากไปหานอยหรอจากนอยไปหามาก เปนตน

แฟมขอมลรายงาน (report file)เปนแฟมขอมลทถกจดเรยงระเบยบตามรปแบบของรายงานทตองการแลวจดเกบไวในรปของแฟมขอมล ตวอยาง เชน แฟมขอมลรายงานควบคมการปรบเปลยนขอมลทเกดขนในขณะปฏบตงานแตละวน

การเรยนรท 3 ลกษณะการประมวลผลขอมลขอมลและการประมวลผลขอมล

ขอมล คอขอเทจจรงทเราสนใจ สวน สารสนเทศ คอขอมลทผานการประมวลผลดวยวธการทเหมาะสมถกตอง จนไดรปแบบผลลพธ ตรงความตองการของผใชขอมลทจะน ามาประมวลผลใหเปนสารสนเทศ จะตองมคณสมบตพนฐานดงตอไปน ความถกตอง หากมการเกบรวบรวมขอมลและขอมลเหลานนเชอถอไมได จะท าใหเกดผลเสยหายมาก ผใชจะไมกลาอางองหรอน าเอาไปใชประโยชน ซงเปนเหตใหการตดสนใจของผบรหารขาดความแมนย า และมโอกาสผดพลาดได โครงสรางขอมลทออกแบบตองค านงถงกรรมวธการด าเนนงานเพอใหไดความถกตองแมนย ามากทสด โดยปกตความผดพลาดของการประมวลผลสวนใหญ มาจากขอมลทไมมความถกตองซงมสาเหตมาจากคนหรอเครองจกร การออกแบบระบบจงตองค านงถงในเรองน ความรวดเรวและเปนปจจบน การไดมาของขอมลจ าเปนตองใหทนตอความตองการของผใช มการตอบสนองตอผใชไดเรว ตความหมายสารสนเทศไดทนตอเหตการณหรอความตองการ มการออกแบบระบบการเรยกคนและรายงาน ตามความตองการของผใช ความสมบรณ ความสมบรณของสารสนเทศขนกบการรวบรวมและวธการทางปฏบต ในการด าเนนการจดท าสารสนเทศ ตองส ารวจและสอบถามความตองการของผใช เพอใหไดขอมลทมความสมบรณเหมาะสม

ความชดเจนกะทดรด การจดเกบขอมลตองใชพนทในการจดเกบขอมลมาก จงจ าเปนตองออกแบบโครงสรางขอมลใหกะทดรด สอความหมายได มการใชรหสหรอยอขอมลใหเหมาะสม เพอทจะจดเกบเขาไวในระบบคอมพวเตอร ความสอดคลอง ความตองการเปนเรองส าคญ ดงนนจงตองมการส ารวจเพอหาความตองการของหนวยงานและองคการ ดสภาพการใชขอมล ความลกหรอความกวางของขอบเขตขอมล ทสอดคลองกบความตองการ

ในการน าขอมลไปใชประโยชน หรอการท าขอมลใหเปนสารสนเทศ ทจะน าไปใชประโยชนได จ าเปนตองมการประมวลผลขอมลกอน การประมวลผลขอมล เปนกระบวนการทมกระบวนการยอยหลายอยาง ประกอบกนคอการรวบรวมขอมลการแยกแยะการตรวจสอบความถกตองการค านวณการจดล าดบหรอการเรยงล าดบการรายงานผลการสอสารขอมลหรอการแจกจายขอมลนนการประมวลผลขอมล จงเปนกจกรรมทมความส าคญ เพราะขอมลทมอย รอบๆ ตวเรามเปนจ านวนมากในการใชงานจงตองมการประมวลผล เพอใหเกดประโยชน กจกรรมหลกของการใหไดมาซงสารสนเทศ จงประกอบดวยกจกรรมการ เกบรวบรวมขอมล ซงตองมการตรวจสอบ ความถกตองดวย กจกรรมการประมวลผลซงอาจจะเปนการแบงแยกขอมล การจดเรยงขอมล การค านวณ และกจกรรมการเกบรกษาขอมลซงอาจตอง มการท าส าเนา ท ารายงาน เพอแจกจาย

วธการประมวลผล ม 2 ลกษณะ คอ

(1) การประมวลผลแบบเชอมตรง (online processing)หมายถง การท างานในขณะทขอมลวงไปบนสายสญญาณเชอมตอจากเครองปลายทาง (terminal) ไปยงฐานขอมลของเครองหลกทใชในการประมวลผลการประมวลผลแบบเชอมตรงจงเปนการประมวลผลโดยทนททนใด เชน การจองตวเครองบน การซอสนคาในหางสรรพสนคา การฝากถอนเงนเอทเอม การประมวลผลแบบเชอมตรงจงเปนวธทใชกนมากวธหนง

(2) การประมวลผลแบบกลม (batch processing)หมายถง การประมวลผลในเรองทสนใจเปนครงๆ เชน เมอตองการทราบขอมลผลส ารวจความนยมของประชาชนตอการเลอกตงสมาชกสภาผแทน หรอทเรยกวา โพล (poll) กมการส ารวจขอมลเพอเกบรวบรวมขอมล เมอเกบรวบรวมขอมลไดแลวกน ามาปอนเขาเครองคอมพวเตอร แลวน าขอมล นนมาประมวลผลตามโปรแกรมทไดก าหนดไว เพอรายงานหรอสรปผลหาค าตอบ กรณการประมวลผลแบบกลมจงกระท าในลกษณะเปนครงๆ เพอใหไดผลลพธโดยจะตองมการรวบรวมขอมลไวกอน

การเรยนรท 4 แฟมโปรแกรมและแฟมขอมล

แฟมโปรแกรมและแฟมขอมลถาจะแบงประเภทของแฟมในคอมพวเตอรอกนยหนง อาจแบงเปนแฟม

โปรแกรม และ แฟมขอมล แฟมโปรแกรมประกอบดวยชดค าสงตางๆ ทท างานอยางใดอยางหนงเชน โปรแกรมประมวลค า (word processor) ใชส าหรบพมพเอกสารและจดรปแบบขอความ และโปรแกรมบบอดขอมล (compression utility) ใชส าหรบบบอดขอมลทมขนาดเลกลง เปนตน

แฟมทจดเกบหรอบนทกโดยโปรแกรมเหลาน จดเปนประเภทแฟมขอมล ซงตามปกตจะมสวนขยาย (file extension) เปนตวบอกประเภทเชน เอกสารทสรางดวยโปรแกรมประมวลค า Microsoft Word จะมสวนขยายหลกเปน .doc สวนแฟมขอมลทสรางดวยโปรแกรมบบอดขอมล Winzip จะมสวนขยายเปน .zip เปนตน ทกลาววาสวนขยายหลกหมายความวา โปรแกรมหนงอาจสรางแฟมขอมลทมสวนขยายไดหลายหยาง ตวอยางโปรแกรมลกษณะนไดแก Microsoft Word2000 ซงสามารถสรางแฟมขอมลทมสวนขยายเปน .doc .htm .html .rtf .txt .mcw และ .wps แต จะเปนสวนขยายหลกเปน .doc

แฟมขอมลบางประเภทสรางและเปดดวยโปรแกรมใดโปรแกรมหนงโดยเฉพาะ เชนแฟมทสรางดวยโปรแกรมแตงภาพ Adobe Photoshop ซงมสวนขยายเปน .psdในขณะทแฟมขอมลบางประเภทเปนประเภททมรปแบบมาตรฐานทสามารถสรางและเปดไดโดยโปรแกรมตางๆ เชน ประเภทแฟม Bitmap ( BMP) Graphics Interchange Format (GIF) และ Joint Photographic Experts Group (JPEG) สามารถสรางและเปดแกไขไดโดย Windows PaintBrush , Adobe Photoshop หรอ Microsoft Photo Editor กได แฟมทมรปแบบมาตรฐานเหลานมประโยชนมากในการแลกเปลยนขอมลระหวางโปรแกรมตางๆ

แฟมโปรคแกรมทประกอบดวยชดค าสงทท างานได ไดแกประเภท .exe , .com , .bat , .dll

หนวยการเรยนรท 2 โครงสรางขอมล

การเรยนรท 5 ชนดของโครงสรางขอมล

ประเภทของโครงสรางขอมลแบงออกเปน 2 ประเภท คอ

- โครงสรางขอมลทางกายภาพ (Physical Data Structure)

เปนโครงสรางขอมลทใชโดยทวไปในภาษาคอมพวเตอร แบงออกเปน 2 ประเภท

1.ขอมลเบองตน (Primitive Data Types)- จ านวนเตม (Integer)- จ านวนทศนยม (Floating point)- ขอมลบลน (Boolean)- จ านวนจรง (Real)- ขอมลอกขระ (Character)

2.ขอมลโครงสราง (Structure Data Types)- แถวล าดบ (Array)- ระเบยนขอมล (Record)- แฟมขอมล (File)

- โครงสรางขอมลทางตรรกะ (Logical Data Structure)

เปนโครงสรางขอมลทเกดจากการจนตนาการของผใช เพอใชในการแกปญหาในโปรแกรมทสรางขน แบงเปน 2 ประเภท1. โครงสรางขอมลแบบเชงเสน (Linear Data Structure)

ความสมพนธของขอมลจะเรยงตอเนองกน- ลสต (List)- สแตก (Stack)- คว (Queue)- สตรง (String)

2. โครงสรางขอมลแบบไมเชงเสน (Non-Linear Data Structure)ขอมลแตละตวสามารถมความสมพนธกบขอมลอนไดหลายตว

- ทร (Tree)- กราฟ (Graph)

3. การด าเนนการกบโครงสรางขอมล(Data Structure Operation)วธด าเนนการกบขอมลทนยมใชกนมากม 4 แบบ คอ

1. การเขาถงเรคคอรด (Traversing)2. การคนหา (Searching)3. การเพม (Inserting)4. การลบ (Deleting)ยงมการจดการกบขอมลอก 2 อยาง คอ1. การเรยงขอมล (Sorting)2. การรวมขอมล (Merging)4. การแทนทขอมลในหนวยความจ า

มอย 2 วธ คอการแทนทขอมลแบบสแตตก (Static Memory Representation)

เปน การแทนทขอมลทมการจองเนอทแบบคงทแนนอน ตองมการก าหนดขนาดกอนการใชงาน แตมขอเสย คอ ไมสามารถปรบขนาดใหเพมขนหรอลดลงได โครงสรางขอมลทมการแทนทหนวยความจ าหลกแบบสแตตก คอแถวล าดบ (Array)การแทนทขอมลแบบไดนามก (Dynamic Memory Representation)

เปน การแทนทขอมลทไมตองจองเนอท ขนาดของเนอทยดหยนได ตามความตองการของผใช โครงสรางขอมลทมการแทนทหนวยความจ าหลกแบบไดนามก คอ ตวชหรอพอยเตอร (Pointer)

5. ลกษณะของโปรแกรมแบบทมโครงสรางทด5.1 โครงสรางโปรแกรมแบบค าสงตามล าดบ

เปน โครงสรางพนฐานทประกอบดวยค าสงทวๆไป เปนโครงสรางทมลกษณะการท างานแบบเรยงล าดบ คอ จะท างานตงแตตนจนจบโดยไมมการขามขนตอนใดๆ5.2 โครงสรางโปรแกรมแบบมการตดสนใจ (Decision)

ม การตรวจสอบเงอนไข เพอตดสนใจวาจะท าการประมวลผลสวนใด โดยผลลพธของเงอนไขจะมคาของความเปนไปไดอย 2 ลกษณะ คอ จรงและเทจ เทานน5.3 โครงสรางโปรแกรมแบบเปนวงจรปด (Loop)

มลกษณะการท างานซ าๆกน อยในสวนใดสวนหนงของโปรแกรม6. อลกอรทม (Algorithm)

อลกอรทม คอ วธการแกปญหาตางๆ อยางมระบบ มล าดบขนตอนตงแตตนจนไดผลลพธ สามารถเขยนไดหลายแบบ การเลอกใชตองเลอกใชขนตอนวธทเหมาะสม กระชบ และรดกมอลกอรทมทนยมใชกนมาก ไดแก1. อลกอรทมแบบแตกยอย (Divide and conquer)2. อลกอรทมแบบเคลอนท (Dynamic Programming)3. อลกอรทมแบบทางเลอก (Greedy Algorithm)

การเขยนผงงาน (Flowchart)Flow Chart เปนการอธบายขนตอนการประมวลผลโดยใชสญลกษณในการ

แสดงความหมาย การใชกรอบรปสญลกษณทสอความหมาย อธบายขนตอนการท างานการเขยนรหสเทยม (Pseudo Code)

Pseudo Code การอธบายขนตอนการประมวลผลโดยใชวลภาษาองกฤษในการแสดงอธบาย ใชค าสนๆ กะทดรด อธบายขนตอนการท างานของโปรแกรม

พฒนาการของภาษาโปรแกรม- ภาษาเครอง (Machine Language)- ภาษาแอสเซมบล (Assembly Language)- ภาษาระดบสง (High Level Language)- ภาษายคท 4 (Fourth Generation Language หรอ 4GL)การบ ารงรกษาโปรแกรม (Program Maintenance)

หมาย ถง การแกไขขอผดพลาดทพบระหวางการทดสอบหรอระหวางการใชงาน ซงอาจเปนการเปลยนขอมลทตองการใชใหมการปรบปรงขอมล ใหทนเหตการณอยเสมอ การปรบเปลยนโครงสรางบนหนาจอ เปนตน

การเรยนรท 6 ลกษณะของขอมล

ลกษณะของขอมลทดขอมลทดควรเปนขอมลทมคณลกษณะดงตอไปน• ขอมลทมความถกตองและเชอถอได (accuracy) ขอมลจะมความถกตองและเชอถไดมากนอยเพยงใดนน ขนกบวธการทใชในการควบคมขอมลน าเขา และการควบคมการประมวลผลการควบคมขอมลน าเขาเปนการกระท าเพอใหเกดความมนใจวาขอมลน าเขามความถกตองเชอถอได เพราะถาขอมลน าเขาไมมความถกตองแลวถงแมจะใชวธการวเคราะหและประมวลผลขอมลทดเพยงใด ผลลพธทไดกจะไมมความถกตอง หรอน าไปใชไมได ขอมลน าเขาจะตองเปนขอมลทผานการตรวจสอบวาถกตองแลว ขอมลบางอยางอาจตองแปลงใหอยในรปแบบทเครองคอมพวเตอรสามารถเขาใจไดอยางถกตอง ซงอาจตองพมพขอมลมาตรวจเชคดวยมอกอน การประมวลผลถงแมวาจะมการตรวจสอบขอมลน าเขาแลวกตาม กอาจท าใหไดขอมลทผดพลาดได เชน เกดจากการเขยนโปรแกรมหรอใชสตรค านวณผดพลาดได ดงนนจงควรก าหนดวธการควบคมการประมวลผลซงไดแก การตรวจเชคยอดรวมทไดจากการประมวลผลแตละครง หรอการตรวจสอบผลลพธทไดจากการประมวลผลดวยเครองคอมพวเตอรกบขอมลสมมตทมการค านวณดวยวามความถกตองตรงกนหรอไม• ขอมลตรงตามความตองการของผใช (relevancy) ไดแก การเกบเฉพาะขอมลทผใชตองการเทานน ไมควร เกบขอมลอน ๆ ทไมจ าเปนหรอไมเกยวของกบการใชงาน เพราะจะท าใหเสยเวลาและเสยเนอทในหนวยเกบขอมล แตทงนขอมลทเกบจะตองมความครบถวนสมบรณดวย• ขอมลมความทนสมย (timeliness) ขอมลทดนนนอกจากจะเปนขอมลทมความถกตองเชอถอไดแลวจะ ตองเปนขอมลททนสมย ทงนเพอใหผใชสามารถน าเอาผลลพธทไดไปใชไดทนเวลา นนคอจะตองเกบขอมลไดรวดเรวเพอทนความตองการของผใช

การเรยนรท 7 การเรยงล าดบขอมลการเรยงล าดบขอมลการเรยงล าดบขอมลเปนเรองส าคญมากเรองหนงเนองจากท าใหผตองการใชขอมลเชน ผบรหาร,ผปฏบตงาน (พนกงาน) สามารถท าความเขาใจกบขอมลหรอท าการคนหาขอมลไดงายและเรวยงขนตามทตองการประเภทของการจดการจดเรยงขอมลในระบบคอมพวเตอร แบงเปน 2 ประเภทคอ

1. Internal Sorting คอ การเรยงล าดบขอมลโดยเกบไวในหนวยความจ าหลก และขอมลของสมาชกจะถกเกบ อยในโครงสรางอะเรย

2. External Sorting คอ การเรยงล าดบขอมลโดยเกบไวในหนวยความจ าส ารอง ขอมลสวนใหญมจ านวนมาก จงไม สามารถเกบไวในหนวยความจ าหลกไดทงหมดในหวขอการเรยงล าดบ นจะอธบายวธการเรยงล าดบขอมลในแตละวธโดยสรปอยางยอ ๆ เพอใชเปนแนวทางในการศกษาใน ระดบชนสงขนไป คงจะไมไดกลาวถงวธการขนตอนในการจดเรยงอยางละเอยดแตจะพยายามชใหเหนถงจดเดนตาง ๆ ของการจด เรยงล าดบในแตละวธวธหรอชนดของการเรยงล าดบ มวธตาง ๆ ทมกจะไดพบโดยทวไปดงน1. SELECTION SORT2. INSERTION SORT / LINEAR INSERTION SORT3. BUBBLE SORT4. SHELL SORT5. BUCKET SORT /RADIX SORT6. QUICK SORT7. HEAP SORT / TREE SORT

1. การเรยงล าดบแบบเลอก (Selection Sort)เปนวธทงายทสดในการเรยงล าดบขอมล โดยเรมจาก

- หาต าแหนงของขอมลทมคานอยทสดแลวสลบคาของต าแหนงขอมลนนกบคาขอมลในต าแหนง A(1) จะได A(1) มคานอยทสด

- หาต าแหนงของขอมลทมคานอยทสดในกลม A(2), A(3),....,A(n) แลวท ากบสลบคาขอมลในต าแหนง A(2) อยางนเรอยไปจน กระทงไมเกน N-1 รอบ กจะไดขอมลทเรยงล าดบจากนอยไปมาก2. การเรยงล าดบแบบแทรก (Insertion Sort)หลกการ คอ

1. อานขอมลทตองการเรยงล าดบเขามาทละตวโดยเรมจากตวแรกกอน และหาต าแหนงของขอมลทควรจะอย

2. หาทวางส าหรบขอ 1.3. Insert หรอแทรกขอมล ณ ต าแหนงในขอ 2.

3. การเรยงล าดบแบบบบเบล (Bubble Sort)วธการเรยงล าดบแบบบบเบลจะท าการเปรยบเทยบขอมลทอยในต าแหนงทตดกน ถาขอมลไมอยใล าดบทถกตอง กจะท าการสลบต าแหนงของขอมลทเปรยบเทยบโดยทการเปรยบเทยบจะเรมทต าแหนงท 1 กบต าแหนงท 2 กอน ตอไปนเทยบกบ ต าแหนงท 2 และต าแหนงท 3 จนถงต าแหนงทจดเรยงแลว จากนนจะกลบไปเรมตนการเปรยบเทยบอกจนกระทงจดเรยง เรยบรอยหมดทกต าแหนงในวธแบบ Bubble Sort คาในการเปรยบเทยบทนอยทสดหรอมากทสด จะลอยขนขางบน เหมอนกบฟองอากาศ

4. การรยงล าดบแบบเชลล(shell sort)เปนรปแบบของการ sort ขอมลโดยการน าเอาขอดของการคนหาขอมลแบบ แทรกและแบบเลอกและหลกเลยง การเกดปญหาของทงแบบแทรกและแบบเลอก ซงการเปรยบเทยบขอมลในการเรยงล าดบแบบแทรก โดยการเปรยบเทยบ ขอมลทอยไกลออกไป ซงจะท าใหเราสามารถเรยงดบขอมลในต าแหนงทอยไกลออกไปหลงจากนนกจะเรยงล าดบขอมล ทอยใกลกนเขามา(กวาในครงแรก) และความหางของขอมลทเปรยบเทยบกจะนอยลงจนเหลอ 1วธนคดคนเมอป ค.ศ.1959 โดย ด.แอล.เชลล(D.L.SHELL) เรยกวา การเรยงล าดบแบบเชลล(shell sort)5. การเรยงล าดบโดยการใชฐานเลข(radix sort)การเรยงล าดบแบบนการเรยงล าดบ จะอยบนพนฐานของการแทนต าแหนงของตวเลขทตองการน ามาเรยงล าดบ จะเรมจากตวทมเลขนยส าคญสงทสด ด าเนนจนกระทงถงตวเลขทมเลขนยส าคญต าสด การเรยงล าดบในวธนการเรยงล าดบ จะเรยงจากตวเลขทมนยส าคญนอยทสดกอน เมอตวเลขทงหมดถกน ามาเรยงล าดบตามเลขนยส าคญทสงขน ตวเลขทเหมอนกน ในต าแหนงนน จะตางกนในต าแหนงของเลขนยส าคญทนอยกวา การประมวลผลแบบนจะประมวลผลกบขอมลทงหมดได โดยทไมตองมการแบงขอมลแบบกลมยอย

6. การเรยงล าดบอยางเรว(quick sort)ถกสรางและตงชอโดย ซ.เอ.อาร.ฮารเวร (C.A.R HOARE) การเรยงล าดบอยางเรว จะแบงขอมลเปนสองกลม โดยใน การจดเรยงจะเลอกขอมลตวใดตวหนงออกมา ซงจะเปนตวทแบงขอมลออกเปนสองกลม โดยกลมแรกจะตองมขอมลนอยกวา ตวแบง และกลมทมขอมลนอยกวาตวแบง และอกกลมจะมขอมลทมากกวาตวแบง ซงเราเรยกตวแบงวา ตวหลก(pivot) ในการเลอกตวหลกจะมอสระในการเลอกขอมลตวใดกไดทเราตองการ การเรยงล าดบแบบเรวเหมาะกบขอมลทมการเรยกซ า

7.การเรยงล าดบฮพ(heapsort)เปนการเรยงล าดบทอยบนพนฐานบนพนฐานของโครงสรางแบบไบนาร จะด าเนนการ 2 ขนตอน คอ

1. การจดขอมลในอะเรยใหสอดคลองกบความตองการของฮพ2. การขจดหนอการเคลอนยายขอมลในต าแหนงสงสดหรอต าแหนงยอดของของฮพออกไปและสนบสนนขอมลขอมล ตวอนไปแทนต าแหนงนน

การเรยนรท 8 การคนหาขอมลการคนหาขอมล (searching)

การคนหาค าตอบ หรอการคนหาขอมลในทางคอมพวเตอรมกจะกระท าบนโครงสรางขอมลแบบตนไม และกราฟ ทงนเพราะโครงสรางขอมลในลกษณะนสามารถท าใหการคนหาท าไดสะดวกและสามารถพลกแพลงการคนหาไดงาย ในความเปนจรงแลว การคนหาขอมลบางครงสามารถกระท าบนโครงสรางขอมลชนดอนกไดเชน อาเรย แสตก และคว แตการจดขอมลในโครงสรางเชนน มขอจ ากดในการคนหาขอมลมาก การคนหาท าไดแบบเรยงล าดบ(Sequencial Search) เทานน ซงใชไดกบขอมลทมขนาดเลก ดงนนในการคนหาขอมลทมขนาดใหญ กอนการคนหา หรอระหวางการคนหา ขอมลทจะถกคนจะตองถกจดใหอยในรปแบบของตนไม หรอกราฟเทานน การคนหาขอมลบนโครงสรางตนไมและกราฟสามารถจ าแนกได 2 แบบคอ การคนหาแบบไบลด(Blind Search) และการคนหาแบบฮวรสตก(Heuristic Search)

การคนหาแบบไบลด(Blind Search)การคนหาแบบไบลด(Blind search) เปนการคนหาแบบทเดนทางจากโหนดหนงไปยง

อกโหนดหนง โดยอาศยทศทางเปนตวก าหนดการคนหา ไมตองมขอมลอะไรมาชวยเสรมการตดสนใจวาจะเดนทางตอไปอยางไร หรอกลาวอยางงาย ๆ คอการจะหยบขอมลใดมาชวยในการคนหาตอไป ไมตองอาศยขอมลใด ๆ ทงสน นอกจากทศทางซงเปนรปแบบตายตว การคนหาแบบไบลดสามารถแบงยอยไดดงน คอ การคนหาทหมด และการคนหาบางสวน

- การคนหาทงหมด(exhaustive search) คอ การคนหาทงหมดของปรภมสถานะ- การคนหาบางสวน (partial search) การคนหาเพยงบางสวนของปรภมสถานะ ซงใน

ความเปนจรงการคนหาสวนมากใชการคนหาเฉพาะบางสวนเทานนเนองจากปรภมสถานะมกมขนาดใหญ เทาใหไมสามารถคนหาไดทงหมด ดงนนจงมความเปนไปไดวาค าตอบทไดอาจไมใชค าตอบทดทสด การคนหาแบบนสามารถแบงไดเปน 2 ประเภทคอ การคนหาแบบลกกอน(Depth first search) และการคนหาแบบกวางกอน (Breadth first search)

การคนหาแบบลกกอน(Depth first search)การคนหาแบบลกกอนเปนการคนหาทก าหนดทศทางจากรปของโครงสรางตนไม ท

เรมตนจากโหนดราก(Root node) ทอยบนสด แลวเดนลงมาใหลกทสด เมอถงโหนดลางสด(Terminal node) ใหยอนขนมาทจดสงสดของกงเดยวกนทมกงแยกและยงไมไดเดนผาน แลวเรมเดนลงจนถงโหนดลกสดอก ท าเชนนสลบไปเรอยจนพบโหนดทตองการหาหรอส ารวจครบทกโหนดแลวตามรปท 1 การคนหาแบบลกกอนจะมล าดบการเดนตามโหนดดงตวเลขทก ากบไวในแตละโหนด

รปท 1 ล าดบการเดนทางบนโหนดของการคนหาแบบลกกอนบนโครงสรางตนไม

ดงทไดกลาวมาแลววา โครงสรางขอมลทใชส าหรบการคนหานสามารถใชกบโครงสรางกราฟไดดวย โดยอาศยหลกการเดยวกน แตส าหรบการเดนทางบนกราฟนนจะไมมโหนดลกสดดงนนการเดนทางบนกราฟจะตองปรบวธการเปนดงน โดยเรมจากโหนดเรมตน จากนนใหน าโหนดทอยตดกบโหนดทก าลงส ารวจอย(ทยงไมไดท าการส ารวจและยงไมไดอยในแสตกมาใสแสตก) มาเกบไวในสแตกเมอส ารวจโหนดนนเสรจ ใหพอพ(pop) ตวบนสดของโหนดออกมาท าการส ารวจ แลวน าโหนดขางเคยงทงหมดทยงไมไดส ารวจมาตอทายแสตก แลวพอพตวบนสดออกมาส ารวจ ท าเชนนเรอย ๆ จนกระทงพบโหนดทตองการ หรอส ารวจครบทดโหนด

รปท 2 โครงสรางขอมลแบบกราฟ

การส ารวจจะเรมตนท A และน าโหนดขางเคยง B และ C มาเกบไวในแสตก เมอส ารวจ Aเสรจพอพขอมลจากแสตกออกมาได C ท าการส ารวจ C และน าโหนดขางเคยงกบ C ทยงไมไดท าการส ารวจและยงไมไดอยในแสตกมาใสแสตก Dและ Fพช(Push) ใสแสตก ดงนนในแสตกตอนนม B D F อย เมอส ารวจ C เสรจพอพFออกมาท าการส ารวจ แลวน าโหนดขางเคยงทยงไมไดส ารวจและยงไมไดอยในแสตกมาใสแสตก ซงกคอ G ดงนนขอมลในแสตกจะเปน B D G ท าเชนนไปเรอย ๆ จนจบการท างานกจะไดล าดบการส ารวจคอ (A C F G H E D B) ตามตาราง 1 ดงตอไปน

ตารางท 1 ล าดบการคนหาแบบลกกอน

ในการคนหาขอมลแบบนบนโครงสรางของกราฟ มขอทนาสงเกตคอ โหนดทเรมตนการส ารวจจะตองมการก าหนดมาใหวาโหนดใดเปนโหนดเรมตน และขอสงเกตอกประการหนงคอวธการคนหาแบบลกกอนทใชส าหรบโครงสรางขอมลแบบกราฟ สามารถใชกบโครงสรางขอมลแบบตนไมไดดวย

การคนหาแบบกวางกอน (Breadth first search)การคนหาแบบกวางกอนเปนการก าหนดทศทางการคนหาแบบทละระดบของ

โครงสรางตนไมโดยเรมจากโหนดราก(ระดบท 0) แลวลงมาระดบท 1 จากซายไปขวา เมอเสรจระดบท 1 ไประดบท 2จากซายไปขวาเชนกน ท าเชนนเรอย ๆ จนพบโหนดทตองการตามรปท 3 ล าดบการเดนทางของโหนดเปนไปตามหมายเลขทก ากบไวบนโหนด

รปท 3 ล าดบการคนหาแบบกวางกอนบนโครงสรางตนไม

ส าหรบการคนหาแบบกวางกอนบนโครงสรางตนไม จะอาศยโครงสรางขอมลแบบคว(Queue)มาชวย และดวยวธการเชนเดยวกบการคนหาแบบลกกอนคอ ใหเรมตนส ารวจทโหนดเรมตน แลวน าโหนดขางเคยงเกบไวในคว เมอส ารวจโหนดเรมตนเสรจ ใหน าขอมลในควออกมาส ารวจ แลวน าโหนดขางเคยงทยงไมไดส ารวจและไมไดอยในควใสควไว ท าเชนนไปเรอย ๆ จนพบโหนดทตองการ หรอเมอส ารวจครบทกโหนด

รปท 4 โครงสรางขอมลแบบกราฟ

การส ารวจเรมตนท A น าโหนดขางเคยง B C ไวในคว เมอส ารวจ A เสรจ น าขอมลในคว คอ Bออกมาส ารวจ แลวน าขอมลขางเคยงคอ D E ใสคว ตอนนควจะม B D E อย แลวน า B ออกมาส ารวจท าเชนนเรอย ๆ จะไดล าดบการส ารวจขอมลคอ (A B C D E F G H) ตามตารางท 2

ตาราง 2 ล าดบการคนหาแบบกวางกอน

เชนเดยวกบการคนหาแบบลกกอน การคนหาแบบกวางกอนโดยใชโครงสรางขอมลควมาชวยตองมการก าหนดโหนดเรมตน และวธการนสามารถใชไดกบขอมลบนโครงสรางแบบตนไมดวย

ตารางเปรยบเทยบ การคนหาแนวลกกอนและแนวกวางกอน

การคนหาแนวลกกอน การคนหาแนวกวางกอน1.ใชหนวยความจ านอยกวา เพราะวาสถานะในเสนทางคนหาปจจบนเทานนทถกเกบ(ในขณะใดๆ จะเกบเสนทางเดยว พอจะไปเสนทางอนเสนทางทผานมากไมจ าเปนตองเกบ)

1.ใชหนวยความจ ามากเพราะตองเกบสถานะไวทกตวเพอหาเสนทางจากสถานะเรมตนไปหาค าตอบ

2. อาจจะตดเสนทางทลกมากโดยไมพบค าตอบ เชนในกรณทเสนทางนนไมมค าตอบและเปนเสนทางทยาวไมสนสด จะท าไมสามารถไปเสนทางอนได

2. จ าไมตดเสนทางทลกมาก ๆ โดยไมพบค าตอบ

3. ถาค าตอบอยในระดบ n+1สถานะอนทกตวทระดบ 1ถงระดบ n ไมจ าเปนตองถกกระจายจนหมด

3. ถาค าตอบอยในระดบn+1 สถานะทกตวทระดบ 1ถงระดบ n จะตองถกกระจายจนหมด ท าใหมสถานะทไมจ าเปนในเสนทางทจะไปสค าตอบถกกระจายออกดวย

4. เมอพบค าตอบไมสามารถรบประกนไดวาเสนทไดเปนเสนทางทสนทสดหรอไม

4. ถามค าตอบจะรบประกนไดวาจะพบค าตอบแน ๆ และจะไดเสนทางสนทสดดวย

การคนหาแบบฮวรสตก(Heuristic Search)

การคนหาค าตอบอาศยวธการทางฮวรสตก (heuristic search) มความความแตกตางจากการคนหาขอมลแบบธรรมดาและแบบฮวรสตกนนอยทการคนหาขอมลธรรมดา ผทท าการคนขอมลจะตองตรวจสอบขอมลทละตวทกตวจนครบ แตฮวรสตกจะไมลงไปด ขอมลทกตว วธการนจะเลอกไดค าตอบทเหมาะสมใหกบการคนหา ซงมขอดคอ สามารถท าการ คนหาค าตอบจาก ขอมลทมขนาดใหญมาก ๆ ได แตมขอเสยคอค าตอบทไดเปนเพยงค าตอบทด เทานนไมแนวาจะดทสด แตเนองจากวาปญหาในบางลกษณะนนใหญมาก และเปนไปไมไดทจะท า การคนหาดวยวธ ธรรมดากระบวนการของฮวรสตกจงเปนสงทจ าเปนในเรองของฮวรสตกนน นอกจากจะมการคนหาแบบฮวรสตกแลว ยงมอกสงหนงทส าคญคอ ฮวรสตกฟงกชน (heuristic function) ซงหมายถงฟงกชนทท าหนาทในการวดขนาดของความเปน ไปไดในการแกปญหาซงจะแสดงดวยตวเลข วธการดงกลาวจะกระท าไดโดยการพจารณาถงวธการ (aspects) ตาง ๆ ทใชในการแกปญหา ณ สถานะหนงวาจะสามารถแกปญหาไดตามทตองการหรอไม โดยก าหนดเปนน าหนกทใหกบการแกปญหาของแตละวธ น าหนกเหลานจะถกแสดงดวยตวเลขทก ากบไวกบโหนดตาง ๆ ในกระบวนการ คนหา และคาเหลานจะเปนตวทใชในการประมาณความเปนไปไดวาเสนทางทผานโหนดนนจะม ความเปนไปไดในการน าไปสหนทางการแกปญหาไดมากนอยแคไหน

จดประสงคทแทจรงของฮวรสตก ฟงกชนกคอ การก ากบทศทางของกระบวนการคนหา เพอใหอยในทศทางทไดประโยชนสงสด โดยการบอกวาเราควรเลอกเดนเสนทางไหนกอน ในกรณทมเสน ทางมากกวาหนงเสนทางตองเลอกกระบวนการคนหาแบบฮวรสตก โดยปกตแลวจะตองอาศยฮวรสตกฟงกชน ท าใหการแกปญหาหนง ๆ จะดหรอไม กขนอยกบฮวรสตกฟงกชนดงนนการคนหาแบบนจงไมมอะไรเปนหลกประกนวาจะไดสงทไมดออกมาดวยเหตนเอง เราจงเรยกการ คนหาแบบฮวรสตกนวา Weak Methods หรอจะกลาวอกนยหนงคอ Weak Methodsเปนกระบวนการควบคมโดยทวไป (general-purpose control stategies) ซงการคนหาแบบน สามารถแบงไดเปน

การคนหาแบบปนเขา(Hill climbing)ฟงกชนฮวรสตกสามารถน ามาชวยในกระบวนการคนหาเพอใหไดค าตอบอยางรวดเรว

และมประสทธภาพ วธการทจะน าฟงกชนฮวรสตกมาใชมหลายวธดวยกนขนอยกบวาจะใชในลกษณะใด เชนเลอกสถานะทมคาฮวรสตกดขน แลวเดนไปยงสถานะนนเลยโดยไมตองสนใจสถานะทมคาฮวรสตกแยกวาสถานะปจจบนหรอวาจะเกบสถานะทกตวไวแมวาคาฮวรสตกจะแยลงแลวพจารณาสถานะเหลานทหลง เปนตน ในสวนตอไปนจะกลาวถงอลกอรทมตาง ๆ ทน าฟงกชนฮวรสตกมาชวยในการคนหาค าตอบ โดยเรมจากอลกอรทมปนเขา (Hill climbing algorithm)

รปท 5 แสดงลกษณะการคนหาแบบ Hill climbing

การคนหาแบบฮลไคลบง(Hill climbing) เปนวธการคนหาขอมลทมลกษณะคลายกบการปนภเขา การทนกปนภเขาจะเดนทางไปถงยอดภเขา นกปนเขาจะตองมองกอนวายอดเขาอยทใด แลวนกปนเขาจะตองพยายามไปจดนนใหได ลองนกภาพของการปนภเขาโลนทมองเหนแตยอด และนกปเขาก าลงปนภเขาอยเบองลางทมเสนทางเตมไปหมด เพอทจะเดนทางไปถงยอดภเขาโดยเรวทสด นกปนเขาจะมองไปทยอดเขาแลวสงเกตวาทศทางใดทเมอปนแลวจะยงใกลยอดเขา และหลกเลยงทศทางทเมอไปแลวจะท าใหตวเองหางจากยอดเขา นกปนเขาจะตองท าเชนนไปเรอย ๆ จนกระทงถงยอดเขา

ตวอยางการใชฟงกชนฮวรสตก โดยอลกอรทมปนเขาอยางงายโดยปญหาโลกของบลอก

รปท 6 การคนหาแบบ Hill climbing

ตวเลข h(i) ในรปแสดงวา สถานะท i มคาฮวรสตกเทากบ h จากรจะเหนไดวา เรมตนจากสถานะท 1 ทมคาฮวรสตกเทากบ -1 อลกอรทมปนเขาใชตวกระท าการเพอสรางสถานะลกตวแรกของสถานะท 1 แลววดคาฮวรสตกได 0 ซงมคาดขน ถาสงเกตจากรปท จะพบวาสถานะท 1 มสถานะลกทงหมด 3 ตว แตในกรณของอลกอรทมปนเขาน เมอไดสถานะลกตวแรกซงมคาอวรสตกดขน อลกอรทมจะไมสรางสถานะลกทเหลออก 2 ตว และจะไมยอนกลบมาทสถานะลกทง 2 น แมวาหลงจากนอลกอรทมจะคนไมพบค าตอบกลาวคอเปนการตดทางเลอกทง ซงการท าเชนนแมวาจะมโอกาสไมพบค าตอบแตกมขอดทเปนการชวยลดเวลาอยางมาก จากนนอลกอรทมมาสถานะท 2 แลวเรมสรางสถานะลกไดสถานะท 3 ทมคาฮวรสตก -1 ซงแยลงในกรณทแยลงเชนน อลกอรทมจะไมไปยงสถานะลกตวนและสรางสถานะลกตวตอไปโดยใชตวกระท าการทเหลอไดสถานะท 4 มคาฮวรสตกเทากบ -1 ไมดขนเชนกนจงสรางสถานะลกตวถดไป เปนสถานะท5 มคาฮวรสตกเทากบ 1 เปนคาทดขน อลกอรทมจะมายงสถานะนและคนพบค าตอบในทสด

อลกอรทมปนเขานจะมประสทธภาพมากดงเชนแสดงในตวอยางนซงกระจายสถานะทงสนเพยง 6 ตวแลวพบค าตอบ เปรยบเทยบกบอลกอรทมการคนหาแนวกวางกอนซงใชสถานะทงสนถง 11 ตว อยางไรกดอลกอรทมนจะมประสทธภาพมาก ถาใชฟงกชนฮวรสตกทดมาก ๆ ในกรณทฟงกชนฮวรสตกไมดนก อลกอรทมนกอาจหลงเสนทางได และอาจไมพบค าตอบแมวาปรภมทก าลงคนหามค าตอบอยดวยกตาม สาเหตการหลงเสนทางประการหนงมาจากการเลอกสถานะลก ซงอลกอรทมจะไมไดพจารณาสถานะลกทกตวโดยเมอพบสถานะลกตวใดทดขนกจะเลอกทางนน อลกอรทมนสามารถดดแปลงเลกนอยใหพจารณาสถานะลกทกตวใหครบกอน แลวเลอกสถานะลกตวทมคาฮวรสตกสงสด เมอท าเชนนกจะท าใหอลกอรทมไดพจารณาเสนทางทดทสด ณ ขณะหนง ๆ ไดดขนเราเรยกอลกอรทมทดดแปลงนวาอลกอรทมปนเขาชนสด (Steepest ascent hill climbing)

การคนหาดสดกอน(Best-first search)เปนกระบวนการคนหาขอมลทไดน าเอาขอดของทงการคนหาแบบลกกอน(Depth

firstsearch) และการคนหาแบบกวางกอน(Breadth first search) มารวมกนเปนวธการเดยว โดยทแตละขนของการคนหาในโหนดลกนน การคนหาแบบดทดกอนจะเลอกเอา โหนดทดทสด (most promising)และการทจะทราบวาโหนดใดดทสดนสามารถท าไดโดยอาศยฮวรสตกฟงกชน ซงฮวรสตก ฟงกชนนจะท าหนาทเหมอนตววดผล และใหผลของการวดนออกมาเปนคะแนน รปท 2.7 เปนตวอยางของการคนหาแบบดทสดกอน ขนตอนนเรมจากตอน 1 สรางโหนดราก(root node) ในขนตอน 2สรางโหนดลกB และ C แลวตรวจสอบโหนด B และ C ดวยฮวรสตกฟงกชน ไดผลออกมาเปนคะแนนคอ 3 และ 1ตามล าดบ จากนนใหเลอกโหนด C เปนโหนดตอไปทเราสนใจ เพราะมคานอยกวา (หมายเหต ในการเลอกนจะเลอกคามากสด หรอนอยสดกได ขนอยกบลกษณะของปญหา) แลวสรางโหนด ลกใหกบโหนด C ในขนตอน 3 ไดโหนด D และ Eแลวตรวจสอบคะแนนได 4 และ 6 ตามล าดบ จากนนท าการเปรยบเทยบคาของโหนดทายสด หรอเทอรมนอล โหนด(terminal node) ทกโหนด วาโหนด ใดมคาดทสด ในทนจะตองเลอกโหนด B เพราะมคะแนนเพยง 3 (เลอกคะแนนต าสด) แลวสรางโหนด ลกตามขนตอน 4 ได F และ G แลวตรวจ สอบคะแนนได 6 และ 5 คะแนนตามล าดบ ท าเชนนเรอย ๆ จนพบค าตอบหรอจนไมสามารถ สรางโหนดตอไปไดอก

รปท 7 ขนตอนของการคนหาแบบดทสดกอน

รปท 8 การคนหาแบบดสดกอน

อลกอรธม: การคนหาแบบดทสดกอน1. เรมดวย OPEN ทมเพยงโหนดเรมตน2. ท าจนกวาจะพบเปาหมาย หรอวาไมมโหนดเหลออยใน OPEN

� เลอกโหนดทดทสดใน OPEN� สรางโหนดลกใหกบโหนดทดทสดนน� ส าหรบโหนดลกแตละตวใหท าดงตอไปน

i) ถาโหนดนนยงไมเคยถกสรางมากอนหนานน ใหตรวจสอบคาของมนโดยใชฮวรสตกฟงชน แลวเพมเขาไปใน OPEN แลวบนทกวาเปนโหนดแม

ii) ถาโหนดนนถกสรางมากอนหนานแลว ใหเปลยนโหนดแมของมน ถาเสนทางใหมทไดดกวาโหนดแมตวเดม ในกรณน ใหปรบเปลยนคาตามเสนทางทอาจจะเกดขน

การคนหาแบบ Greedy (Greedy Algorithm)กรดอลกอรธม เปนการคนหาแบบดทสดกอน(Best first search) ทงายทสด หลกการ

ของการคนหาแบบนคอ การเลอกโหนดทดทสดตลอดเวลาอลกอรธม กรด1. เลอกโหนดเรมตนมาหนงโหนด2. ใหโหนดทเลอกมานเปนสถานะปจจบน3. ใหท าตามขบวนการขางลางนจนกวาจะไมสามารถสรางโหนดลกไดอก

3.1 สรางสถานะใหมทเปนโหนดลกทเปนไปไดทงหมดจากสถานะปจจบน3.2 จากสถานะใหมทสรางขนมาทงหมด ใหเลอกสถานะ หรอ โหนดลก ทดทสด

ออกมาเพยงโหนดเดยว4. กลบไปทขนตอนท 2

ตวอยาง จากเรองการเดนทางของเซลแมนทจะตองเดนทางไปยงเมอง A B C D ซงมระยะทางตามตารางท 3 เราจะแกปญหานดวยวธการของกรดบาง

รปท 9 การแกปญหาการเดนทางของเซลแมนดวยกรดอลกอรธม

จากรปท 9 การแกปญหาเรมจาก การเลอก A เปนเมองเรมแรก จากนนท าการสรางโหนดลกB C และ D หารระยะทางระหวาง A ถงเมองเหลานได 20 30 และ 50 ตามล าดบ เลอก B เปนเมองทจะเดนทางตอมา จากนนสรางโหนดลกของB ได C และ D และไดระยะทางเทากบ 15 และ 20 ตามล าดบ เลอก C เปนเมองทจะเดนทางตอไป จากนนสรางโหนดลกให C ได D มคาเทากบ 10 เลอกเดนมาท D เปนเมองสดทายกอนกลบไป A รวมระยะทางเทากบ 20 + 15 + 10 + 50 = 95

รปท 10 ขอมลในรปแบบกราฟ

ตาราง 3 การคนหาแบบกรด

การคนหาแบบ A*การคนหาแบบ A* เปนอกแบบของการคนหาแบบดทสดกอน วธการเลอกโหนดทจะใช

ในการด าเนนการตอจะพจารณาจากโหนดทดทสด แตในกรณของ A* นจะมลกษณะพเศษกวาคอ ในสวนของฮวรสตกฟงกชน ในกรณของการคนหาแบบดทสดกอนนน คาทไดจากฮวรสตก ฟงกชน จะเปนคาทวดจาก โหนดปจจบน แตในกรณของ A* คาของฮวรสตก ฟงกชน จะวดจากคา 2 คาคอ คาทวดจากโหนดปจจบนไปยงโหนดราก และจากโหนดปจจบนไปยงโหนดเปาหมาย ถาเราใหตวแปร f แทนคาของฮวรสตก ฟงกชน g เปนฟงกชนทใชวดคา cost จากสถานะเรมตนจนถงสถานะปจจบน h' เปนฟงกชนทใชวดคา cost จากสถานะปจจบนถงสถานะเปาหมาย ดงนน

f = g + h’

อลกอรทม A* (A* Search) เปนการขยายอลกอรทมดสดกอนโดยพจารณาเพมเตมถงตนทนจากสถานะเรมตนมายงสถานะปจจบนเพอใชค านวณคาฮวรสตกดวย ในกรณของอลกอรทม A* เราตองการหาคาต าสดของฟงกชน f'ของสถานะ s นยามดงน

f'(s)=g(s)+h'(s)โดยท g คอฟงกชนทค านวณตนทนจากสถานะเรมตนมายงสถานะปจจบน h' คอฟงกชนทประมาณตนทนจากสถานะปจจบนไปยงค าตอบ ดงนน f' จงเปนฟงกชนทประมาณตนทนจากสถานะเรมตนไปยงค าตอบ (ยงนอยยงด) เรามองไดวาฟงกชน h' คอฟงกชนฮวรสตกทเราเคยใชในการคนหาอน ๆ กอนหนานเชนอลกอรทมปนเขา อลกอรทมดสดกอน เปนตน

ในทนเราใสเครองหมาย ' เพอแสดงวาฟงกชนนเปนฟงกชนประมาณของฟงกชนจรงทไมร (เราท าไดแคประมาณวา h' คอตนทนจากสถานะปจจบนไปยงค าตอบ เราจะรตนทนจรงกตอเมอเราไดท าการคนหาจรงจนไปถงค าตอบแลว) สวน g เปนฟงกชนทค านวณตนทนจรงจากสถานะเรมตนมายงสถานะปจจบน (จงไมไดใสเครองหมาย ' ) เพราะเราสามารถหาตนทนจรงไดเนองจากไดคนหาจากสถานะเรมตนจนมาถงสถานะปจจบนแลว สวน f' กเปนเพยงแคฟงกชนประมาณโดยการรวมตนทนทงสอง คอ h' กบ gอลกอรทม A* จะท าการคนหาโดยวธเดยวกนกบอลกอรทมดสดกอนทกประการ

ยกเวน ฟงกชนฮวรสตกทใชเปลยนมาเปน f' (ตางจากอลกอรทมดสดกอนทใช h') โดยการใช f' อลกอรทม A* จงใหความส าคญกบสถานะหนง ๆ 2 ประการ คอ (1) สถานะทดตองม h' ดคอตนทนเพอจะน าไปสค าตอบหลงจากนตองนอย และ (2) ตนทนทจายไปแลวกวาจะถงสถานะน (g) ตองนอยดวย เราจงไดวา A* จะคนหาเสนทางทใหตนทนโดยรวมนอยทสดตามคา f' ซงตางจากอลกอรทมดสดกอน ทเนนความส าคญของสถานะทตนทนหลงจากนทจะน าไปสค าตอบตองนอย โดยไมสนใจวาตนทนทจายไปแลวกวาจะน ามาถงสถานะนตองเสยไปเทาไหร

รปท 11 แสดงการคนหาดวยอลกอรทม A* กนสถานะในรปท 8 โดยสมมตใหตนทนหรอระยะหางระหวางสถานะพอแมไปยงสถานะลกเทากบ 1 หนวย เชนตน ทนจรง (g) จาก A ไปยง B,C หรอ D มคาเทากบ 1 หนวยจากรปจะเหนไดวาในขนตอนท 4 สถานะ C จะถกเลอกมากระจายโดยอลกอรทม A* เนองจากมคา f' นอยสดเทากบ 3.5 ซงนอยกวา E ทมคาเทากบ 4 แมวาคา h' ของ E จะนอยกวาซงตางจากการสรางสถานะของอลกอรทมดสดกอน