1 คะแนน โดย GN⁺ 2025-03-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เว็บบุ๊กที่ Charles Petzold กำลังเขียน ซึ่งเชื่อมโยงหัวข้อต่าง ๆ อย่าง ประวัติศาสตร์และการใช้งานของลอการิทึม เข้ากับการคูณ การยกกำลัง ตรีโกณมิติ ดนตรี และกราฟ
  • แกนหลักคือบทบาทของลอการิทึมในฐานะเครื่องมือคำนวณและ slide rule โดยครอบคลุมตั้งแต่ทฤษฎีไปจนถึงการคำนวณด้วยตนเองและการสร้างเครื่องมือ
  • ใช้สีของชื่อบทเพื่อแบ่งสถานะการเขียน ทำให้ผู้อ่านเห็นได้ทันทีว่าบทใดใกล้เสร็จแล้ว และบทใดยังมีการเปลี่ยนแปลงอยู่หรือยังไม่เริ่ม
  • ยังไม่ได้ผ่านการบรรณาธิการอย่างมืออาชีพ และตั้งเป้าทำให้เสร็จทั้งหมดภายใน ปลายปี 2027
  • เหมาะที่สุดสำหรับการอ่านบนเดสก์ท็อปและโน้ตบุ๊ก ส่วนบน iPad Mini iOS 12.5.7 และโทรศัพท์มือถืออาจมีปัญหาในการแสดงผล

ขอบเขตของเว็บบุ๊กและสถานะการเขียน

  • The Lost Art of Logarithms เป็นเว็บบุ๊กที่ Charles Petzold กำลังเขียน
  • นำเสนอลอการิทึมไม่ใช่แค่แนวคิดทางคณิตศาสตร์ แต่เป็นเครื่องมือที่ครอบคลุมการคำนวณและประวัติศาสตร์วิทยาศาสตร์โดยรวม
    • ลอการิทึมคืออะไร
    • ประโยชน์ ประวัติศาสตร์ และความเป็นสากลของลอการิทึม
    • การใช้งานลอการิทึมในอดีตทั้งในตรีโกณมิติระนาบและตรีโกณมิติทรงกลม
    • ทฤษฎีและวิธีใช้งานจริงของ slide rule
  • ใช้สีของชื่อบทเพื่อแสดงขั้นตอนการเขียนในปัจจุบัน
    • สีเขียว: เกือบเสร็จสมบูรณ์แล้ว และไม่น่าจะมีการเปลี่ยนแปลงใหญ่ แต่อาจยังมีการแก้ไข ปรับแต่ง และจัดรูปแบบเล็กน้อย
    • สีแดง: ยังไม่เสร็จและกำลังมีการเปลี่ยนแปลงอยู่
    • สีดำ: ยังไม่ได้เริ่ม
  • ยังไม่ได้ผ่าน การบรรณาธิการอย่างมืออาชีพ และคาดว่าจะเสร็จสมบูรณ์ใน ปลายปี 2027

สภาพแวดล้อมการอ่านและโครงสร้างสารบัญ

