หรือถ้าฉลาดเกมส์โกงจะยังฉลาดไม่พอ

Share This Post

- Advertisement -

ต้องยอมรับว่ากระแสของภาพยนตร์ไทยเรื่องฉลาดเกมส์โกงนั้นมาแรงแซงโค้งไม่แพ้หนังจากฝั่งฮอลีวู้ดเลยทีเดียวสำหรับนาทีนี้ จนทำให้มีคนไปชมภาพยนตร์เรื่องนี้กันมากมายทีเดียวหนึ่งในนั้นคือกลุ่มคนที่ประกอบอาชีพโปรแกรมเมอร์ โดยบล็อกของ ‘Earthchie Thanarat’ หนึ่งในโปรแกรมได้ให้ข้อวิพากษ์วิจารณ์ไว้ว่า “ถ้าลินหรือตัวเอกของเรื่องรู้จักบีบอัดข้อมูลหรือการใช้เลขฐาน ความท้าทายของตัวเรื่องในการต้องจำคำตอบจะไม่ใช่ปัญหาสำหรับลินเลย” นั้นจึงเป็นความไม่สมเหตุสมผลของตัวเรื่องหรือบทเนื่องจากการปูเรื่องมาให้ลินเป็นเด็กที่ฉลาดแต่กลับไม่คิดที่จะเอาระบบเลขฐานของคอมพิมเตอร์มาใช้ซึ่งไม่น่าเกินความสามารถของลิน

L_777jcfh7ia5j895jahdif

วิธีทำอย่างไร?
ด้วยความรู้ด้านเลขฐานง่ายๆ นี้เราสามารถบีบอัดให้ข้อมูลเล็กลง ได้เป็นจำนวนเท่ากับ log4 (เลขฐานปลายทาง) หรือในกรณีของฐาน 16 คือ log4(16) เท่ากับว่าข้อมูลจะเล็กลงราว 2 เท่า (อย่าพึ่งงงนะ)

ตัวอย่าง ถ้าโจทย์ 100 ข้อ จำคำตอบแบบฐาน 16 จะต้องจำไป 50 ตัวอักษร ถ้าแบบฐาน 32 จำไป 40 ตัวอักษร ถ้าแบบฐาน 64 จำไปเพียงแค่ 34 ตัวอักษร ยิ่งเลขฐานสูง ยิ่งจำน้อย แต่ก็บีบอัดลำบากมากขึ้นเช่นกันว่าเลขฐาน 16 นี่แหละดูเป็นไปได้ที่สุด เพราะแปลงในใจได้ทันที เหมาะกับการใช้ในห้องสอบที่มีเวลาจำกัดมากๆพอพูดเรื่องเลขฐาน 16 ผมว่าหลายๆ คนอ๋อแล้วล่ะว่าทำยังไง

head2-1

ไอเดียคือ คำตอบ ABCD เนี่ย ความจริงคือเลขฐาน 4 ชัดๆ เราก็แค่แปลงคำตอบที่อยู่ในฐาน 4 ให้กลายเป็นฐาน 16 เพื่อให้ข้อมูลสั้นลงคนที่เคยแปลงเลขฐานจะรู้ดีว่าถ้าแปลงไปกลับระหว่างเลขฐานที่เป็น factor ของกันและกัน จะแปลงง่ายมาก การแปลงฐาน 4 ไปเป็นฐาน 16 จึงแทบจะทำได้ในใจเลยทีเดียวเพราะ 16 หาร 4 ลงตัวคำตอบปรนัยตอบได้ 4 แบบ A B C D เราสามารถแปลงเป็นตัวเลขกันได้ในหัวอย่างง่ายดาย

A = 0
B = 1
C = 2
D = 3

สาเหตุที่ต้องเป็น 0,1,2,3 ก็เพราะว่านี่คือเลขฐาน 4 นั่นเอง เพราะคุณเจอเลขฐานที่เป็นเลขฐาน 10 มาตลอดชีวิต ตอนนี้อาจต้องจูนปรับความคิดกันนิดนึงนะครับ

สมมุติว่า
เฉลยคำตอบของ 10 ข้อแรกคือ
A B C D D C D A B D

สามารถแทนค่าด้วยเลขได้ดังนี้
0 1 2 3 3 2 3 0 1 3

ให้จับคู่มัดมันไว้เป็นคู่ๆ ครับ
01 23 32 30 13

ต่อไปมาแปลงเป็นฐาน 16 กัน วิธีนั้นง่ายมาก จำตารางนี้ เข้าห้องสอบไปแล้วก็วาดลงกระดาษทดเลยนะ (ก็ไม่มีไรมากเรียงสับเปลี่ยน 0,1,2,3 ลงไปในเลข 2 หลัก ได้ออกมา 16 รูปแบบ จำไม่ยากหรอก)
ตารางเลขฐาน 4 ไปฐาน 16

00 = 0
01 = 1
02 = 2
03 = 3
10 = 4
11 = 5
12 = 6
13 = 7
20 = 8
21 = 9
22 = a
23 = b
30 = c
31 = d
32 = e
33 = f

จากนั้นแปลงคำตอบที่เรามีเป็นฐาน 16 โดยการเทียบเลขทีละคู่ไปเลย
สรุปว่า 01 23 32 30 13 จึงได้ออกมาเป็น 1 b e c 7

thumb_3315

สรุปคือสิ่งที่ลินต้องจำคำตอบออกมาจากห้องสอบ 10 ข้อแรกมีเพียง ‘1bec7’ และนั้นเพียงพอที่ลินจะสามารถจำคำตอบได้ทั้งหมดเพราะลินพูดเองว่าลินสามารถจำข้อสอบออกมาได้ครึ่งเดียว ซึ่งกระบวนการทั้งหมดอาจฟังดูยากไปนิดแต่เชื่อเถอะว่า เอาจริงมันไม่ได้ยากขนาดนั้นและสามารถทำได้จริง และที่สำคัญคุ้มกว่าการเสี่ยงต้องหาแนวร่วมมาเสี่ยงอีก

ขอขอบคุณข้อมูลดีดีไม่ให้เราโง่จาก medium.com ‘Earthchie Thanarat’

- Advertisement -