วันอาทิตย์ที่ 19 กุมภาพันธ์ พ.ศ. 2555

บทที่ 10 กฎหมายและความปลอดภัยบนอินเตอร์เน็ต

กฎหมายเทคโนโลยีสารสนเทศ
       สืบเนื่องจากเมื่อวันที่ 28 กุมภาพันธ์ พ.ศ.2539 คณะรัฐมนตรีได้มีมติเห็นชอบต่อนโยบายเทคโนโลยีสารสนเทศ (ไอที 2000) ตามที่เสนอโดยกระทรวงวิทยาศาสตร์ เทคโนโลยี และ สิ่งแวดล้อม เพื่อพัฒนาสังคมและเสริมสร้างความแข็งแกร่งทางธุรกิจ อุตสาหกรรม และการค้าระหว่างประเทศ ในการก้าวเข้าสู่สังคมสารสนเทศ ซึ่งเป็นยุคเศรษฐกิจใหม่แห่งศตวรรษที่ 21 โดยหนึ่งในมาตรการที่สำคัญคือ การปฏิรูปกฎหมายเทคโนโลยีสารสนเทศ
กฎหมายเทคโนโลยีสารสนเทศ (Information Law) หรือมักเรียกกันว่า "กฎหมายไอที (IT Law)W ในเบื้องต้น ที่จำเป็นต้องมีการตรากฎหมายขึ้นใช้บังคับ มีทั้งสิ้น 6 ฉบับ ได้แก่ กฎหมายเกี่ยวกับธุรกรรมทางอิเล็กทรอนิกส์ กฎหมายเกี่ยวกับลายมือชื่อทางอิเล็กทรอนิกส์ กฎหมายเกี่ยวกับอาชญากรรมทางคอมพิวเตอร์ กฎหมายเกี่ยวกับการโอนเงินทางอิเล็กทรอนิกส์ กฎหมายเกี่ยวกับการคุ้มครองข้อมูลส่วนบุคคล ในการยกร่างกฎหมายไอทีทั้ง 6 ฉบับ ให้แล้วเสร็จ คือ
       กฎหมายเทคโนโลยีสารสนเทศ
       1) กฎหมายธุรกรรมทางอิเล็กทรอนิกส์ (Electronic Transactions Law)
       2) กฎหมายลายมือชื่ออิเล็กทรอนิกส์ (Electronic Signatures Law)
       3) กฎหมายอาชญากรรมทางคอมพิวเตอร์ (Computer Crime Law0
       4) กฎหมายการโอนเงินทางอิเล็กทรอนิกส์ (Electronic Fund Transfer Law)
       5) กฎหมายการคุ้มครองข้อมูลส่วนบุคคล (Data Protection Law)
       6) กฎหมายลำดับรองของรัฐธรรมนูญ มาตรา 78 ว่าด้วยการเข้าถึงโครงสร้างพื้นฐานสารสนเทศอย่างทั่วถึง

มาตรการป้องกันและปราบปรามอาชญากรรมทางทางคอมพิวเตอร์
                การต่อต้านอาชญากรรมทางคอมพิวเตอร์ในรูปแบบนี้ จะป้องกันได้โดยที่ผู้ใช้สามารถนำระบบเทคโนโลยีต่างๆ มาติดตั้งในการใช้งาน เช่น ระบบการตรวจจับบุกรุก (Intrusion Detection) หรือการติดตั้งกำแพงไฟ (Firewall) เพื่องป้องกันระบบเครือข่ายคอมพิวเตอร์ของตนให้มีความปลอดภัย
มาตรการด้านกฎหมาย
                มาตรการด้านกฎหมายเป็นนโยบายของรัฐบาลที่ได้นำมาใช้ในการต่อต้านอาชญากรรมทางคอมพิวเตอร์ โดยการบัญญัติหรือตรากฎหมายดังต่อไปนี้
    1. กฎหมายเทคโนโลยีสารสนเทศ
    2. กฎหมายอื่นที่เกี่ยวข้อง
มาตรการด้านความร่วมมือระหว่างหน่อยงาน
                เป็นมาตรการสำคัญอีกประการหนึ่งที่จะช่วยให้การป้องกันปราบปรามอาชญากรรมทางคอมพิวเตอร์สัมฤทธิ์ในทางปฎิบัติได้นั้นคือ มาตรการด้านความร่วมมือระหว่างหน่วยงานต่างๆ ที่เกี่ยวข้อง ทั้งภาครัฐและเอกชน ซึ่งมิได้จำกัดเพียงเฉพาะหน่วยงานที่มีหน้าที่ที่ตามกฎหมายเท่านั้น แต่รวมไปถึงหน่วยงานอื่นๆ
  Hacker อาชญากรที่ได้รับการยอมรับว่ามีผลกระทบต่อสังคมไอทีเป็นอย่างยิ่ง 
Cracker  คือบุคคลที่บุกรุกเข้าไปในระบบคอมพิวเตอร์ของบุคคลอื่นี่ทำลายข้อมูลที่สำคัญ ทำให้เกิดปัญหาในระบบคอมพิวเตอร์ของกลุ่มเป้าหมาย
Poneken  คือ กลุ่มบุคคลที่อยู่ในพวก cracker โดยมีลักษณะของการกระทำไปทางด้านโทรศัพท์
Buffer overflow   เป็นรูปแบบโจมตีที่ง่ายที่สุด แต่ทำอันตรายให้กับระบบให้ได้มากที่สุด
Backdoors  หรือประตูด้านหลัง โดยปกตินักพัฒนาระบบมักจะสร้าง backdoors เพื่อช่วยอำนวยความสะดวกในการทำงาน
CGI Script ภาษาคอมพิวเตอร์ที่นิยมมากในการพัฒนาเว็บไซต์
Hidden  HTML  การสร้างฟอร์มด้วยภาษา  HTML  และสร้างฟิวด์เก็บรหัสแบบ hidden จะเป็นช่องทางที่อำนวยความสะดวกให้กับอาชญากรได้เป็นอย่างดี
Failing to update การประกาศจุดอ่อนของซอร์ฟแวร์
Illegal browsing ธุรกรรมทางอินเทอร์เน็ตต้องส่งค่าต่างๆ ผ่านทางเว็บเบราว์เซอร์แม้กระทั่งรหัสผ่านต่างๆ
Malicious scrips การเขียนโปรแกรมไว้ในเว็บไซต์ แล้วผู้ใช้เรียกเว็บไซต์ดูบนเครื่องของตน
Poison cookies หรือขนมหวานอิเล็กทรอนิกส์ ที่เก็บข้อมูลต่างๆ ตามแต่จะกำหนดจะถูกเรียกทำงานทันทีมื่อมีการเรียกแว็บไซค์ที่บรรจุคุกกี้ชิ้นนี้
ไวรัสคอมพิวเตอร์ คือ โปรแกรมที่มีความสามารถในการแก้ไขดัดแปลงโปรแกรมอื่นเพื่อที่จะทำให้โปรแกรมนั้นๆ สามารถเป็นที่อยู่ของมันได้ และสามารถให้มันทำงานได้ต่อไปเรื่อยๆ เมื่อมีการเรียกใช้โปนแกรมที่ติดเชื้อไวรัสนั้น
บุคลากรในหน่วยงาน ที่จะลาออกหรือถูกให้ออกจากงานไปแล้ว แต่เป็นบุคคลที่มีรหัสผ่านในการเข้าถึงข้อมูลของหน่วยงาน


