49

นาย ทศพล จอมใจ

  • Upload
    taltan

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: นาย  ทศพล    จอมใจ
Page 2: นาย  ทศพล    จอมใจ

หนวยการเรยนรท 1 เทคโนโลยการสอสารการเรยนรท 1วตถประสงคของการจดการขอมล หนวยขอมลและเขตขอมลคย .การเรยนรท 2 ชนดขอมลและประเภทของแฟมขอมลการเรยนรท 3 ลกษณะการประมวลผลขอมลการเรยนรท 4 แฟมโปรแกรมและแฟมขอมล

หนวยการเรยนรท 2 โครงสรางขอมลการเรยนรท 5 ชนดของโครงสรางขอมลการเรยนรท 6 ลกษณะของขอมลการเรยนรท 7 การเรยงลาดบขอมลการเรยนรท 8 การคนหาขอมล

Page 3: นาย  ทศพล    จอมใจ

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

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

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

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

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

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

Page 4: นาย  ทศพล    จอมใจ

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

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

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

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

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

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

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

Page 5: นาย  ทศพล    จอมใจ

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

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

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

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

Page 6: นาย  ทศพล    จอมใจ

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

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

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

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

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

Page 7: นาย  ทศพล    จอมใจ

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

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

Page 8: นาย  ทศพล    จอมใจ

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

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

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

Page 9: นาย  ทศพล    จอมใจ

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

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

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

Page 10: นาย  ทศพล    จอมใจ

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

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

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

Page 11: นาย  ทศพล    จอมใจ

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

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

Page 12: นาย  ทศพล    จอมใจ

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

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

Page 13: นาย  ทศพล    จอมใจ

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

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

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

Page 14: นาย  ทศพล    จอมใจ

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

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

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

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

Page 15: นาย  ทศพล    จอมใจ

แฟมขอมลบางประเภทสรางและเปดดวยโปรแกรมใดโปรแกรมหนงโดยเฉพาะ เชนแฟมทสรางดวยโปรแกรมแตงภาพ 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

Page 16: นาย  ทศพล    จอมใจ

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

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

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

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

Page 17: นาย  ทศพล    จอมใจ

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

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

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

Page 18: นาย  ทศพล    จอมใจ

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

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

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

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

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

Page 19: นาย  ทศพล    จอมใจ

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

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

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

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

Page 20: นาย  ทศพล    จอมใจ

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

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

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

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

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

Page 21: นาย  ทศพล    จอมใจ

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

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

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

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

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

Page 22: นาย  ทศพล    จอมใจ

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

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

Page 23: นาย  ทศพล    จอมใจ

การเรยนรท 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

Page 24: นาย  ทศพล    จอมใจ

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 คาในการเปรยบเทยบทนอยทสดหรอมากทสด จะลอยขนขางบน เหมอนกบฟองอากาศ

Page 25: นาย  ทศพล    จอมใจ

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

Page 26: นาย  ทศพล    จอมใจ

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

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

ของของฮพออกไปและสนบสนนขอมลขอมล ตวอนไปแทนตาแหนงนน

Page 27: นาย  ทศพล    จอมใจ

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

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

Page 28: นาย  ทศพล    จอมใจ

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

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

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

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

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

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

Page 29: นาย  ทศพล    จอมใจ

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

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

Page 30: นาย  ทศพล    จอมใจ

รปท 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 ลาดบการคนหาแบบลกกอน

Page 31: นาย  ทศพล    จอมใจ

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

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

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

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

Page 32: นาย  ทศพล    จอมใจ

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

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

Page 33: นาย  ทศพล    จอมใจ

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

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

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

Page 34: นาย  ทศพล    จอมใจ

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

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

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

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

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

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

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

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

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

Page 35: นาย  ทศพล    จอมใจ

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

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

Page 36: นาย  ทศพล    จอมใจ

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

Page 37: นาย  ทศพล    จอมใจ

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

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

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

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

Page 38: นาย  ทศพล    จอมใจ

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

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

Page 39: นาย  ทศพล    จอมใจ

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

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

Page 40: นาย  ทศพล    จอมใจ

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

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

Page 41: นาย  ทศพล    จอมใจ

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

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

Page 42: นาย  ทศพล    จอมใจ

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

i) ถาโหนดนนยงไมเคยถกสรางมากอนหนานน ใหตรวจสอบคาของมนโดย

ใชฮวรสตกฟงชน แลวเพมเขาไปใน OPEN แลวบนทกวาเปนโหนดแมโหนดแม

ii) ถาโหนดนนถกสรางมากอนหนานแลว ใหเปลยนโหนดแมของมน ถาเสน

ทางใหมทไดดกวาโหนดแมตวเดม ในกรณน ใหปรบเปลยนคาตามเสน

ทางทอาจจะเกดขน

Page 43: นาย  ทศพล    จอมใจ

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

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

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

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

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

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

Page 44: นาย  ทศพล    จอมใจ

จากรปท 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 ขอมลในรปแบบกราฟ

Page 45: นาย  ทศพล    จอมใจ

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

Page 46: นาย  ทศพล    จอมใจ

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

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

f = g + h’f = g + h’

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

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

Page 47: นาย  ทศพล    จอมใจ

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

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

Page 48: นาย  ทศพล    จอมใจ

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

Page 49: นาย  ทศพล    จอมใจ

จดทาโดย

นายทศพล จอมใจ

ชน ม.5