ว่าด้วยเรื่องของความรู้ และทักษะ

(เคยพูดแล้วแต่ขอพูดซ้ำอีกครั้งและลงรายละเอียดทางเทคนิค; ไม่เน้นอารมณ์และไม่เน้นคอลเอ้าท์; รอบนี้ขอลงลึกทางแนวคิดโดยตรง)

หากเราต้องการไปต่อสู้กับมังกร (มองว่าเป็นศัตรูที่ร้ายกาจ) ตัวหนึ่ง เราสามารถมองได้ว่าเราจำเป็นจะต้องอาศัยอาวุธที่แข็งแกร่งและการฝึกฝนอย่างเชี่ยวชาญได้

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

ลองมองในมุมของโจทย์คณิตศาสตร์ดูบ้าง ผมจะยกตัวอย่างที่ง่ายข้อนึง คือจงหาผลรวมของ 1 + 2 + 3 + ... + 100 พร้อมแสดงวิธีทำ มีนักเรียนสองคน คนนึงบอกว่านี่ไง สังเกตว่า 1 + 100 = 101, 2 + 99 = 101, ..., 50 + 51 = 101 และมันมีทั้งหมด 50 คู่ มันเลยรวมกันได้ 50 * 101 = 5050 อีกคนบอกว่า พิจารณา 1 + 2 + 3 + ... + n เป็นผลรวมย่อยของอนุกรมเลขคณิต จึงสามารถใช้สูตร (1+n)n/2 ได้ ได้ผลลัพธ์เป็น (1+100)100/2 = 5050

สุดท้ายเราสามารถมองได้ว่าทั้งสองคนประสบผลสำเร็จในการทำโจทย์ข้อนี้ แต่คนแรกใช้วิธีที่เรียบง่าย (ที่แม้แต่คนที่ไม่รู้จักแม้กระทั่งตัวแปรหรือสมการก็เข้าใจได้) แต่อีกคนใช้ผลลัพธ์ที่อ้างอิงการศึกษาอนุกรมเลขคณิตในรูป a, a+d, a+2d, ..., a+(n-1)d ได้ผลลัพธ์เป็น (n/2)(2a+(n-1)d) (นอกจากนี้สามารถพิสูจน์ผลลัพธ์นี้ได้ด้วยการอุปนัยเชิงคณิตศาสตร์)

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

ในการฝึกคนให้ไปต่อสู้กับมังกร เราสามารถแยกการฝึกได้ออกเป็นสองแนวทาง (ส่วนใหญ่จะไปด้วยกัน เราเลยมักไม่ค่อยแยก) คือ 1. ฝึกให้คนเหล่านั้นใช้อาวุธที่มีอานุภาพสูงขึ้น และ 2. ฝึกให้คนเหล่านั้นใช้อาวุธแบบเดิมให้ชำนาญมากยิ่งขึ้น ซึ่งแน่นอนว่าเวลาฝึกจริงเราก็ต้องฝึกทั้งคู่ แต่ที่ผมแยกออกมานั้นก็เพื่อให้ตนเองตระหนักรู้ว่ากำลังทำอะไรอยู่กันแน่

เพื่อความง่าย ผมจะเรียกการฝึกฝนแบบ 1. ว่า การเพิ่มความรู้ (หรือ การฝึกแนวกว้าง) และการฝึกฝนแบบที่ 2. ว่า การเพิ่มทักษะ (หรือ การฝึกแนวลึก)

นอกจากนั้นกลับมาที่การพัฒนาตนเองของผมเอง ตัวผมเองที่แสวงหาความรู้และทักษะ อยากเป็นคนที่เก่งขึ้น ก็ต้องฝึกทั้งสองแบบ อย่างไรก็ตามผมก็ปฏิเสธไม่ได้ว่า ในกรอบเวลาหนึ่งคนเราจะมี ลิมิต ของความรู้และทักษะพวกนี้ กล่าวคือ เมื่อ 3 ปีที่แล้ว ความลึกของผมก็ไปสุดได้แค่ระดับหนึ่ง และความกว้างของผมก็ไปสุดได้แค่ระดับหนึ่งเท่านั้น แค่ส่วนใหญ่ลิมิตของความกว้างมันจะค่อนข้างกว้างใหญ่เทียบกับความลึก จนบางครั้งพอไม่สามารถขยายความลึกได้ผมก็หนีไปขยายความกว้างแทน

