บทความนี้ post ลง facebookเมื่อวันที่ 18 Jul 2021 => link
มีอาแป๊ะคนหนึ่งที่แกรักเด็กมากๆ … ที่บ้านแกเป็นโรงงานผลิตไอติมยักษ์คู่ (เด็กสมัยนี้รู้จักไหมอ่ะ มันจะเป็นไอติมที่มี 2 ไม้อยู่ในห่อเดียวกัน … ถ้านึกไม่ออกลอง google “ไอติม ยักษ์คู่” น่ะ) …. และวันที่พิเศษๆ แกก็จะเลี้ยงไอติมเด็กๆ อยู่เสมอ …. จนกระทั่งแกมีอายุครบ 80 ปีแกก็เลยมีความคิดที่จะเลี้ยงไอติมเด็กๆ ทุกวันไม่ใช่เฉพาะวันที่พิเศษๆ อีกแล้ว ..
แกก็เลยไปดูโควต้ากำลังการผลิตของโรงงานว่าสามารถเอามาเลี้ยงเด็กได้เท่าไร … หลังจากที่เช็คกำลังการผลิตของโรงงานก็สรุปได้ว่าแกสามารถเลี้ยงไอติมเด็กๆ ได้วันล่ะ 4,608 แท่ง … 1 แท่งเป็นยักษ์คู่มี 2 ไม้อยู่ในห่อไอติม ….
*** จำได้ไหมครับ blockchian ของ chia จะมี block เกิดใหม่ทุกวัน วันล่ะ 4,608 block และ 1 blcok จะได้รางวัล 2XCH
แต่เด็กในละแวกแถวนั้นมีจำนวนมากกว่าไอติมที่แกผลิตได้ต่อวัน …. อาแป๊ะก็เลยนึกหาวิธีที่จะแจกเด็กโดยการจับสลาก … พอไอติม ผลิตได้ 1 แท่ง ก็จะจับสลากแจกเด็กผู้โชคดีเลย … ถ้ากำลังการผลิตของอาแป๊ะ 4,608 แท่งต่อวัน … แสดงว่า
ใน 24 ชม ผลิตได้ 4,608 แท่ง
ใน 1 ชม (60 นาที) ผลิตได้ = 4608/24 = 192 แท่ง
ทุกๆ 10 นาที (600 วินาที) ผลิตได้ = 192/6 = 32 แท่ง
ดังนั้น 1 แท่งจะใช้เวลาในการผลิต = 600 (วินาที)/32(แท่ง) = 18.75 วินาที
นั้นคือทุกๆ 18.75 วินาทีจะผลิตได้ 1 แท่ง
*** โอวว เท่ากับ blockchian ของ chia เลยที่จะมี blcok เกิดใหม่ใน 18.75 วินาที
หลังจากที่รู้แล้วว่าจะแจกไอติมเด็กด้วยจำนวนเท่าไร …. อาแป๊ะก็มานึกสูตรในการจับฉลากเด็ก … โดยอาแป๊ะหากล่องใหญ่ๆ 1 ใบ … ภายในกล่องจะมีกระดาษเขียนตัวอักษรพยัญชนะไทย ก ถึง ฮ กระดาษ 1 ใบแทนพยัญชนะไทย 1 ตัว … วิธีการแจกไอติมก็คือทุกๆ 18.75 วินาที อาแป๊ะจะหยิบกระดาษมา 5 ใบ … แล้วหาดูว่าเด็กคนไหนมีชื่อ นามสกุลที่มีตัวพยัญชนะ 5 ตัวเหมือนที่ อาแป๊ะจับขึ้นมา
เช่น ถ้าอาแป๊บจับได้พยัญชนะ 5 ใบขึ้นมาได้แก้ ตัว ข ย น ว และ จ … ดช. “ไข่เย็น หนาวจับใจ” ก็จะมีชื่อและนามสกุล ครบตามตัวอักษรเหมือนที่อาแป๊ะจับฉลากขึ้นมา .. ดช ไข่เย็น ก็จะได้รับรางวลัเป็นไอติมยักษคู่ไปเลย …. แต่ถ้าหาไม่ได้ … ก็จะเอาเด็กที่มีชื่อนามสกุลตรงกับที่อาแป๊ะจับมาโดยที่ใครใกล้เคียงมากที่สุดก็จะได้รางวัล … แต่ถ้ามีคนใกล้เคียงเหมือนกันมากกว่า 1 ก็จะถือเอาคนที่ส่งรายชื่อให้อาแป๊ะที่เร็วที่สุดเป็นคนชนะ ..
*** แต่กติกาของ chai ยากกว่านี้น่ะครับ puzzle ของ chia จะเป็นสมการคณิตศาสตร์ประหลาดๆ
เมื่อกติกาและของรางวัลกำหนดได้แล้ว … อาแป๊ะก็เลยส่งในประกาศเชิญชวนไปยังโรงเรียนต่างๆ … ณ ช่วงแรกมีแค่โรงเรียน “บ้านใครอยู่หลังเขา” กับโรงเรียน “บ้านเราอยู่หลังใคร” ที่มีจำนวนนักเรียนร่วมกัน 5000 กว่าคนมาสมัครเข้าร่วมกิจกรรมของอาแป๊ะ ….
และแล้วก็ถึงวันครบรอบวันเกิดปีที่ 80 ของอาแป๊ะ … กิจกรรมของอาแป๊ะก็เริ่มขึ้น …. ทุกๆ 18.75 วินาทีไอติมยักษ์คู่ก็ได้ผลิตออกมาและมีการจับฉลากรางวัล …. เนื่องจากจำนวนนักเรียนมีเพียงแค่ห้าพันกว่าคน … ดังนั้นการดำเนินการหา ชื่อ นักเรียนทั้งห้าพันกว่าคนให้ตรงกับพยัญชนะที่อาแป๊ะจับมาจึงใช้เวลาเพียงแค่ 10 วินาทีเศษๆ เท่านั้น ยังมีโควต้าเวลาเหลืออีก 8.75 วินาที … ประมาณว่า computer ใช้เวลาเพียงแค่ 10 วินาทีก็หาผู้โชคดีได้แล้ว … computer จึงว่างอีก 8.75 วินาทีก่อนที่ไอติมแท่งใหม่จะผลิตออกมา
หลังจากข่าวได้แพร่ออกไป … ก็มีนักเรียนโรงเรียนอื่นเริ่มเข้ามาสมัครมากขึ้น … จากจำนวนผู้สมัครห้าพันกว่าคนเริ่มกลายเป็นหมื่นคน …. เอาล่ะสิที่นี้ computer จากที่เคยคำนวณเสร็จภายใน 10 วินาที … กลายเป็นว่าภายในเวลา 18.75 วินาทีสามารถคำนวณได้แค่ 9000 คนเท่านั้น … เหลืออีก 1000 คนที่ไม่ได้เข้าสู่การเช็กพยัญชนะของชื่อนักเรียน ... แต่ computer จำเป็นต้องคัดถึงแค่ 9000 คนเพราะไอติมแท่งใหม่ออกมาแล้ว computer ต้องวนซ้ำเช็กรายชื่อนักเรียนใหม่โดยเริ่มจากคนที่ 1 สำหรับไอติมแท่งใหม่ ….
อาแป๊ะเห็นดังนั้นจึง upgrade computer ของเขาให้แรงขึ้นรวมถึงเปลี่ยน algorithm ของ software ในการวนลูปใหม่เพื่อให้หารายชื่อเด็กให้ได้เร็วกว่าเดิม ….. จนกระทั่ง computer สามารถวนรายชื่อเด็กทั้งหมด 1 หมื่นคนได้ภายในเวลา 18.75 วินาทีพอดี
*** iteration หรือการวนซ้ำ …. ในภาษา computer พื้นฐานก็เช่นพวก for loop หรือ while loop … ในตัวอย่างของอาแป๊ะก็คือวนลูบรายชื่อจำนวนนักเรียนทั้งหมดแล้วหาคนที่ตรงกับพญัชนะที่อาแป๊ะจับขึ้นมา … แต่ใน chia การวนซ้ำจะใช้ algorithm ที่รวดเร็วกว่ามาก … โดย algorithm ปัจจุบันได้มาจากการจัดการแข่งขัน Chia VDF Competition ในปี 2018 (อ้างอิงจาก https://www.chia.net/2018/11/07/chia-vdf-competition-guide.en.html)
แต่ข่าวนี้ยังคงแพร่หลายไม่หยุด …. จำนวนนักเรียนที่เข้าร่วมกิจกรรมกินไอติมฟรีของอาแป๊ะยังคงเพิ่มขึ้นอย่างต่อเนื่อง … จนอาแป๊ะต้องบ่น "อั๊วมํายหวายแล๊ววว .. ก็ตามบุญตามกรรม ของเด็กๆ ล่ะกานน … ไคล้ายก็ล้าย ไคไม่ล้ายก็ถูกคัดออกไป อั๊วเสียจายล้วยย" …
ร้อนถึงนายอำเภอแต่ล่ะอำเภอที่เห็นเหตุการณ์เป็นแบบนี้ ก็สงสารเด็ก เลยตัดสินใจร่วมกันว่าจะร่วมทำบุญกับอาแป๊ะด้วย … นายอำเภอเลยมานั่งปรึกษากันว่าจะเอายังไงดี … ก็เลยได้ข้อตัดสินว่า เอายังนี้นายอำเภอแต่ล่ะอำเภอจะตั้ง server เป็นของอำเภอใครอำเภอมัน แล้วให้นักเรียนในเขตอำเภอส่งรายชื่อเข้า server ของนายอำเภอ … โดย server ที่นายอำเภอตั้งขึ้นมาให้ชื่อว่า VDF server … โดยที่ตัว server จะมีโปรแกรมที่ืชื่อว่า timlord ทำหน้าที่คัดกรองรายชื่อเด็กตามฉลากของอาแป๊ะ … โดยรวมๆ การทำงานของ timelord จะเหมือน computer ของอาแป๊ะ … หลังจากที่ timelord ได้ชื่อที่คิดว่าตรงกับฉลากของอาแป๊ะที่สุด .. timelord แต่ล่ะตัวก็จะเอารายชื่อมาแข่งกันอีกเพื่อให้ได้คนที่ถูกต้องที่สุดแต่ถ้าไม่มีก็เอาคนที่ใกล้เคียงที่สุดและส่งคำตอบไปหา computer ของอาแป๊ะเร็วที่สุด …. ซึ่งขั้นตอนทั้งหมดนี้ต้องทำให้เสร็จภายในเวลา 18.75 วินาทีต่อไอติม 1 แท่ง ….
ที่นี้มีเด็กกลุ่มหนึ่งที่กำลังลังเลว่าจะเอาเวลาไปร่วมกิจกรรมนี้ดีไหมหรือจะไปเตะบอลดี … เด็กๆก็เลยตั้งเงื่อนไข 2 ข้อ
1) timelord ทำงานเร็วแค่ไหน ...สมมุติว่านักเรียนส่งรายชื่อ หนึงหมื่นคน timelord สามารถประมวลผลได้ทั้งหนึ่งหมื่นคนภายในเวลา 18.75 วินาทีไหม?
.
สมมุติว่า timelord ทำได้เพียง ห้าพันคนภายในเวลา 18.75 วินาที … แสดงว่าอีกห้าพันคนจะไม่นำมาประมวลผล … นั้นคือเราตัดตัวเลือกไปถึง 50% … ถ้าแบบนี้เรามีโอกาศได้รางวัลเพราะมีการตัดผู้เข้าแข่งขันไปถึง 50%
แต่ถ้า timelord สามารถประมวลผลหนึ่งหมื่นคนได้ภายในเวลา 18.75 วินาทีนั้นคือเราต้องแข่งขันกับคนถึง 9,999 คน โอกาสชนะก็จะน้อยเข้าไปอีก (สำหรับ chia ถ้าตามที่ผมเข้าใจจะเอาจำนวน timelord ทั้งหมดรวมถึงข้อมูลที่นำมาประมวลผลของทุกๆ timloard มาประมวลผล … ไม่ใช่แค่ timelord ตัวใดตัวหนึ่ง)
2) จำนวนนักเรียนที่เข้าแข่งขันทั้งหมดว่ามีเท่าไร … ถ้ายิ่งมีนักเรียนที่เข้าร่วมเยอะโอกาสที่จะได้ไอติมก็จะน้อยตามไปด้วย ...
จากนั้นเด็กกลุ่มนี้เอาค่าทั้งสองมาคำนวณ และเรียกค่าหลังการคำนวณว่า difficulty ถ้าค่านี้สูงกว่าตัวเลขที่พวกเขาตั้งไว้ … พวกเขาไปเตะบอลดีกว่า เพราะโอกาสโชคดีน้อยมากๆ
*** สำหรับ chia ผมไม่รู้จริงๆ ว่าคำนวณยังไง .. เคยเข้าไปอ่านสูตรแล้วยอม …. แต่โดย concept จะประมาณนี้ …
และแล้วก็จบแล้วครับ นิทาน chia …. หวังว่าจะทำให้เรื่องยากๆ กลายเป็นเรื่องง่ายๆ … หรือยิ่ง งง กว่าเดิม 5555 ... สำหรับนิทานเรื่องนี้ผมแต่เนื้อเรื่องตามความเข้าใจของผม … ถ้าท่านใดเห็นว่าไม่ถูกต้องสามารถแย้งได้เลยน่ะครับ …เป็นวิทยาทานกับท่านผู้อ่านท่านอื่นๆ ด้วยครับ
ขอบคุณทุกท่านที่ติดตาม ... happy farming ครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น