นางสาว หัทยา เชื้อสมเกียรติ ม.5

Post on 12-Apr-2017

185 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

ขอมล (Data) เปนองคประกอบทสำ�คญของระบบส�รสนเทศ

คอมพวเตอร ก�รจดก�รขอมล (data management) เปนกลยทธทใชในก�รบรห�รองคก�รใหมประสทธภ�พ และตองมก�รตดสนใจทถกตอง รวดเรวและทนตอเหตก�รณในก�รทำ�ธรกจในยคปจจบน

วตถประสงคในการจดการขอมล1.การเกบขอมล ส�ม�รถนำ�กลบม�ใช

ง�นไดอกในภ�ยหลง 2.การจดขอมล ส�ม�รถนำ�กลบม�ใชง�น

ไดอย�งมประสทธภ�พ 3.การปรบปรงขอมล ส�ม�รถปรบปรง

ขอมลใหเปนขอมลปจจบนอยเสมอ 4.การปกปองขอมล ปองกนขอมลใหม

คว�มปลอดภยจ�กก�รลกลอบใชง�น หรอแกไข

หนวยขอมล (Data Unit)หนวยของขอมลคอมพวเตอรส�ม�รถจดเรยงจ�ก

ขน�ดเลกไปขน�ดใหญดงน*บต (bit) เชน 0 หรอ 1 *ตวอกษร (character) ตวอกษร 1 ตว

*ASCII 1 bytes ( 8 bit)*Unicode 2 bytes (16 bit)

*เขตขอมล (field) ขอคว�มใด ๆ ซงประกอบไปดวยกลมตวอกษรทแทนขอเทจจรง

เขตขอมล

ตวอกษร

*ระเบยนขอมล (record) กลมของเขตขอมลต�งๆ *แฟม (file) กลมของระเบยนขอมลทมโครงสร�ง

เดยวกน

ระเบยนขอมล

แฟม ตำาแหนง

แฟม

*ฐานขอมล (database) กลมของแฟมทมคว�มสมพนธกน

ฐานขอมล

อาจารย

วชานกศกษา

เขตขอมลคย (Key Field)*เขตขอมลคย (key field)ใชสำ�หรบระบระเบยน

ขอมลอย�งเฉพ�ะเจ�ะจง ขอมลในกลมนจะไมซำ�กบระเบยนอน ๆ

เขตขอมลคย

ชนดของขอมล (Data Types)*ค�ตรรกะ (booleans) มค� จรง กบ เทจ *จำ�นวนเตม (integers) เลขทไมมเศษสวนหรอ

ทศนยม เชน 1, -1, 345, -543 *จำ�นวนจรง (floating-point values) จำ�นวน

ตวเลขใดๆ เชน 23.456, -4755.3333445 *ตวอกษร (character) ขอมลทแทนดวยกลม

ของบต เปนตวอกษรหรอสญลกษณ เชน A, S, B *ส�ยอกขระ (strings) กลมของตวอกษร*วนทและเวล� (date/time) ขอมลวนทหรอเวล�*ไบน�ร (binary) ขอมลท�งคอมพวเตอร เชน

แฟม รปภ�พ ไฟลวดโอ

ประเภทของแฟมขอมล*แฟมหลก (master files) คอแฟมทเกบ

ขอมลทเกดก�รเปลยนแปลงนอย หรอแทบไมมก�รเปลยนแปลงเลย อ�จเรยกไดว�เปนแฟมขอมลถ�วร หรอกงถ�วร

*แฟมลกค� แฟมสนค� แฟมขอมลก�รข�ยประจำ�เดอน

*แฟมรายการเปลยนแปลง (transaction files) คอแฟมทเกบขอมลร�ยก�รทเกดก�รเปลยนแปลงกอนทจะนำ�ไปปรบปรงใหกบแฟมร�ยก�รหลก

*แฟมร�ยก�รข�ยในแตละวน

ลกษณะการประมวลผลขอมล(Data Processing)*การประมวลผลแบบกลม (batch processing) *การประมวลผลทนท (real-time processing) - การประมวลผลแบบกลม (batch processing) เปนก�ร

ประมวลผลโดยรวบรวมขอมลต�งๆ ม�ประมวลผลต�มชวงเวล�ทกำ�หนด โดยขอมลทใชในก�รประมวลผลอ�จม�จ�กเอกส�รต�งๆ ขอมลทปอนแบบออนไลน แตขอมลจะยงไมถกประมวลผลทนท จนกว�จะถงชวงเวล�ทกำ�หนดไว เพอลดค�ใชจ�ย เชน ค�นำ�ประป� ค�ไฟฟ� ยอดบญชบตรเครดต

- การประมวลผลทนท (real-time processing) เปนก�รประมวลผลทไดผลลพธทนทเมอทำ�ร�ยก�รเข�สระบบ เชน ก�รถอนเงนจ�กต ATM ทตองมก�รปรบเปลยนยอดเงนในบญช ซงถ�ก�รประมวลผลทำ�แบบออนไลน จะเรยกว� online transaction processing (OLTP)