อย่างไรก็ตาม เมื่อเวลาผ่านไประดับหนึ่ง ลิมิตส่วนนี้มันจะขยายขึ้นเรื่อยๆ บางครั้งเรารู้สึกว่าทำโจทย์ไปมากกว่านี้ก็ไม่ได้อะไรกลับมา แต่ในขณะเดียวกันบางครั้งเราก็รู้สึกว่าเมื่อย้อนกลับมาทำโจทย์ข้อเดิมที่ทำไม่ได้ รอบนี้มันกลับได้อะไรขึ้นมา การพยายามกลับมาทำโจทย์แนว *OI กับ *MO ของผมมันก็มาจากแนวคิดนี้แหละ ว่าผมเชื่อว่าผมรอมามากพอที่ลิมิตความลึกของผมมันเริ่มขยายขอบเขตไปแล้ว และผมยังไปได้ไกลกว่านี้

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

ผมมองว่า พรสวรรค์ หรือ ความสามารถอะไรบางอย่างที่มันเป็นอิสระต่อปริมาณของการฝึก มันมาเกี่ยวข้องกับการฝึกอยู่หลักๆ 2 จุด หนึ่งคือลิมิตของความกว้างและความลึกที่เราสามารถมีได้ (คุณอาจค้านได้ว่านี่ผมพึ่งพูดไปเองว่าลิมิตนี้มันขยายได้ งั้นผมก็จะบอกว่า อัตราการเพิ่มขึ้นของลิมิตนี้ ต่างหาก ที่เป็นปริมาณอิสระ; ผมยังไม่ได้ศึกษาละเอียด จริงๆ อาจจะเป็นอัตราของอัตรา หรือมากไปกว่านั้น) จุดต่อมาคือ ความจุความลึกของการฝึก ผมจะพูดโดยการยกตัวอย่าง อย่างบางคนสอนไปแค่เรื่องการบวกเลขสอง/สามหลัก (อนุบาล 3 - ป.1) ก็สามารถถามว่า 1+2+...+100 ได้เท่าไหร่อย่างง่ายดาย ในขณะที่บางคน หากสอนไประดับเดียวกัน ก็ยังไม่สามารถตอบคำถามแบบนี้ได้ เพราะยากเกินไป กล่าวคือ สำหรับมนุษย์สองคนใด ๆ หากเรียนมาด้วยครูเดียวกันเป๊ะ ๆ องค์ความรู้ระดับเดียวกัน เป๊ะ ๆ และการฝึกฝนที่เหมือนกันเป๊ะ ๆ ก็ยังไม่อาจสรุปได้ว่าความสามารถจะเท่ากัน เพราะมันมีความเป็นไปได้ที่คนนึงจะสามารถสร้างความลึกได้มากกว่าอีกคน (แต่ความกว้างผมขอด่วนสรุปไปเลยว่าเท่ากัน; ผมยังไม่ได้ศึกษาอย่างละเอียดเช่นกัน)

สรุปคือ มีตัวแปรอยู่สามตัวที่ผมมองว่าขึ้นอยู่กับมนุษย์แต่ละคนคือ

  1. อัตราการขยายลิมิตแนวลึกต่อเวลา
  2. อัตราการขยายลิมิตแนวกว้างต่อเวลา
  3. ความจุความลึกของการฝึก

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

