คนคอมพิวเตอร์

Archive for กันยายน 2010

 

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

มาสร้างจอซุปเปอร์จิ๋วกันเถอะ

ตกแต่ง คอมพิวเตอร์ให้เลิศหรูดูไฮเทคด้วยการสร้างจอ LCD ขนาดจิ๋ว แสดงข้อมูลสถานะของคอมพิวเตอร์ได้หลายอย่าง ใช้อุปกรณ์น้อยชิ้น วิธีทำไม่ซับซ้อน

ลาภลอย วานิชอังกูร (laploy.com)

สร้างฮาร์ดแวร์จอซุปเปอร์จิ๋ว

เมื่อรู้หลักการทำงานของจอ LCD พอร์ทขนาน และมีอุปกรณ์ครบแล้วเราก็พร้อมจะลงมือประกอบฮาร์ดแวร์ได้


ตัดแผ่นวงจรพิมพ์ด้วยเครื่องมือตัดหรือใช้เลื่อยฉลุให้มีขนาดเท่ากันกับจอ LCD


นำคอนเนคเตอร์พินมาเทียบวัดกับขาของจอ LCD จะเห็นว่ามีระยะห่างเท่ากัน


หักคอนเนคเตอร์พินหรือตัดด้วยคีมให้มีขนาดเท่ากับขาจอ LCD (ของผู้เขียนใช้มีสิบสี่ขา)


นำแผ่นวงจรพิมพ์มาเจาะรูใส่นอตและใส่ขารอง


แผ่นวงจรพิมพ์เมื่อใส่ขาแล้วมองจากด้านล่าง

ใช้หัวแร้งความร้อนประมาณ 30W และตะกั่วบัดกรี


นำคอนเนคเตอร์พินมาใส่ในแผ่นวงจรพิมพ์


บัดกรีคอนเนคเตอร์พินเข้ากับแผ่นวงจรพิมพ์


นำจอ LCD มาบัดกรีกับคอนเนคเตอร์พิน


บัดกรีเสร็จแล้วมองด้านหลังเป็นแบบนี้


เมื่อบัดกรีเสร็จแล้วจอ LCD จะตั้งอยู่ได้โดยไม่ต้องมีตัวยึด


หาซื้อสายแพที่เข้าหัวแบบ 20 หัวสองด้านมาหนึ่งเส้น


หรือจะซื้อคอนเนคเตอร์มาเข้าหัวเองก็ได้


ถ้าสายแพมีจำนวนมากกว่า 20 เส้นต้องฉีกออก


ตัดแผ่นวงจรพิมพ์แล้วติดคอนเนคเตอร์พินเรียงสองแถวๆ ละสิบขา


บัดกรีสายพอร์ทขนานเข้ากับคอนเนคเตอร์พิน


บัดกรีเสร็จแล้วจะได้หัวเชื่อมต่อระหว่างสายพอร์ทขนานกับแผ่นวงจรพิมพ์ จุดสีดำที่ทำเครื่องหมายไว้บนแผ่นวงจรคือขาหนึ่ง


นำคอนเนคเตอร์พิน มาบัดกรีบนแผนวงจรสองแถวๆ ละสิบขา


บัดกรีขา D0 ถึง D7 จากคอนเนคเตอร์พินไปยังจอ LCD (ดูวงจร)


เสร็จการเชื่อมต่อสายข้อมูลระหว่างสายพอร์ทขนานกับจอ LCD


ตำแหน่งขาของคอนเนคเตอร์พินและจอ LCD


ใส่ขาเสียบคอนเนคเตอร์สองขั้วเพื่อรับไฟเลี้ยง ใส่ LED ทำหน้าที่แสดงสถานะของไฟเลี้ยง และตัวต้านทานทำหน้าที่ลดกระแส


ใส่ตัวต้านทานปรับค่าได้แล้วต่อสายตามวงจร (ทำหน้าที่ปรับความเข้มของตัวอักษรบนจอ LCD)


บัดกรีสายไฟควบคุมและสายไฟเลี้ยง เมื่อบัดกรีครบทุกจุดแล้วหน้าตาเป็นแบบนี้


เสียบสายไฟเลี้ยงกับแหล่งจ่ายไฟในคอมพิวเตอร์ หากต่อถูกต้องดีจะเห็นสี่เหลี่ยมสี่ดำเรียงแบบนี้

โปรดติดตามตอนต่อไป

 

 

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

มาสร้างจอซุปเปอร์จิ๋วกันเถอะ

ตกแต่งคอมพิวเตอร์ให้เลิศหรูดูไฮเทคด้วยการสร้างจอ LCD ขนาดจิ๋ว แสดงข้อมูลสถานะของคอมพิวเตอร์ได้หลายอย่าง ใช้อุปกรณ์น้อยชิ้น วิธีทำไม่ซับซ้อน

ลาภลอย วานิชอังกูร (laploy.com)

ขณะขับรถเราต้องดูเข็มวัดรอบ มาตรวัดน้ำมัน มาตรวัดความร้อน และอื่นๆ  เพื่อให้รู้ว่ารถของเรามีภาวะเป็นอย่างไร คงจะดีไม่น้อยหากคอมพิวเตอร์เตอร์มีหน้าปัดแสดงสถานะเหมือนอย่างรถยนต์ จอซุปเปอร์จิ๋วช่วยให้ความต้องการนี้กลายเป็นความจริงได้


จอซุปเปอร์จิ๋วเมื่อเสร็จสมบูรณ์แล้ว

บทความนี้ผู้เขียนจะสอนวิธีสร้างจอซุปเปอร์จิ๋วโดยละเอียด ทั้งทางฮาร์ดแวร์และซอฟท์แวร์ อธิบายหลักการทำงาน คำสั่งของวงจรควบคุมจอ LCD วิธีใช้พอร์ทขนานควบคุมการทำงานของจอ LCD วิธีเขียนโปรแกรมเพื่อติดต่อกับพอร์ทขนาน และสุดท้าย สอนวิธีสร้างโปรแกรมประยุกต์ เพื่อให้จอซุปเปอร์จิ๋วแสดงข้อมูลตามที่เราต้องการ

ตอน 1

 

จอซุปเปอร์จิ๋วเป็นอย่างนี้

ผู้เขียนสร้างจอซุปเปอร์จิ๋วจากจอ LCD ขนาดเล็กราคาถูก (คำว่า LCD ย่อมาจาก Liquid Crystal Display หมายถึงจอที่ทำจากผลึกเหลว เป็นจอที่ไม่เรืองแสง ตัวอักษรที่ได้จะเป็นสีดำบนพื้นเขียวอ่อน) จอ LCD ที่นำมาทดสอบขนาดประมาณ 4×9 ซม. อักษรหนึ่งตัวมีความสูงประมาณ 70 มิลลิเมตร แสดงตัวอักษรได้ 32 ตัว โดยแบ่งออกเป็นสองบรรทัดๆ และ 16 ตัวอักษร

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

 

ประโยชน์ของจอซุปเปอร์จิ๋ว

ผู้เขียนจะสอนวิธีทำให้จอซุปเปอร์จิ๋วแสดงข้อมูลต่างๆ ดังนี้

  • แสดงพลังการประมวลผลของซีพียูที่ถูกใช้ไป โดยแสดงเป็นร้อยละ
  • จำนวนหน่วยความจำที่ถูกใช้ไป โดยแสดงเป็นร้อยละ
  • ความจุของฮาร์ดดิสก์ที่เหลืออยู่ โดยแสดงเป็นหน่วยเม็กกะไบต์
  • พื้นที่ในแรมที่เหลืออยู่ โดยแสดงเป็นหน่วยเม็กกะไบต์
  • เวลา โดยแสดงเป็น ชั่วโมง นาที และ AM หรือ PM
    วัน เดือน ปี

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

 

กายวิภาคของจอซุปเปอร์จิ๋ว

จอซุปเปอร์จิ๋วมีส่วนประกอบเพียงสามส่วนคือ

  • พอร์ทเครื่องพิมพ์ : เป็นพอร์ทขนานที่มีอยู่หัวต่ออยู่ด้านหลังของคอมพิวเตอร์ทุกเครื่อง เราจะใช้มันเพื่อทำหน้าที่ส่งคำสั่งและข้อมูลไปยังจอ LCD
  • แหล่งจ่ายไฟ : โครงงานนี้ต้องการไฟกระแสตรง แรงดัน 5 โวลต์ จะใช้แหล่งจ่ายไฟเลี้ยง (power supply) ที่อยู่ภายในคอมพิวเตอร์ หรือจะใช้แหล่งจ่ายไฟภายนอกก็ได้
  • จอ LCD : ทำหน้าที่แสดงผล

 


แผนภูมิแสดงส่วนประกอบต่างๆ ของจอซุปเปอร์จิ๋ว

 

จอ LCD

จอ LCD ที่ผู้เขียนหามาได้คือเบอร์ SC1602H หนึ่งตัวอักษรประกอบด้วยจุด 5×8 จุด มีวงจรควบคุมการทำงานภายในเทียบเท่า (compatible) KS0066 หรือ HD44780 หากท่านหาจอ LCD เบอร์นี้ไม่ได้ ก็สามารถใช้เบอร์อื่นได้ เพราะจอ LCD ในท้องตลาดจะมีวิธีเชื่อมต่อ และคำสั่งต่างๆ เป็นมาตรฐานเดียวกันหมด


จอ LCD เบอร์ SC1602H  มีขนาด 4×9 ซม. ตัวอักษรหนึ่งตัวมีความสูงประมาณ 70 มิลลิเมตร


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

 

รีจิสเตอร์ในจอ LCD

การส่งข้อมูลและตัวอักษรจากคอมพิวเตอร์ไปยังจอ LCD เราต้องติดต่อกับรีจิสเตอร์ของ LCD ซึ่งมีอยู่สามตัวดังนี้

  • Data : ทำหน้าที่รับข้อมูลตัวอักษร (รับเป็นรหัส ASCII) เพื่อนำไปใส่ใน DD RAM
  • Control : รับคำสั่งควบคุมการทำงานของจอ LCD เช่นคำสั่งกำหนดลักษณะเคอร์เซอร์
  • CG : ทำหน้าที่รับข้อมูลที่จะนำไปใช้กำหนดรูปแบบตัวอักษรที่ผู้ใช้กำหนดขึ้นเอง


รูป 048 : แผนภูมิแสดงโครงสร้างภายในจอ LCD

 

คำสั่งควบคุม LCD

ภายในจอ LCD มีตัวควบคุม (controller) คล้ายคอมพิวเตอร์ตัวหนึ่ง เมื่อเราต้องการแสดงผลบนจอภาพ เราจะต้องติดต่อสื่อสารกับตัวควบคุมนี้ เนื่องจากภาษาที่ใช้พูดคุยมีมาตรฐาน จอ LCD ทุกยี่ห้อทุกรุ่นจะรับรู้คำสั่งดังนี้

  1. Clear : คำสั่งล้างจอภาพ
  2. Home : เลื่อนเคอร์เซอร์ไปตำแหน่งแรก
  3. Mode set : กำหนดว่าเมื่อใส่ตัวอักษรเพิ่มเคอร์เซอร์จะเลื่อนไปทางซ้ายหรือขวา
  4. On/Off : เปิด-ปิดจอภาพ
  5. Shift : เลื่อนจอภาพหรือเคอร์เซอร์
  6. Function : กำหนดรูปแบบการเชื่อมต่อ จำนวนบรรทัด และชนิดตัวอักษรและจำนวนจุดต่อตัวอักษร
  7. CG RAM : อ้างแอดเดรสของ CG RAM
  8. DD RAM : อ้างแอดเดรสของ DD RAM
  9. Flag : อ่านค่าตัวเก็บสถานะ
  10. Write : เขียนข้อมูลไปยัง DD หรือ CG RAM
  11. Read : อ่านข้อมูลจาก DD หรือ CG RAM