มาตรการทางสังคม
1. มาตรการเร่งด่วนของคณะกรรมการเทคโนโลยีสารสนเทศแห่งชาติ
2. มาตรการระยะยาวของคณะกรรมการเทคโนโลยีสารสนเทศ
3. การดำเนินการของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC) สำนักงานพัฒนาวิทยาศาสตร์ลำเทคโนโลยีแห่งชาติ (สวทช.)
ภัยร้ายบนอินเทอร์เน็ต
1. หลีกเลี่ยงการพบคนแปลกหน้าทาง Internet
2. หลีกเลี่ยงการให้ข้อมูลส่วนตัวเช่น ชื่อ นามสกุล ที่อยู่ เบอร์โทรศัพท์มือถือจริงบนเว็บไซต์ที่ไม่ได้มาตรฐาน (เว็บไซต์ที่ดีจะมีตัวช่วยในการปกปิดข้อมูลเหล่านี้ได้)
3. อย่าปล่อยให้บุตรหลานของท่านอยู่บนโลกของเกมส์ออนไลน์มากจนเกินไป
4. ควรหลีกเลี่ยงการปล่อยให้บุตรหลานของคุณใช้เน็ตในที่ลับตาคน
5. ควรหลีกเลี่ยงในการโพสต์ด่าด้วยข้อความหยาบคาย เขียนข้อความที่ลบหลู่ในเรื่องของบุคคล ชาติ ศาสนา หรือพระมหากษัตริย์ หรือส่งต่ออีเมล์ที่มีเนื้อหาข้อความดังกล่าวข้างต้นไปยังผู้อื่นโดยขาดสำนึก และรับผิดชอบ
6. หลีกเลี่ยงการใช้งาน ซอฟแวร์ที่ละเมิดลิขสิทธิ์
อาชญากรรมทางคอมพิวเตอร์
เทคโนโลยีที่ทันสมัย แม้จะช่วยอำนวยความสะดวกได้มากเพียงใดก็ตาม สิ่งที่ต้องยอมรับความจริงก็คือ เทคโนโลยีทุกอย่างมีจุดเด่น ข้อด้อยของตนทั้งสิ้น ทั้งที่มาจากตัวเทคโนโลยีเอง และมาจากปัญหาอื่นๆแต่ไม่ว่าจะมีการป้องกันดีเพียงใด ปัญหาการโจมตีระบบคอมพิวเตอร์ก็มีอยู่เรื่อยๆ ทั้งนี้ระบบการโจมตีที่พบบ่อยๆ ได้แก่

บัญญัติ 10 ประการ ด้านความปลอดภัยของอินเตอร์เน็ต

บัญญัติ 10 ประการ ด้านความปลอดภัยของอินเตอร์เน็ต

1. ตั้งรหัสผ่านที่ยากแก่การเดา
2. เปลี่ยนรหัสผ่านสม่ำเสมอ เช่น ทุก 3 เดือน
3. ปรับปรุงโปรแกรมป้องกันไวรัสตลอดเวลา
4. ให้ความรู้แก่บุคลากรในเรื่องความปลอดภัยในการรับไฟล์ หรือการดาวน์โหลดไฟล์จากอินเตอร์เน็ต
5. ติดตั้งระบบรักษาความปลอดภัยสำหรับเครื่อข่ายอย่างสมบูรณ์
6. ประเมินสถานการณ์ของความปลอดภัยในเครื่อข่ายอย่างสม่ำเสมอ
7. ลบรหัสผ่าน และบัญชีการใช้ของพนักงานที่ออกจากหน่วยงานทันที
8. วางระบบรักษาความปลอดภัยสำหรับการเข้าถึงระบบของพนักงานจากภายนองหน่วยงาน
9. ปรับปรุงซอฟต์แวร์อย่างสม่ำเสมอ
10. ไม่ใช้การบริการบางตัวบนเครื่อข่ายอินเทอร์เน็ตอย่างไม่จำเป็น
วิธีการประกอบอาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์
อาชญากรรมทางคอมพิวเตอร์  คือ
1.การกระทำการใด ๆ เกี่ยวกับการใช้คอมพิวเตอร์ อันทำให้เหยื่อได้รับ
ความเสียหาย และผู้กระทำได้รับผลประโยชน์ตอบแทน
2.การกระทำผิดกฎหมายใด ๆ ซึ่งใช้เทคโนโลยี คอมพิวเตอร์เป็นเครื่องมือ
และในการสืบสวนสอบสวนของเจ้าหน้าที่เพื่อนำผู้กระทำผิดมาดำเนินคดี
ต้องใช้ความรู้ทางเทคโนโลยีเช่นเดียวกัน

     การประกอบอาชญากรรมทางคอมพิวเตอร์ได้ก่อให้เกิดความเสียหาย
ต่อเศรษฐกิจของประเทศจำนวนมหาศาล อาชญากรรมทางคอมพิวเตอร์
จึงจัดเป็นอาชญากรรมทางเศรษฐกิจ หรือ อาชญากรรมทางธุรกิจรูปแบบ
หนึ่งที่มีความสำคัญ
  • มีรูปแบบอะไรบ้าง
ปัจุบันทั่วโลก ได้จำแนกประเภทอาชญากรรมทางคอมพิวเตอร์ได้
9 ประเภท (ตามข้อมูลคณะอนุกรรมการเฉพาะกิจร่างกฎหมายอาชญากรรมทาคอมพิวเตอร์)
1. การขโมยข้อมูลทางอินเตอร์เน็ต
    รวมถึงการขโมยประโยชน์ในการลักลอบใช้บริการ
2. การปกปิดความผิดของตัวเอง โดยใช้ระบบการสื่อสาร
3. การละเมิดลิขสิทธิ์ ปลอมแปลงรูปแบบเลียนแบระบบซอฟแวร์โดยมิชอบ
4. การเผยแพร่ภาพ เสียง ลามก อนาจาร และข้อมูลที่ไม่เหมาะสม
5. การฟอกเงิน
6. การก่อกวน ระบบคอมพิวเตอร์ เช่น ทำลายระบบสาธารณูปโภค  เช่น      ระบบจ่ายน้ำ จ่ายไฟ จราจร
7. การหลอกลวงให้ร่วมค้าขาย หรือ ลงทุนปลอม (การทำธุรกิจที่ไม่ชอบด้วยกฎหมาย)
8. การลักลอบใช้ข้อมูลเพื่อแสวงหาผลประโยชน์ในทางมิชอบ
เช่น การขโมยรหัสบัตรเครดิต
9. การใช้คอมพิวเตอร์ในการโอนบัญชีผู้อื่นเป็นของตัวเอง
  •  ไฟร์วอลล์คืออะไร
ปัจจุบันอินเตอร์เน็ตมีบทบาทสำคัญต่อการดำเนินกิจกรรมต่างๆ เป็นอย่างมาก ไม่ว่าจะเป็นด้านการติดต่อสื่อสาร ธุรกิจ การศึกษา หรือว่าเพื่อความบันเทิง องค์กรต่างๆ ทั้งภาครัฐและเอกชน ต่างก็นำเอาเน็ตเวิร์กของตนเชื่อมต่อเข้ากับอินเตอร์เน็ตเพื่อที่จะได้รับประโยชน์เหล่านี้ แต่เราต้องไม่ลืมว่าการนำเอาเน็ตเวิร์กไปเชื่อมต่อกับอินเตอร์เน็ตนั้น ทำให้ใครก็ได้บนอินเตอร์เน็ตสามารถเข้ามายังเน็ตเวิร์กนั้นๆ ได้ ปัญหาที่ตามมาก็คือความปลอดภัยของระบบเน็ตเวิร์ก เช่น ทำให้เกิดความเสี่ยงต่อการถูกเจาะระบบ และ ขโมยข้อมูล เป็นต้น
จากปัญหาดังกล่าวทำให้เราต้องมีวิธีการในการรักษาความปลอดภัย สิ่งที่สามารถช่วยลดความเสี่ยงนี้ได้ก็คือ ไฟร์วอลล์ โดยไฟร์วอลล์นั้นจะทำหน้าที่ป้องกันอันตรายต่างๆ จากภายนอกที่จะเข้ามายังเน็ตเวิร์กของเรา
      ในความหมายทางด้านการก่อสร้างแล้ว ไฟร์วอลล์ จะหมายถึง กำแพงที่เอาไว้ป้องกันไฟไม่ให้ลุกลามไปยังส่วนอื่นๆ ส่วนทางด้านคอมพิวเตอร์นั้นก็จะมีความหมายคล้ายๆ กันก็คือ เป็นระบบที่เอาไว้ป้องกันอันตรายจากอินเตอร์เน็ตหรือเน็ตเวิร์กภายนอกนั่นเอง