การเขาถงขอมล (Data Access)การเขาถงขอมลแบบลำาดบ (sequential data

access) เปนก�รเข�ถงขอมลแบบทตองอ�ศยก�รอ�นขอมลตงแตตน จนถงขอมลทตองก�ร เหม�ะสำ�หรบก�รอ�นขอมลปรม�ณม�กและเรยงลำ�ดบ

การเขาถงขอมลแบบสม (random data access) ก�รเข�ถงขอมลลกษณะนจะตองใชกลไกก�รห�ตำ�แหนงระเบยนวธต�งๆ เหม�ะสำ�หรบก�รคนห�ขอมลจำ�นวนไมม�ก และมก�รเพม ลบ แกไขขอมลเปนประจำ�

การจดโครงสรางแฟมขอมล• มปจจยทตองพจารณาในการเลอกโครงสราง ไดแก– ปรม�ณขอมล คว�มถในก�รดงขอมล คว�มถในก�ร

ปรบปรงขอมล จำ�นวนครงทอ�นขอมลจ�กหนวยคว�มจำ�สำ�กรองตอก�รดงขอมล

• การจดโครงสรางขอมลแบบตางๆ– แฟมลำ�ดบ (sequential file) – แฟมสม ( direct file หรอ hash file)– แฟมดรรชน (indexed file)– แฟมลำ�ดบดรรชน (indexed sequential file)

ตวอยางแฟมดรรชน

ตวอย�งก�รแทรก record

การจดโครงสรางแฟมขอมลแฟมลำาดบดรรชน (indexed sequential file) คอตวระเบยนในแฟมขอมลไมเรยงต�มลำ�ดบ แตเรยงเฉพ�ะคยในดรรชน และมก�รกำ�หนดดรรชนบ�งสวน(partial indexed)เพมขนม�ตวอยางแฟมลำาดบดรรชน

ตวอยางการแทรก record

เปรยบเทยบโครงสรางแฟมขอมล

แฟมโปรแกรมและแฟมขอมล

• แฟมโปรแกรม คอแฟมโปรแกรมประกอบดวยชดคำ�สงต�งๆ ททำ�ง�นอย�งใดอย�งหนง เชน โปรแกรมประมวลผลคำ� Microsoft Word

ประเภทแฟมโปรแกรม สวนขยายCommand COM Application Program EXE Batch Program BAT Dynamic Link Library DLL

• แฟมขอมล คอแฟมทไดจ�กก�รบนทกขอมลดวยแฟมโปรแกรม ซงแฟมขอมลบ�งประเภทสร�งและเปดดวยโปรแกรมใดโปรแกรมหนงโดยเฉพ�ะ

ประเภทแฟมขอมล

สวนขยาย

โปรแกรม มาตรฐาน

Adobe Photoshop Drawing

PSD Adobe Photoshop

Bitmap BMP

Conceptual Data Model

CDM PowerDesigner DataArchitect

Microsoft Word Document

DOC Microsoft Word

Visio Drawing VSD Visio

ระบบแฟมขอมล (File Systems)ในอดตก�รจดเกบขอมลดวยคอมพวเตอรมลกษณะเปนแฟม

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

-คว�มซำ�ซอนของขอมล (data redundancy)-สอดคลองกนของขอมล (data inconsistency)-ขอมลแยกอสระตอกน (data isolation)-คว�มไมปลอดภยของขอมล (poor security)-ข�ดบรณภ�พของขอมล (lack of data integrity)-คว�มขนตอกนระหว�งโปรแกรมประยกตกบโครงสร�งของแฟมขอมล