เราส่งคำสั่งเหล่านี้ไปยังจอ LCD ได้โดยกำหนดตรรกะของสายข้อมูลและสายควบคุมตามตารางคำสั่ง


ตารางสรุปคำสั่งควบคุมจอ LCD

 

ขาควบคุมและจังหวะเวลา

จอ LCD มีขาควบคุมสามขาที่เราต้องกำหนดตรรกะให้ถูกจังหวะดังนี้

  • ขา R/W : ทำหน้าที่ควบคุมการอ่าน-เขียน อ่านคือตรรกะ 1 เขียนคือตรรกะ 0 โครงงานนี้ไม่มีการอ่านข้อมูลจาก LCD เราจึงต่อต่อขา R/W ลงกราวนด์
  • ขา RS : ใช้เลือกรีจิสเตอร์ ตรรกะ 0 คือรีจิสเตอร์ควบคุม 1 คือรีจิสเตอร์รับอักษร
  • ขา E : ทำหน้าที่เปิดรับข้อมูล ทำงานในช่วงการเปลี่ยนตรรกะ (ช่วงเปลี่ยนจากสูงลงต่ำ)

 


แผนภูมิเวลา (timing diagram) แสดงสัญญาณที่ขาต่างๆ ขณะส่งคำสั่งไปที่รีจิสเตอร์ควบคุม คาบเวลา t1 คือช่วงหน่วงเวลาเมื่อ E มีตรรกะ 1 ส่วน t2 คือช่วงหน่วงเวลาเมื่อ E มีตรรกะ 0 t3 คือช่วงการเปลี่ยนตรรกะซึ่งเป็นช่วงที่จอ LCD จะรับข้อมูลที่เราส่งให้ (E ทำหน้าที่เหมือนตัวควบคุม edge trigger ในวงจร latch ที่ทำงานช่วงขอบขาลง) คาบเวลา t1 และ t2 นานประมาณ 2 มิลลิวินาทีเมื่อเขียนคำสั่ง และประมาณ 1 มิลลิวินาทีเมื่อเขียนตัวอักษร

 

พอร์ทขนาน

พอร์ทขนานเรียกอีกอย่างหนึ่งว่าพอร์ทเครื่องพิมพ์ (printer port) เพราะสมัยมีพีซีใหม่ๆ เราจะต่อเครื่องพิมพ์กับพอร์ทนี้ ปัจจุบันเครื่องพิมพ์มีอินเตอร์เฟสเป็น USB หมดแล้วพอร์ทขนานจึงว่างอยู่ ในโครงงานนี้เราจะใช้พอร์ทขนานเพื่อเชื่อมต่อกับ LCD คือพอร์ทชื่อ LPT1 ซึ่งมีรีจิสเตอร์สามตัวคือ

  • พอร์ทข้อมูล : มีขนาด 8 บิต ทำหน้าที่ส่งข้อมูลออก
  • พอร์ทสถานะ : มีขนาด 5 บิต ทำหน้าที่รับข้อมูลเข้า
  • พอร์ทควบคุม : มีขนาด 4 บิต ทำหน้าที่ส่งข้อมูลออก


ในพอร์ท LPT1 มีรีจิสเตอร์ (พื้นที่ในแรม) สามตัว

โครงงานนี้จะใช้พอร์ทข้อมูลส่งข้อมูลตัวอักษรและคำสั่งให้แก่ LCD โดยเราจะใช้ครบ 8 บิต พอร์ทนี้ปรกติจะมีแอดเดรสเป็น 888 ในฐานสิบหรือ 378 ในฐานสิบหก (เปลี่ยนแปลงได้ในไบออส) และจะใช้พอร์ทควบส่งสัญญาณควบคุม LCD โดยจะใช้เพียง 2 บิต พอร์ทนี้ปรกติจะมีแอดเดรสเป็น 890 ในฐานสิบหรือ 37A ในฐานสิบหก


ขาต่างๆ ของพอร์ทขนานเมื่อดูที่คอนเนคเตอร์ DB25 ตัวผู้ ขาที่นำหน้าด้วยตัวอักษร D คือขาข้อมูล (ส่งออก) ขาที่นำหน้าด้วยตัวอักษร C คือสัญญาณควบคุม (ส่งออก) ขาที่นำหน้าด้วยตัวอักษร S คือขาสถานะ (รับเข้า)


คอนเนคเตอร์แบบ DB25 ตัวผู้ซึ่งใช้เสียบที่พอร์ทขนาน

 

อุปกรณ์ที่ต้องใช้

งานนี้ใช้อุปกรณ์อีเล็กทรอนิกส์ธรรมดาทั่วไป หาซื้อได้ตามศูนย์จำหน่ายอะไหล่อีเล็กทรอนิกส์ (เช่นที่บ้านหม้อ) จอ LCD มีหลายยี่ห้อ หลายรุ่น หลายราคา  หากมีจำนวนตัวอักษรต่อบรรทัด และจำนวนบรรทัดมาก ราคาจะยิ่งสูง จอ LCD แบบมีแสงจากด้านใน (back light) จะมีราคาสูงกว่าแบบไม่มี

รายการอุปกรณ์ที่ต้องใช้ในโครงงานนี้มีดังนี้

  • จอ LCD ขนาด 16 ตัวอักษร 2 บรรทัด
  • แผ่นวงจรพิมพ์อเนกประสงค์
  • คอนเนคเตอร์แบบ Molex
  • สายและหัวพอร์ทขนาน
  • LED สีแดงหรือเขียว
  • ตัวต้านทาน 1k ¼w
  • ตัวต้านทานเกือกม้า 10K
  • คอนเนคเตอร์สำหรับสายแพยี่สิบเส้น
  • สายแพ 20 เส้นหนึ่งเมตร
  • คอนเนคเตอร์พิน
  • คอนเนคเตอร์สองขา
  • วัสดุจิปาถะ


จอ LCD แบบต่างๆ จะใช้แบบใดก็ได้ เพราะขาและคำสั่งเหมือนกัน


แผ่นวงจรพิมพ์อเนกประสงค์ ใช้แบบรูกลมสะดวกกว่าแบบอื่น


คอนเนคเตอร์แบบ Molex ตัวผู้ ใช้ต่อกับแหล่งจ่ายไฟในคอมพิวเตอร์

คอนเนคเตอร์แบบ DB25 ตัวผู้ ใช้เสียบกับพอร์ทขนานด้านหลังคอมพิวเตอร์


LED ทำหน้าที่เป็นดวงไฟแสดงสถานะไฟเลี้ยงวงจร


ตัวต้านทาน ใช้ลดกระแสที่จ่ายให้ LED


ตัวต้านทานเกือกม้า ใช้ปรับความเข้มของจอ LCD


คอนเนคเตอร์สำหรับสายแพยี่สิบเส้น ใช้เชื่อมต่อระหว่างสายพอร์ทขนานกับจอ LCD


สายแพ ใช้เชื่อมต่อระหว่างสายพอร์ทขนานกับจอ LCD


คอนเนคเตอร์พิน ใช้เสียบกับคอนเนคเตอร์สายแพ และเชื่อมจอ LCD กับแผ่นวงจรพิมพ์

โปรดติดตามตอนต่อไป

 

 

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

หมากรุกสมองกล
สงครามปัญญาระหว่างมนุษย์กับเครื่องจักร
ลาภลอย วานิชอังกูร (laploy.com)

ตอน 2

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

บทความนี้จะนำท่านไปพบกับเรื่องราวอันน่าตื่นใจ  การประดิษฐ์คิดค้น การสร้างสิ่งที่เหลือเชื่อ ความหลอกลวง ความคดโกง ความโลภ สงคราม ชัยชนะและความพ่ายแพ้ จินตนาการและความเป็นจริง การสร้างสมองกล และหุ่นยนต์หมากรุกที่จะไม่มีใครเอาชนะได้

นี่คือตอนสองซึ่งเป็นตอนจบของบทความนี้

หมากเย็น

หลังสงครามโลกครั้งที่สอง ประเทศสหรัฐอเมริกาเข้าสู่ยุคสงครามเย็น ยากล่อมประสาท และบุปผชน ระหว่างปี 1959 ถึง 1962 จอนห์ เมคคาธี นักวิทยาศาสตร์คอมพิวเตอร์แห่งมหาวิทยาลัย MIT พัฒนาโปรแกรมหมากรุกคอมพิวเตอร์โดยใช้หลักการปัญญาประดิษฐ์เป็นครั้งแรก เขียนด้วยภาษา ฟอร์แทรน เพื่อให้ทำงานในคอมพิวเตอร์ IBM 704

ปี 1969 เคน ทอมสัน นักคอมพิวเตอร์แห่ง ห้องทดลองเบล เขียนโปรแกรมหมากรุกสำหรับคอมพิวเตอร์ PDP-7  และต่อมา PDP-11  นับเป็นโปรแกรมหมากรุกแรกในระบบปฏิบัติการยูนิกซ์ ในปี 1968 แฮรี เนลสัน ผู้ช่วยศาสตราจารย์ แห่งมหาวิทยาลัย อะลาบามา (วิทยาเขตเบอร์มิงแฮม) เขียนโปรแกรมหมากรุกชื่อ เคลย์ บลิตซ์ เพื่อทำงานบนซุปเปอร์คอมพิวเตอร์เคลย์ โปรแกรมนี้ได้รับรางวัลต่างๆ มากมาย รวมทั้งรางวัลจากสมาคมหมารุกโลกด้วย ดอกเตอร์ ฮานส์ เบอลิเนอร์ ศาสตราจารย์แห่งมหาวิทยาลัยคาร์เนกีเมลลอน เขียนโปรแกรมชื่อ Hitech สามารถเอาชนะแชมป์หมากรุกซึ่งมีคะแนนฝีมือ 2300 (หน่วย elo) ได้ในปี 1988


จอนห์ เมคคาธี นักวิทยาศาสตร์คอมพิวเตอร์แห่งมหาวิทยาลัย MIT พัฒนาโปรแกรมหมากรุกคอมพิวเตอร์โดยใช้หลักการปัญญาประดิษฐ์เป็นครั้งแรก


เคน ทอมสัน นักคอมพิวเตอร์แห่งห้องทดลองเบล สร้างโปรแกรมหมากรุกในระบบปฏิบัติการยูนิกซ์


แฮรี เนลสันเขียนโปรแกรมหมากรุกชื่อ เคลย์ บลิตซ์ เพื่อทำงานบนซุปเปอร์คอมพิวเตอร์ เคลย์


ดอกเตอร์ ฮานส์ เบอลิเนอร์ เขียนโปรแกรมเอาชนะแชมป์หมากรุกได้ในปี 1988

จอมจักรวาล

พอถึงปี 1968 มีภาพยนตร์นิยายวิทยาศาสตร์เรื่อง 2001 Space Odyssey (กำกับโดย สแตนเลย์ คูบริกค์) ในภาพยนตร์เรื่องนี้มีฉากที่ ฮัล 9000 ซุปเปอร์คอมพิวเตอร์ซึ่งทำหน้าที่ควบคุมยานอวกาศ เล่นหมากรุกกับนักบินอวกาศชื่อ แฟรงค์ พูล เนื่องจากคูบริกค์เป็นผู้ลุ่มหลงเกมหมากรุกคนหนึ่ง เกมที่ปรากฏในภาพยนตร์จึงไม่มั่ว แต่เป็นเกมจริงที่นำมาจากการแข่งขันระหว่างปรมาจารย์หมากรุกสองคนที่เมืองฮัมบรวกในปี 1910