ไฟร์วอลล์ เป็นคอมโพเน็นต์หรือกลุ่มของคอมโพเน็นต์ที่ทำหน้าที่ในการควบคุมการเข้าถึงระหว่างเน็ตเวิร์กภายนอกหรือเน็ตเวิร์กที่เราคิดว่าไม่ปลอดภัย กับเน็ตเวิร์กภายในหรือเน็ตเวิร์กที่เราต้องการจะป้องกัน โดยที่คอมโพเน็นต์นั้นอาจจะเป็นเราเตอร์ คอมพิวเตอร์ หรือเน็ตเวิร์ก ประกอบกันก็ได้ ขึ้นอยู่กับวิธีการหรือ

ประเภทของอาชญากรรมทางคอมพิวเตอร์

แบ่งเป็น 5 ประเภท ดังนี้
1.พวกมือใหม่ หรือมือสมัครเล่น
2.นักเจาะข้อมูล คือ ผู้ที่ชอบเจาะเข้าระบบคอมพิวเตอร์ของผู้อื่น
3.อาชญากรรมในรูปแบบเดิมที่ใช้เทคโนโลยีเป็นเครื่องมือ
4.อาชญากรรมมืออาชีพ
5.พวกหัวรุนแรงคลั่งอุดมการณ์หรือลัทธิ

วิธีประกอบอาชญากรรมทางคอมพิวเตอร์

อาชญากรคอมพิวเตอร์ คือ ผู้กระทำผิดกฎหมายโดยใช้เทคโนโลยีคอมพิวเตอร์เป็นส่วนสำคัญ มีการจำแนกไว้ดังนี้

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

2. Darnged person คือ พวกจิตวิปริต ผิดปกติ มีลักษณะเป็นพวกชอบความรุนแรง และอันตราย มักเป็นพวกที่ชอบทำลายทุกสิ่งที่ขวางหน้าไม่ว่าจะเป็นบุคคล สิ่งของ หรือสภาพแวดล้อม

3. Organized Crime พวกนี้เป็นกลุ่มอาชญากรที่ร่วมมือกันทำผิดในลักษณะขององค์กรใหญ่ๆ ที่มีระบบ พวกเขาจะใช้คอมพิวเตอร์ที่ต่างกัน โดยส่วนหนึ่งอาจใช้เป็นเครื่องหาข่าวสาร เหมือนองค์กรธุรกิจทั่วไป อีกส่วนหนึ่งก็จะใช้เทคโนโลยีเพื่อเป็นตัวประกอบสำคัญในการก่ออาชญากรรม หรือใช้เทคโนโลยีกลบเกลื่อนร่องร่อย ให้รอดพ้นจากเจ้าหน้าที่

4. Career Criminal พวกอาชญากรมืออาชีพ เป็นกลุ่มอาชญากรคอมพิวเตอร์ที่มีอยู่มาก กลุ่มนี้น่าเป็นห่วงมากที่สุด เนื่องจากนับวันจะทวีจำนวนมากขึ้นเรื่อยๆ โดยจับผิดแล้วจับผิดเล่า บ่อยครั้ง

5. Com Artist คือพวกหัวพัฒนา เป็นพวกที่ชอบความก้าวหน้าทางคอมพิวเตอร์ เพื่อให้ได้มาซึ่งผลประโยชน์ส่วนตน อาชญากรประเภทนี้จะใช้ความก้าวหน้า เกี่ยวกับระบบคอมพิวเตอร์ และความรู้ของตนเพื่อหาเงินมิชอบทางกฎหมาย

6. Dreamer พวกบ้าลัทธิ เป็นพวกที่คอยทำผิดเนื่องจากมีความเชื่อถือสิ่งหนึ่งสิ่งใดอย่างรุ่นแรง

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

8. นักเจาะข้อมูล (Hacker) ผู้ที่ชอบเจาะเข้าระบบคอมพิวเตอร์ของผู้อื่น พยายามหาความท้าทายทางเทคโนโลยีเข้าไปในเครือข่ายของผู้อื่นโดยที่ตนเองไม่มีอำนาจ

9. อาชญากรในรูปแบบเดิมที่ใช้เทคโนโลยีเป็นเครื่องมือ เช่นพวกลักเล็กขโมยน้อยที่ พยายามขโมยบัตร ATM ของผู้อื่น

10. อาชญากรมืออาชีพ คนพวกนี้จะดำรงชีพจากการกระทำความผิด เช่นพวกที่มักจะใช้ ความรู้ทางเทคโนโลยีฉ้อโกงสถาบันการเงิน หรือการจารกรรมข้อมูลไปขาย เป็นต้น

ประเภทของอาชญากรรมทางคอมพิวเตอร์

อาชญากรรมทางคอมพิวเตอร์ประเภทต่างๆ

อาชญากรรมทางคอมพิวเตอร์ (Cyber-Crime) เป็นการกระทำที่ผิดกฎหมายโดยใช้วิธีการทางอิเล็กทรอนิกส์เพื่อโจมตีระบบคอมพิวเตอร์และข้อมูลที่อยู่บนระบบดังกล่าว ส่วนในมุมมองที่กว้างขึ้น อาชญากรรมที่เกี่ยวเนื่องกับคอมพิวเตอร์หมายถึงการกระทำที่ผิดกฎหมายใดๆ ซึ่งอาศัยหรือมีความเกี่ยวเนื่องกับระบบคอมพิวเตอร์หรือเครือข่าย อย่างไรก็ตาม อาชญากรรมประเภทนี้ไม่ถือเป็นอาชญากรรมทางคอมพิวเตอร์โดยตรงในการประชุมสหประชาชาติครั้งที่ 10 ว่าด้วยการป้องกันอาชญากรรมและการปฏิบัติต่อผู้กระทำผิด (The Tenth United Nations Congress on the Prevention of Crime and the Treatment of Offenders) ซึ่งจัดขึ้นที่กรุงเวียนนา เมื่อวันที่ 10-17 เมษายน 2543 ได้มีการจำแนกประเภทของอาชญากรรมทางคอมพิวเตอร์ โดยแบ่งเป็น 5 ประเภท คือ การเข้าถึงโดยไม่ได้รับอนุญาต, การสร้างความเสียหายแก่ข้อมูลหรือโปรแกรมคอมพิวเตอร์, การก่อกวนการทำงานของระบบคอมพิวเตอร์หรือเครือข่าย, การยับยั้งข้อมูลที่ส่งถึง/จากและภายในระบบหรือเครือข่ายโดยไม่ได้รับอนุญาต และการจารกรรมข้อมูลบนคอมพิวเตอร์โครงการอาชญากรรมทางคอมพิวเตอร์และการโจรกรรมทรัพย์สินทางปัญญา (Cyber-Crime and Intellectual Property Theft) พยายามที่จะเก็บรวบรวมและเผยแพร่ข้อมูล และค้นคว้าเกี่ยวกับอาชญากรรมทางคอมพิวเตอร์ 6 ประเภท ที่ได้รับความนิยม ซึ่งส่งผลกระทบโดยตรงต่อประชาชนและผู้บริโภค นอกจากนี้ยังทำหน้าที่เผยแพร่ความรู้เกี่ยวกับขอบเขตและความซับซ้อนของปัญหา รวมถึงนโยบายปัจจุบันและความพยายามในการปัญหานี้

