Imaginary Dive Computer with Mathematics Equations as Background

รู้จักกับอัลกอริธึมคำนวณการดำน้ำในไดฟ์คอมพิวเตอร์

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

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

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

Decompression Theory

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

ต่อมาเมื่อการดำน้ำลึกแพร่หลายมากขึ้น ก็พบอาการเจ็บป่วยในนักดำน้ำด้วยเช่นกัน ในปี ค.ศ. 1906 ราชนาวีอังกฤษจึงได้ว่าจ้าง J. S. Haldane ให้วิจัยหาสาเหตุและวิธีการป้องกันอาการดังกล่าว และต่อมาก็ได้เผยแพร่ผลการวิจัยแก่สาธารณะ

ทฤษฎีของ Haldane เสนอว่า เมื่อคนหรือสัตว์ได้รับอากาศความกดแตกต่างจากเดิม ก็จะมีการดูดซับเข้าหรือคายออกจากเนื้อเยื่อต่างๆ โดยที่อัตราการดูดซับและคายออกของเนื้อเยื่อจะแตกต่างกันไปหลายระดับ รวมทั้งค่าความอิ่มตัวสูงสุดที่เนื้อเยื่อแต่ละชนิดจะทนได้ก่อนจะแสดงอาการเจ็บป่วยก็แตกต่างกันไปด้วย

เขาสรุปทฤษฎีออกมาเป็นโมเดลเนื้อเยื่อสมมติ (theoretical tissue compartment) 5 ชนิดที่มีอัตราการดูดซับแตกต่างกัน 5 ระดับเพื่อใช้เป็นตัวแทนในการคำนวณหาขีดจำกัดระยะเวลาที่จะดำน้ำได้ที่แต่ละระดับความลึก และเกิดเป็นตารางดำน้ำ (dive table) เพื่อใช้วางแผนการดำน้ำ

จากนั้นก็ได้มีการปรับปรุงทฤษฎีนี้โดยนักวิจัยจากองค์กรต่างๆ อีกหลายครั้ง มีการเพิ่มเนื้อเยื่อสมมติเข้าไปอีก เป็น 6 ชนิด 9 ชนิด มีการปรับปรุงค่าความอิ่มตัวสูงสุดที่เนื้อเยื่อจะทนได้ ให้เป็นค่าที่แปรผันสัมพันธ์กับความกดที่เปลี่ยนแปลงไป (หรือก็คือความลึกนั่นเอง) ไม่ใช่ค่าคงที่ตายตัวของเนื้อเยื่อแต่ละชนิด อย่างในทฤษฎีเดิม เรียกชื่อใหม่ว่า M-value ค่าความอิ่มตัวสูงสุดที่มีความสัมพันธ์กับตัวแปรอื่นๆ แบบนี้ทำให้เหมาะจะใช้การคำนวณด้วยคอมพิวเตอร์ มากกว่าจะเป็นตารางคำนวณแบบตายตัวอย่างตอนแรกเริ่ม

นักวิจัยคนสำคัญที่ทำให้ทฤษฎีนี้เข้าใกล้ความสมบูรณ์มากที่สุด ก็คือ Albert A. Bühlmann ที่ได้พยายามค้นหาเนื้อเยื่อที่มีอัตราการดูดซับมากที่สุด (นานที่สุดกว่าจะอิ่มตัว) ซึ่งมีผลต่อการคำนวณระยะเวลาการพักน้ำเพื่อการดำน้ำไดฟ์ถัดไป (repetitive dive) จนมีการเพิ่มเนื้อเยื่อสมมติเข้าไปอีกรวมทั้งหมดเป็น 16 ชนิด และยังได้พัฒนาต่อยอดทฤษฎีเดิมอีกหลายเรื่อง เพื่อการดำน้ำในที่สูง หรือใช้อากาศผสมก๊าซอื่นๆ ด้วย

เมื่อทฤษฎีและโมเดลการคำนวณ ได้รับการพัฒนาให้ดียิ่งขึ้น ตารางดำน้ำเดิมของ US Navy ก็ได้รับการปรับปรุงตามมาเรื่อยๆ ด้วยเช่นกัน