“เสียใจด้วยแฟรงค์ คุณพลาดเสียแล้ว ควีนบิชอปสาม บิชอปกินควีน คิงกินบิชชอป รุกฆาต” ฮัลประกาศตอนช่วงปลายกระดาน และพูลก็ยอมรับคำประกาศนั้นโดยดุษฎี ทั้งๆ ที่ไม่ถูกต้อง  สิ่งที่ฮัลพูดเป็นวิธีขานช่องแบบเก่า (ปัจจุบันไม่นิยมใช้แล้ว) “ควีนบิชอบสาม” เป็นชื่อช่อง อันที่จริงช่องดังกล่าวควรจะเป็น “ควีนบิชอปหก” ไม่ใช่สาม และคิงยังไม่เข้าตาจน (เพราะยังเดินตัวอื่นมาขัดได้) คูบริกค์อาจต้องการแสดงให้เห็นว่าฮัลเริ่มส่ออาการวิกลจริต และพูลสัพเพร่าที่ยอมรับข้อมูลผิดๆ โดยไม่ตรวจสอบให้ดีเสียก่อน

ในนิยายเรื่องนี้เมื่อฮัล 9000 เอาชนะแฟงค์ พูลได้ มันตัดสินใจฆ่าลูกเรือทั้งหมด หลายปีต่อมาสิ่งที่นิยายวิทยาศาสตร์ทำนายไว้ก็กลายเป็นจริง เมื่อดีพบลู ซุปเปอร์คอมพิวเตอร์ของไอบีเอ็ม เอาชนะคู่แข่งที่เป็นเซียนหมากรุกได้ (โชคยังดีที่ ดีพบลู ถูกปลดประจำการไปก่อนที่มันจะเริ่มต้นสังหารผู้คน)


ฮัล 9000 กำลังเล่นหมากรุกกับ แฟรงค์ พูล


ตำแหน่งของหมากบนกระดาน “พูล-ฮัล, ดิสโคเวอรี 2001”

ดีพบลู

ช่วงต้นทศวรรษที่เก้าศูนย์ เทคโนโลยีปัญญาประดิษฐ์กลายเป็นจุดสนใจของสาธารณะชน เมื่อบริษัท ไอบีเอ็ม ยักษ์ใหญ่แห่งวงการคอมพิวเตอร์ ตัดสินใจริเริ่มโครงการสร้างฮาร์ดแวร์และซอฟต์แวร์ เพื่อสำแดงอำนาจการประมวลผล และความล้ำลึกของปัญญาประดิษฐ์ โดยนำคอมพิวเตอร์มาประทะกับมนุษย์ในโครงการ “ดีพบลู” (deep blue ชื่อนี้เลียนมาจากชื่อเล่นของบริษัท คือ บิ๊กบลู เพราะบริษัทนี้มีโลโกเป็นอักษรขีดสีน้ำเงิน หรือกลับสีเป็นขีดขาวบนพื้นน้ำเงิน)

ฮาร์ดแวร์ของดีพบลูถูกสร้างขึ้นโดยการนำคอมพิวเตอร์ของไอบีเอ็ม รุ่น RS/6000 จำนวนสามสิบเครื่องมาต่อเชื่อมโยงกัน คอมพิวเตอร์เหล่านี้ถูกดัดแปลงใส่ชิพพิเศษที่ประมวลผลด้านหมากรุกโดยเฉพาะ ดีพบลูมีความเร็วในการประมวลผล 11.38 กิกกะฟล็อบ จัดเป็นซุปเปอร์คอมพิวเตอร์ที่มีความเร็วอันดับ 259 ของยุคนั้น

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

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


ดีพบลูถูกสร้างขึ้นจาก RS/6000 สามสิบเครื่องต่อเชื่อมโยงกัน


ชิพประมวลผลพิเศษเพื่อหมากรุกโดยเฉพาะ


กระดานหมากรุกประวัติศาสตร์ที่ใช้แข่งระหว่างดีพบลูและคาสปารอฟในปี 1997 มีลายเซ็นของคาสปารอฟปรากฏอยู่


เกรี คาสปารอฟ เซียนหมากรุกผู้มีชื่อเสียงมากที่สุดในโลก

โปรแกรมหมากรุกในไมโครฯ

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

ต่อมาในปี 1976 บริษัทแอปเปิลคอมพิวเตอร์ นำ Apple I ออกวางตลาด ชมรมผู้ใช้แอปเปิลวัน ก็เริ่มต้นเขียนโปรแกรมหมากรุกทันที โดยมี ลาร์ลี เนลสัน ดัดแปลงโปรแกรมหมากรุกที่เขาเคยเขียนไว้ใน คิมวัน ซิงเกิ้ลบอร์ดคอมพิวเตอร์ที่ใช้ไมโครโปรเซสเซอร์  6502

ซอฟต์แวร์หมากรุกที่มีประสิทธิภาพสูงที่สุด (บนเครื่องพีซี) ในปัจจุบันคือ Rybka (ภาษาเชค หมายถึงปลาน้อย) พัฒนาโดย Vasik Rajlich (ผู้ถือสองสัญชาติคืออเมริกันและเชค) นักศึกษามหาวิทยาลัย MIT เป็นแชมป์หมากรุกสากล Rybka มีอันดับสูงสุดในรายชื่อเอนจินหมากรุก ได้รับรางวัลจำนวนมากจากทัวร์นาเมนต์ที่แข่งอย่างเป็นทางการ รวมทั้งการแข่งแชมป์หมากรุกโลกที่เพิ่งผ่านมา (พ.ศ. 2550) มีคะแนนฝีมือสูงถึง 2809 สูงกว่าอนันต์ (ซึ่งมี 2803) แต่ต่ำกว่าคาสปารอฟ (ซึ่งมี 2851)

Rybka เป็นโปรแกรมทำงานบนระบบปฏิบัติการไมโครซอฟต์วินโดวส์ มีทั้งแบบ 32 และ 64 บิต Ryubka ไม่ใช่โอเพ่นซอร์ส โปรแกรมเวอร์ชันตัวอย่างมีให้ดาวน์โหลดได้ฟรีที่ rybkachess.com เวอร์ชันเต็มสำหรับโปรเซสเซอร์เดียวราคา 1,500 บาท เวอร์ชันสำหรับหลายโปรเซสเซอร์ราคา 3,000 บาท Rybka เป็นเพียงเอนจินหมากรุก ไม่มีส่วนติดต่อกับผู้ใช้ จึงต้องใช้ร่วมกับโปรแกรมหมากรุกอื่นเช่น Fritz


อัลแตร์ 8800 สินค้าขายดีของบริษัท มิตส์ มีโปรแกรมหมากรุกชื่อ เชส มาสเตอร์


แอปเปิลวัน มีโปรแกรมหมากรุกที่เขียนโดยลาร์ลี เนลสัน


Rybka ซอฟต์แวร์หมากรุกที่มีประสิทธิภาพสูงที่สุดในปัจจุบัน


โปรแกรม GE Chess เป็นโปรแกรมหมากรุกในอินเตอร์เน็ต เล่นผ่านกูเกิลเอิร์ธ

กระดานไฮเทค

หลังปี ค.ศ. 1970 ไมโครโปรเซสเซอร์เริ่มถูกนำมาใช้อย่างแพร่หลาย บริษัทต่างๆ จึงผลิตสินค้าหมากรุกไฮเทคที่มีไมโครโปรเซสเซอร์ฝังในตัว โดยรุ่นแรกๆ มีลักษณะเป็นกระดานหมากรุก มีปุ่มสำหรับป้อนข้อมูลว่าผู้เล่นเดินหมากอะไรไปช่องไหน และมีจอ LED เพื่อแจ้งให้รู้ว่าคอมพิวเตอร์ต้องการเดินไปที่ใด ผู้เล่นต้องเคลื่อนย้ายหมากของฝ่ายคอมพิวเตอร์ด้วยตนเอง หมากรุกสมองกลลักษณะนี้เครื่องแรกคือ เชส ชาเลนเจอร์ วัน ของบริษัท ฟิเดลลิตี ออกจำหน่ายปี 1977 ใช้ไมโครโปรเซสเซอร์เบอร์ 8080 ความเร็ว 2MHz   เชส ชาเลนเจอร์ วัน มีข้อจำกัดหลายอย่าง เช่น คอมพิวเตอร์เดินได้เฉพาะตัวฝ่ายดำ และเมื่อผู้เล่นเดินผิดกฎ คอมพิวเตอร์จะไม่รู้


เชส ชาเลนเจอร์ วัน หมากรุกสมองกลซึ่งมีไมโครโปรเซสเซอร์ฝังในตัวเครื่องแรก

ในปี 1986 บริษัท ไซเทค ประเทศสวิสเซอร์แลนด์ ร่วมมือกับคาสปารอฟ ออกผลิตภัณฑ์หมากรุกคอมพิวเตอร์ซึ่งมีไมโครโปรเซสเซอร์ฝังในตัวชื่อ คอมพาเนียนทรี และมีตัวตรวจจับแรงกด (บนกระดานหมากรุก) ทำให้คอมพิวเตอร์รู้ว่าผู้เล่นเดินในช่องใด และมีหลอดไฟ LED บอกให้รู้ว่าคอมพิวเตอร์ต้องการเดินไปช่องใด มันใช้โปรเซสเซอร์ความเร็ว 8MHz และมีโปรแกรมขนาด 16K


คอมพาเนียนทรี ของบริษัท ไซเทค ประเทศสวิสเซอร์แลนด์

หุ่นยนต์หมากรุก

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


หุ่นยนต์หมากรุก เอ็กซ์คาลิเบอร์ มิราจ มีแขนกลอยู่ภายใต้กระดาน

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


หุ่นแอดเวอร์ซารี


หุ่นบอริสแฮนด์ดรอย ออกจำหน่ายในปี 1980 ผลิตโดยบริษัทแอพพลายคอนเซป ใช้โปรเซสเซอร์แปดบิตเบอร์ 6502 ความเร็ว 2MHz

อีริค แขนหุ่นหมากรุก

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


หุ่นอิริคใช้แขนกลที่ใช้ในโรงงานอุตสาหกรรม

REEM-A หุ่นฮิวมานอย

นอกจากหุ่นที่มีแต่แขนแล้ว ยังมีหุ่นที่มีรูปร่างเหมือนคนทั้งตัว คือหุ่นยนต์ชื่อ REEM-A เป็นผลงานของบริษัท พาล เทคโนโลยี โรโบติก (pal-robotics.com) ตั้งอยู่ในประเทศสเปน หัวหน้าทีมพัฒนา REEM-A คือเดวิด ฟาคอนติ หุ่นนี้เคลื่อนไหวได้อิสระทั้งตัว เพราะมีหัว คอ เอว แขน ขา เหมือนมนุษย์ น้ำหนัก 41 กิโลกรัม ทำงานได้นานหนึ่งชั่วโมงครึ่ง (ต่อการอัดประจุไฟฟ้าหนึ่งครั้ง) สามารถยกของได้หนักสองกิโลกรัม หน่วยประมวลผลใช้ เพนเทียม เอ็ม ความเร็ว 2GHz มีตัวตรวจจับ (เซนเซอร์) ชนิดต่างๆ มากมาย เช่นตัวตรวจจับระดับความลาดเอียง แรงกด กล้องดิจิตอลคู่ (สเตอริโอ) ตัวจับระยะสามมิติ กล้องสเตอริโออีกชุดที่หน้าอก และมีไมโครโฟนเพื่อตรวจจับเสียง