อาชญากรรม 6 ประเภทดังกล่าวได้แก่
1. การเงิน อาชญากรรมที่ขัดขวางความสามารถขององค์กรธุรกิจในการทำธุรกรรม อี-คอมเมิร์ซ(หรือพาณิชย์อิเล็กทรอนิกส์)
2. การละเมิดลิขสิทธิ์ การคัดลอกผลงานที่มีลิขสิทธิ์ ในปัจจุบันคอมพิวเตอร์ส่วนบุคคลและอินเทอร์เน็ตถูกใช้เป็นสื่อในการก่ออาชญากรรม แบบเก่า โดยการโจรกรรมทางออนไลน์หมายรวมถึง การละเมิดลิขสิทธิ์ ใดๆ ที่เกี่ยวข้องกับการใช้อินเทอร์เน็ตเพื่อจำหน่ายหรือเผยแพร่ผลงานสร้างสรรค์ที่ได้รับการคุ้มครองลิขสิทธิ์
3. การเจาะระบบ การให้ได้มาซึ่งสิทธิในการเข้าถึงระบบคอมพิวเตอร์หรือเครือข่ายโดยไม่ได้รับอนุญาต และในบางกรณีอาจหมายถึงการใช้สิทธิการเข้าถึงนี้โดยไม่ได้รับอนุญาต นอกจากนี้การเจาะระบบยังอาจรองรับอาชญากรรมทางคอมพิวเตอร์ในรูปแบบอื่นๆ (เช่น การปลอมแปลง การก่อการร้าย ฯลฯ)
4. การก่อการร้ายทางคอมพิวเตอร์ ผลสืบเนื่องจากการเจาะระบบ โดยมีจุดมุ่งหมายเพื่อสร้างความหวาดกลัว เช่นเดียวกับการก่อการร้ายทั่วไป โดยการกระทำที่เข้าข่าย การก่อการร้ายทางอิเล็กทรอนิกส์ (e-terrorism) จะเกี่ยวข้องกับการเจาระบบคอมพิวเตอร์เพื่อก่อเหตุรุนแรงต่อบุคคลหรือทรัพย์สิน หรืออย่างน้อยก็มีจุดมุ่งหมายเพื่อสร้างความหวาดกลัว
5. ภาพอนาจารทางออนไลน์ ตามข้อกำหนด 18 USC 2252 และ 18 USC 2252A การประมวลผลหรือการเผยแพร่ภาพอนาจารเด็กถือเป็นการกระทำที่ผิดกฎหมาย และตามข้อกำหนด 47 USC 223 การเผยแพร่ภาพลามกอนาจารในรูปแบบใดๆ แก่เยาวชนถือเป็นการกระทำที่ขัดต่อกฎหมาย อินเทอร์เน็ตเป็นเพียงช่องทางใหม่สำหรับอาชญากรรม แบบเก่า อย่างไรก็ดี ประเด็นเรื่องวิธีที่เหมาะสมที่สุดในการควบคุมช่องทางการสื่อสารที่ครอบคลุม ทั่วโลกและเข้าถึงทุกกลุ่มอายุนี้ได้ก่อให้เกิดการถกเถียงและการโต้ แย้งอย่างกว้างขวาง
6. ภายในโรงเรียน ถึงแม้ว่าอินเทอร์เน็ตจะเป็นแหล่งทรัพยากรสำหรับการศึกษาและสันทนาการ แต่เยาวชนจำเป็นต้องได้รับทราบเกี่ยวกับวิธีการใช้งานเครื่องมืออันทรงพลังนี้อย่างปลอดภัยและมีความรับผิดชอบ โดยเป้าหมายหลักของโครงการนี้คือ เพื่อกระตุ้นให้เด็กได้เรียนรู้เกี่ยวกับข้อกำหนดทางกฎหมาย สิทธิของตนเอง และวิธีที่เหมาะสมในการป้องกันการใช้อินเทอร์เน็ตในทางที่ผิด

วันพุธที่ 8 กุมภาพันธ์ พ.ศ. 2555

บทที่ 9 การสนทนาออนไลน์

