คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 8
สิ่งที่แบบเบจคิดนั้นใช้เทคโนโลยีสมัยวิคตอเรียคือเครื่องจักรกล แต่คอมพิวเตอร์ปัจจุบันใช้เทคโนโลยีสารกึ่งตัวนำคนละแบบกันเลย และสิ่งที่แบบเบจคิดไว้ก็ถูกค้นพบใหม่ (rediscover) ด้วยเทคโนโลยีปัจจุบันหมดแล้ว เช่นพวกรีจิสเตอร์ conditional branch หรือการทำงานแบบไปป์ไลน์เป็นต้น ที่เรายกย่องแบบเบจเพราะวิสัยทัศน์อันก้าวหน้าของเขาครับ เขาเกิดมาเร็วไป 100 ปีว่ายังงั้นก็ได้ เครื่องจักร Analytical Engine ที่เขาออกแบบไว้(แต่ไม่ได้สร้างจริง)นั้นเป็นคอมพิวเตอร์โดยสมบูรณ์ (Turing complete) ก่อนที่ทูริ่งจะคิดเรื่องนี้อีก คอมพิวเตอร์ปัจจุบันทำงานเกือบเหมือนกับเครื่องของแบบเบจแหละครับ เขาถึงได้ชื่อว่าบิดาของคอมพิวเตอร์
อีกคนที่ควรยกย่องก็คือเลิฟเลซครับ เป็นโปรแกรมเมอร์คนแรกของโลก เธอทำงานคู่กับแบบเบจและเป็นคนที่คิดวิธีควบคุมการทำงานของ Analytical Engine ก็คือคิดวิธีการโปรแกรมเครื่องนี้แหละครับถ้าสร้างเสร็จ ถ้าไปดูโน้ตที่เธอเขียนไว้นะครับ...มันคือภาษา Assembly เลยครับ และนอกจากนี้เธอยังมีจินตนาการที่ก้าวไปไกลกว่าแบบเบจอีก ตอนนั้นผู้สร้างเครื่องจักรคำนวณพวกนี้รวมถึงแบบเบตด้วยจะคิดถึงการคำนวณเชิงตัวเลขเป็นหลัก เช่นการคำนวณสมการของเบอร์นูลี หรือของเกาส์ พวกนั้น แต่เลิฟเลซคิดต่อว่า"ถ้าสิ่งใดสามารถถูกแสดงหรือระบุ (express) ลงไปในเครื่องจักรนี้ได้ได้ ถูกประมวลเปลี่ยนแปลงจากเครื่องจักรนี้ได้ เราก็สามารถสร้างสิ่งนั้นขึ้นมาโดยเครื่องจักรเหล่านี้ได้ เช่นเสียง" นั่นคือเธอเห็นศักยภาพว่าคอมพิวเตอร์เอามาใช้ได้มากกว่าการคำนวณเชิงตัวเลขเท่านั้น ถ้าเราแทนภาพ ตัวอักษร เสียง หรืออะไรก็ตามลงไปในคอมพิวเตอร์ได้คอมพิวเตอร์ก็คำนวณและสร้างสิ่งนั้นขึ้นมาได้หมด ซึ่งเป็นการใช้งานคอมพิวเตอร์ในปัจจุบันครับ
ส่วนทูริ่งนั้นเขาไม่ได้คิดหรือสร้างคอมพิวเตอร์แต่คิดทฤษฎีในการ"ประมวลผล"ของคอมพิวเตอร์ครับ คือพยายามจะตอบคำถามว่าโจทย์ไหนที่ตอบได้ด้วยการประมวลผลทางคอมพิวเตอร์ โจทย์แบบไหนที่คอมพิวเตอร์ไม่สามารถคำนวณหรือหาคำตอบได้ เป็นเรื่องทางทฤษฎีใกล้เคียงกับคณิตศาสตร์มาก ๆ สิ่งที่เป็นผลลัพธ์จากแนวคิดของทูริงก็คือโมเดลในการประมวลผล (Turing Machine) ที่บอกว่าเครื่องจักรใด ๆ แม้ว่าจะมีรูปแบบคำสั่งที่แตกต่างกัน แต่ถ้าสามารถจำลองการทำงานของ Turing Machine ได้ เครื่องจักรเหล่านั้นสามารถประมวลผลอัลกอริธึมได้ผลเหมือนกันหมด ซึ่งปัจจุบันอาจเป็นเรื่องที่งั้น ๆ รู้ ๆ กันอยู่ แต่ในยุคนั้นเป็นเรื่องที่น่าประหลาดใจมากครับ ปัจจุบันนี้เราออกแบบอัลกอริธึมใดบนกระดาษเสร็จก็แน่ใจได้ว่าคอมพิวเตอร์ที่สร้างโดย Intel หรือ ARM ที่มีกลไกการทำงานแตกต่างกันก็จะสามารถคำนวณอัลกอริธึมของเราได้แน่นอนถ้าอัลกอริธึมของเราคำนวณได้ด้วย Turing Machine ภาษาโปรแกรมที่เราเขียนกันอยู่ส่วนมากก็เป็นเช่นนี้คือจะเขียนอัลกอริธึมด้วย C / Java / Python ก็ได้คำตอบตรงกัน (อาจจะแค่ช้าเร็ว ง่ายยาก ไม่เหมือนกันเท่านั้น)
อีกคนที่ควรยกย่องก็คือเลิฟเลซครับ เป็นโปรแกรมเมอร์คนแรกของโลก เธอทำงานคู่กับแบบเบจและเป็นคนที่คิดวิธีควบคุมการทำงานของ Analytical Engine ก็คือคิดวิธีการโปรแกรมเครื่องนี้แหละครับถ้าสร้างเสร็จ ถ้าไปดูโน้ตที่เธอเขียนไว้นะครับ...มันคือภาษา Assembly เลยครับ และนอกจากนี้เธอยังมีจินตนาการที่ก้าวไปไกลกว่าแบบเบจอีก ตอนนั้นผู้สร้างเครื่องจักรคำนวณพวกนี้รวมถึงแบบเบตด้วยจะคิดถึงการคำนวณเชิงตัวเลขเป็นหลัก เช่นการคำนวณสมการของเบอร์นูลี หรือของเกาส์ พวกนั้น แต่เลิฟเลซคิดต่อว่า"ถ้าสิ่งใดสามารถถูกแสดงหรือระบุ (express) ลงไปในเครื่องจักรนี้ได้ได้ ถูกประมวลเปลี่ยนแปลงจากเครื่องจักรนี้ได้ เราก็สามารถสร้างสิ่งนั้นขึ้นมาโดยเครื่องจักรเหล่านี้ได้ เช่นเสียง" นั่นคือเธอเห็นศักยภาพว่าคอมพิวเตอร์เอามาใช้ได้มากกว่าการคำนวณเชิงตัวเลขเท่านั้น ถ้าเราแทนภาพ ตัวอักษร เสียง หรืออะไรก็ตามลงไปในคอมพิวเตอร์ได้คอมพิวเตอร์ก็คำนวณและสร้างสิ่งนั้นขึ้นมาได้หมด ซึ่งเป็นการใช้งานคอมพิวเตอร์ในปัจจุบันครับ
ส่วนทูริ่งนั้นเขาไม่ได้คิดหรือสร้างคอมพิวเตอร์แต่คิดทฤษฎีในการ"ประมวลผล"ของคอมพิวเตอร์ครับ คือพยายามจะตอบคำถามว่าโจทย์ไหนที่ตอบได้ด้วยการประมวลผลทางคอมพิวเตอร์ โจทย์แบบไหนที่คอมพิวเตอร์ไม่สามารถคำนวณหรือหาคำตอบได้ เป็นเรื่องทางทฤษฎีใกล้เคียงกับคณิตศาสตร์มาก ๆ สิ่งที่เป็นผลลัพธ์จากแนวคิดของทูริงก็คือโมเดลในการประมวลผล (Turing Machine) ที่บอกว่าเครื่องจักรใด ๆ แม้ว่าจะมีรูปแบบคำสั่งที่แตกต่างกัน แต่ถ้าสามารถจำลองการทำงานของ Turing Machine ได้ เครื่องจักรเหล่านั้นสามารถประมวลผลอัลกอริธึมได้ผลเหมือนกันหมด ซึ่งปัจจุบันอาจเป็นเรื่องที่งั้น ๆ รู้ ๆ กันอยู่ แต่ในยุคนั้นเป็นเรื่องที่น่าประหลาดใจมากครับ ปัจจุบันนี้เราออกแบบอัลกอริธึมใดบนกระดาษเสร็จก็แน่ใจได้ว่าคอมพิวเตอร์ที่สร้างโดย Intel หรือ ARM ที่มีกลไกการทำงานแตกต่างกันก็จะสามารถคำนวณอัลกอริธึมของเราได้แน่นอนถ้าอัลกอริธึมของเราคำนวณได้ด้วย Turing Machine ภาษาโปรแกรมที่เราเขียนกันอยู่ส่วนมากก็เป็นเช่นนี้คือจะเขียนอัลกอริธึมด้วย C / Java / Python ก็ได้คำตอบตรงกัน (อาจจะแค่ช้าเร็ว ง่ายยาก ไม่เหมือนกันเท่านั้น)
แสดงความคิดเห็น
ชาลส์ เเบบเบจ กับ อลัน ทัวริ่ง ใครมีส่วนสำคัญในการคิดค้นคอมพิวเตอร์มากกว่ากันครับ
เเล้ว 2 คนนี้ใครมีส่วนสำคัญในการคิดค้นคอมพิวเตอร์มากกว่ากันครับ