GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

คณิตศาสตร์สำหรับสังคม informatics

คณิตศาสตร์เป็นเครื่องมือที่ขาดไม่ได้สำหรับการก้าวกระโดดในโลก informatics

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

ลองดูกรณีตัวอย่าง

1. สถิติ

มีคนหัวใส ใช้ Google เป็นพจนานุกรมข้ามภาษาโดยการดูจาก PageCount โดยอาศัยหลักการกระจายของโอกาสความน่าจะเป็นล้วน ๆ ถ้าคำต่างภาษาสองคำอยู่ด้วยกันบ่อยอย่างมีนัยสำคัญยิ่งยวดทางสถิติ ก็เป็นไปได้สูงมาก ที่สองคำนั้น จะมีความหมายตรงกัน ใกล้เคียงกัน หรือเกี่ยวพันกัน

มีงานวิจัยในวารสาร PLoS Biology [Korbel et al., Systematic Associat ion of Genes to Phenotypes by Genome and Literature Mining. PLoS Biology 2005, 3(5: e134) pp 0815-0825; downloadable at www.plosbiology.org)] ใช้แนวคิดสถิติแบบนี้ โยงหน่วยพันธุกรรม (genes) กับลักษณะที่ปรากฎ (genetic traits) โดยเสาะหาฐานข้อมูลนิยาม genes, ฐานข้อมูลนิยามคำศัพท์เกี่ยวกับ traits มา แล้วลองไปไล่ดูใน Medline ว่ามีคู่ gene-trait ใด ที่อยู่ด้วยกันบ่อยผิดปรกติบ้าง ผู้วิจัยพบว่า สามารถยืนยันสิ่งที่รู้ในอดีตและปัจจุบันได้ดีอย่างน่าทึ่ง และทำนายถึงสิ่งที่ยังไม่รู้ได้อีกมาก (อย่าทำตาโตอย่างนั้น ผมไม่ได้พูดถึงโหราศาสตร์ !) และโดยการใช้วิธีเช่นนี้ เราจะสามารถเจาะต่อไปว่า gene ที่มีพฤติกรรมแปลก ๆ นั้น เกิดจากปัจจัยร่วมอื่นใดได้อีกด้วย ซึ่งเชื่อว่างานวิจัยชิ้นนี้จะเปิดประตูบานใหม่สู่การวิจัย bioinformatics เพราะในอดีตนั้น กว่าจะรู้ว่าคู่ gene-trait ไหนเกี่ยวกันสักคู่หนึ่ง ต้องเหนื่อยยากเลือดตากระเด็น

2. graph theory

(คณิตศาสตร์แขนงหนึ่งที่ว่าด้วยเรื่องการเชื่อมด่อระหว่างจุดต่าง ๆ โดยใช้แนวคิดเชิงนามธรรม)

graph theory เข้ามาในแวดวง informatics อย่างเงียบ ๆ แต่ทวีความสำคัญขึ้นมาทุกขณะ คนที่เขียนโปรแกรมในภาษา Pascal มาก่อนอาจคุ้นกับระบบคิดเรื่องนี้บ้าง เพราะมีโครงสร้างอำนวยให้มาในภาษา แต่นั่นก็เป็นเพียงผิว ๆ

-โครงสร้างเคมีสามารถลดรูปเป็น graph ทำให้การจัดการฐานข้อมูลโครงสร้างสามมิติเป็นไปได้

-การจัดการข้อความ การแปลภาษา การทำ information retrieval หลาย ๆ กรณี ถ้าใช้ graph theory/graph algorithm ทำให้เขียนโปรแกรมได้กระชับและมีพลัง

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

-การบันทึกพลวัตของระบบ ก็ต้องใช้ graph

ใครสนใจเรื่องนี้ ควรต้องอ่านหนังสือการออกแบบและวิเคราะห์อัลกอริธึมของ ดร.สมชาย ประสิทธิ์จูตระกูล จัดพิมพ์โดย NECTEC ซึ่งอ่านแล้วเป็นที่เปิดหูเปิดตา ในเล่มเน้น graph algorithm ล้วน ๆ โดยไม่กล่าวถึง numerical algorithm เลย

3. สมการเชิงอนุพันธ์

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

ลองไปอ่านหนังสือด้านการบริหารจัดการองค์กรยุคใหม่ ตั้งแต่ Dee Hock นำเสนอแนวคิดเรื่อง Chaordic Organization ซึ่งจะว่าไปแล้วก็ไม่เกี่ยวกับ chaos theory ซักนิด ก็มีคนนำแนวคิด chaos theory ของจริงไปใช้อธิบายพลวัตขององค์กร ทำให้คำศัพท์ประเภท bifurcation (ทางสองแพร่ง), basin of attractors (แอ่งแห่งเสถียรภาพ) กลายเป็นคำที่นักกลยุทธ์องค์กรเอาไว้ใช้เกทับภูมิรู้ทางคณิตศาสตร์กันได้ดีนักเชียว