การสนทนาออนไลน์ (online chatting)


     การสนทนาออนไลน์ หรือ Internet Relay Chat (IRC) หมายถึง โปรแกรมที่ถูกสร้างมาเพื่อการสนทนาเครือข่ายอินเทอร์เน็ต โดยการพิมพ์ข้อความผ่านคีย์บอร์ดขึ้นสู่หน้าจอคอมพิวเตอร์ซึ่งจะมีชื่อของผู้เล่นและข้อความแสดงขึ้นในหน้าต่างภายในจอคอมพิวเตอร์ของโปรแกรมสนทนา ให้คนอื่น ๆ ที่ร่วมสนทนาในห้องสนทนา (chat room) นั้น ๆ ได้เห็นว่า ผู้เล่นสนทนาคนอื่น ๆ สามารถเข้าสนทนาได้ (อิสริยา ตัณฑะพานิชกุล และธิติมา ทองทับ, 2550)

     บริการสนทนาออนไลน์บนอินเทอร์เน็ต เป็นการสื่อสารผ่านข้อความ เสียง และรูปภาพจาก Webcam โดยมีการโต้ตอบกันอย่างทันทีทันใด (real-time) มีลักษณะเดียวกันกับการสนทนาโดยโทรศัพท์ ต่างกันตรงที่ผู้สนทนาจะสื่อสารผ่านหน้าจอคอมพิวเตอร์ ในขณะเดียวกันก็สามารถส่งข้อความ ภาพ และเสียงให้กันโดยมีอินเทอร์เน็ตเป็นสื่อกลางในการส่งข้อมูล (อิสริยา ตัณฑะพานิชกุล และธิติมา ทองทับ, 2550)

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

     รูปแบบการสนทนาออนไลน์ ในปัจจุบันมีคุณสมบัติพิเศษเพิ่มสีสันการสนทนามากมาย ทั้งนี้ก็เพื่อให้เกิดความแตกต่าง ความน่าสนใจ ทำให้เข้ามาสนทนาพูดคุย สามารถแบ่งรูปแบบการสนทนาออนไลน์อย่างกว้าง ๆ ได้เป็น 3 รูปแบบด้วยกัน คือ Web Chat, Web Board และโปรแกรมสนทนาออนไลน์ Web Chat เป็นการสนทนาโดยผ่านเซิร์ฟเวอร์กลาง ซึ่งจะทำให้เกิดกลุ่มสนทนาแล้วทุกคนที่ติดต่อกับเซิร์ฟเวอร์นั้นสามารถได้รับข้อความนั้นได้พร้อม ๆ กัน หรือเรียกอีกอย่างหนึ่งว่าห้องสนทนา (chat room) เป็นการเข้าไปคุยกันในเว็บที่จัดให้บริการ เป็นการคุยตอบโต้ระหว่างกันผ่านเซิร์ฟเวอร์ โดยใช้บราวเซอร์ปกติ รูปแบบ และบรรยากาศของห้องคุยก็จะขึ้นอยู่กับผู้สร้างสรรค์เว็บบริการนั้น ๆ ว่าให้ความน่าสนใจมากน้อยเพียงใด ซึ่งแต่ละห้องจะมีคนพูดคุยพร้อม ๆ กันหลายคน

     วิธีการสนทนาแบบนี้เทคนิคสามารถทำได้หลายรูปแบบ เช่นอาศัยโปรแกรมบนแต่ละเครื่องของผู้ใช้ เช่น PIRCH คือ โปรแกรมสนทนาออนไลน์ ที่ไม่ต้องสมัครสมาชิกก็สามารถเข้าใช้งานได้ แค่เพียงกรอก Nickname เพื่อเป็น Account (บัญชีสิทธิหรือ เวลาในการใช้งานโปรแกรม) เพื่อเข้าสู่ห้องสนทนาของโปรแกรม (ญาณพล ยั่งยืน และศรีดา ตันทะอธิพานิช, 2546)  mIRC คือ โปรแกรมสนทนาออนไลน์ รุ่นเก่าสมัยวินโดว์เวอร์ชั่น 3.11 การสนทนาจะต้องติดต่อกับเซิร์ฟเวอร์กลางที่มักทำงานในระบบ IRC (Internet Relay Chat) ซึ่งเป็นมาตรฐานของอินเทอร์เน็ตมาแต่เดิม หรือบางแบบก็ใช้การทำงานผ่านเซิร์ฟเวอร์มาทำให้เกิด Chat Room บนเว็บเพ็จของผู้ที่เข้าไปใช้บริการ โดยไม่ได้มีการใช้โปรแกรมอยู่บนเครื่องของผู้เล่น เรียกว่า เป็น Web Chat

     การสนทนาโดยตรงระหว่างผู้ใช้อินเทอร์เน็ต วิธีนี้ขณะสนทนาจะไม่ต้องผ่านเซิร์ฟเวอร์ (แต่ตอนเริ่มต้นจะต้องผ่านเซิร์ฟเวอร์) เป็นการรับส่งสารแบบทันทีทันใดหรือ Instant Messaging ตัวอย่างเช่น โปรแกรม ICQ, Yahoo Messenger, MSN Messenger  ซึ่งรูปแบบนี้โปรแกรมจะออกมาเพื่อใช้งานเฉพาะ มีลูกเล่นที่อำนวยความสะดวก เพิ่มสีสัน เป็นกันเองในการสนทนาแบบเป็นส่วนตัว ข้อดีของการสนทนาแบบนี้ คือ ไม่ต้องพึ่งพาเซิร์ฟเวอร์ตลอดเวลา ถึงจะมีผู้ใช้พร้อม ๆ กันเป็นจำนวนมาก เครื่องก็จะไม่ช้า

     การสนทนากันโดยใช้โปรแกรมที่ถูกสร้างขึ้นมาเพื่ออำนวยความสะดวกในการคุยโดยเฉพาะ เป็นการสนทนาที่มีเซิร์ฟเวอร์บอกตำแหน่งให้โปรแกรมของผู้สนทนาสามารถติดต่อสื่อสารถึงกันได้ ตัวอย่างโปรแกรมก็เช่น PIRCH, mIRC, ICQ, MSN เป็นต้น (ณาตยา ฉาบนาค, 2547)


     ลักษณะการทำงานของโปรแกรมประเภทนี้ จะเริ่มใช้โดยมีการดาวน์โหลดโปรแกรมมาติดตั้งที่เครื่องคอมพิวเตอร์ของตนพร้อมทั้งลงทะเบียน Register ไว้กับเซิร์ฟเวอร์กลาง โดยจะได้หมายเลขผู้ใช้หรือ UIN (User Identification Number) จากนั้นเมื่อใดที่ผู้ใช้ออนไลน์จะมีโปรแกรมตรวจสอบและมี IP Address ไปให้เซิร์ฟเวอร์ทราบ และถ้าหากใครต้องการติดต่อด้วยก็จะสอบถาม IP Address ได้จากเซิร์ฟเวอร์กลาง จากนั้นก็เป็นการติดต่อกันระหว่างสองเครื่อง โดยไม่ผ่านเซิร์ฟเวอร์กลางอีก ทำให้ผู้ใช้สามารถติดต่อกันได้โดยตรง ซึ่งรวดเร็วและทันใจกว่าการสนทนาแบบอื่น (อิสริยา ตัณฑะพานิชกุล และธิติมา ทองทับ, 2550)

     Web Board หรือกระดานสนทนาเป็นการฝากข้อความหรือคำถามไว้บนเซิร์ฟเวอร์ ซึ่งมักจะเป็นคำถามที่ต้องการข้อมูลที่ลึกกว่าการคุยโต้ตอบกันในทันที การสนทนาแบบนี้มีเวลาในการคิดกลั่นกรองข้อความที่จะโต้ตอบ  นอกจากนี้ ยังเป็นพื้นที่ระดมความรู้ ความคิดเห็น และแจ้งหรือประกาศข้อมูลข่าวสารต่าง ๆ

     เว็บไซต์ส่วนใหญ่จะมีระบบป้องกันข้อความที่ไม่เหมาะสม การลบกระทู้หรือ ข้อความที่ไม่ประสงค์ดี ส่วนผู้ที่โพสท์ส่วนใหญ่ทุกเว็บก็จะให้ลักษณะสมัครสมาชิก  แต่ถ้าไม่สมัครสมาชิก ทางเว็บไซต์ก็จะสามารถตรวจสอบข้อความที่โพสท์ ลงไปได้ว่าโพสท์ไปจากที่ไหน โดยทุกครั้งที่พิมพ์ข้อความ จะแสดงหมายเลข IP ปรากฏอยู่บนเว็บโพสท์หรืออาจไม่ปรากฏในเว็บเพจก็จริง แต่ทางเว็บไซต์จะมีข้อมูลบันทึกไว้ การใช้งาน Web Board ก่อให้เกิดทั้งประโยชน์และโทษดังต่อไปนี้

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

     โทษ ของเว็บบอร์ดจะเป็นข้อความที่ให้ร้าย ใส่ร้าย ประสงค์ร้ายกับผู้อื่น หรือสิ่งนั้น ๆ ผู้อ่านจะต้องใช้วิจารณญาณในการอ่านข้อความที่ผู้อื่นโพสท์มา (สุธีร์ นวกุล, 2550)

   
     การสนทนาออนไลน์ในแบบ Web Chat และ Web Board มีการทำงานพื้นฐานแบบเดียวกันนั่นคือ เป็นการสนทนากันโดยผ่านเซิร์ฟเวอร์กลาง ไม่ได้ติดต่อกันเองระหว่างเครื่องคู่สนทนา เมื่อคุณพิมพ์ข้อความส่งไป ข้อความนั้นจะถูกส่งไปเก็บยังเซิร์ฟเวอร์กลางและแสดงผลข้อความนั้นส่งกลับมาในภาพรวมทั้งหมด รวมถึงส่งต่อไปยังเครื่องอื่น ๆ ที่ออนไลน์อยู่กับเซิร์ฟเวอร์นั้นด้วย ทำให้ทุกคนสามารถมองเห็นข้อความต่าง ๆ ที่เก็บไว้บนเซิร์ฟเวอร์  โดยใช้โปรแกรมบราวเซอร์เป็นตัวช่วยในการดึงและส่งข้อมูล ความรวดเร็วในการโต้ตอบและแสดงผลก็จะขึ้นอยู่กับความเร็วในการติดต่อกันระหว่างเครื่องของผู้ใช้กับเซิร์ฟเวอร์ จำนวนผู้ที่เข้าติดต่อกับเซิร์ฟเวอร์กลางในขณะนั้น ๆ ก็มีผลต่อความเร็วในการโต้ตอบ (ศิริพร ปัญญาเมธีกุล, 2548)