เมื่อการดำน้ำเริ่มเป็นที่นิยมของบุคคลทั่วไปมากยิ่งขึ้น เป็นกิจกรรมที่เกิดขึ้นเพื่อสันทนาการมากขึ้น นักวิจัยของ PADI ก็ได้ปรับปรุงแนวโมเดลการคำนวณใหม่เป็นของตัวเอง เรียกว่า DSAT Model หรือ DSAT Algorithm เพื่อให้เหมาะสมสำหรับการดำน้ำท่องเที่ยวของนักดำน้ำทั่วไปมากยิ่งขึ้น มีแผนการดำน้ำและการพักน้ำแตกต่างจากการดำน้ำทางทหารของ U.S. Navy เกิดเป็นตารางดำน้ำ PADI RDP หรือ Recreational Dive Planner

Bubble Model

หลังจากมีการประดิษฐ์เครื่องวัดอัตราการไหลด้วยอัลตร้าซาวด์ (Doppler Ultrasound Flowmeter) ขึ้นในปี ค.ศ. 1959 ทำให้ค้นพบว่าในกระแสเลือดของนักดำน้ำก็มีฟองก๊าซขนาดจิ๋ว (microscopic/silent buble) เกิดขึ้นภายหลังการดำน้ำด้วย และตั้งสมมติฐานว่า ฟองก๊าซขนาดต่างๆ หรือปริมาณมากน้อยเหล่านี้ อาจขยายผลไปสู่อาการ DCS ได้ ซึ่งรวมถึงอาการที่ไม่เกิดขึ้นทันทีหลังการดำน้ำ แต่อาจแสดงอาการหลังจากนั้นหลายๆ ชั่วโมงด้วย

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

2 โมเดลหลักของการคำนวณเกี่ยวกับ Decompression

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

Dissolved Gas Model

มีพื้นฐานจากงานวิจัยของ Haldane และ Bühlmann ด้วยสมมติฐานว่า

  • เมื่อร่างกายหายใจด้วยอากาศที่ความกดสูง ก๊าซไนโตรเจนจะซึมผ่านเข้าสู่เนื้อเยื่อต่างๆ ในร่างกายด้วยอัตราที่แตกต่างกัน และเมื่อลดความกด ก็จะซึมผ่านจากเนื้อเยื่อต่างๆ ออกมาสู่ระบบเลือดและระบบหายใจต่อไป
  • โมเดลนี้จะลดการเกิดฟองก๊าซ โดยคำนวณจาก M-value เป็นหลัก
  • ยังไม่มีการคำนวณขนาดของฟองก๊าซ และยังไม่คำนึงถึงฟองก๊าซขนาดจิ๋ว

อัลกอริธึมที่มีพื้นฐานบนโมเดลนี้ ได้แก่

  • Bühlmann Algorithm
  • DSAT Algorithm (PADI RDP)
  • Thalmann Algorithm (พัฒนาโดย US Navy เพื่อใช้กับการดำน้ำด้วย Mk15 rebreather)

Bubble Model หรือ Dual-Phase Model

พัฒนาต่อยอดจากโมเดลพื้นฐาน โดยนักวิจัยหลายคน เช่น David E. Yount, Bruce Wienke และ Erik Baker ด้วยสมมติฐานว่า

  • เกิดฟองก๊าซขึ้นเสมอในระหว่างการลดความกด/การขึ้นสู่ผิวน้ำ
  • ฟองก๊าซขนาดใหญ่ มีจำนวนน้อยกว่า ฟองขนาดเล็ก เสมอ
  • ขนาดและปริมาณของฟองก๊าซส่งต่อโอกาสการเกิด DCS ไม่เท่ากัน
  • ฟองขนาดเล็ก หากไม่สลายตัวไป อาจเติบโตขึ้นได้โดยก๊าซที่ซึมซาบมาจากเนื้อเยื่อหรือสิ่งแวดล้อมรอบข้าง
  • การสลายตัวของฟองก๊าซ (bubble phase) ช้ากว่าการสลายตัวของก๊าซที่ซึมซับอยู่ในเนื้อเยื่อ (dissolved phase)
  • โมเดลนี้จะลดการเกิด DCS โดยการคาดการณ์ปริมาณและขนาดฟองก๊าซที่เกิดขึ้น และจะกำหนดให้หยุดพักที่ความลึกเป็นขั้นๆ (deep stop) ระหว่างขึ้นสู่ผิวน้ำ เพื่อเพิ่มการระบายก๊าซไนโตรเจนจากเนื้อเยื่อและการสลายตัวของฟองก๊าซแต่เนิ่นๆ และช่วยลดเวลาการพักเมื่อขึ้นสู่ที่ตื้นขึ้นด้วย
  • โมเดลนี้มีประโยชน์มากสำหรับการดำน้ำที่ลึกมาก หรือนานมาก จนทำให้เนื้อเยื่ออิ่มตัวด้วยไนโตรเจน และต้องมีการทำ decompression stop