บริษัทแม่ของ พาล เทคโนโลยี โรโบติก คือบริษัท พาล กรุ๊ป ตั้งอยู่ที่เมืองดูไบ ประเทศสหรัฐอาหรับเอมิเรตส์ กำลังสร้าง “ไฮดรา” ซุปเปอร์คอมพิวเตอร์ซึ่งมีพลังประมวลผลสูงกว่า และใช้เทคโนโลยีที่ทันสมัยกว่า ดีพบลู และมีแผนว่าจะใช้ REEM-A ต่อเชื่อมแบบไร้สายกับไฮดราเพื่อทำให้ REEM-A เป็นยอดหุ่นยนต์หมากรุกที่จะไม่มีใครเอาชนะได้


REEM-A ขณะกำลังเดินเล่น


REEM-A ขณะกำลังเคร่งเครียดกับเกมหมากรุก


ไฮดรา  ซุปเปอร์คอมพิวเตอร์ซึ่งมีพลังประมวลผลสูงกว่าดีพบลู

สร้างหุ่นยนต์หมากรุกกันไหม?

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

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

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


แขนหุ่นยนต์สำหรับการศึกษา “ลิกซ์ห้า” ผลิตโดยบริษัท แอคตีฟ โรบอต มีวงจรเชื่อมต่อกับคอมพิวเตอร์ได้โดยตรง ราคาประมาณ 15,000 บาท

กล้องและภาพ

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


ภาพหมากเมื่อมองในมุมระนาบจากกล้องที่ติดตั้งไว้เหนือกระดาน

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

เลือกวิธีปรับสี ความเข้ม ความแตกต่างระหว่างขาวและดำของภาพ (filter และ template) เพื่อให้โปรแกรมสามารถแยกแยะความแตกต่างของภาพได้ดีที่สุด ซึ่งอาจเปลี่ยนไปตามสภาพแวดล้อมของแสง โปรแกรมจะนำภาพในช่องที่ต้องการมาตรวจสอบ ว่ามีหมากอยู่ในช่องนั้นหรือไม่ หมากสีขาวในช่องดำตรวจสอบได้ง่าย แต่หมากสีดำซึ่งอยู่ในช่องดำตรวจสอบได้ยาก จึงต้องทำ filter ภาพแล้วหา threshold

โปรแกรมส่วนจำได้หมายรู้ (recognition) ทำงานโดยนำภาพมาวิเคราะห์แบบแยกแยะความถี่ (frequency analysis) ด้วยอัลกอริทึมฟูเรียทรานส์ฟอร์ม (Fourier transform algorithm) ตัวหมากที่ปรากฏในช่องขาวและช่องดำจะใช้อัลกอริทึมแตกต่างกัน เพราะหมากบางตัวเมื่อมองจากมุมสูงจะแยกแยะได้ยากมาก จึงอาจต้องใช้วิธีตรวจสอบตำแหน่งของหมากทั้งหมดในกระดานก่อนการเดินเพื่อนำมาวิเคราะห์ร่วมด้วย

เอนจินหมากรุก

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

  • ส่วนคุมกฎหมากรุก : ใช้หลักการเขียนโปรแกรมวัตถุวิธี (Object oriented programming) เพื่อทำให้หมากแต่ละตัวมีภาวะเป็นออพเจ็กต์ในโปรแกรม ออพเจ็กทุกตัวมีคุณสมบัติและกรรมวิธีเป็นไปตามกฎของหมากชนิดนั้น เช่นเบี้ยจะเดินถอยหลังไม่ได้ และยังต้องคำนึกถึงกฎแวดล้อมอื่นๆ ด้วย เช่น ถ้าหมากนั้นเดิน จะทำให้คิงอยู่ในภาวะล่อแหลมหรือไม่ หรือหมากบางตัวเมื่อเดินสุดกระดานแล้วจะต้องถูกเลื่อนขึ้นให้สูงขึ้น
  • ส่วนประเมินสถานการณ์ : ทำได้โดยใช้แผนภูมิต้นไม้ไบนารี โดยใช้หนึ่งโหนดต่อหนึ่งตาเดิน และมีโหนดลูกแทนสิ่งที่จะเกิดขึ้นหลังเดินหมากไปแล้ว ซึ่งมีความเป็นไปได้จำนวนมหาศาล ต้นไม้จึงอาจมีความลึกหลายร้อยชั้น อัลกอริทึมแบบ บรุตฟอร์ซ จะถูกนำมาในการค้นหาโหนดที่เหมาะสม และอัลกอริทึมแบบ heuristic จะถูกนำมาใช้เพื่อช่วยทำให้การท่องโหนดมีประสิทธิภาพสูงสุด
  • ส่วนวิเคราะห์การเดิน : ส่วนประเมินสถานการณ์จะให้ผลลัพธ์หลายแบบ ส่วนวิเคราะห์การเดินจึงต้องทำหน้าที่ตัดสินใจเลือการเดินที่จะให้แต้มต่อสูงสุด ซึ่งต้องคำนึงถึงเงื่อนไขต่างๆ จำนวนมาก เช่น การเดินทำให้ตัวเราได้กินหรือไม่ ถ้าใช่ เป็นการกินที่มีค่าคะแนนเท่าใด ช่องที่จะเดินไปจะทำให้เราถูกกินได้หรือไม่ หากใช่ ช่องนั้นมีการคุ้มกันจากหมากตัวอื่นในฝ่ายเราหรือไม่ เมื่อเดินหมากแล้วจะทำให้เรามีโอกาสได้กินตัวอื่นหรือไม่ หากใช่ ตัวที่จะได้กินนั้นถูกคุ้มกันหรือไม่ และเงื่อนไขอื่นๆ อีกมาก

เอนจินหมากรุกพร้อมส่วนแสดงภาพกราฟิก

อนาคตของสมองกลหมากรุก

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

 

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

หมากรุกสมองกล
สงครามปัญญาระหว่างมนุษย์กับเครื่องจักร
ลาภลอย วานิชอังกูร (laploy.com)

ตอน 1

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

บทความนี้จะนำท่านไปพบกับเรื่องราวอันน่าตื่นใจ  การประดิษฐ์คิดค้น การสร้างสิ่งที่เหลือเชื่อ ความหลอกลวง ความคดโกง ความโลภ สงคราม ชัยชนะและความพ่ายแพ้ จินตนาการและความเป็นจริง การสร้างสมองกล และหุ่นยนต์หมากรุกที่จะไม่มีใครเอาชนะได้

หมากรุกสากล

หมากรุกสากล หรือ “หมากรุกฝรั่ง” (chess) คล้ายหมากรุกไทย แต่มีตัวหมาก วิธีตั้งกระดาน และวิธีเล่นแตกต่างกันเล็กน้อย กระดานหมากรุกมีช่องสี่เหลี่ยมหกสิบสี่ช่อง ระบายสีขาวสลับดำ  ผู้เล่นแบ่งเป็นฝ่ายขาวและฝ่ายดำ แต่ละฝ่ายมีหมากเท่ากัน คือคนละสิบหกตัว ประกอบด้วย คิง หนึ่งตัว (เทียบได้กับขุน)  ควีน หนึ่งตัว (เทียบได้กับโคน)  รุค สองตัว (เทียบได้กับเม็ด) ไนท์ สองตัว (เทียบได้กับม้า) บิชอป สองตัว (เทียบได้กับเรือ) และ พาวน์ แปดตัว (เทียบได้กับเบี้ย)

จุดประสงค์ของการเล่นคือการทำให้ เชค หรือคิงของฝ่ายตรงกันข้ามจนมุม (หรือรุกฆาต) วิธีเดินหมากบางตัวเหมือนหมากรุกไทย เช่นม้า แต่หมากบางตัวมีวิธีเดินแตกต่างจากหมากรุกไทยมาก เช่น ควีน ที่สามารถเดินได้สุดกระดานทุกทิศ ส่วนยุทธวิธีเดินหมาก ทำได้พลิกแพลงหลากหลายไม่ด้อยกว่าหมากรุกไทย

องค์กรสากลทำหน้าที่จัดการแข่งขัน เพื่อหาผู้มีฝีมือสูงสุด หรือปรมจารย์หมากรุก (เชสมาสเตอร์และแกรนมาสเตอร์) คือ สหพันธ์หมากรุกโลก ปรมาจารย์หมากรุกที่มีชื่อเสียงที่สุดตลอดกาลคือ แกรี คาสปารอฟ ชาวเมืองยูเครน ประเทศสหพันธรัฐรัสเซีย แชมป์โลกคนปัจจุบันคือ อนันต์ วิศวะนันธนา ชาวเมืองมัธดราส (เชนไน) ประเทศอินเดีย ชนะการแข่งอย่างเป็นเอกฉันท์ในการแข่งหมากรุกโลก ซึ่งจัดขึ้นเมื่อเดือนกันยายนที่ผ่านมา (พ.ศ. 2550)

 

 
ตัวหมากของหมากรุกสากล ไล่จากซ้ายไปขวา คิง ควีน รุค บิชอป ไนท์ และพาวน์

 

 
แชมป์โลกปัจจุบัน อนันต์ วิศวะนันธนา จอมทมิฬ

 

The Turk หุ่นลวงโลก

เดอะเติกร์ คือหุ่นยนต์นักเล่นหมากรุกตัวแรกของโลก มีขนาดเท่าคนจริง หน้าตาและการแต่งตัวเหมือนชาวตุรกี นั่งหลังโต๊ะกว้างสองฟุต ยาวหกฟุต และสูงสามฟุต  ถูกสร้างขึ้นที่กรุงเวียนนาในปี ค.ศ. 1769 โดยบารอน วูฟกัง ฟอน แคมเพเลน วิศวกรชาวฮังการี

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

เดอะเติกร์ ถูกนำออกแสดงครั้งแรกในกรุงเวียนนาเมื่อปี ค.ศ. 1770 และออกทัวร์ไปตามประเทศต่างๆ เช่นฝรั่งเศส อังกฤษ และสหรัฐอเมริกา แม้เดอะเติกร์จะเป็นเพียงเรื่องหลอกลวง แต่มันก็แสดงถึงความปรารถนาของมนุษย์ ที่ต้องการเห็นหุ่นยนต์มีเชาว์ปัญญาสูง เล่นเกมที่ต้องใช้การใคร่ครวญอย่างลึกซึ้งเช่นหมากรุกได้

 

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

 
ภาพแสดงเดอะเติกร์และคนซึ่งทำหน้าที่บังคับควบคุม

 
ในปี ค.ศ. 1970 จอนห์ เกรแฮม อุทิศเงินหนึ่งแสนสองหมื่นดอลลาห์และเวลายี่สิบปีในการสร้าง เดอะเติกร์ ขึ้นมาใหม่ (เดอะเติกร์อันดั้งเดิมถูกทำลายลงในไฟ ขณะตั้งแสดงที่พิพิธภัณฑสถานเมืองฟิลาเดลเฟีย) เกรแฮม ทำธุรกิจเครื่องแสดงมายากล เขาสร้างเดอะเติกร์ขึ้นใหม่เพราะหลงใหลในมนต์เสน่ห์ของเครื่องกลอันเป็นตำนานนี้

 
เดอะเติกร์ ตัวที่สร้างขึ้นใหม่ขณะกำลังเล่นหมากรุก

El Ajedrecista

ในปี ค.ศ. 1912 ลีโอนาโด ทอเรส นักวิทยาศาสตร์ชาวสเปน ประดิษฐ์หุ่นยนต์ที่เล่นหมากรุกได้จริงเป็นคนแรก หุ่นยนต์นี้มีชื่อว่า El Ajedrecista (เป็นภาษาสเปนแปลว่านักเล่นหมากรุก ต่อไปจะเรียกย่อว่า EA) เขานำออกแสดงต่อสาธารณะชนที่งาน “ปารีสเวิลด์แฟร์” จัดขึ้นในปี 1914 มันสร้างความฮือฮาให้กับผู้เข้าชมเป็นอย่างยิ่ง และได้รับการกล่าวขวัญถึงในอย่างชื่นชม วารสาร ไซแอนติฟิก อเมริกัน ฉบับเดือนธันวาคม 1915