(application / data

ระบบฐานขอมล (DATABASE SYSTEMS)• ระบบฐานขอมล (database) หม�ยถง กลมของขอมล

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

• ระบบจดการฐานขอมล (Database Management System:DBMS) เปนซอฟตแวรระบบทใชในก�รจดก�รฐ�นขอมล เปรยบเหมอนสอกล�งระหว�งผใชและโปรแกรมประยกตต�งๆทเกยวของกบก�รใชฐ�นขอมล

ขอดของระบบฐานขอมล-ลดคว�มซำ�ซอนของขอมล (reduce

dataredundancy)-ก�รใชขอมลรวมกน (data sharing)-ขอมลมคว�มถกตองม�กขน (improved data

integrity) -เพมคว�มปลอดภยใหกบขอมล (increased security) -มคว�มเปนอสระของขอมล (data independency)

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

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

อย�งมประสทธภ�พ-ก�รออกแบบโครงสร�งขอมลทดจะชวยลดเวล�ในก�รกระทำ�ก�รและลดก�รใช

ง�นในพนทคว�มจำ�ดวยวตถประสงคโครงสร�งขอมลใชเพอวตถประสงค 3 ประก�ร1.ก�รจดเกบขอมลในโลกแหงคว�มจรง2.เครองมอของนกเขยนโปรแกรม3.แบบจำ�ลอง

การจดเกบขอมลในโลกแหงความจรงเปนก�รนำ�ขอมลทมอยเข�ไปเกบในเครองคอมพวเตอร อ�ท

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

เครองมอของนกเขยนโปรแกรมแบบจำาลองใชโครงสร�งขอมลเพอเปนแบบจำ�ลองโลกแหงคว�มจรง -กองซอนใชจำ�ลองก�รทำ�ง�นบ�งอย�งของคอมพวเตอร -แถวคอย ใชจำ�ลองก�รเข�แถวคอยของลกค�ในธน�ค�รลกษณะของขอมล

  • ขอมลทมความถกตองและเชอถอได (accuracy) ขอมลจะมคว�มถกตองและเชอถอไดม�กนอยเพยงใดนน และก�รควบคมก�รประมวลผลก�รควบคมขอมลนำ�เข�เปนก�รกระทำ�เพอใหเกดคว�ม มนใจว�ขอมลนำ�เข�มคว�มถกตองเชอถอได

  • ขอมลตรงตามความตองการของผใช (relevancy) ไดแก ก�รเกบเฉพ�ะขอมลทผใชตองก�รเท�นน ไมควร เกบขอมลอน ๆ ทไมจำ�เปนหรอไมเกยวของกบก�รใชง�น

  ขอมลมความทนสมย• (timeliness) ขอมลทดนนนอกจ�กจะเปนขอมลทมคว�มถกตองเชอถอไดแลวจะ ตองเปนขอมลททนสมย

การเรยงลำาดบขอมล เปนก�รนำ�เอ�ขอมลในเรคอรดม�จดเรยงลำ�ดบจ�กนอยไปห�ม�กหรอจ�กม�กไปห�นอยโดยใชทกฟลดหรอรวมหล�ย ๆ ฟลดในก�รเรยงลำ�ดบกไดวธการเรยงลำาดบอยางงาย โดยทำ�ต�มลำ�ดบขนตอนดงภ�พ

การคนหาขอมล (searching)            ก�รคนห�คำ�ตอบ หรอก�รคนห�ขอมลในท�งคอมพวเตอรมกจะกระทำ�บนโครงสร�งขอมลแบบตนไม และกร�ฟ ทงนเพร�ะโครงสร�งขอมลในลกษณะนส�ม�รถทำ�ใหก�รคนห�ทำ�ไดสะดวกและส�ม�รถพลกแพลงก�รคนห�ไดง�ย ในคว�มเปนจรงแลว ก�รคนห�ขอมลบ�งครงส�ม�รถกระทำ�บนโครงสร�งขอมลชนดอนกไดเชน อ�เรย แสตก และคว แตก�รจดขอมลในโครงสร�งเชนน มขอจำ�กดในก�รคนห�ขอมลม�ก ก�รคนห�ทำ�ไดแบบเรยงลำ�ดบ(Sequencial Search) เท�นน ซงใชไดกบขอมลทมขน�ดเลก ดงนนในก�รคนห�ขอมลทมขน�ดใหญ กอนก�รคนห� หรอระหว�งก�รคนห� ขอมลทจะถกคนจะตองถกจดใหอยในรปแบบของตนไม หรอกร�ฟเท�นน ก�รคนห�ขอมลบนโครงสร�งตนไมและกร�ฟส�ม�รถจำ �แนกได 2 แบบคอ ก�รคนห�แบบไบลด(Blind Search) และก�รคนห�แบบฮวรสตก(Heuristic 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)

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

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

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

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

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

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

การคนหาดสดกอน(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* ค�ของฮวรสตก ฟงกชน จะวดจ�กค� 2 ค�คอ ค�ทวดจ�กโหนดปจจบนไปยงโหนดร�ก และจ�กโหนดปจจบนไปยงโหนดเป�หม�ย ถ�เร�ใหตวแปร f แทนค�ของฮวรสตก ฟงกชน g เปนฟงกชนทใชวดค� cost จ�กสถ�นะเรมตนจนถงสถ�นะปจจบน h' เปนฟงกชนทใชวดค� cost จ�กสถ�นะปจจบนถงสถ�นะเป�หม�ย ดงนน

 

f = g + h’

 

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

โดยท g คอฟงกชนทคำ�นวณตนทนจ�กสถ�นะเรมตนม�ยงสถ�นะปจจบน h' คอฟงกชนทประม�ณตนทนจ�กสถ�นะปจจบนไปยงคำ�ตอบ

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

รปท 11 แสดงก�รคนห�ดวยอลกอรทม A* กนสถ�นะในรปท 8  โดยสมมตใหตนทนหรอระยะห�งระหว�งสถ�นะพอแมไปยงสถ�นะลกเท�กบ 1 หนวย เชนตน

ทนจรง (g)  จ�ก A ไปยง B,C หรอ D มค�เท�กบ 1 หนวย

ผจดทำา นางสาว หทยา เชอสมเกยรต

ชนมธยมศกษาปท 5 เลขท 13

top related