- รูปทรงแฟร็กทัล (“wallflower”) ที่เริ่มต้นจากภาพขีดเขียนของผู้เขียนสมัยมัธยมต้น เป็นโครงสร้างเฉพาะตัวที่ถูกสร้างขึ้นด้วยวิธีที่ต่างจากแนวทางทั่วไป
- ผู้เขียนสำรวจว่าระหว่างกระบวนการสร้างแฟร็กทัลนี้ สามารถอธิบายลักษณะเด่นของมันในเชิงคณิตศาสตร์ได้ผ่าน L-system และ การเข้ารหัสตำแหน่งด้วยเมทริกซ์
- หากใช้เมทริกซ์บางตัวที่มีดีเทอร์มิแนนต์เป็น ±5 ก็จะอธิบาย การเปลี่ยนขนาดและการหมุน ของรูปทรง รวมถึงการจัดวางซ้ำในปริภูมิได้อย่างมีประสิทธิภาพ
- มีการลองขยายแนวคิดนี้ไปสู่ การทำให้เป็นกรณีทั่วไปใน 3 มิติและ 4 มิติ โดยในมิติที่สูงขึ้น การออกแบบเมทริกซ์ที่คำนึงถึงสมมาตรและประสิทธิภาพในการจัดเรียงมีความสำคัญ
- ผู้เขียนค้นพบว่าแฟร็กทัล พีชคณิตเชิงเส้น และระบบจำนวนมีความเชื่อมโยงกัน และกระบวนการสำรวจนี้เองก็แสดงให้เห็นถึง คุณค่าของการแก้ปัญหาอย่างสร้างสรรค์
เกริ่นนำ: ความลับของแฟร็กทัลที่แขวนอยู่บนผนัง
- ตอนอยู่ชั้นมัธยมต้น ผู้เขียนค้นพบภาพขีดเขียนบนกระดาษกราฟที่เติมช่องสี่เหลี่ยมด้วยการคัดลอกและหมุนซ้ำไปมา (ภายหลังตั้งชื่อว่า “wallflower”) และสนใจมันมาเป็นเวลานาน
- ผู้เขียนคิดว่าโครงสร้างนี้แปลกพอจะมีความหมายทางคณิตศาสตร์ที่ลึกซึ้ง แต่ในเวลานั้นยังวิเคราะห์มันไม่ได้
- ต่อมาเมื่อมีความรู้ทางคณิตศาสตร์มากขึ้น ผู้เขียนจึงเริ่มสำรวจปัญหาที่ตัวเองในอดีตทิ้งไว้ให้อย่างจริงจัง
วิธีวาดแฟร็กทัล
- เริ่มจากสี่เหลี่ยมจัตุรัสหนึ่งอัน
- คัดลอกรูปปัจจุบันไปวางทางซ้าย ขวา บน และล่างอย่างละหนึ่งครั้ง
- หลังจากนั้น หมุนสภาพเดิมตามเข็มนาฬิกาเล็กน้อยประมาณ 27 องศา แล้วคัดลอกไปวางอีกครั้งในทั้งสี่ทิศ
- ทำขั้นตอนที่ 2 และ 3 ซ้ำไปเรื่อย ๆ จนเต็มกระดาษ
- วิธีนี้จะสร้าง แฟร็กทัลที่แผ่ออกเหมือนดอกไม้
- หากทำกระบวนการนี้ซ้ำอย่างไม่สิ้นสุด ก็สามารถปกคลุมระนาบทั้งหมดได้ คล้ายกับ Gosper Curve
การสร้างเส้นขอบของแฟร็กทัลด้วย L-system
- สามารถใช้แนวทางแบบ L-system (กฎแทนที่สตริง) ได้เช่นกัน โดยใช้เพียงการหมุน 90 องศาไปทาง R(ขวา) หรือ L(ซ้าย)
- กฎเริ่มต้นคือเริ่มจาก RRRR และแทนที่ด้วย R→RLR, L→RLL
- เส้นขอบที่สร้างด้วย L-system และเส้นขอบจากวิธีสมัยมัธยมต้นเริ่มมีความแตกต่างสำคัญตั้งแต่พจน์ที่ 4
- วิธี drag and drop มีการจัดวางสำเนาแต่ละชิ้นต่างกัน
- วิธี L-system มีลักษณะเด่นคือการคัดลอกไปในแนวทแยง
ลักษณะของ wallflower แบบไม่มีภาพประกอบ
- wallflower ที่สร้างด้วยวิธี drag and drop แทบไม่ปรากฏให้เห็นทั่วไปบนอินเทอร์เน็ต
- มันมีคุณสมบัติที่ทิศทางกลับด้านซ้ำ ๆ ตามกฎแทนที่ L→RLR, R→LLR
- มีความเชื่อมโยงกันระหว่างมุมการจัดวางของสำเนา (“27 องศา”) โครงสร้างเมทริกซ์ และกฎแทนที่ของ L-system
วิธีใส่หมายเลขกำกับ (การเข้ารหัสตำแหน่งของแฟร็กทัล)
- เช่นเดียวกับ Cantor pairing function เราสามารถกำหนดตัวเลขให้สี่เหลี่ยมแต่ละช่องภายในแฟร็กทัลเพื่อทำความเข้าใจพื้นที่ได้อย่างมีประสิทธิภาพ
- ในแต่ละรอบของการทำซ้ำ มีความเกี่ยวข้องอย่างใกล้ชิดกับพหุคูณของ 5 และกำลังของ 5 จึงนำ เลขฐาน 5 มาใช้เพื่อการเข้ารหัสอย่างมีประสิทธิภาพ
- เมื่อลองดูรูปแบบการคัดลอกทางซ้ายและขวา จะพบ ความเชื่อมโยงระหว่างการเลื่อนเชิงเรขาคณิตกับการบวก เช่น “บวก 200”
เมทริกซ์กับความหมายเชิงพื้นที่ของแฟร็กทัล
- ตำแหน่งเวกเตอร์สามารถเขียนเป็น การคูณเมทริกซ์ โดยแต่ละหลัก (ค่าประจำหลัก) จะถูกนำไปใช้ร่วมกับ matrix power
- ตัวอย่างเช่น เมทริกซ์ M=[−2 1; 1 2] ที่มีดีเทอร์มิแนนต์ det(M)=-5 จะทำให้ทิศทางกลับด้านซ้ำ ๆ
- หากสร้างด้วยเมทริกซ์ M′=[2 1; -1 2], det(M′)=5 จะได้โครงสร้างที่คล้ายแฟร็กทัลตระกูล Gosper แบบทั่วไป
- ค่าสัมบูรณ์ของดีเทอร์มิแนนต์ตรงกับอัตราการเติบโตของขนาดแฟร็กทัลและประสิทธิภาพในการเติมเต็มพื้นที่อย่างแม่นยำ
- หากดีเทอร์มิแนนต์มากเกินไป จะเกิดช่องว่างในพื้นที่
- หากน้อยเกินไป จะเกิดการชนกัน
- เวกเตอร์คอลัมน์ของแต่ละเมทริกซ์ต้องเป็นจำนวนเต็ม จึงจะพอดีกับโครงตาข่ายพิกัดทั้งหมดได้อย่างแม่นยำ
- การคำนวณมุมของเวกเตอร์ |1,2| ให้ arctan(2/1) ≈ 63.43 องศา → นี่คือเหตุผลที่มันเอียงออกจากแกนอยู่ “27 องศา”
การสำรวจโครงสร้างการบวกผ่านแฟร็กทัล
- ไม่สามารถทำนายทุกตำแหน่งได้ด้วยการประกอบเวกเตอร์อย่างง่ายเพียงอย่างเดียว (เช่น →2+→2≠→4)
- ตีความเลข 1~4 เป็นแต่ละทิศทาง (บน ขวา ล่าง ซ้าย) และเกิดการ “ทด” แบบสองมิติขึ้น
- สิ่งนี้เชื่อมโยงไปถึง generalized balanced ternary และนำไปสู่ระบบจำนวนแบบ 2 มิติ/มิติสูง รวมถึงโครงสร้างที่ไม่มีจุดตรึง
ความเป็นไปได้ในการทำให้เป็นกรณีทั่วไปในมิติสูง (3D, 4D)
ความพยายามขยายไปสู่ 3 มิติ
- ในเมทริกซ์ 3x3 เวกเตอร์คอลัมน์แต่ละตัวต้องเป็นจำนวนเต็ม มี Hamming distance เท่ากับ 3 และมีดีเทอร์มิแนนต์ ±7
- เมื่อลองสร้างภาพจริง จะพบว่ามีบางบริเวณว่างอยู่ และไม่สามารถจัดเรียงให้สมบูรณ์ได้
- สามารถชดเชยบางส่วนได้ด้วยการเพิ่มสำเนาอีกชุดหนึ่ง (เป็น “รูปบวก” ในตำแหน่งใหม่) แต่ยังทำสมมาตรได้ไม่สมบูรณ์
การขยายไปสู่ 4 มิติ
- ในเมทริกซ์ 4x4 เวกเตอร์คอลัมน์แต่ละตัวต้องเป็นจำนวนเต็ม และมีเงื่อนไขเป็นสามหลัก ±1 กับอีกหนึ่งหลัก 0
- ใน 4 มิติ จะเกิดโครงสร้างแฟร็กทัลใหม่ที่เรียกว่า “orthotopeflower” ได้
- สามารถแสดงภาพโครงสร้างทั้งหมดบนระนาบได้อย่างมีประสิทธิภาพด้วยกริด 7x7 ของกริด 7x7
ข้อจำกัดของการทำให้เป็นกรณีทั่วไปในมิติสูง
- เมื่อพิจารณาข้อจำกัดต่าง ๆ ร่วมกัน ทั้งเมทริกซ์ เงื่อนไขการเติบโตของขนาด และเวกเตอร์จำนวนเต็มแล้ว โครงสร้างนี้จึงสมเหตุสมผลได้เฉพาะใน 1, 2 และ 4 มิติเท่านั้น
- ในมิติที่สูงกว่านั้น ไม่สามารถสร้างเมทริกซ์จำนวนเต็มที่ตรงตามทุกเงื่อนไขได้
ความเชื่อมโยงกับระบบจำนวนอื่น ๆ
- เช่นเดียวกับ Quater-imaginary base (ระบบจำนวนที่ใช้ 2i เชิงจินตภาพเป็นฐาน) แนวคิดของระบบจำนวนที่อิงเมทริกซ์สามารถขยายไปสู่จำนวนเชิงซ้อนและควอเทอร์เนียนได้
- ผู้เขียนได้สำรวจแนวคิดการเข้ารหัส quaternion ผ่านเมทริกซ์ 4 มิติ (basis: i+j+k) แต่ยังยกการตรวจสอบความเข้มงวดอย่างสมบูรณ์ให้ตัวเองในอนาคต
บทส่งท้าย
- การสำรวจแฟร็กทัล ระบบจำนวน และพีชคณิตเชิงเส้นอย่างยาวนานของคนคนหนึ่ง ได้นำไปสู่การค้นพบทางคณิตศาสตร์ที่งดงาม
- ภาพขีดเขียนเล็ก ๆ และความอยากรู้อยากเห็นอย่างสร้างสรรค์สามารถกลายเป็นจุดเริ่มต้นของการเปิดเผยหลักการที่ลึกซึ้งได้จริง
- นี่เป็นตัวอย่างของการเสนอไอเดียใหม่ทางคณิตศาสตร์และคอมพิวเตอร์ ผ่านความบังเอิญ การลองผิดลองถูก และความพากเพียรในกระบวนการสำรวจ
- ผู้เขียนยังเน้นย้ำท่าทีที่ยอมรับได้ว่า แม้ภาพที่สร้างขึ้นหรือกฎบางอย่างจะยังไม่สมบูรณ์หรือมีข้อผิดพลาด สิ่งเหล่านั้นก็เป็นส่วนหนึ่งของการสำรวจเช่นกัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เป็นผลงานที่ยอดเยี่ยมและอ่านได้อย่างเพลิดเพลิน
รู้สึกว่าเป็นบทความที่ลึกซึ้งและผ่านการคิดมาอย่างรอบคอบ ชอบการทำภาพแบบ 3D เป็นพิเศษ ทำให้นึกถึงโปรเจกต์ที่เคยทำเมื่อหลายปีก่อนโดยใช้ recursive decimation เพื่อสร้างเอฟเฟกต์คล้ายแฟรกทัลจากภาพใดก็ได้ ลองเล่นได้เองที่ลิงก์ https://jsfiddle.net/nicobrenner/a1t869qf/ กด Blursort 2x2 สักสองสามครั้งแล้วคลิก Animate เพื่อสร้างแอนิเมชันได้ รองรับการคัดลอก/วางภาพด้วย ทำงานในเบราว์เซอร์ล้วน ๆ ไม่มีแบ็กเอนด์ และไม่แนะนำบนมือถือ
ตอนแรกคาดว่าจะเป็นอะไรอ่านเบา ๆ แต่กลับเป็นบทความที่ยาวพอสมควร เลยแอบสกิมระหว่างทำงาน ไว้จะกลับมาอีกทีเพื่อทดลองหลาย ๆ อย่าง เป็นบทความที่ทำออกมาได้ดีมากจริง ๆ
คิดว่าบทความเขียนได้ดีมาก อยากรู้ว่าระบบการลำดับเลขแบบ "middle out" ถูกคิดขึ้นมาได้อย่างไร เวลาแก้ปัญหาคณิตศาสตร์คนเดียวมักไม่ค่อยมีไอเดียที่สร้างแรงบันดาลใจแบบนี้โผล่มา
อ่านไปอย่างเพลิน ๆ แล้วก็นึก L-system สำหรับวาดแฟรกทัล "wallflower" ขึ้นมาได้ ดูได้ที่ลิงก์ https://onlinetools.com/math/l-system-generator?draw=AB&skip... แต่พอกลับมาคิดอีกทีก็อาจจะเป็นการสร้างแฟรกทัลอีกแบบหนึ่งก็ได้
บทความยอดเยี่ยมมาก เสียดายที่ไม่มีรูปตอนติดตั้งแฟรกทัลบนผนังจริง ๆ ลิงก์วิดีโอของ Knuth ก็ดีมาก แต่แปลกใจที่ไม่เคยรู้จักมาก่อนเลย
สงสัยว่าวิธีคล้าย ๆ กันนี้จะนำไปใช้สร้างแพตเทิร์น dithering ที่ปรับรายละเอียดได้หรือไม่
ชอบบทความนี้มาก และขอแนะนำ Heighway dragon ที่โด่งดังจาก Jurassic Park ว่าก็เท่มากเช่นกัน https://en.m.wikipedia.org/wiki/Dragon_curve
ดูคล้ายใบพัดอยู่นิดหน่อย
เป็นประสบการณ์ที่สนุกมาก