อัลกอริธึมที่มีพื้นฐานบนโมเดลนี้ ได้แก่

  • Reduced Gradient Bubble Model: RGBM (พัฒนาโดย Suunto)
  • Varying Permeability Model: VPM (พัฒนาโดย University of Hawaii)

อัลกอริธึมหลักที่ใช้ในไดฟ์คอมพิวเตอร์ส่วนใหญ่

อัลกอริธึมที่ใช้ในไดฟ์คอมพิวเตอร์ส่วนใหญ่ในปัจจุบัน ได้แก่

  • Bühlmann Algorithm (ZH-L)
  • DSAT Algorithm (PADI RDP),
  • Reduced Gradient Bubble Model: RGBM
  • Varying Permeability Model: VPM

Bühlmann Algorithm (ZH-L)

อัลกอริธึมนี้ได้รับการพัฒนาต่อมาอีกหลายเวอร์ชั่น ทั้งเพื่อการปรับปรุงให้ปลอดภัยหรือใช้งานได้ยืดหยุ่นยิ่งขึ้น และเพื่อการใช้กับการดำน้ำเฉพาะบางลักษณะ จึงมีการกำหนดรหัสเพื่อให้เข้าใจได้ง่ายขึ้นว่า ZH-L (ZH = Zürich และ L = limits) ตามด้วยจำนวนเนื้อเยื่อ และรหัสรุ่นย่อย เช่น

  • ZH-L16 หรือ ZH-L16A คือ เวอร์ชั่นแรกและดั้งเดิมที่ใช้โมเดลเนื้อเยื่อ 16 ชนิด
  • ZH-L16B เวอร์ชั่นปรับแก้เพื่อใช้ออกแบบตารางดำน้ำ และเพิ่มความยืดหยุ่นในการใช้งาน (เช่น ในการดำ technical dive) จึงมีการคำนวณซับซ้อน มีใช้ในไดฟ์คอมพิวเตอร์ที่มี CPU ประสิทธิภาพสูง
  • ZH-L16C เวอร์ชั่นปรับแก้ให้คำนวณได้ง่าย และเป็นแพ็คเกจ ถูกใช้ในไดฟ์คอมพิวเตอร์ทั่วไปหลายรุ่น
  • ZH-L8 เวอร์ชั่นปรับแก้ ใช้โมเดลเนื้อเยื่อ 8 ชนิดเพื่อช่วยลดโหลดการคำนวณของ CPU ในไดฟ์คอมพิวเตอร์

อัลกอริธึมนี้รองรับการกำหนดการทำ deep stop ได้ตามที่นักดำน้ำต้องการ โดยการปรับค่า Gradient Factor และไดฟ์คอมพิวเตอร์ก็จะนำไปคำนวณร่วมกับ M-value เและแนะนำความลึกแต่ละระดับที่เราควรทำ deep stop (แต่การรองรับการปรับค่านี้ จะขึ้นกับไดฟ์คอมพิวเตอร์แต่ละรุ่น บางรุ่นก็ไม่รองรับ)

DSAT Algorithm (PADI RDP)

พัฒนาโดย Raymond E. Rogers แห่ง DSAT ต่อยอดจากตารางดำน้ำของ US Navy (รุ่นปี 198x) เพื่อให้เหมาะกับการดำน้ำแบบสันทนาการ ที่ไม่ได้ดำลึกมากหรือนานมาก แต่อาจมีการดำน้ำบ่อยครั้งกว่าการดำน้ำเพื่อปฏิบัติการ รวมทั้งได้ทดสอบการใช้งานกับกลุ่มคนที่หลากหลายกว่างานวิจัยของ US Navy