บรรณานุกรม
1. เกมจิราวรรณ วรรณวินัย. (2551, หน้า17-20 ). ผลกระทบการสนทนาออนไลน์ของนักเรียน, ศิลปศาสตรมหาบัณฑิต (สื่อสารมวลชน), มหาวิทยาลัยรามคำแหง.
2. อิสริยา ตัณฑะพานิชกุล และธิติมา ทองทับ. (2550). Window live messenger MSN 8.5. กรุงเทพฯ: สำนักพิมพ์โปรวิชั่น.
3. โปรแกรมสนทนาออนไลน์. (2551). Oppy Club by Loxley. ค้นเมื่อ 12 กรกฎาคม 2551, จาก http://www.happyoppy.com
4. ณาตยา  ฉาบนาค. (2547). คอมพิวเตอร์เบื้องต้น เล่ม 5 ระบบเครือข่ายและอินเทอร์เน็ต. กรุงเทพฯ: สำนักพิมพ์ เอส.พี.ซี. พริ้นติ้ง.
5. สุธีร์ นวกุล. (2550). ครบเครื่องทุกเรื่อง: อินเทอร์เน็ต & อีเมลล์. กรุงเทพฯ: สำนักพิมพ์ซีเอ็ดยูเคชั่น.
6. ศิริพร ปัญญาเมธีกุล. (2548). ภาษาในการสนทนาทางอินเทอร์เน็ต. มนุษยศาสตร์ปริทัศน์, 27, 65-69.
7. ญาณพล  ยั่งยืน และศรีดา  ตันทะอธิพานิช. (2546). อินเทอร์เน็ตเข้าใจง่าย. กรุงเทพฯ: สำนักพิมพ์เอทีเอ็น โปรดักชั่น.


ตะวันฉาย:
ภาษาที่ใช้ในการสนทนาออนไลน์
     การศึกษาภาษาในห้องสนทนาออนไลน์ โดยการเก็บข้อมูลจากเว็บไซต์พันธุ์ทิพย์ เว็บไซต์หรรษา และโปรแกรมสนทนา IRC ผลของการศึกษาจะพบภาษาที่แตกต่างจากชีวิตประจำวัน มีการใช้ภาษาพูดในการเขียนข้อความ การใช้สัญลักษณ์แสดงอารมณ์ กิริยาต่าง ๆ (ศิริพร ปัญญาเมธีกุล, 2548)



ลักษณะการสื่อสารในห้องสนทนา
     การสนทนาออนไลน์ผ่านห้องสนทนา (chat room) เป็นการสนทนาที่เป็นกันเอง จุดมุ่งหมายเพื่อสร้างมิตรภาพ ความสนุกสนานภาษาที่ใช้ไม่ค่อยเป็นภาษาที่เป็นทางการหัวข้อที่ใช้ในการสนทนาคือการถาม-ตอบข้อมูลพื้นฐานของแต่ละบุคคล และมีการสร้างมิตรภาพกับเพศที่ตนสนใจ (ศิริพร ปัญญาเมธีกุล, 2548)


     รูปแบบ ในการสนทนามีการสนทนาแบบเพียงคนเดียว (one to one) คนหนึ่งสนทนากันหลายคน (one to many) คนหลายคนสนทนากับคนหลายคน (many to many) (ศิริพร ปัญญาเมธีกุล, 2548)

     การสื่อสารบนห้องสนทนาออนไลน์เป็นภาษาพูด มีการใช้รูปแสดงอารมณ์ กริยาท่าทาง (emoticon) แทนการพิมพ์คำที่แสดงอาการ อารมณ์ความรู้สึก (ธิติศักดิ์ หวังเกษม, 2550)

     ภาษาที่ใช้ในการสนทนาออนไลน์ สามารถแยกรูปแบบได้ดังนี้ (ศิริพร ปัญญาเมธีกุล, 2548, หน้า 65)
     1.การใช้ภาษาพูดในภาษาเขียน ผู้สนทนาส่วนใหญ่จะพิมพ์ข้อความเป็นภาษาพูด เพื่อต้องการให้การสนทนาในห้องออนไลน์นั้นเหมือนกับการเผชิญหน้ากับในการสื่อสาร จึงพิมพ์โดยการเลียนแบบเสียงพูดมากที่สุด เช่น การซ้ำพยัญชนะ หรือสระ เพื่อแสดงการลากเสียง
     2.การตัดคำให้สั้น การสนทนามีการตัดคำให้สั้นลงเพื่อให้พิมพ์ได้เร็วขึ้น เช่น สวัสดี กลายเป็น ดี หรือ D แทน หรือจะเป็นการตัดสระหรือพยัญชนะบางตัว เช่น เดี๋ยว เป็น เด๋ว เพื่อพิมพ์ได้เร็วขึ้นและน่าสนใจ

     สัญลักษณ์รูปภาพแทนอารมณ์ความรู้สึก ข้อจำกัดของการสนทนาออนไลน์คือ ไม่สามารถแสดงอารมณ์ เหมือนกับการสนทนาแบบเผชิญหน้า จึงมีการสร้างสิ่งทดแทนโดยการเครื่องหมายแอสกี (ASCII Art) ในการแสดงอารมณ์  การใช้ Emoticon  เพื่อแสดงอารมณ์และลักษณะท่าทางหรือการพิมพ์ข้อความที่แสดงถึงลักษณะท่าทาง ดังแสดงในตาราง

     ลักษณะรูปแบบ และภาษาที่ใช้ในการสนทนาออนไลน์นั้นจะเกิดผลกระทบทางด้านการใช้ภาษาที่ไม่ถูกต้องใช้ภาษาพูดเป็นภาษาเขียนทำให้ทั้งภาษาไทยและภาษาอังกฤษเกิดผลกระทบและกลายเป็นวัฒนธรรมในการสื่อสารที่เป็นการสร้างเอกลักษณ์ภายในกลุ่มคนออนไลน์ไม่ว่าเป็นการตัดคำให้สั้นลง การลดหรือการเพิ่มสระและพยัญชนะเพื่อเป็นการดึงดูดหรือประหยัดเวลา ค่านิยมที่ไม่ถูกต้องแต่มีการใช้อย่างแพร่หลาย จากบทความจะเป็นการนำเสนอการสนทนาผ่านเซิร์ฟเวอร์  แต่การศึกษาของผู้วิจัยจะเป็นการสนทนาผ่านโปรแกรม MSN Messenger ถึงแม้รูปแบบการสนทนาจะต่างกัน  แต่ก็เป็นการสนทนาที่ผ่านเครือข่ายอินเทอร์เน็ตเหมือนกัน  ผู้วิจัยจึงนำมาเพื่อเป็นข้อมูลในการศึกษาว่าจะมีลักษณะ รูปแบบ และภาษาที่เหมือนกันหรือมีความขัดแย้งกัน (ศิริพร ปัญญาเมธีกุล, 2548, หน้า 66)