EA มีรูปร่างเป็นกระดานหมากรุก ใต้กระดานมีแม่เหล็กไฟฟ้า เดินหมากได้เพียงสามตัว (ตอนช่วงปลายกระดาน หรือช่วง end game) คือเดิน คิง และ รุค สู้กับคู่แข่งที่เป็นมนุษย์ เมื่อเทียบกับมาตรฐานของวิศวกรรมในปัจจุบัน EA จัดว่าไม่มีอะไรโดดเด่น แต่ในสมัยเก้าสิบปีก่อน (ก่อนการกำหนดเหนิดของคอมพิวเตอร์) นับว่ามันเป็นสิ่งประดิษฐ์อันน่าทึ่ง มีความสามารถที่ไม่น่าเชื่อหลายประการ ยกตัวอย่างเช่น หากคู่แข่งที่เป็นมนุษย์เดินหมากผิด (คือเดินในเข้าไปในตาที่ผิดกฎ) EA จะสามารถตรวจพบ และสัญญาณเตือนได้

 
El Ajedrecista ขณะเล่นหมากรุก

 
กลไกของ El Ajedrecista

 

สมองกลในกระดาษ

บรรดานักคณิตศาสตร์ซึ่งรวมตัวกันอยู่ที่ เบทล์ชลีพาร์ค (Bletchley park คฤหาสน์บัคกิงแฮมไชร์ในประเทศอังกฤษ ถูกดัดแปลงเป็นค่ายเพื่อถอดรหัสลับนาซี)  ระหว่างสงครามโลกครั้งที่สอง ไม่มีใครทรงไว้ซึ่งอัจฉริยะภาพเกิน อลัน ทัวริง เพราะเขาสามารถเขียนโปรแกรมหมากรุกคอมพิวเตอร์ได้ก่อนที่จะมีการประดิษฐ์คอมพิวเตอร์ขึ้นเสียอีก ทัวริง นึกเห็นภาพว่า ในอนาคตอันใกล้ ต้องมีสมองกลเกิดขึ้นแน่ และมันควรจะเล่นหมากรุกได้ เขาจึงเขียนโค้ดเตรียมไว้ก่อนล่วงหน้า (เขียนเป็น pseudo-code ที่สามารถนำไปแปลงเป็นภาษาอะไรก็ได้ภายหลัง)

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

 

 
อลัน ทัวริง นักคณิตศาสตร์อัจฉริยะ เขียนโปรแกรมเล่นหมากรุกได้ก่อนมีคอมพิวเตอร์เกิดขึ้นในโลก

สืบทอดเจตนารมณ์

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

ในปีเดียวกันมหาวิทยาลัยฮาวาร์ด (ในสหรัฐฯ) กำลังพัฒนาดิจิตอลคอมพิวเตอร์เครื่องแรกของโลก คือ ฮาร์วาร์ด มาร์ควัน โดยมี โฮวาร์ด ไอค์เคน ดูแลด้านฮาร์ดแวร์ เกรซ ฮอปเปอร์ ดูแลด้านซอฟต์แวร์ ต่อมามหาวิทยาลัยเมนเชสเตอร์จึงสร้าง มาร์ควัน ของตนเองขึ้นบ้าง และเสร็จพร้อมรันโปรแกรมได้ในปี 1948

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

 

 

ดอกเตอร์ ดีทริช พรินซ์ กำลังโหลดโปรแกรมหมากรุกเข้าสู่คอมพิวเตอร์ มาร์ควัน

 
คอมพิวเตอร์มาร์ควันของมหาวิทยาลัยเมนเชสเตอร์

 
โฮวาร์ด ไอค์เคน ร่วมงานกับ โธมัส วัตสัน (ต่อมากลายเป็นบริษัทไอบีเอ็ม) ในภาพคือ ไอบีเอ็ม ซิสเต็ม สามหกศูนย์

 
เกรซ ฮอปเปอร์ ดูแลด้านซอฟต์แวร์คอมพิวเตอร์มาร์ควัน และเป็นโปรแกรมเมอร์สตรีคนแรก (คอมพิวเตอร์ในภาพคือ ยูนิแวค ในอีกหลายปีต่อมา)

โปรดติดตามตอนต่อไป

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

มาสร้างเมาส์อากาศกันเถอะ
สร้างเมาส์ที่ทำงานได้กลางอากาศ คุณจะเล่นเกมสามมิติได้โดยไม่ต้องใช้โต๊ะหรือแผ่นรองเมาส์อีกต่อไป
ลาภลอย วานิชอังกูร (laploy.com)

ตอนจบ

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

ขั้นตอนการสร้าง

การสร้างเมาส์อากาศมีขั้นตอนดังต่อไปนี้

วิธีทำดัดแปลงแผ่นวงจรพิมพ์

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

1. ถอดฝา : นำเมาส์มาถอดนอตฝาครอบออก ลูกล้อเราจะไม่ใช้จึงถอดทิ้งไปได้ ท่านจะพบว่าด้านที่อยู่ติดกับแหล่งกำเนิดแสงมีแผ่นพลาสติกใสซึ่งมีเลนซ์และปริซึมเล็กๆ ให้เก็บไว้ใช้

2. ถอดแผ่นวงจรพิมพ์ : ถอดแผ่นวงจรพิมพ์ออกจากฐานพลาสติก ถอดฐานรองด้านหลังที่ใส่ถ่านไฟฉายออกทิ้วไป

 

มุมขวาล่างคือแผ่นพลาสติกใสซึ่งมีเลนซ์และปริซึมเล็กๆ

 

3. ต่อสายถ่าน : เนื่องจากเราจะตัดแผ่นวงจรพิมพ์ด้านที่เป็นขั้วถ่านไฟฉายออก เพื่อให้แผ่นวงจรพิมพ์มีขนาดเล็กลง ถ่านไฟฉายไม่ครบวงจร เราจึงต้องนำสายไฟมาตัดออกยาวหนึ่งนิ้ว แล้วบัดกรีเข้ากับขั้วถ่านดังภาพ

ถ่านไฟฉายเมื่อบัดกรีเสร็จแล้ว

 

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

ไมโครสวิตช์เมื่อถอดออกและบัดกรีสายแล้ว

 

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

6. รัดถ่านไฟฉาย : ใช้หนังยางรัดถ่านไฟฉายไว้กับแผ่นวงจรพิมพ์โดยมียางลบอยู่ตรงกลาง 

ยางลบตั้งมั่นอยู่ได้ด้วยการรัดของหนังยาง

 

7. ใส่แผ่นรวมแสง : ใส่แผ่นพลาสติกใสซึ่งมีเลนซ์และปริซึมเล็กๆ กลับเข้าที่เดิม ยึดไว้ด้วยหนังยางเส้นเดียวกับที่รัดถ่ายไฟฉาย

แผ่นพลาสติกที่ทำหน้าที่รวมแสงเมื่อถูกยึดไว้ด้วยหนังยาง

 

8. ปรับขั้วถ่าน : เนื่องจากเราถอดฐานรองถ่านไฟฉายออก มีผลให้ถ่านไฟฉายอยู่ในระดับต่ำกว่าปรกติเล็กน้อย ขั้วสัมผัสบนแผ่นวงจรพิมพ์จึงไม่สัมผัสกับถ่านไฟฉาย ให้ใช้คีมดัดให้ขั้วถ่านงอต่ำลงเล็กน้อย

ขั้วสัมผัสถ่านไฟฉายที่ต้องใช้คีมดัด

 

วิธีทำตัวถังส่วนแกนใน

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

9. ล้างแล้วตัดคอ : นำขวดพลาสติกมาเทน้ำยาออกให้หมด ล้างด้วยน้ำเปล่าให้สะอาด ลอกฉลากออก ใช้แอลกอฮอล์เช็ดคราบกาวออกให้หมด แล้วใช้เลื่อยฉลุตัดคอขวดออกเสมอไหล่

ขวดที่ล้างและตัดคอแล้ว

 

10. ผ่าขวด : ผ่าขวดออกเป็นสองส่วน ก่อนผ่าดูให้แน่ใจว่าส่วนกำเนิดแสงของเมาส์จะไม่ตรงกับรอยผ่า คืออย่าผ่าตรงกลาง แต่ให้ผ่าสูงจากก้นขวดขึ้นมาสักสองนิ้ว

ขวดที่ผ่าแล้ว

 

11. ทำแหวน : เราจะทำส่วนแหวนประกบ ให้ตัดขวดออกหนาประมาณครึ่งนิ้ว จะได้วงแหวนหนึ่งอัน แหวนนี้จะมีขนาดกว้างเท่าขวด ซึ่งกว้างเกินไป เราต้องตัดส่วนกลางออกเล็กน้อยจึงจะเสียบเข้าในขวดได้พอดี แล้วติดเทปกาวสองหน้า การติดเทปกาวจะติดไปตามยาวตลอดวงแหวน แต่ไม่ติดเต็มความสูง คือจะติดเพียงครึ่งเดียวของความสูงเท่านั้น และติดให้ชิดริมด้านหนึ่ง

พลาสติกส่วนที่ตัดออกทำแหวน

 

12. ขัดขอบ : ขัดรอยตัดทุกด้านให้เรียบด้วยกระดาษทรายละเอียด

นำขวดที่ผ่ามาขัดรอยผ่าให้เรียบ

 

13. ใส่แหวน : นำแหวนมาสรวมกับชิ้นล่างของขวด เทปกาวสองหน้าที่ใส่ไว้จะทำให้วงแหวนติดกับชิ้นล่างได้อย่างแน่นหนา เมื่อใส่แล้วชิ้นล่างและวงแหวนจะกลายเป็นฝาที่เปิด-ปิดได้แนบเนียน

ผลลัพธ์ที่ได้เมื่อนำแหวนมาสรวมกับชิ้นล่างของขวดแล้ว

 

เมาส์อากาศสามมิติ

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

14. เลื่อยวงจร : ใช้เลื่อยฉลุตัดแผ่นวงจรพิมพ์ด้านล่างออก แผ่นวงจรพิมพ์ส่วนนี้ทำหน้าที่เป็นตัวยึดขั้วถ่าน จึงมีลายวงจรเพียงเล็กน้อย

ไส้ในของเมาส์อากาศเมื่อตัดแผ่นวงจรพิมพ์แล้ว

 

15. ต่อสาย : ขั้นตอนนี้ต้องอาศัยความช่างสังเกตสักหน่อย คือตรวจดูว่าแผ่นวงจรพิมพ์ที่ตัดออก มีลายวงจรเชื่อมระหว่างจุดใดกับจุดใดบ้าง จากนั้นนำสายไฟมาบัดกรีต่อทดแทนส่วนที่ขาดหายไป

เมื่อต่อเชื่อมสายไฟทดแทนแล้ว

 

16. จัดสายไฟ : เมื่อต่อเชื่อมสายไฟครบทุกเส้นแล้ว จัดสายไฟให้เรียบร้อย ให้ติดเป็นกลุ่มก้อนเดียวกับถ่ายไฟฉายและแผ่นวงจรพิมพ์  

สภาพของสายไฟเมื่อถูกจัดให้เข้าที่แล้ว

 

การใส่แกนใน

ต่อไปเป็นการนำแผ่นวงจรพิมพ์และถ่านไฟฉายบรรจุเข้าไปในขวดพลาสติก หรือตัวถังของเมาส์อากาศ ซึ่งมีขั้นตอนดังต่อไปนี้

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

เมาส์อากาศเมื่อหุ้มฟองน้ำและบรรจุไว้ในตัวถังแล้ว

 

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

ปุ่มซิงค์

 

การใส่ตัวหุ้มด้านนอก

