อ ะ ไ ร สั ก อ ย่ า ง

อ ะ ไ ร สั ก อ ย่ า ง

มันต้องมีอะไรสักอย่างในจักรวาลนี้

ที่พลัดหลงไปจากมิติกาลเวลา

อะไรสักอย่างที่โคลัมบัสและยูลิซีสตกสำรวจ

อะไรสักอย่างที่นักดาราศาสตร์กรีกและอาหรับมิได้ค้นพบ

อะไรสักอย่างที่ศาสดาของโลกลืมเทศนาสั่งสอน

อะไรสักอย่างที่ขาดหายไประหว่างหลุมดำ

 

มันต้องมีความผิดพลาดบางอย่างเกิดขึ้น

ระหว่างรอยต่อของเผ่าพันธุ์มนุษยชาติ

ที่พลัดหลงครั้งน้ำท่วมโลก

อะไรสักอย่างที่ไม่ได้ไปพร้อมกับเรือโนอาห์

อะไรสักอย่างที่พระคัมภีร์โบราณมิได้จารึก

อะไรสักอย่างที่นอสตราดรามุสคาดไม่ถึง

 

มันต้องมีความเข้าใจผิดบางอย่างบนโลกใบนี้

ที่สูญหายไปจากฐานข้อมูลของพลโลก

อะไรสักอย่างที่เพลโตไม่คาดคิด

อะไรสักอย่างที่นิทเช่ไม่ได้กล่าวถึง

อะไรสักอย่างที่ไอสไตน์มิได้คำนวณ

อะไรสักอย่างที่ขาดหายไป…

จากชิ้นส่วนของความทรงจำของมนุษยชาติ

….ซะการีย์ยา อมตยา….

เพลงเถื่อนแห่งสถาบัน

เพลงเถื่อนแห่งสถาบัน

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

วงกลมแห่งความตาย

จากที่มีคนถามปัญหาที่ http://www.pantip.com/cafe/wahkor/topic/X10570620/X10570620.html

มีชายหนึ่งล้านคนยืนกันเป็นวงกลม

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

 

เพื่อที่จะแก้ปัญหานี้แบบคนขี้เกียจผมก็ลองเขียนโปรแกรมโดยใช้ Mathematica ดูปรากฏว่าคำตอบที่ได้คือ

ต้องยืนที่ตำแหน่ง 951425

อันนี้โปรแกรมที่เขียนครับ

drp = Compile[{{ls, _Integer, 1}},
Select[ls, MemberQ[Drop[ls, {1, Length@ls, 2}], #] == False &]]

fn[ls_] :=
Module[{tmp}, tmp = drp[ls];(*Select[ls,MemberQ[Drop[ls,{1,Length@ls,
2}],#]==False&];*)
If[EvenQ[Length@ls], Developer`ToPackedArray@tmp,
Developer`ToPackedArray@RotateRight@tmp]
]

ls = Developer`ToPackedArray[Table[i, {i, 1, 10^6}]];

Nest[fn2, ls, 30]

{951425}

 

ซึ่งจริงๆแล้วปัญหานี้ก็คือรูปแบบหนึ่งของปัญหาที่เรียกว่า Josephus problem ครับ เราสามารถเขียนด้วย Mathematica

สั้นๆได้ตามนี้เลยครับ

Needs[“Combinatorica`”]
Last@InversePermutation[Josephus[10^6, 2]]
951425

 

ปล. อาจจะคำนวณนานหน่อยนะครับ 🙂

%d bloggers like this: