บทความ

9 กรกฎาคม 1922 — แคทลีน บูธ: ผู้หญิงที่สอนให้คอมพิวเตอร์เข้าใจภาษาของมนุษย์

บทความโดย

40
แชร์บทความนี้

9 กรกฎาคม 1922 — แคทลีน บูธ: ผู้หญิงที่สอนให้คอมพิวเตอร์เข้าใจภาษาของมนุษย์

วันนี้ในประวัติศาสตร์คณิตศาสตร์ | 9 กรกฎาคม ค.ศ. 1922


บทนำ: 10110001 หรือ ADD?

ในยุคแรกสุดของคอมพิวเตอร์ การเขียนโปรแกรมหมายถึงการป้อน เลขฐานสองล้วน ๆ เข้าเครื่อง โปรแกรมเมอร์ต้องจำว่ารหัส 01001 หมายถึงคำสั่งบวก และ 01010 หมายถึงคำสั่งลบ

จนกระทั่งมีคนคิดว่า — ทำไมเราไม่เขียน ADD แล้วให้ เครื่องแปลเอง?

คนนั้นคือ แคทลีน ฮิลดา วาเลอรี บูธ (Kathleen Hylda Valerie Booth, née Britten, 1922–2022) ผู้เกิดในวันนี้ที่เมือง Stourbridge มณฑล Worcestershire ประเทศอังกฤษ และมีชีวิตอยู่จนครบ 100 ปีบริบูรณ์


1. นักคณิตศาสตร์ก่อน แล้วจึงเป็นนักวิทยาการคอมพิวเตอร์

เส้นทางของเธอเริ่มจากคณิตศาสตร์ล้วน

  • 1944 — ปริญญาตรีคณิตศาสตร์ จาก Royal Holloway, University of London
  • 1944–1946 — Junior Scientific Officer ที่ Royal Aircraft Establishment, Farnborough
  • 1946 — เข้าทำงานที่ Birkbeck College, University of London
  • 1950 — ปริญญาเอก คณิตศาสตร์ประยุกต์ จาก King’s College London

ที่ Birkbeck เธอร่วมงานกับ Andrew Donald Booth นักฟิสิกส์ที่กำลังพยายามคำนวณโครงสร้างผลึกจากข้อมูลการเลี้ยวเบนรังสีเอกซ์ — งานที่ต้องคำนวณด้วยมือจนน่าเบื่อหน่าย เขาจึงตัดสินใจ สร้างเครื่องคำนวณขึ้นมาเอง

ทั้งสองแต่งงานกันในปี 1950 ทีมของพวกเขาเป็นทีมคอมพิวเตอร์อังกฤษยุคแรกที่ เล็กที่สุด แต่ระหว่างปี 1947–1953 กลับผลิตเครื่องได้ถึงสามรุ่น

เครื่อง ชื่อเต็ม
ARC Automatic Relay Calculator
SEC Simple Electronic Computer
APE(X)C All Purpose Electronic (X) Computer

คำอธิบายที่มักถูกยกอ้างคือ: แอนดรูว์สร้างเครื่อง ส่วนแคทลีนสร้างภาษา


2. ภาษาแอสเซมบลีภาษาแรกของโลก

ในปี 1947 แคทลีนเดินทางไปสหรัฐอเมริกาในฐานะผู้ช่วยวิจัย และได้พบกับ จอห์น ฟอน นอยมันน์ (John von Neumann) ที่ Princeton

เมื่อกลับอังกฤษ เธอร่วมเขียนรายงาน “General Considerations in the Design of an All Purpose Electronic Digital Computer” ซึ่งอธิบายการปรับปรุง ARC ให้ใช้ สถาปัตยกรรมฟอน นอยมันน์ และส่วนหนึ่งของงานนั้นคือ ภาษาแอสเซมบลีสำหรับ ARC

แนวคิดหลักคือการแทนที่รหัสฐานสองด้วย สัญลักษณ์ช่วยจำ (mnemonics) ที่มนุษย์อ่านออก แล้วให้โปรแกรมที่เรียกว่า แอสเซมเบลอร์ (assembler) ทำหน้าที่แปลกลับเป็นเลขฐานสอง

;  ปรัชญาของแอสเซมบลี — ชั้นการแปลชั้นแรกของประวัติศาสตร์
;  มนุษย์เขียน        เครื่องเข้าใจ
    ADD  R1, R2   →   0001 0001 0010
    STO  M100     →   0100 0110 0100

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

ทุกภาษาโปรแกรมหลังจากนั้น — Fortran, C, Python, Rust — ล้วนตั้งอยู่บนความคิดชั้นเดียวกันนี้ เพียงแต่ยกระดับชั้นการแปลให้สูงขึ้นเรื่อย ๆ

เธอยังเขียนตำรา Programming for an Automatic Digital Calculator (1958) ซึ่งเป็นหนึ่งในตำราการเขียนโปรแกรมเล่มแรก ๆ ของโลก และร่วมเขียน Automatic Digital Calculators กับสามี


3. บุกเบิกการแปลภาษาด้วยเครื่อง (Machine Translation)

น้อยคนจะรู้ว่าแคทลีน บูธเป็นหนึ่งในผู้บุกเบิก การแปลภาษาด้วยเครื่อง — สาขาที่ในวันนี้กลายเป็น Google Translate และ Large Language Model

ตั้งแต่ปี 1955 เธอทำงานเรื่องนี้ และในปี 1965 ได้เป็น ผู้อำนวยการโครงการระดับชาติของแคนาดาด้านการแปลภาษาด้วยเครื่อง

ในบั้นปลาย (ปี 1993) เธอยังตีพิมพ์งานร่วมกับลูกชายเรื่อง การใช้โครงข่ายประสาทเทียมระบุสัตว์เลี้ยงลูกด้วยนมทางทะเล — ในวัย 71 ปี เธอกำลังทำ neural network


4. เส้นทางที่ไม่ราบรื่น

หลังจาก Birkbeck ทั้งคู่ย้ายไปแคนาดา แคทลีนเป็น Research Fellow และอาจารย์ที่ University of Saskatchewan และต่อมาเป็น ศาสตราจารย์คณิตศาสตร์ที่ Lakehead University

ในปี 1967 เมื่อมีการประชุม 2nd International Conference of Women in Engineering and Science เธอเป็นตัวแทนแคนาดา และทำการสำรวจทัศนคติของสังคมที่มีต่อผู้หญิงในสาขาวิศวกรรมในยุคนั้น

เธอเสียชีวิตเมื่อวันที่ 29 กันยายน ค.ศ. 2022 หลังจากฉลองวันเกิดครบ 100 ปีได้ไม่ถึงสามเดือน


5. เหตุใดเรื่องนี้จึงสำคัญกับห้องเรียนคณิตศาสตร์

  1. แคทลีน บูธ เริ่มต้นจากคณิตศาสตร์ ปริญญาตรีและปริญญาเอกของเธอเป็นคณิตศาสตร์ล้วน วิทยาการคอมพิวเตอร์ในยุคนั้นยังไม่มีอยู่เป็นสาขา — มันงอกออกมาจากคณิตศาสตร์
  2. นวัตกรรมที่ยิ่งใหญ่ที่สุดของเธอเป็นเชิงนามธรรม ไม่ใช่ฮาร์ดแวร์ แต่คือ ความคิดว่าเราสามารถสร้างชั้นของภาษาซ้อนกันได้
  3. เรื่องราวของผู้หญิงในคณิตศาสตร์ ที่ควรถูกเล่าให้นักศึกษาฟัง เคียงคู่กับ Emmy Noether, Sofia Kovalevskaya และ Maryam Mirzakhani

กิจกรรมชวนคิด

  1. ออกแบบชุดคำสั่งอย่างง่าย (5–6 คำสั่ง) สำหรับ “เครื่องสมมติ” แล้วเขียนแอสเซมเบลอร์ด้วย Python ที่แปลง ADD 3 เป็นเลขฐานสอง
  2. อภิปราย: ระหว่าง “ชั้นการแปล” ของแอสเซมเบลอร์ กับ “ชั้นการแปล” ของคอมไพเลอร์ภาษาระดับสูง มีอะไรที่เป็นแนวคิดเดียวกัน?
  3. ค้นคว้าเปรียบเทียบ: การแปลภาษาด้วยเครื่องในยุค 1960 (rule-based) กับยุคปัจจุบัน (neural) ต่างกันอย่างไรในเชิงคณิตศาสตร์?
  4. หาข้อมูลว่า APE(X)C มีหน่วยความจำเท่าใด แล้วเปรียบเทียบกับโทรศัพท์มือถือของคุณ

เอกสารอ้างอิง

  • Britten, K. H. V., & Booth, A. D. (1947). General Considerations in the Design of an All Purpose Electronic Digital Computer. Birkbeck College.
  • Booth, K. H. V. (1958). Programming for an Automatic Digital Calculator. Butterworths.
  • Booth, A. D., & Booth, K. H. V. (1953). Automatic Digital Calculators. Butterworths.
  • Booth, I. J., & Booth, K. H. V. (1993). Using neural nets to identify marine mammals. Proceedings of OCEANS ’93.
  • O’Connor, J. J., & Robertson, E. F. Kathleen Booth. MacTutor History of Mathematics Archive.
  • Best, K. (2022). Remembering Professor Kathleen Booth, 1922–2022. Birkbeck Perspectives.

ชุดบทความ “วันนี้ในประวัติศาสตร์คณิตศาสตร์” — เผยแพร่ 9 กรกฎาคม 2569