รูปแบบการสนทนาออนไลน์
การสนทนาออนไลน์หรือ chat เป็นวิธีการสนทนาที่ได้รับความเป็นอย่างมากในปัจจุบัน เนื่องจากเป็นการสนทนาที่ง่าย สะดวก และรวดเร็ว ทางเว็บไซต์การจัดการความรู้ สำนักวิทยบริการจึงได้สร้างช่องทางสนทนารูปแบบนี้ไว้ โดยมีวิธีการใช้งาน ดังนี้
  1. การจะสนทนากับสมาชิกคนใดได้นั้นสมาชิกคนนั้นจำเป็นต้องล็อกอินอยู่ในระบบก่อน ซึ่งเราสามารถทราบว่ามีสมาชิกท่านใดออนไลน์อยู่ในระบบบ้าง โดยดูได้จากหน้าต่าง ผู้ใช้ออนไลน์ ซึ่งจะอยู่บริเวณด้านล่างในคอลัมน์ด้านขวามือ เมื่อต้องการสนทนากับสมาชิกท่านใดก็ให้คลิกที่ชื่อสมาชิกท่านนั้น ดังภาพ
  2. เมื่อคลิกชื่อสมาชิกที่ต้องการสนทนาแล้วจะปรากฏหน้าต่างสนทนาขึ้นมาด้านล่างขวาของจอภาพ
  3. นอกจากนี้ การตั้งค่าสถานะในการสนทนาสามารถทำได้โดยคลิกที่แถบด้านขวาสุด (Chat:1) คลิก Options จะมีสถานะให้เลือก 3 สถานะ ดังภาพด้านบน ซึ่งหมายถึง ออนไลน์ ออนไลน์แต่สมาชิกท่านอื่นมองไม่เห็น และไม่ว่าง ตามลำดับ

บทที่ 8 การค้นหาข้อมูล

การค้นหาข้อมูลบนอินเตอร์เน็ต
อินเตอร์เน็ต (Internet) เป็นเครือข่ายคอมพิวเตอร์หนึ่งที่มีบทบาทสำคัญที่สุดในยุคของสังคมข่าวสารในปัจจุบัน การสื่อสารผ่านเครือข่ายคอมพิวเตอร์กำลังมีความสำคัญเพิ่มมากขึ้นเป็นลำดับ โดยมีขอบข่ายเชื่อมโยงเกือบทั่วทุกมุมโลก นอกจากนี้ยังเป็นเครือข่ายของเครือข่าย เพราะอินเตอร์เน็ตประกอบด้วย
เครือข่ายย่อยจำนวนมาก เชื่อมเข้าด้วยกัน อินเตอร์เน็ตจึงเป็นเสมือนขุมทองแห่งใหม่เพราะเป็นที่รวมของข้อมูลข่าวสารความรู้ต่าง ๆ ทำให้โลกที่กว้างใหญ่ไพศาลแคบเข้ามาอีก (สุภางค์ กุณวงษ์ และดารารัตน์ จุฬาพันธุ์. 2540 : 39) ประโยชน์ของอินเตอร์เน็ตนั้นมีมากมาย ทั้งทางด้านการศึกษา การบันเทิง การติดต่อสื่อสารทางจดหมาย การซื้อของ หรือสนุกกับการมีเพื่อนใหม่บนอินเตอร์เน็ต บริการค้นข้อมูลบนอินเตอร์เน็ต โดยใช้ search engine ก็เป็นอีกบริการหนึ่งบนอินเตอร์เน็ต (Internet) ที่เราสามารถค้นหาข้อมูลที่เราต้องการได้ (ชฎิล แก้วปลั่ง. 2543 : 3)


            การค้นหาคําตอบ หรือการค้นหาข้อมูลในทางคอมพิวเตอร์มักจะกระทําบนโครงสร้างข้อมูลแบบต้นไม้ และกราฟ ทั้งนี้เพราะโครงสร้างข้อมูลในลักษณะนี้สามารถทําให้การค้นหาทําได้สะดวกและสามารถพลิกแพลงการค้นหาได้ง่าย ในความเป็นจริงแล้ว การค้นหาข้อมูลบางครั้งสามารถกระทําบนโครงสร้างข้อมูลชนิดอื่นก็ได้เช่น อาเรย์ แสตก และคิว แต่การจัดข้อมูลในโครงสร้างเช่นนี้ มีข้อจํากัดในการค้นหาข้อมูลมาก การค้นหาทําได้แบบเรียงลําดับ(Sequencial Search) เท่านั้น ซึ่งใช้ได้กับข้อมูลที่มีขนาดเล็ก ดังนั้นในการค้นหาข้อมูลที่มีขนาดใหญ่ ก่อนการค้นหา หรือระหว่างการค้นหา ข้อมูลที่จะถูกค้นจะต้องถูกจัดให้อยู่ในรูปแบบของต้นไม้ หรือกราฟเท่านั้น การค้นหาข้อมูลบนโครงสร้างต้นไม้และกราฟสามารถจํ าแนกได้ 2 แบบคือ การค้นหาแบบไบล์ด(Blind Search) และการค้นหาแบบฮิวริสติก(Heuristic Search)

การค้นหาแบบไบล์ด(Blind Search)

     การค้นหาแบบไบล์ด(Blind search) เป็นการค้นหาแบบที่เดินทางจากโหนดหนึ่งไปยังอีกโหนดหนึ่ง โดยอาศัยทิศทางเป็นตัวกําหนดการค้นหา ไม่ต้องมีข้อมูลอะไรมาช่วยเสริมการตัดสินใจว่าจะเดินทางต่อไปอย่างไร หรือกล่าวอย่างง่าย ๆ คือการจะหยิบข้อมูลใดมาช่วยในการค้นหาต่อไป ไม่ต้องอาศัยข้อมูลใด ๆ ทั้งสิ้น นอกจากทิศทางซึ่งเป็นรูปแบบตายตัว   การค้นหาแบบไบล์ดสามารถแบ่งย่อยได้ดังนี้ คือ การค้นหาทั้หมด  และการค้นหาบางส่วน
     -  การค้นหาทั้งหมด(exhaustive search) คือ การค้นหาทั้งหมดของปริภูมิสถานะ
     -  การค้นหาบางส่วน  (partial search)  การค้นหาเพียงบางส่วนของปริภูมิสถานะ ซึ่งในความเป็นจริงการค้นหาส่วนมากใช้การค้นหาเฉพาะบางส่วนเท่านั้นเนื่องจากปริภูมิสถานะมักมีขนาดใหญ่ เท่าให้ไม่สามารถค้นหาได้ทั้งหมด ดังนั้นจึงมีความเป็นไปได้ว่าคำตอบที่ได้อาจไม่ใช่คำตอบที่ดีที่สุด การค้นหาแบบนี้สามารถแบ่งได้เป็น 2 ประเภทคือ การค้นหาแบบลึกก่อน(Depth first search) และการค้นหาแบบกว้างก่อน (Breadth first search)


         การค้นหาแบบลึกก่อนเป็นการค้นหาที่กําหนดทิศทางจากรูปของโครงสร้างต้นไม้ ที่เริ่มต้นจากโหนดราก(Root node) ที่อยู่บนสุด แล้วเดินลงมาให้ลึกที่สุด เมื่อถึงโหนดล่างสุด(Terminal node) ให้ย้อนขึ้นมาที่จุดสูงสุดของกิ่งเดี่ยวกันที่มีกิ่งแยกและยังไม่ได้เดินผ่าน แล้วเริ่มเดินลงจนถึงโหนดลึกสุดอีก ทําเช่นนี้สลับไปเรื่อยจนพบโหนดที่ต้องการหาหรือสํารวจครบทุกโหนดแล้วตามรูปที่ 1 การค้นหาแบบลึกก่อนจะมีลําดับการเดินตามโหนดดังตัวเลขที่กํากับไว้ในแต่ละโหนด



รูปที่ 1 ลําดับการเดินทางบนโหนดของการค้นหาแบบลึกก่อนบนโครงสร้างต้นไม้


       ดังที่ได้กล่าวมาแล้วว่า โครงสร้างข้อมูลที่ใช้สําหรับการค้นหานี้สามารถใช้กับโครงสร้างกราฟได้ด้วย โดยอาศัยหลักการเดียวกัน แต่สําหรับการเดินทางบนกราฟนั้นจะไม่มีโหนดลึกสุดดังนั้นการเดินทางบนกราฟจะต้องปรับวิธีการเป็นดังนี้ โดยเริ่มจาก