อัลกอริธึมนี้ปรับปรุงการคำนวณ ดังนี้

  • การคำนวณเวลาพักน้ำ โดยให้เนื้อเยื่อที่มี halftime ตั้งแต่ 60 นาทีลงไป สามารถคำนวณด้วยค่า halftime ของตัวเอง (ต่างจากของ US Navy ที่ใช้ halftime 120 นาทีเป็นตัวคำนวณการพักน้ำเท่านั้น)
  • เนื้อเยื่อที่มี halftime มากกว่า 60 นาทียังคงมีความสำคัญในการคำนวณ โดยกำหนดเป็นกฎ WX & YZ ที่จะมีวิธีปฏิบัติเพิ่มเติมระหว่างการลดความกด (ขึ้นสู่ผิวน้ำ) และการพักน้ำ
  • ค่า M-value (ค่าความอิ่มตัวไนโตรเจนสูงสุดของเนื้อเยื่อแต่ละชนิดที่ทนได้ ก่อนจะแสดงอาการเจ็บป่วย) ต่ำลง เพื่อเพิ่มความ conservative ในการดำน้ำ

Reduced Gradient Bubble Model: RGBM

อัลกอริธึมนี้พัฒนาขึ้นในช่วงปลายทศวรรษ 1990 โดย Bruce Wienke โดยการลงทุนวิจัยของ Suunto และเริ่มใช้ครั้งแรกในปี ค.ศ. 2002 และได้รับการพัฒนาต่อมาจนถึงปัจจุบัน เป็นหลายเวอร์ชั่นได้แก่

  • RGBM
  • Technical RGBM
  • Fused RGBM

และล่าสุด Fused RGBM 2 ซึ่งได้นำความเห็นของผู้ใช้งานเวอร์ชั่นก่อนหน้า ว่าไดฟ์คอมพิวเตอร์ของ Suunto ค่อนข้าง conservative เกินไป มาปรับปรุงให้มีระยะเวลาการขึ้นสู่ที่ตื้นสั้นลง รวมทั้งการคำนวณระยะเวลาห้ามบิน (no-fly time) หลังดำน้ำให้น้อยลงโดยที่ยังปลอดภัยจาก DCS ด้วย

Varying Permeability Model: VPM

อัลกอริธึมนี้พัฒนาโดย David E. Yount และคณะนักวิจัยจากมหาวิทยาลัยฮาวาย ซึ่งได้ถูกนำไปใช้ในการออกแบบตารางการทำ decompression stop ของมหาวิทยาลัยฮาวายในปี ค.ศ. 1986

ไดฟ์คอมพิวเตอร์และอัลกอริธึม Decompression

Brand / ModelAlgorithm 1Algorithm 2Notes
AqualungPelagic Z+ (Bühlmann ZH-L16C)-
AerisPelagic DSAT (PADI RDP)-
Aeris / A100 and A300 seriesPelagic DSAT (PADI RDP)Pelagic Z+ (Bühlmann ZH-L16C)
AtomicAtomic RGBM-
CochranThalmann-
CressiCressi RGBM-
Cressi / Archimede IIHybrid Bühlmann ZHL-8 & RGBM-
Cressi / Drake Titanium--สำหรับฟรีไดฟ์เท่านั้น
DeepbluDeepblu Decompression (Bühlmann ZH-L16C)-
DiveriteBühlmann ZHL-16 (unknown version)-
GarminBühlmann ZHL-16C-
Genesis ScubaPelagic DSAT (PADI RDP)-
Hollis / DG03Hollis RGBM-
Hollis / TX1 HEBühlmann ZHL-16C-
MaresMares RBGM-
Mares / GeniusBühlmann ZHL-16C-
OceanicPelagic DSAT (PADI RDP)Pelagic Z+ (Bühlmann ZH-L16C)
Oceanic / Proplus 3Pelagic DSAT (PADI RDP)-
Oceanic F.10--สำหรับฟรีไดฟ์เท่านั้น
RatioBühlmann ZHL-16BVPM-B
Ratio / iDive Easy, iX3M GPS Easy, iX3M Pro EasyBühlmann ZHL-16B-
Scubapro/UWATECZHL-8 ADT MB-
SeabearBühlmann ZHL-16C-
ShearwaterBühlmann ZHL-16-GFVPM-B/BG
SherwoodPelagic DSAT (PADI RDP)-
SuuntoSuunto RGBM-
Suunto / EON SteelSuunto RGBMBühlmann ZHL-16-GF
TUSABühlmann ZHL-16C-
XDeep/GenzBühlmann ZHL-16C-
แหล่งข้อมูล