การใส่เปลือกหุ้มด้านนอกมีสองแบบ คือแบบมีน้ำมันหล่อลื่น กับแบบไม่ใช้น้ำมันหล่อลื่น การทำแบบมีน้ำมันหล่อลื่นจะซับซ้อนกว่าเล็กน้อย ดังนั้นท่านควรทดลองทำแบบไม่ใช้น้ำมันหล่อลื่นดูก่อน หากใช้งานได้ดีก็ถือว่าเพียงพอ แต่ถ้าใช้แล้วรู้สึกว่าการเคลื่อนไหวยังคล่องตัวไม่พอจึงค่อยทดลองทำแบบมีน้ำมันหล่อลื่นภายหลัง

19. ใส่ชั้นกันน้ำ : นำเมาส์อากาศมาบรรจุในถุงพลาสติก รีดอากาศออกให้หมดแล้วปิดผนึกโดยใช้เครื่องผนึกความร้อน ใช้เตารีด ใช้ยางยืด หรือกรรมวิธีใดๆ ก็ได้ เป้าหมายคือไม่ให้น้ำมันหล่อลื่นรั่วไหลเข้าไปในแกนในได้ หากท่านทำเมาส์อากาศสามมิติ การใช้หนังยางรัดจะทำให้มีปมซึ่งกีดขวางการใช้งาน วิธีแก้ง่ายๆ คือเจาะรูเส้นผ่านศูนย์กลางครึ่งนิ้วที่ส่วนล่างของตัวถัง แล้วใส่ปมไว้ภายในนั้น

เมาส์อากาศเมื่อใส่ตัวหุ้มกันน้ำแล้ว

 

20. หล่อลื่น : ใส่เมาส์อากาศไว้ในถุงพลาสติกอีกใบ เติมน้ำมันหล่อลื่นหรือสบุ่เหลว ระวังดูไม่ให้มีฟองอากาศ ปริมาณของน้ำมันหล่อลื่นหรือสบุ่เหลวจะต้องไม่มากเกินไป เพราะจะทำให้ตัวรับแสงอยู่หากจากเปลือกนอกสุดเกินระยะรวมแสง ซึ่งจะมีผลให้ตัวชี้เมาส์กระโดด

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

การใส่เปลือกนอกสุด

 

เสร็จแล้ว

เมาส์อากาศเมื่อเสร็จแล้วและถูกนำไปใช้เล่นเกมอันเรียลทัวนาเมนต์

เมาส์อากาศนี้เป็นผลงานจากการคิดค้นของ Patrick Baudisch เจ้าหน้าที่แผนกค้นคว้าของบริษัทไมโครซอฟต์ ท่านสามารถดูวิดีโอคลิปสาทิตการทำงานและวิธีสร้างเพิ่มเติมได้ที่เว็บไซต์ ของโครงงานนี้

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

มาสร้างเมาส์อากาศกันเถอะ
สร้างเมาส์ที่ทำงานได้กลางอากาศ คุณจะเล่นเกมสามมิติได้โดยไม่ต้องใช้โต๊ะหรือแผ่นรองเมาส์อีกต่อไป
ลาภลอย วานิชอังกูร (laploy.com)

ตอน 1

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

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

 

 
เมาส์ที่ทำงานในฝ่ามือ

เมาส์อากาศที่จะสอนวิธีสร้างในบทความนี้ เหมาะสำหรับใช้ในการเล่น เกมมุมมองบุคคลที่หนึ่ง (First-person shooting เช่น ดูม เควก และฮาร์ฟไลฟ์) เกมลักษณะนี้ต้องการการเคลื่อนไหวที่รวดเร็วแม่นยำ เมาส์อากาศที่เราจะสร้างจึงต้องทำงานได้ละเอียด มีความเชื่อถือได้สูง สามารถใช้งานได้คล่อง

แน่นอนว่าเมาส์อากาศที่มีประสิทธิภาพระดับนี้ ย่อมสามารถนำไปใช้กับโปรแกรมแบบอื่น นอกเหนือไปจากเกมได้ด้วย เมาส์อากาศที่จะสอนวิธีสร้างในบทความนี้จึงเหมาะกับงานอะไรก็ตามที่ไม่สะดวกจะนั่งที่โต๊ะ เช่นการนำเสนอบนเวทีหรือหน้าห้อง ซึ่งผู้พูดจะต้องบังคับเมาส์เปิดปิดโปรแกรม เลือกเมนู วาดภาพ ฯลฯ และจะต้องเดินไปมาได้อย่างอิสระ

 

 
 การใช้เมาส์อากาศควบคุมการนำเสนอบนจอภาพขนาดใหญ่

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

การใช้งานเมาส์อากาศทำได้หลายโหมดดังนี้

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

 

เมาส์อากาศแบบสามมิติที่เคลื่อนได้ทุกทิศทาง

 

รายการอุปกรณ์

อุปกรณ์สำหรับใช้ทำส่วนแกนกลาง

1.  เมาส์ไร้สาย : ให้เลือกแบบตัวเล็ก ยิ่งเล็กยิ่งดี หากได้แบบที่แผ่นวงจรมีขนาดสั้นจะทำให้สามารถนำมาสร้างเมาส์โหมดอากาศสามมิติได้ง่ายขึ้น ในบทความนี้ใช้เมาส์ยี่ห้อ CompUSA รุ่น sku 309750 ซึ่งมีขนาดเล็กที่สุดที่หาได้ ผู้สร้างเมาส์ตัวนี้ออกแบบแผ่นวงจรมาอย่างเรียบง่าย ทำให้การตัดบางส่วนออกเพื่อให้มีขนาดสั้นลงทำได้ง่ายดี ส่วนที่ตัดออกได้คือส่วนลูกล้อเลื่อนหน้าจอ และส่วนล่างของแผ่นวงจรที่ต่อกับขั้วของถ่านไฟฉาย [ย่อหน้า] เมาส์ตัวนี้เหมือนเมาส์ไร้สายราคาถูกทั่วไปคือมีจุดรวมแสงยาว เหมาะแก่การนำมาใช้ทำเมาส์อากาศ

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

 

เมาส์ยี่ห้อ CompUSA รุ่น sku 309750 ที่นำมาใช้สร้างตัวต้นแบบในบทความนี้ แต่ท่านสามารถใช้เมาส์ไร้สายราคาถูกยี่ห้ออะไรก็ได้ ให้เลือกแบบยิ่งเล็กยิ่งดี

2.  ถ่านไฟฉาย : ดูว่าเมาส์ที่ซื้อมาใช้ถ่านกี่ก้อน ส่วนมากจะใช้สองก้อน แบบ AA ซึ่งใหญ่เกินไป เราจะใช้ถ่านไฟฉายขนาด AAA ที่เล็กกว่าแทน หากท่านมีถ่านไฟฉายที่เล็ก AAA ก็ยิ่งดี แต่ต้องมีแรงดันรวมแล้ว 3 โวลต์ ส่วนถ่านกระดุมแบบที่ใช้ในนาฬิกาจ่ายกระแสได้น้อยเกินไปจึงใช้ไม้ได้

3. สายไฟ : สายไฟเส้นเล็กๆ ที่ใช้ต่อวงจรทั่วไป ยาวสักสิบนิ้ว เราจะใช้เพื่อย้ายที่ปุ่มซ้ายของเมาส์ และเพื่อต่อเชื่อมถ่านไฟฉายสองก้อนเข้าด้วยกัน

4. ยางลบ : ยางลบดินสอหนึ่งก้อน หรือจะใช้ชิ้นพลาสติกก็ได้ ขนาดโดยประมาณ กว้างและยาวหนึ่งเซนติเมตร หนาห้ามิลิเมตร เราจะใช้เพื่อเป็นฐานปุ่มซ้ายของเมาส์ ซึ่งเราจะย้ายไปไว้ในตำแหน่งที่สูงขึ้นกลางตัวเมาส์

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

6. หนังสติ๊ก : หนังยางรัดของแบบแบนใหญ่อย่างที่ธนาคารใช้รัดปึกธนบัตร เราจะนำมาใช้เพื่อให้เกิดแรงหนืดในการเคลื่อนที่ทางด้านข้างและใช้เพื่อรัดถ่านไฟฉายไว้กับขั้วถ่าน

 

อุปกรณ์สำหรับใช้ทำส่วนตัวหุ้ม

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

ขวดใส่เครื่องสำอาง เลือกซื้อแบบที่มีขนาดพอดีใส่แผ่นวงจรและถ่ายไฟฉายได้

 

8. เทปกาว : เทปกาวใสหรือสก็อตเทปใช้เพื่อจับยึดส่วนตัวหุ้ม

9. เทปกาวสองหน้า : แบบบาง ใช้เพื่อยึดวงแหวนพลาสติกที่เป็นตัวเชื่อมต่อตัวถังไว้ด้วยกัน และใช้เพื่อติดไมโครสวิตช์ 

เทปกาวสองหน้า

 

อุปกรณ์สำหรับใช้ทำส่วนตัวหุ้มด้านนอก

10. ถุงเท้าเด็ก : เลือกถุงเท้าที่ยืดหยุ่นได้ดี ถุงเท้าขนสัตว์เทียมใช้งานได้ดีสุด สาเหตุที่เลือกใช้ถุงเท้าเนื่องจากไม่มีตะเข็บด้านข้าง ทำให้การเลื่อนเมาส์ทำได้ดี ไม่สะดุด การเลือกใช้ถุงเท้าสวยๆ จะช่วยให้เมาส์อากาศของท่านโดดเด่นไม่ซ้ำแบบใคร

ถุงเท้าขนสัตว์เทียมใช้งานได้ดีสุด

 

11. เข็มและด้าย : ใช้เพื่อเย็บส่วนตัวหุ้มด้านนอก

12. หมุด : เป็นหมุดโลหะเหมือนกระดุมที่ใช้ติดผ้าสองชิ้นเข้าด้วยกัน หรือจะใช้เข็มกลัดซ่อนปลายก็ได้ เราจะใช้เพื่อยึดตัวหุ้มด้านนอก

หมุดยึดผ้า

 

อุปกรณ์สำหรับใช้ทำส่วนระหว่างตัวหุ้มด้านนอกและด้านใน

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

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

14. ถุงพลาสติก : ถุงยางอนามัยใช้ได้ไม่ดีนักเพราะเสื่อมสภาพเร็วและมักติดขัด ให้ใช้ถุงพลาสติกที่บางแต่ทนทานจะดีกว่า การเชื่อมปิดถุงต้องใช้เครื่องปิดถุงที่ทำงานด้วยความร้อน หรือจากดัดแปลงใช้เตารีดแทนก็พอได้ ถ้าเป็นเมาส์อากาศรุ่นจอยสติกอาจใช้หนังยางรัดปากถุงได้ แต่เมาส์อากาศแบบสามมิติใช้หนังยางรัดไม่ได้ เพราะจะมีปมด้านล่าง ทำให้เคลื่อนที่ได้ไม่ครบทุกทิศ (ติดปมรัดหนังสติก)

การใช้ตัวหล่อลื่นต้องอาศัยความระมัดระวัง เมื่อใช้งานไปสักพัก ควรตรวจสอบว่าถุงพลาสติกมีรอยรั่วหรือไม่ หากพบสัญญาณของความเสื่อมสภาพ ควรเปลี่ยนถุงใหม่ เมื่อถ่านไฟฉายหมดกำลังไฟก็ต้องเปลี่ยนถุงใหม่เช่นกัน ทุกครั้งที่เปลี่ยนถุงก็ต้องเชื่อมปิดถุงใหม่ ลองทำแบบไม่ต้องใช้น้ำมันหล่อลื่นจะสะดวกกว่า

เครื่องมือ

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

แด่นักเล่นเกม