โหนดเริ่มต้น จากนั้นให้นําโหนดที่อยู่ติดกับโหนดที่กําลังสํารวจอยู่(ที่ยังไม่ได้ทําการสํารวจและยังไม่ได้อยู่ในแสต็กมาใส่แสต็ก) มาเก็บไว้ในสแต็กเมื่อสํารวจโหนดนั้นเสร็จ ให้พอพ(pop) ตัวบนสุดของโหนดออกมาทําการสํารวจ แล้วนําโหนดข้างเคียงทั้งหมดที่ยังไม่ได้สํารวจมาต่อท้ายแสต็ก แล้วพอพตัวบนสุดออกมาสํารวจ ทําเช่นนี้เรื่อย ๆ จนกระทั้งพบโหนดที่ต้องการ หรือสํารวจครบทุดโหนด 

     
  การสํารวจจะเริ่มต้นที่ 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 ดังต่อไปนี้  

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


       การค้นหาแบบกว้างก่อนเป็นการกําหนดทิศทางการค้นหาแบบที่ละระดับของโครงสร้างต้นไม้โดยเริ่มจากโหนดราก(ระดับที่ 0) แล้วลงมาระดับที่ 1 จากซ้ายไปขวา เมื่อเสร็จระดับที่ 1 ไประดับที่ 2จากซ้ายไปขวาเช่นกัน ทําเช่นนี้เรื่อย ๆ จนพบโหนดที่ต้องการตามรูปที่ 3 ลําดับการเดินทางของโหนดเป็นไปตามหมายเลขที่กํากับไว้บนโหนด
 
        สําหรับการค้นหาแบบกว้างก่อนบนโครงสร้างต้นไม้ จะอาศัยโครงสร้างข้อมูลแบบคิว(Queue)มาช่วย และด้วยวิธีการเช่นเดียวกับการค้นหาแบบลึกก่อนคือ ให้เริ่มต้นสํารวจที่โหนดเริ่มต้น แล้วนําโหนดข้างเคียงเก็บไว้ในคิว เมื่อสํารวจโหนดเริ่มต้นเสร็จ ให้นําข้อมูลในคิวออกมาสํารวจ แล้วนําโหนดข้างเคียงที่ยังไม่ได้สํารวจและไม่ได้อยู่ในคิวใส่คิวไว้ ทําเช่นนี้ไปเรื่อย ๆ จนพบโหนดที่ต้องการ หรือเมื่อสํารวจครบทุกโหนด
  

      การสํารวจเริ่มต้นที่ A นําโหนดข้างเคียง B C ไว้ในคิว เมื่อสํารวจ A เสร็จ นําข้อมูลในคิว คือ Bออกมาสํารวจ แล้วนําข้อมูลข้างเคียงคือ D E ใส่คิว ตอนนี้คิวจะมี B D E อยู่ แล้วนํา B ออกมาสํารวจทําเช่นนี้เรื่อย ๆ จะได้ลําดับการสํารวจข้อมูลคือ (A B C D E F G H) ตามตารางที่ 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 algorithm)
   
 
        การค้นหาแบบฮิลไคลบิง(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)


      เป็นกระบวนการค้นหาข้อมูลที่ได้นําเอาข้อดีของทั้งการค้นหาแบบลึกก่อน(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 คะแนนตามลํ าดับ ทําเช่นนี้เรื่อย ๆ จนพบคําตอบหรือจนไม่สามารถ สร้างโหนดต่อไปได้อีก 



อัลกอริธึม: การค้นหาแบบดีที่สุดก่อน
1. เริ่มด้วย OPEN ที่มีเพียงโหนดเริ่มต้น
2. ทําจนกว่าจะพบเป้าหมาย หรือว่าไม่มีโหนดเหลืออยู่ใน OPEN
     � เลือกโหนดที่ดีที่สุดใน OPEN
     � สร้างโหนดลูกให้กับโหนดที่ดีที่สุดนั้น
     � สําหรับโหนดลูกแต่ละตัวให้ทําดังต่อไปนี้
          i) ถ้าโหนดนั้นยังไม่เคยถูกสร้างมาก่อนหน้านั้น ให้ตรวจสอบค่าของมันโดย
                    ใช้ฮิวริสติกฟังชัน แล้วเพิ่มเข้าไปใน OPEN แล้วบันทึกว่าเป็นโหนดแม่
         ii) ถ้าโหนดนั้นถูกสร้างมาก่อนหน้านี้แล้ว ให้เปลี่ยนโหนดแม่ของมัน ถ้าเส้น
                   ทางใหม่ที่ได้ดีกว่าโหนดแม่ตัวเดิม ในกรณีนี้ ให้ปรับเปลี่ยนค่าตามเส้น
                   ทางที่อาจจะเกิดขึ้น


    กรีดีอัลกอริธึม เป็นการค้นหาแบบดีที่สุดก่อน(Best first search) ที่ง่ายที่สุด หลักการของการค้นหาแบบนี้คือ การเลือกโหนดที่ดีที่สุดตลอดเวลาอัลกอริธึม กรีดี
1. เลือกโหนดเริ่มต้นมาหนึ่งโหนด
2. ให้โหนดที่เลือกมานี้เป็นสถานะปัจจุบัน
3. ให้ทําตามขบวนการข้างล่างนี้จนกว่าจะไม่สามารถสร้างโหนดลูกได้อีก
      3.1 สร้างสถานะใหม่ที่เป็นโหนดลูกที่เป็นไปได้ทั้งหมดจากสถานะปัจจุบัน
      3.2 จากสถานะใหม่ที่สร้างขึ้นมาทั้งหมด ให้เลือกสถานะ หรือ โหนดลูก ที่ดีที่สุดออกมาเพียงโหนดเดียว
4. กลับไปที่ขึ้นตอนที่ 2



ตัวอย่าง จากเรื่องการเดินทางของเซลแมนที่จะต้องเดินทางไปยังเมือง A B C D ซึ่งมีระยะทางตามตารางที่ 3 เราจะแก้ปัญหานี้ด้วยวิธีการของกรีดีบ้าง 
จากรูปที่ 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 

       การค้นหาแบบ 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 จะน้อยกว่าซึ่งต่างจากการสร้างสถานะของอัลกอริทึมดีสุดก่อ 
                           

การค้นหาข้อมูลโดยใช้ search engine

ถ้าเราต้องการค้นข้อมูลบนอินเตอร์เน็ต แล้วทราบที่อยู่ของเว็บไซต์นั้น ๆ เราสามารถพิมพ์ที่อยู่ของเว็บไซต์ลงในช่อง address ได้เลย แต่ถ้าไม่ทราบว่าข้อมูลนั้น ๆ มีอยู่ในเว็บไซต์ใด ก็ต้องค้นหาด้วย search engine มีขั้นตอน ดังนี้
1 .เข้าสู่โปรแกรมอินเตอร์เน็ต ในที่นี้เข้าโปรแกรม Internet Explorer
2. เข้าเว็บให้บริการ search engine
3. พิมพ์ข้อความที่ต้องการค้นหาใส่ลงในช่อง search แล้วคลิกที่ค้นหา หรือ search หรือกด enter
4. โปรแกรมจะแสดงรายชื่อเว็บไซต์ของข้อมูลที่ค้นหา
5. คลิกเม้าส์ไปที่ชื่อเว็บไซต์ที่เราต้องการ จะพบข้อมูลที่เราค้นหา