1 ความคิดเห็น

 
GN⁺ 2025-03-14
ความคิดเห็นบน Hacker News
  • เข้าใจได้ดีกว่ามากเมื่อดูตาม แรงจูงใจดั้งเดิมของลอการิทึม แทนที่จะเป็นวิธีที่เรียนกันในหลักสูตรประถม–มัธยม
    ถ้าคิดถึงปัญหาที่ Napier เผชิญ คือการพยายามหาฟังก์ชันในรูป f(ab) = f(a) + f(b) เพื่อทำให้การคูณค่าการสังเกตการณ์ทางดาราศาสตร์ขนาดใหญ่เรียบง่ายขึ้น และดูว่าทำไมสิ่งนี้จึงนำไปสู่ตระกูลฟังก์ชันบางอย่าง ก็จะเข้าใจได้ดีขึ้นว่าทำไมลอการิทึมถึงปรากฏอยู่แทบทุกที่
    ซึ่งต่างจากวิธีสอนว่าเป็นฟังก์ชันผกผันของฟังก์ชันเอกซ์โพเนนเชียล และจริง ๆ แล้วการอภิปรายแบบนั้นก็ยังไม่มีจนกระทั่งถึงยุค Euler
    ผมคิดว่าคณิตศาสตร์เรียนแบบนี้สนุกกว่า คือไล่ตามว่าปัญหาที่ผู้เขียนดั้งเดิมพยายามแก้คืออะไร และในเวลานั้นมีเครื่องมืออะไรให้ใช้บ้าง

    • หนังสือ "Calculus: The Genetic Approach" ของ Toeplitz เป็นแนวทางที่อธิบายคณิตศาสตร์ผ่านพัฒนาการทางประวัติศาสตร์ และดูเหมือนว่าแนวทางนี้จะถูกใช้กว้างขึ้นในชื่อ https://en.wikipedia.org/wiki/Genetic_method ด้วย
      Felix Klein ก็เคยกล่าวว่า “ในระดับย่อม ๆ ผู้เรียนจำเป็นต้องทำซ้ำพัฒนาการที่วิทยาศาสตร์เคยผ่านในระดับใหญ่ อย่างเป็นธรรมชาติและหลีกเลี่ยงไม่ได้”
    • ถ้าชอบแนวทางนี้ ขอแนะนำ Mathematics: It's Content, Methods, and Meaning ของ Kolmogorov อย่างยิ่ง
      เป็นหนังสือที่นำวิธีเดียวกันไปใช้กับแนวคิดทางคณิตศาสตร์จำนวนมากกว่ามาก และมีความยาวราว 1,000 หน้า
      ผมคิดว่าคงรู้จักหนังสือเล่มนี้จากที่นี่เหมือนกัน ตอนนี้ก็เหมือนส่งต่อกลับไปอีกทอด
      แนวทางนี้ยังสอดคล้องกับปรัชญา วัตถุนิยมวิภาษ แบบโซเวียต ที่มองว่าทุกสิ่งเกิดขึ้นจากความจำเป็นทางวัตถุ
      ผมไม่แน่ใจว่าตัวเองเห็นด้วยกับปรัชญานั้นทั้งหมดไหม แต่หนังสือของ Kolmogorov ทำให้รู้สึกเปิดหูเปิดตาจริง ๆ
    • ผมคิดว่าวิธีนี้ควรขึ้นมาอยู่แถวหน้า
      ด้วยเจตนานั้นจึงขอเสนอ "magnitude notation"[0] คำว่า “logarithm” ฟังเหมือนคณิตศาสตร์ขั้นสูงจนผลักคนออกไป แต่ที่จริงแนวคิดพื้นฐานกลับทำให้คณิตศาสตร์ง่ายและสนุกขึ้น
      https://saul.pw/mag
    • มักคิดแบบนี้อยู่บ่อย ๆ
      การศึกษาคณิตศาสตร์ดูเหมือนมีแนวโน้มจะดึงดูดคนที่ฉลาดมากและคิดเชิงนามธรรมแบบ Euler คือคนที่จะเข้าใจด้วยสัญชาตญาณ ไม่ใช่ด้วยขั้นตอนการจัดการเชิงกล
      สำหรับคนอื่น ๆ ต้องได้ว่ายวนอยู่ในปัญหาดั้งเดิมสักพักก่อน แสงสว่างถึงจะเริ่มปรากฏ
    • กลับกัน ผมชอบคำอธิบายตรง ๆ ว่า ลอการิทึมคือฟังก์ชันผกผันของเลขชี้กำลัง มากกว่า
      มันเข้าใจ 10^2 * 10^3 = 10^5 ได้โดยอัตโนมัติ จึงเป็นธรรมชาติกว่า
      ดังนั้นเมื่อใช้ตารางลอการิทึม การบวกจึงสมเหตุสมผล ไม่จำเป็นต้องมีบทความยาว ๆ
      เอาลอการิทึมมาแล้วบวก 2 + 3 = 5 จากนั้นยกกำลังกลับก็ได้ 10^5
  • จังหวะเหมาะเลย เพิ่งหัดใช้ สไลด์รูล เมื่อวานนี้เอง
    พอจะซื้อสักอันก็พบว่ามีตัวเลือกเยอะมากจนหลงเข้าไปในโพรงกระต่ายเล็ก ๆ[0] และบางอันก็ดูเหมือนงานศิลปะล้วน ๆ
    ในยุคที่ทุกอินเทอร์เฟซเป็นแผ่นกระจกแบบนี้ ผมกำลังค้นพบข้อดีที่คาดไม่ถึงของเครื่องมือแอนะล็อกอีกครั้ง
    ช่วงหลัง ๆ ผมชอบใช้ปากกากับกระดาษเหมือนเป็นเอดิเตอร์ ตอนร่างโครงแรกของโปรเจกต์เขียนโค้ด
    อยากรู้ว่ามีเครื่องมือแอนะล็อกที่ชอบเป็นพิเศษกันไหม
    [0]:https://sliderulemuseum.com/

    • เวลาฟังบรรยายคณิตศาสตร์ บางทีก็คิดจะซื้อ เครื่องมือแอนะล็อก แบบนี้สักอย่าง
      มีคนใน Hacker News ทำให้ผมสนใจ Soroban[1] ซึ่งเป็นลูกคิดญี่ปุ่น และทุกวันนี้ยังใช้ฝึกความเร็วในการคิดเลขในใจที่น่าทึ่งอยู่[2]
      1. https://en.wikipedia.org/wiki/Soroban
      2. https://www.youtube.com/watch?v=s6OmqXCsYt8
    • ผมมีสไลด์รูลหลายอันและใช้ทุกวัน
      โดยเฉพาะใน ครัว ที่ต้องปรับสัดส่วนบ่อย ๆ มันคือเครื่องมือที่ดีที่สุดเท่าที่เป็นไปได้
      ตั้งไว้ตามอัตราขยายที่ต้องการ แล้วก็อ่านสัดส่วนอะไรก็ได้ที่ต้องใช้ในพริบตา
      พูดตามตรง แปลกใจที่มันไม่ใช่อุปกรณ์มาตรฐานในครัว
    • Soroban ลูกคิดแบบญี่ปุ่น
      ตัวเลขทุกตัวมีรูปแทนเพียงแบบเดียว และทำ + - * / รวมถึงการคำนวณอื่น ๆ ได้
      http://totton.idirect.com/
    • ใช้ปากกา/ดินสอกับกระดาษจุด มันเปิดพื้นที่สมองอีกแบบไปเลย
    • สไลด์รูลยาว 1 เมตร ที่ผู้ชายในรูปต้นฉบับถืออยู่ หาซื้อได้ที่ไหนนะ?
  • น่าสนใจว่าทำไมเมื่อใช้การแปลงลอการิทึมแล้ว ข้อมูลมักดูเหมือนแจกแจงปกติ
    กฎธรรมชาติโดยมากอยู่ในรูปการคูณ เช่น F=ma, PV=nRT
    เมื่อคูณตัวแปรสุ่มที่เป็นอิสระและมีการแจกแจงเหมือนกันเข้าด้วยกัน ด้วยทฤษฎีบทขีดจำกัดกลาง ข้อมูลจะกลายเป็น การแจกแจงล็อกปกติ เพราะบนสเกลลอการิทึม การคูณคือการบวก และทฤษฎีบทขีดจำกัดกลางก็ทนทานในระดับหนึ่งแม้กรณีที่ไม่ได้แจกแจงเหมือนกัน
    ถ้ามองว่าข้อมูลเป็นผลลัพธ์ของปัจจัยหลายอย่างที่คูณกัน ดังนั้นจึงได้การแจกแจงล็อกปกติ

    • ทฤษฎีบทขีดจำกัดกลาง ไม่ได้ต้องการตัวแปรที่เป็นอิสระและแจกแจงเหมือนกัน
      แค่เป็นอิสระ มีความแปรปรวน และมีเงื่อนไขค่อนข้างอ่อนสำหรับอันดับที่สูงกว่าเล็กน้อยก็พอ
      นอกเหนือจากนั้น ตัวแปรจะแตกต่างกันค่อนข้างมากก็ได้
    • ถ้าใช้มาร์กเกอร์หัวหนา ๆ วาดบน สเกล log-log ข้อมูลทุกอย่างก็เป็นเส้นตรง
  • มีข้อเท็จจริงเกี่ยวกับลอการิทึมที่ผมใช้บ่อยอยู่ข้อหนึ่ง
    ถ้า X เป็นตัวแปรสุ่มที่มีการแจกแจงสม่ำเสมอระหว่าง 0 ถึง 1 แล้ว –ln(X)/λ จะมี การแจกแจงเอ็กซ์โพเนนเชียล ที่มีอัตรา λ
    ตัวอย่างเช่น มีประโยชน์เวลาเลือกตัวอย่างสุ่มแบบถ่วงน้ำหนัก หรือสร้างเวลาเกิดเหตุการณ์ในงานจำลอง

    • กรณีทั่วไปของสิ่งนี้เรียกว่า การสุ่มตัวอย่างด้วยการแปลงผกผัน[0]
      อาศัยข้อเท็จจริงที่ว่า สำหรับฟังก์ชันแจกแจงสะสม F ของตัวแปรสุ่มใดๆ X ตัวแปรสุ่ม Y = F(X) จะมีการแจกแจงสม่ำเสมอมาตรฐาน[1]
      ฟังก์ชันแจกแจงสะสมทุกตัวเป็นฟังก์ชันเพิ่มเชิงเดียวบนช่วงหน่วย จึงสามารถมีฟังก์ชันผกผันได้[2]
      ดังนั้นเมื่อนำฟังก์ชันแจกแจงสะสมผกผันไปใช้กับทั้งสองข้างของสมการด้านบน จะได้ F^-1(Y) = X ซึ่งแจกแจงเหมือน X
      วิธีสุ่มตัวอย่างจากการแจกแจงสม่ำเสมอมาตรฐานแล้วใช้การแปลงผกผัน เป็นวิธีที่พบมากที่สุดในการสร้างเลขสุ่มจากการแจกแจงใดๆ
      0. https://en.m.wikipedia.org/wiki/Inverse_transform_sampling
      1. https://en.m.wikipedia.org/wiki/Probability_integral_transfo...
      2. ฟังก์ชันแจกแจงสะสมไม่ได้เป็นหนึ่งต่อหนึ่งทั้งหมด จึงอาจต้องใช้ฟังก์ชันผกผันแบบทั่วไป
    • ต้องเรียนคณิตศาสตร์มากแค่ไหนถึงจะเข้าใจเรื่องนี้ได้?
    • มีวิธีทำความเข้าใจโดยไม่ต้องใช้ฟังก์ชันแจกแจงสะสมหรือฟังก์ชันความหนาแน่นความน่าจะเป็นด้วย
      เมื่อ X เป็นตัวแปรแจกแจงเอ็กซ์โพเนนเชียลและ c เป็นค่าคงที่ หากพิจารณาภายใต้เงื่อนไขว่าเป็นค่าขนาดใหญ่ X + c จะมีการแจกแจงเหมือน X
      กล่าวอีกอย่างคือ การแจกแจงส่วนหาง ของตัวแปรทั้งสองเหมือนกัน คุณสมบัตินี้เป็นจริงอย่างแม่นยำในแจกแจงเอ็กซ์โพเนนเชียล และมักเรียกว่า คุณสมบัติไร้ความจำ
      ในทำนองเดียวกัน ถ้า U เป็นการแจกแจงสม่ำเสมอบน [0, 1] และ c เป็นค่าคงที่ เมื่อพิจารณาภายใต้เงื่อนไขว่าเป็นค่าขนาดเล็ก cU จะมีการแจกแจงเหมือน U
      ถ้า cU แจกแจงใกล้ 0 เหมือน U แล้ว -ln(c U) ก็จะแจกแจงใกล้อนันต์เหมือน -ln(U)
      แต่เนื่องจาก -ln(c U) = -ln(c) - ln(U) ส่วนหางของ -ln(U) จึงไม่เปลี่ยนแม้จะบวกค่าคงที่ ดังนั้นมันต้องเป็นแจกแจงเอ็กซ์โพเนนเชียล
  • เริ่มใช้ LMAX Disruptor ในบางโปรเจกต์
    สิ่งหนึ่งที่แปลกของ Disruptor คือขนาดคิวต้องเป็นกำลังของ 2 เสมอ
    ผมอยากให้มั่นใจว่ามีพื้นที่มากพออย่างน้อยไม่ว่าต้องการขนาดเท่าไร และไม่อยากคำนวณเอง จึงเขียนแบบนี้
    var actualSize = Double.valueOf(Math.pow(2, Math.ceil(Math.log(approxSize) / Math.log(2)))).intValue();
    สำหรับโค้ดบรรทัดเดียวก็ดูเกินไปหน่อย แต่ก็แค่ใช้กฎพื้นฐานของลอการิทึมเพื่อให้ได้เลขชี้กำลังที่ถูกต้องเท่านั้น
    เป็นเรื่องที่เรียนมาตอนมัธยม แต่เพื่อนร่วมงานบางคนมองเหมือนกำลังใช้คณิตศาสตร์ลึกลับที่ไม่เคยมีมาก่อน
    บางทีพวกเขาคงไม่ค่อยใช้ลอการิทึมนอกเหนือจาก สัญกรณ์ Big O

    • แน่นอนว่าแบบนั้นก็ใช้ได้ดีพอ แต่ถ้าเป็นผมคงเขียนแบบนี้
      var actualSize = Integer.highestOneBit(approxSize - 1) << 1;
      ก็แค่อยากหลีกเลี่ยงความน่ากลัวที่ซ่อนอยู่ใต้ pow() และ log() อันดูเรียบง่าย
      Integer.highestOneBit ยังถูกเรียกว่า “แยกบิตซ้ายสุด”, “บิต 1 ที่มีนัยสำคัญสูงสุด” อะไรทำนองนั้นด้วย และถ้าจะ implement ให้มีประสิทธิภาพ จริงๆ แล้วควรเป็น primitive operation
      ต่างจาก x&-x ฝั่งบิตที่มีนัยสำคัญต่ำสุด
      คำสั่ง CPU จริงๆ มักจะใกล้เคียงกับ Integer.numberOfLeadingZeros มากกว่า แต่จากนั้นแค่เลื่อนบิตก็พอ
    • ถ้าเลื่อนขนาดไปทางขวาทีละ 1 บิตและนับจำนวนครั้งจนค่ากลายเป็น 0 ก็จะได้ เลขชี้กำลังของ 2 สำหรับขนาดนั้น
  • ขอแนะนำอย่างยิ่งให้ ท่องจำลอการิทึมสักสองสามค่า ไว้ใช้คิดเลขในใจ
    มันทำให้มีความสามารถที่คาดไม่ถึง
    บทความที่เขียนตอนเริ่มต้นอยู่ที่นี่: https://entropicthoughts.com/learning-some-logarithms

    • บล็อกดีมาก
      น่าสนใจที่ การเสื่อมถอยของความจำ เองก็มีลักษณะเป็นลอการิทึม/เอ็กซ์โพเนนเชียลโดยแก่นแท้
      การเรียนลอการิทึมด้วย spaced repetition นี่ค่อนข้างเมตาเลย
    • อยากรู้ว่าหลังจากบทความนั้นแล้ว ลองนำไปใช้จริงเป็นเวลา 1 ปี มีข้อคิดอะไรบ้าง
      อีกอย่าง บล็อกนั้นเป็นหนึ่งในบล็อกที่ผมชอบมากจริงๆ
  • การดิฟเฟอเรนเชียลลอการิทึม ก็เป็นแนวคิดที่พื้นฐานจนน่าทึ่งเช่นกัน
    (ln(f))' = f'/f
    ในทฤษฎีฟังก์ชันใช้กันตลอด แต่ผู้คนมักไม่ค่อยตระหนักว่าสิ่งนี้เกี่ยวข้องกับลอการิทึม
    ฟังก์ชันที่ได้ผลลัพธ์สวยงามจากการดิฟเฟอเรนเชียลลอการิทึมนั้นน่าสนใจกว่าที่คิดมาก
    ในธรรมชาติมี ฟังก์ชัน Gompertz อยู่เต็มไปหมด และพอคุ้นเคยแล้วก็จะเห็นมันได้ทั่วไป

  • เมื่อก่อน การคำนวณ ค่าประมาณลอการิทึม ขั้นพื้นฐานในหัวมีคุณค่าในทางปฏิบัติ
    ในยุคที่ยังไม่มีเครื่องคิดเลข การคูณ·หารหรือยกกำลังอย่างรวดเร็วทำกันด้วยวิธีนี้
    ในหนังสือ "Surely You're Joking" ของ Feynman มีเรื่องเล่าว่านักวิทยาศาสตร์ที่ Los Alamos แข่งกันคิดลอการิทึมในใจว่าใครเร็วกว่า

  • John Napier บิดาแห่งลอการิทึม หรือก็คือ N ใน ln แทบจะดำเนิน เวิร์กช็อปคำนวณด้วยมนุษย์ และให้ทำตารางลอการิทึมอยู่ราว 20 ปี
    สิ่งนี้สำคัญมากต่อการนำทางดาราศาสตร์
    มีการตั้งรางวัลใหญ่ให้คนที่พัฒนาวิธีข้ามทะเลอย่างปลอดภัย และเรื่องนี้ยังนำไปสู่การประดิษฐ์นาฬิกาพกด้วย

    • n ใน ln ไม่ใช่ “natural” หรือก็คือ “logarithm natural” หรอกหรือ?
  • ในวิชาที่สอนโดย Huffman ผู้โด่งดังจากการบีบอัดแบบ Huffman ผมได้เรียนรู้ วิธีคูณด้วยการบวกและตาราง lookup
    ตอนสอบใช้เครื่องคิดเลขไม่ได้
    แต่เคล็ดลับที่ชอบที่สุดคือการเปลี่ยนฐาน: https://www.khanacademy.org/math/algebra2/x2ec2f6f830c9fb89:...
    ถ้าฝึกสักหน่อย ก็สามารถแปลงฐานโดยประมาณระหว่างกำลังของ 2, กำลังของ 10 และ e ในหัวได้