บุคคลสำคัญในวงการคอมพิวเตอร์

Edsger Wybe Dijkstra

เกิด วันที่ 11 พ.ค. 1930 ชาวเนเธอร์แลนด์
เสียชีวิต วันที่ 6 สิงหาคม 2002

ผลงาน : วิทยาศาสตร์คอมพิวเตอร์ (หนังสือชุด ศิลปะแห่งการเขียนโปรแกรม, อัลกอรึทึม) การเข้ารหัสขอมูล


        Edsger Wybe Dijkstra เกิดในเมืองรอตเตอร์ดาม ประเทศเนเธอร์แลนด์ ในปี 1930 ทุกคนในครอบครัวล้วนเป็นบุคคลผู้ทรงความรู้ บิดาเป็นนักเคมีและมารดาเป็นนักคณิตศาสตร์ ตอนอายุได้ 12 ขวบ ท่านก็ได้เข้าเรียนในโรงเรียนสำหรับเด็กที่มีปัญญายอดเยี่ยม ตอนอายุ 15 ปีท่านมีความคิดอยากจะเรียนกฎหมาย แต่ท่านได้คะแนนดีในวิชาเคมี คณิตศาสตร์ และฟิสิกส์ ท่านจึงตัดสินใจเรียนฟิสิกเชิงทฤษฎีส์ที่มหาวิทยาลัย Leiden ขณะที่เรียนท่านได้ทำงานพิเศษที่ศูนย์คณิตศาสตร์ในอัมส์เตอร์ดาม และนั่นเองที่เป็นจุดเริ่มต้นที่ท่านสนใจในการเขียนโปรแกรม ทันที่ที่เรียนจบท่านก็อยากจะทำในสิ่งที่ท่านอยากทำคือเขียนโปรแกรม แต่การเขียนโปรแกรมยังไม่เป็นที่นิยมและชื่นชมในสมัยนั้น ท่านจึงยอมเป็นศาสตราจารย์ด้านฟิสิกส์เชิงทฤษฎี อย่างไรก็ตามท่านก็ไม่ได้ทิ้งงานที่ศูนย์คณิตศาสตร์ จนกระทั่งท่านได้ทำงานที่บริษัท Burroughs ในสหรัฐอเมริกา ท่านได้รับรางวัล ACM Turing Award ในปี ค.ศ. 1972 ซึ่งเป็นรางวัลสูงสุดของบุคคลในวงการคอมพิวเตอร์ และท่านได้เป็นศาสตราจารย์ที่มหาวิทยาลัยเท็กซัสในปี 1984

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

        ผลงานที่สำคัญอีกอย่างหนึ่งการแก้ปัญหาการกินอาหารของนักปราชญ์ "dining philosophers problem" โจทย์มีอยู่ว่า มีนักปราชญ์อยู่ 5 คนกำลังร่วมวงรับประทานอาหารเย็นกัน กลางโต๊ะอาหารนั้นมีอาหารอยู่เพียงจานเดียวและแต่ละคนมีจาน 1 ใบและมีตะเกียบวางอยู่ข้างจานด้านละอัน แต่ละคนจะต้องมีตะเกียบ 2 อันจึงจะกินอาหารได้ดังรูป

        คำถามคือ นักปราชญ์จะมีวิธีกินอย่างไรที่ต้องไม่เกิดสถานการณ์ที่สองคนที่อยู่ติดกันจะกินพร้อมกัน ไม่มีใครที่ไม่ได้กิน และทุกคนได้กินอย่างยุติธรรมคือได้กินเท่ากัน

เพื่อน ๆ ลองแก้ปัญหาดูนะครับ

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

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

 

 

 

 

 
 
     Links อื่น ๆ
 



























 





 
       
 
 
<< กลับ
 
   

Copyright © 2004 Institute for Innovation and Development of Learning Process.  All rights reserved.