หรือในเชิงพลวัตของระบบ ก็เริ่มมีการนำแนวคิดนี้ไปใช้อธิบาย และดูเหมือนจะอธิบายได้น่าประทับใจเสียด้วย โดยเฉพาะกับระบบพลวัตประเภทผุดบังเกิด (emergent/bootstrap/ปฎิจสมุปบาท) หรือระบบที่ซับซ้อนเช่นการทำงานในระดับเซลล์ว่าทำไมจึงมีเสถียรภาพ หรือการที่เซลล์ตัวอ่อนมีการ differentiate ไปสูรูปแบบที่หลากหลายได้ (เช่น การนำ stem cell ไปใช้รักษาโรค)

 4. Stochastic technique

การใช้แนวคิดเชิงสุ่มมาช่วยในการคำนวณ เช่น

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

-การจูนค่าพารามิเตอร์ของระบบเพื่อหาคำตอบที่เหมาะสมที่สุด ถ้าระบบซับซ้อน ใช้วิธีเชิงสุ่มช่วย จะได้คำตอบคร่าว ๆ ได้เร็วกว่ามาก เช่น ใช้วิธี Genetic Algorithm [Holland J.H.,
Adaptation in natural and artificial system, Ann Arbor, The University of Michigan Press, 1975] หรือใช้วิธี Random Heuristic Optimization [J. Li, R.R. Rhinehart. Heuristic random optimization. Computers Chem. Engng. 22 (3) (1998) 427-444] ซึ่งวิธีในตระกูลเช่นนี้ เป็นที่ยอมรับกันในวงการว่ามีโอกาสใช้เป็นจุดตั้งต้นในการค้นหา global optima ได้ดีกว่าวิธีเชิงละโมภที่สังกัดในตระกูล deterministic method เป็นไหน ๆ และเล่นกับปัญหาที่มีจำนวนมิติของตัวแปรมาก ๆ ได้ผลที่น่าพอใจในเวลาที่ไม่มากนัก ซึ่งถ้าจะให้เห็นภาพ ลองนึกถึงว่าในยีนมนุษย์มี 9 พันล้านคู่ลำดับพันธุกรรม การวิวัฒนาการคือการให้ธรรมชาติคัดสรรว่าจะปรับตัวแปร 9 พันล้านตัวได้อย่างไรจึงจะดีกว่าเดิมได้ ซึ่งไม่ใช่เรื่องง่าย ผิดไปนิดเดียวคือความพิการทางพันธุกรรม ตัวแปร 9 พันล้านตัวนี่ในแวดวงวิจัยเขาถือว่าไม่ใช่ Dimension Monster ธรรมดา ต้องเรียกว่าเป็น Dimension Blackhole แล้ว ซึ่งวิธี deterministic method ทั่วไปเจอสัก 100 ตัวก็อ่วมแล้ว แต่ถ้าเป็นวิธี stochastic แล้ว 9 พันล้านก็ยังเป็นอะไรที่ 'พอไหว'

ข้อเสียก็มี เช่น ถ้าต้องการคำตอบที่แม่นยำในระดับรายละเอียด มักจะทำงานช้ากว่าแนวคิดแบบ deterministic มาก แต่เขียนโปรแกรมง๊าย ง่าย

ผมเคยใช้วิธีนี้มาประเมิน algorithm performace ของวิธีการตรวจหาการเกิดยาตีกันจากรายชื่อยา ทำให้พิสูจน์ได้ว่าเป็น algorithm ที่ทำงานในภาวะกดดันได้ราบรื่น (big Theta เป็นแบบขนาดใบสั่งยกกำลังหนึ่ง และเป็นแบบรากที่สองขนาดองค์ความรู้)  ซึ่งถ้าพิสูจน์แบบเป็นกิจจะลักษณะผ่านแนวคิดเรื่อง set theory คงจะเป็นงานที่โหดมาก ถามหาคนประเมินไม่ได้เลย แต่พอใช้วิธีนี้ เขียนโปรแกรมไม่กี่บรรทัดก็เสร็จ ให้สุ่มข้อมูลมาทำงาน จับเวลา แล้วนำไป regression กับโปรแกรมสถิติให้หาสมการอย่างง่ายที่อธิบาย speed test ดังกล่าวได้ดี

บันทึกนี้เขียนที่ GotoKnow โดย 

หมายเลขบันทึก: 7309
เขียน:
แก้ไข:
ความเห็น: 1
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (1)

คณิตศาสตร์เป็นเครื่องมือที่ขาดไม่ได้สำหรับการก้าวกระโดดในโลก informatics

ตอนนี้เข้าใจประโยคนี้ประโยคเดียว คงเพราะง่วง แหะ แหะ ไปน้ำขุ่น ๆ

วันหลังมาอ่านใหม่ ไม่ยอมแพ้ค่ะ