เกมบางเกมตอนเล่นต้องใช้แป้นพิมพ์ด้วย ให้ดูที่ร้านขายอุปกรณ์คอมพิวเตอร์ในศูนย์ไอที ส่วนใหญ่จะมีแป้นพิมพ์ไร้สายเฉพาะส่วนตัวเลข (numeric key-pad) ที่เรานำมาดัดแปลงติดไว้ที่เอวได้ หากทำเช่นนี้จะทำให้เล่นเกมโดยไม่ต้องนั่งอยู่หน้าจอคอมพิวเตอร์ 

 

แป้นพิมพ์ไร้สายเฉพาะส่วนตัวเลข รูปทางขวาคือเมื่อดัดแปลงใส่ตัวหนีบเพื่อช่วยให้ติดไว้ที่เอวได้

 

โปรดติดตามวิธีทำและรายละเอียดที่เหลือในตอนสองซึ่งเป็นตอนจบ

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

นิยายนักสืบตอน
Host Intrusion Prevention [2]
ลาภลอย วานิชอังกูร

นี่คือตอนจบของ นิยายนักสืบตอน Host Intrusion Prevention

12:00 น. โรงอาหาร อาคารสินสมุทรประกันภัย สาขาพิษณุโลก

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

  • ช่วยต่อต้านการโจมตี
  • ประหยัดดีไม่ต้องแพตช์มาก
  • ไม่ลำบากโรคลุกลาม
  • เป็นไปตามนโยบาย

"สี่ข้อนี้คือผลประโยชน์ที่บริษัทจะได้รับจากการนำฮิพส์มาใช้" ผมพูดขณะที่ผู้ร่วมประชุมกำลังเวียนอ่านข้อความ "ข้อแรก ช่วยต่อต้านการโจมตี ฮิพส์สามารถตรวจจับและทำลายไวรัสได้เหมือนโปรแกรมป้องกันไวรัสทั่วไป แต่มันจะไม่หยุดเพียงเท่านั้น มันสามารถยับยั้งการแพร่ระบาดของไวรัส หนอน ม้าโทรจัน แอดแวร์ สปายแวร์ และซอฟต์แวร์อัปมงคลอื่นๆ ได้ครบทุกแบบ และไม่เหมือนโปรแกรมป้องกันไวรัสซึ่งทำงานโดยอาศัยฐานข้อมูล signature เป็นหลัก แต่ฮิพส์จะฉลาดพอที่จะตรวจพบไวรัสที่เกิดขึ้นใหม่ ซึ่งยังไม่เป็นที่รู้จักได้อีกด้วย"
"ความสามารถนี้ของฮิพส์ คงช่วยปลดเปลื้องผมจากภาระหนักอึ้ง ที่ต้องคอยตามล้างเครื่องคอมพิวเตอร์ซึ่งติดไวรัสอยู่เสมอได้มากทีเดียว" ถมยาลอบร้องอย่างดีใจ "นั่นจะทำให้ผมมีเวลาทำงานอย่างอื่นที่มีประโยชน์ได้เต็มที่ ไม่แน่ว่าผมอาจมีโอกาสสร้างผลงานดีเด่น ได้รับความดีความชอบและได้ขึ้นเงินเดือน!" มงคลทำตาประหลับประเหลือก ยกฝ่ามือฟาดต้นแขนของถมยาดังเผียะ

 


โปรแกรม AntiHook ถูกออกแบบมาเพื่อการใช้งานในคอมพิวเตอร์แบบเดกส์ทอป

 
โปรแกรม ThreatSentry ถูกออกแบบมาเพื่อป้องกันการโจมตีต่อ IIS (Microsoft Internet Information Service)

 

"ผลประโยชน์ข้อต่อมา ประหยัดดีไม่ต้องแพตช์มาก จะช่วยลดค่าโสหุ้ยให้แก่บริษัทได้ เนื่องจากคนใจบาปสร้างโปรแกรมอัปมงคลขึ้นใหม่ไม่เว้นแต่ละวัน ผู้สร้างโปรแกรมระบบปฏิบัติการ โปรแกรมเปิดหน้าเว็บ โปรแกรมป้องกันไวรัส และโปรแกรมอื่นๆ จึงต้องหมั่นสร้างตัวแก้ไข หรือ แพตช์ (patch) เพื่ออุดช่องโหว่อยู่เสมอ การแพตช์แต่ละครั้ง แม้จะกินเวลาไม่มากนัก แต่ก็ขัดจังหวะการทำงาน หากต้องทำบ่อย และทำในคอมพิวเตอร์หลายเครื่อง ย่อมส่งผลให้ประสิทธิภาพโดยรวมลดลงไม่ใช่เล็กน้อยแล้ว" เมื่อพูดมาถึงตอนนี้อาหารก็มาถึง ทุกคนได้รับข้าวหน้าไก่คนละจาน และน้ำอัดลมแป๊ปซี่-โคล่าเย็นเจี๊ยบหนึ่งขวด ทุกคนก้มหน้าก้มตารับประทานอาหารอย่างเงียบๆ อยู่ครู่หนึ่ง

ครู่ต่อมามงคลก็เงยหน้าขึ้น ยิ้ม นัยน์ตาเป็นประกายแวววาว และพูดทั้งๆ ที่มีอาหารอยู่เต็มปากว่า "ไม่ลำบากโรคลุกลาม นี่คืออะไรจ๊ะอาจารย์?"

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

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

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

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

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

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

"หลังจากนั้นยังมีประชุมต่ออีกไหมคะ หรือว่ากลับเลย" ใจทิพย์กระซิบ ริมฝีปากสีชมพูบอบบางเหมือนกลีบกุหลาบอยู่ห่างออกไปเพียงห้าจุดเจ็ดห้าเซนติเมตร ลมหายใจของหล่อนกลิ่นเหมือนสตรอเบอรี
"เรากลับไปที่ห้องประชุมเพื่อพูดคุยต่อกันอีกครับ ต้องการให้เล่าต่อไหม?" ผมถามพลางนึกสงสัยว่า หากผมจุมพิตหล่อนๆ จะเคืองหรือไม่

 

13:00 น. ห้องประชุมสุดสาคร  อาคารสินสมุทรประกันภัย สาขาพิษณุโลก

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

  • ไม่ทนคนหักหาญ
  • ไม่ผ่านทุกย่านคลุม
  • กลัดกลุ้มตัวเมินเครื่อง

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

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

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

"คู รา ฮี! คู รา ฮี! คู รา ฮี!"

 

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

"ตกลงสำนักงานนั้นตัดสินใจติดตั้งฮิพส์ไหมคะ?" ใจทิพย์ถามขณะหยอดเหรียญเข้าเครื่องจ่ายตั๋ว
"ติดตั้งสิครับ" ผมตอบพลางเฝ้ามองดูหล่อน
"แล้วผลลัพธ์เป็นอย่างไรคะ?"
"อันที่จริงแล้วได้ผลดีมาก เมื่อสำนักงานใหญ่ทราบเรื่อง และส่งคนไปประเมินผล ได้ตัดสินใจติดตั้งฮิพส์ที่สำนักงานใหญ่ด้วย และยังแนะนำให้สาขาอื่นๆ ติดตั้งฮิพส์ด้วยเช่นกัน"
"ขอบคุณที่เล่าเรื่องนี้ให้ฟัง รถไฟของดิฉันมาพอดี ราตรีสวัสดิ์ค่ะสุนทร" ใจทิพย์ประกาศแล้วเดินจากไป

ไม่กี่วินาทีรถไฟขบวนนั้นก็หายลับไปในอุโมงค์ ทิ้งผมไว้เพียงลำพังบนชานชาลาที่ปราศจากผู้คน

 

หน้าแรก สารบัญ เกี่ยวกับบล็อกนี้ เกี่ยวกับผู้เขียน

นิยายนักสืบตอน
Host Intrusion Prevention [1]
ลาภลอย วานิชอังกูร

 

 

ผมเดินตามใจทิพย์เข้าไปในลิฟต์ ภายในนั้นว่างเปล่า พนักงานที่ทำงานในสำนักงานต่างๆ ในอาคารนี้กลับบ้านไปหมดแล้ว วันอันเหน็ดเหนื่อยผ่านไปอีกหนึ่งวัน เราเองก็กำลังจะแยกย้ายกลับที่พักของตน ผมเอื้อมมือกดปุ่ม G แล้วเงยหน้ามองเลข 13 ในกรอบวงกลมเรืองแสงเก่าคร่ำคร่า

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

"เธออย่าเรียกฉันว่าอาจารย์เลย แต่จงเรียกว่าสุนทรเถิด และธุระที่พิษณุโลกนั้น ฉันจะเล่าให้ฟังเดี๋ยวนี้ก็ได้ หากเธอประสงค์"
"ดีสิคะ… สุนทร จงเล่าให้ดิฉันฟังเถิด"

 

10:00 น. ห้องประชุมสุดสาคร อาคารสินสมุทรประกันภัย สาขาพิษณุโลก

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

ผมนั่งที่หัวโต๊ะ พนักงานระดับบริหารของสินสมุทรฯ นั่งล้อมอยู่อีกฝั่งของโต๊ะประชุม ทุกคนใส่เสื้อสีชมพู
"ที่นี่มีการใช้เครื่องแม่ข่ายและการเชื่อมโยงออนไลน์กับสำนักงานใหญ่ไหมครับ" ผมหันไปถามถมยา พนักงานผู้มีหน้าที่ดูแลคอมพิวเตอร์
"มีครับ เรามีคอมพิวเตอร์แม่ข่ายหนึ่งเครื่อง วิ่งระบบปฏิบัติการวินโดวส์เซอฟเวอร์ ใช้ทำหน้าที่เป็นผู้ให้บริการฐานข้อมูล และการใช้แฟ้มข้อมูลร่วมกัน มีการเชื่อมโยงกับสำนักงานใหญ่ที่กรุงเทพฯ ด้วยวีพีเอ็นผ่านอินเตอร์เน็ตความเร็วสูง และใช้อินเตอร์เน็ตชุดเดียวกันนี้เพื่อเปิดเว็บและรับ-ส่งอีเมลโดยตรง ไม่ผ่านวีพีเอ็น"

"วีพีเอ็นคืออะไรคะ?" จินดา สตรีวัยกลางคนผู้จัดการฝ่ายขายถามขึ้น
"วีพีเอ็นย่อมาจาก Virtual Private Network ครับ เป็นการสร้างสะพานหรืออุโมงค์เชื่อมต่อเรากับกรุงเทพฯ ผ่านอินเตอร์เน็ต" ถมยาตอบ
"เหมือนกะการใช้สายเช่าใช่ไหมจ๊ะ?" มงคล ชายร่างอ้วนมีหนวดคราครึ้มถามขึ้น เขาเป็นเจ้าหน้าซึ่งมีตำแหน่งสูงสุดในที่ประชุมนี้ เป็นผู้ว่าจ้างให้ผมเป็นที่ปรึกษาด้านความปลอดภัยของเครือข่าย
"ใช่ครับท่าน แต่การทำวีพีเอ็นประหยัดกว่าลีสต์ไลน์มาก เราไม่ต้องเช่าสายส่วนตัวจากองค์การโทรศัพท์ ใช้เพียงอินเตอร์เน็ตความเร็วสูง ที่เช่ารายเดือนจากสยามเทวะ ทำหน้าที่เป็นตัวกลาง" ถมยาเฉลย
"ถ้าเราใช้อินเตอร์เน็ตซึ่งเป็นเครือข่ายสาธารณะ แล้วข้อมูลที่เรารับ-ส่งกับกรุงเทพฯ จะปลอดภัยหรือคะ?" จินดาพูดด้วยสีหน้าตกใจ
"อ๋อ ไม่ต้องห่วงหรอกครับ วีพีเอ็นมีกลไกเข้ารหัสและระบบรักษาความปลอดภัยต่างๆ ผู้ใช้อินเตอร์เน็ตทั่วไปไม่สามารถเข้าถึงข้อมูลที่วิ่งอยู่วีพีเอ็นได้ มันจึงเป็นเสมือนเครือข่ายรโหฐาน" ถมยาปลอบใจ

 

 
VNP หรือ Virtual Private Network เชื่อมโยงสำนักงานใหญ่กับสาขา

 

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

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