ที่ผมแยกมาเป็นสามอย่างเพื่ออะไร? ผมต้องการ tackle กับปัญหาที่ผมได้ยินบ่อยๆ เช่น "ผมเกิดมาโง่ ผมจะไปทำ <บลาบลา> ได้ไง?" จากการศึกษา (ลวกๆ) ของผมเนี่ย ผมก็จะตีความว่า "โง่" คืออะไร และแยกออกเป็นสามปัจจัยดังที่กล่าวไว้ข้างต้น ส่วนใหญ่เวลาผมบอกตัวเองว่าผมโง่ นั่นคือผมมองว่าความจุความลึกของการฝึกผมมันต่ำ ต่ำกว่าพวกคนเก่งคนอื่นๆ อีกเยอะ ซึ่งมันช่วยอะไรไม่ได้ ถ้าอยากได้ความจุที่สูงกว่านี้ก็ต้องตายแล้วเกิดใหม่ (แต่ยังไงผมก็เชื่อว่าความจุความลึกของการฝึกของผมมันก็สูงกว่าหลายคนแล้ว ผมค่อนข้างโอเคกับความโง่นี้ของผม)

พอเรามองว่าสามปัจจัยนี้คือปัจจัยที่เราไปควบคุมมันไม่ได้ ก็จบ เราก็ไม่ต้องไปเสียใจที่เกิดมาโง่ เกิดมาทำได้แค่นี้ (หมายถึงว่า เสียใจไปก็ไม่ได้อะไรขึ้นมา มันก็ได้เท่านั้นจริงๆ นั่นแหละ ผมไม่เชื่อคนที่บอกว่า "เราไม่มีลิมิต! ทุกคนสามารถพัฒนาได้ไม่สิ้นสุด!" เพราะตามโมเดลผมนี้ผมเขียนลิมิตไว้ชัดเจนเลยแหละ แค่ว่ามันเพิ่มขึ้นได้แต่ต้องอาศัยเวลา)

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

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

ดังนั้นไอเดียหลักก็คือผมจะยังอยู่กับการพัฒนาความลึกรายเดือน (*OI กับ *MO) และถ้าขยันพอผมก็จะหาเวลาและสมาธิไปนั่งอ่านของที่ขยายความรู้แนวกว้างได้ สุดท้ายผมก็มองว่ามันไม่ได้แยกออกจากกันซะทีเดียวหรอก ระหว่างการพัฒนาแนวกว้างกับแนวลึกเนี่ย บางเรื่องมันก็ต้องไปด้วยการ บางทีการศึกษาแนวกว้างทำไปนิดหน่อยก็ได้ทักษะแนวลึกแถมมา บางทีก็ศึกษาแนวลึกละได้แนวกว้างแถมมาก็มี

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

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

ผมลืมพูดถึง base case ไปเลย เห้อ ผมเลยขอจบโมเดลของผมนี้เองด้วยข้อจำกัดทั้งหมด 7 ข้อคือ

  1. ลิมิตแนวลึกปัจจุบัน
  2. ลิมิตแนวกว้างปัจจุบัน
  3. ลิมิตความเร็วการเชื่อมโยงปัจจุบัน
  4. อัตราการขยายลิมิตแนวลึกต่อเวลา
  5. อัตราการขยายลิมิตแนวกว้างต่อเวลา
  6. อัตราการขยายลิมิตความเร็วการเชื่อมโยงต่อเวลา
  7. ความจุความลึกของการฝึก

สำหรับตอนนี้หากผมพบว่าปัญหาของผมมันเกี่ยวกับข้อใดข้อหนึ่งจาก 7 ข้อนี้ ผมจะไปนั่งทำใจ และก็นอนพัก เพราะเราแก้อะไรไม่ได้ ส่วนถ้าปัญหามันเกี่ยวกับอย่างอื่นที่ไม่ใช่ปัจจัย 7 ข้อนี้ ผมเชื่อว่าความพยายามที่มากพอจะสามารถเอาชนะอุปสรรคเฉพาะหน้าเหล่านั้นได้ (คือถ้ามันทำไม่ได้ผมก็จะมาอัปเดตลิสต์นี้แหละนะ แต่ผมว่า 7 อันนี่ก็เยอะแล้ว 555555)