"เป็นเช่นนั้นเองหรือครับ" ผมพูดอย่างครุ่นคิด "แล้วกรุงเทพมีข้อบังคับอะไรบ้าง ในส่วนที่เกี่ยวข้องกับเครือข่าย?" ผมหันไปถามถมยา
"มีสามอย่างครับ อย่างแรกคือสาขาต้องวิ่งโปรแกรมค้น-ฆ่าไวรัส อย่างสม่ำเสมอ สองสาขาต้องปรับปรุงฐานข้อมูลไวรัสอยู่เสมอ สามคือห้ามเปลี่ยนแปลงแก้ไขเราเตอร์และวีเอ็นพีโดยเด็ดขาด"

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

ขณะที่ผมกำลังจ้องมอง แสงไฟที่เลข 13 ก็ดับลงและเลข 12 ติดสว่างขึ้นแทนที่ ประตูลิฟต์เปิดออก หญิงพนักงานทำความสะอาดผู้หนึ่งเดินเข้ามา มือของนางถือถังใส่ขวดน้ำยาสารพัดชนิด
"เหตุการณ์เป็นเช่นนั้นเองหรือคะ?" ใจทิพย์พูดเหมือนรำพึงแล้วขยับเข้ามาใกล้ ใบหน้าของหล่อนอยู่ห่างจากผมเพียงเก้าจุดห้าเซนติเมตร "แล้วอาจารย์.. เออ… สุนทรแนะนำเขาว่าอย่างไร?"

 

11:30 น. ห้องประชุมสุดสาคร อาคารสินสมุทรประกันภัย สาขาพิษณุโลก

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

Host Intrusion Prevention – HIPS

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

  • ต่อต้านตัวอัปมงคล
  • ไม่รนโปรแกรมดี
  • สติมีรู้แยกแยะ
  • ชอบข้องแวะพวกลึกลับ
  • จวกไม่นับโปรแกรมโง่

"ต่อต้านตัวอัปมงคลนี่คงเป็นคุณสมบัติเดียวกับโปรแกรมต้านไวรัสและมัลแวร์ใช่ไหมจ๊ะ?" มงคลถามด้วยสีหน้าที่แจ่มใส
"ใช่ครับ แต่แตกต่างกันที่โปรแกรมต้านไวรัสจะเพียงแค่ค้นหาไวรัส และพยายามฆ่ามัน ส่วนฮิพส์จะหาทางป้องกันไม่ให้ไวรัสแพร่ระบาดไปในเครือข่าย โดยระงับกิจกรรมต่างๆ ของไวรัส ยิ่งไปกว่านั้นฮิพส์จะสร้างบันทึก และรายงานสิ่งที่เกิดขึ้น ซึ่งจะช่วยเราให้มีข้อมูลดีๆ ไว้ใช้ตัดสินใจดำเนินมาตรการต่างๆ เพื่อเสริมความปลอดภัยให้เครือข่าย"

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

 

 
NetClearity โปรแกรมฮิพส์สำหรับผู้ใช้แบบองค์กร

 
โปรแกรมฮิพส์จากบริษัท CA

 

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

"โอเค!" มงคลร้องขึ้น "แล้ว ชอบข้องแวะพวกลึกลับ เล่าจ้ะ คืออะไร? ด้วยความนับถือนะจ้ะ พี่คิดว่าหัวข้อที่อาจารย์ตั้งนี้หวือหวาดี อย่างข้อนี้มีคำว่าลึกลับ ทำให้ดูน่าค้นหา แถมแต่ละข้อยังมีคำสัมผัสคล้องจองกัน เหมือนลิเก ทำให้จำง่าย ติดหูดี" เมื่อมงคลพูดจบ คนที่เหลือในห้องตบมือพร้อมๆ กัน บางคนอมยิ้ม บางคนเอื้อมมือมาบีบแขนของมงคล
"พูดได้ยอดเยี่ยมมากครับเจ้านาย" ถมยาร้องบอกมงคลเบาๆ
"ขอบคุณครับ" ผมพนมมือ ดูจากแววตาแล้ว เห็นได้ชัดว่ามงคลพูดจากใจจริง "ข้อนี้คือคุณสมบัติสำคัญอีกอย่างที่ฮิพส์ต้องมี คือต้องตรวจพบตัวอัปมงคลที่เกิดขึ้นใหม่ซึ่งไม่อยู่ในสารบบ โปรแกรมที่ตรวจพบตัวอัปมงคลได้เพียงเฉพาะเท่าที่มีในฐานข้อมูล signature ไม่จัดว่าเป็นฮิพส์"

"ช่วยตั้งรับโปรแกรมโง่ หมายถึงมันจะขัดขวางตัวอัปมงคลที่โง่ๆ ใช่ไหม? ถ้าเช่นนั้นมันก็เหมือนข้อแรกสิ" ถมยาติง
"ไม่ใช่ครับ โปรแกรมโง่ในที่นี้หมายถึงโปรแกรมที่เราติดตั้งไว้ใช้งาน ไม่ใช่มัลแวร์ โปรแกรมของเราเองที่เขียนไว้ไม่ดี หรือตั้งค่ากำหนดไว้ไม่เหมาะสม อาจก่อให้เกิดกิจกรรมที่ทำลายความมั่นคงของระบบ คือยอมทำตามคำสั่งของโปรแกรมอัปมงคล ยกตัวอย่างเช่นโปรแกรมแม่ข่ายฐานข้อมูล ต้องยอมรับคำสั่งจากพนักงานที่มีสิทธิ แต่ต้องไม่รับคำสั่งจากตัวอัปมงคล หากตรวจพบความเสี่ยง ฮิพส์จะระงับธุรกรรมไว้" ผมประกาศ

 

เมื่อดวงไฟติดสว่างที่เลข 9 ประตุลิฟต์เปิดออก หญิงทำความสะอาดเดินจากไป ทิ้งผมไว้กับใจทิพย์ตามลำพัง
"หากเธอเห็นว่าเรื่องราวนี้น่าเบื่อ ฉันอาจหยุดเล่าเสียก็ได้" ผมพูดหยั่งเชิง
"ในทางตรงกันข้าม" ใจทิพย์พูดเสียงเบา ใบหน้าของหล่อนขยับเข้ามาอีกครึ่งเซนติเมตร ผมได้กลิ่นหอมอ่อนๆ จากเรือนกายของหล่อน "ดิฉันกลับพบว่าเรื่องที่สุนทรเล่ามานี้มีความน่าสนใจไม่น้อย กรุณาเล่าต่อไปเถิด" หล่อนคะยั้นคะยอ

โปรดติดตามตอน 2 ซึ่งเป็นตอนจบได้ในบล็อกนี้


เกี่ยวกับบล็อกนี้

เว็บบล็อก “คนคอมพิวเตอร์” หรือ Laploy’s articles เป็นบล็อกรวบรวมบทความจาก ลาภลอย วานิชอังกูร มีบทความหลายประเภทคละกัน เช่นบทความเกี่ยวกับการพัฒนาซอฟต์แวร์ บทความเกี่ยวกับการสร้างและดัดแปลงฮาร์ดแวร์ บทความเกี่ยวกับเทคโนโลยีคอมพิวเตอร์ทั่วไป บทความทั่วไป และนิยายนักสืบ

เกี่ยวกับผู้เขียน

ลาภลอย วานิชอังกูร เป็นผู้เชี่ยวชาญการพัฒนาแอพลิเกชันฐานข้อมูลและ Business Intelligence โดยเริ่มจากการพัฒนาโปรแกรมด้วย dBaseII, Clipper, FoxPro ปัจจุบันเป็นผู้เชี่ยวชาญในการบูรณาการระบบฐานข้อมูลด้วยเทคโนโลยีของไมโคร ซอฟต์เช่น ASP.NET, ADO.NET, Microsoft SQL Server 2008 และ LINQ ชำนาญการเขียนคิวรีเพื่อแก้ปัญหาทางธุรกิจที่ซับซ้อน Data mining, Data Warehouse, OLAP (SSRS), OLTP เคยออกแบบฐานข้อมูลสัมพันธ์ในองค์กรระหว่างประเทศ เคยพัฒนาแอพลิเกชันฐานข้อมูลในโครงการขนาดใหญ่หลายโครงการ และเคยให้คำปรึกษาด้าน BI ในศูนย์คอมพิวเตอร์ (T-Center) ในองค์กรของประเทศฝรั่งเศส
นอกจากงานฐานข้อมูลแล้ว ลาภลอย วานิชอังกูร ยังเชี่ยวชาญการพัฒนาซอฟต์แวร์ระบบฝังตัว (Microprocessor / Microcontroller Based Embedded System) งานพัฒนาแอพลิเกชันในอินเตอร์เน็ตแบบ RIA (Rich Internet Application) งานพัฒนาโครงสร้างพื้นฐานของซอฟต์แวร์ด้วยหลักการ OOP (Framework Development in Object Oriented Programming) ด้วยภาษา C# และ .NET Framework และงานบูรณาการระบบในองค์กรหรือ SOA (Service Oriented Architecture for Enterprise Orchestration) เคยร่วมงานกับทีมพัฒนาซอฟต์แวร์ในหลายๆ ประเทศ เช่น ไทย อินเดีย สวิส เยอรมัน และประเทศสหรัฐอเมริกา
ปัจจุบัน ลาภลอย วานิชอังกูร ทำหน้าที่ให้คำปรึกษาการวางระบบ IT (เช่น SQL, OLAP,.NET, SCADA, BI, SOA และอื่นๆ) ให้แก่หน่วยงานขนาดใหญ่หลายแห่ง และมีบทความทางวิชาการตีพิมพ์ในวารสารหลายเล่มอย่างสม่ำเสมอ และเป็นผู้เขียนหนังสือ "เรียนรู้ด้วยตนเอง DataBase - Query - T-SQL - Stored Procedure" และ “เรียนรู้ด้วยตนเอง OOP C# ASP.NET” (ISBN 13:978-974-212-598-1)
ท่านสามารถติดต่อผู้เขียนได้ที่อีเมล laploy@gmail.com

เรียนรู้ด้วยตนเอง OOP C# ASP.NET

ชื่อหนังสือ : เรียนรู้ด้วยตนเอง OOP C# ASP.NET โดย : ลาภลอย วานิชอังกูร จัดพิมพ์จัดจำหน่ายโดย : บริษัท ซีเอ็ดยูเคชั่น จำกัด (มหาชน) ISBN : 13:978-974-212-598-1 ราคา : 349 บาท จำนวนหน้า : 648 ขนาด : 19x29 ซ.ม.

เรียนรู้ด้วยตนเอง DataBase – Query – T-SQL – Stored Procedure

ชื่อหนังสือ: เรียนรู้ด้วยตนเอง DataBase - Query - T-SQL - Stored Procedure โดย: ลาภลอย วานิชอังกูร จัดพิมพ์จัดจำหน่าย: บริษัท ซีเอ็ดยูเคชั่น จำกัด (มหาชน) ISBN: 978-616-08-0009-4 ราคา: 559 บาท จำนวนหน้า: 1,100 ขนาด: 19x29 ซ.ม. วางตลาด: ตุลา 2552

กรุณาป้อนอีเมลของท่าน

Join 13 other followers

ติดตาม

Get every new post delivered to your Inbox.