20:02 02/20 2002 .. the palindromic play
posted on 03 Dec 2005 00:20 by weerat in MusicNLanguagesI saw him for the first time
Peering furtively from behind a bush
Blackness that moved,
A shape amid the shadows,
A momentary glimpse of gleaming eyes
Revealed in the ragged moon.
A closer look (he seemed to turn) might have
Put him to flight forever
I dared not
(For reasons that I failed to understand),
Though I knew I should act at once.
I puzzled over it, hiding alone,
Watching the woman as she neared the gate.
He came, and I saw him crouching
Night after night.
Night after night
He came, and I saw him crouching,
Watching the woman as she neared the gate.
I puzzled over it, hiding alone
Though I knew I should act at once,
For reasons that I failed to understand
I dared not
Put him to flight forever.
A closer look (he seemed to turn) might have
Revealed in the ragged moon.
A momentary glimpse of gleaming eyes
A shape amid the shadows,
Blackness that moved.
Peering furtively from behind a bush,
I saw him for the first time,
Entering the lonely house with my wife.
/*เอ้า มาเข้าโหมดความรู้รอบตัวกันหน่อย*/
กลอนข้างบนนี้ชื่อ Doppelganger แต่งโดย James A. Lindon ครับ .. เห็นอะไรในกลอนนี้กันมั้ย? ..
.. ใช่แล้ว (เออดี ถามเองตอบเอง -_-) มันเป็น palindrome นั่นเอง แต่เป็นพาลินโดรมชนิดบรรทัดครับ คนที่เคยเรียนเขียนโปรแกรมอาจจะเคยผ่านโจทย์ที่เกี่ยวกับพาลินโดรมกันมาบ้างล่ะ วันนี้ผมเพิ่งจัดระเบียบฮาร์ดดิสแล้วไปเจอการบ้านของเมื่อสี่ห้าปีที่ก่อนที่ให้เขียนโปรแกรมเช็คพาลินโดรมพอดี ก็เลยเอามะพร้าวห้าวมาขายสวนกันหน่อยดีกว่า เผื่อมีใครไม่รู้จักไง ^^"
เห .. palindrome รึ?
palindrome นั้นถือกำเนิดมากว่า 2,000 ปีแล้วครับ คำว่า palindrome ก็มาจากภาษากรีกคำว่า palin ที่แปลว่า "อีกครั้ง" และ dromos ที่แปลว่า "วิ่ง" เมื่อรวมกันก็หมายถึงคำ กลุ่มคำ หรือประโยคที่ "ไม่ว่าจะเขียน (วิ่ง) จากหน้าไปหลัง หรือหลังไปหน้าก็จะได้คำเดียวกัน (อีกครั้ง)" หรืออีกนัยหนึ่งคือสมมาตรกันนั่นเอง ตัวอย่างเช่น ..
.. เป็นดอก .. (เป็นต้น!! .. ถึกโป๊ะ~ .. มุกเสี่ยวแต่อยากเล่น)
สมัยก่อนชาวกรีกโบราณมักจะเขียนประโยคว่า ΝΙΨΟΝΑΝΟΜΗΜΑΤΑΜΗΜΟΝΑΝΟΨΙΝ ที่ฐานน้ำพุ ซึ่งไอ้ประโยคนี้มันเอามาแบ่งได้ว่า Νίψον ανομήματα μη μόναν όψιν อ่านว่า นิปซอน อโนเมมาตา เม โมนัน ออปซิน .. ใครเคยเรียนสายวิทย์มาก็อาจจะคุ้นเคยกับการอ่านภาษากรีกกันนะครับ หรือถ้าใครไม่เคยผ่านภาษากรีกมาก่อนก็เทียบคร่าว ๆ ได้จากตารางข้างล่างนี้ครับ

ความหมายของมันก็คือ "ชำระบาปเฉกเช่นชำระล้างใบหน้า" และถ้าลองสังเกตดูจะเห็นว่าประโยคเนี้ยมันก็เป็นพาลินโดรม (ในเวอร์ชันภาษากรีก) เช่นกัน
ทีนี้ไอ้การที่มันจะเป็นพาลินโดรมเนี่ย มันก็มีได้หลายกรณีด้วยกันครับ เช่น ..
พาลินโดรมเป็นตัวอักษร
พาลินโดรมจากเสียงอ่าน
พาลินโดรมเป็นคำ
พาลินโดรมเป็นตัวเลข
พาลินโดรมจากวันที่และเวลา
พาลินโดรมเป็นบรรทัด
นอกจากภาษาอังกฤษแล้ว ภาษาอื่น ๆ ก็พาลินโดรมกันได้นะ เช่น .. (เอาเฉพาะภาษาที่ผมอ่านออกแล้วกัน ไม่งั้นเขียนคำอ่านไม่ถืก -"-)
เอสโตเนียน
No sees on!
โน เซส อน! (มันอยู่ข้างใน!)
ฝรั่งเศส
À Laval, elle l'avala.
อา ลาวาล แอล ลาวาลา (ที่เมืองลาวาล, เธอกลืนมันลงไป .. โคตรจะรู้เรื่องเลยพวก)
อิตาเลียน
I topi non avevano nipoti.
อิ โตปิ โนนาเววาโนนิโปติ (หนูไม่มีหนูรุ่นหลาน .. หนูจี๊ด ๆ นะ ไม่ใช่อีหนู)
โปรตุกีส
É a mãe!
เอยามายเย! (แม่เอ๊ย! .. อารมณ์ประมาณเดียวกับ เช้ดแม่! .. เอ่อ .. มันใช้อารมณ์นี้จริง ๆ นะคับ -_-)
สเปน
¡A tu padre, cerda puta!
อา ตู ป๊าเดร, เซรฺดา ปู๊ต่า!!!!!! (บิดาคุณสิครับ, คุณโสเภณี .. อ่า .. แปลเวอร์ชันไพเราะนะ ไม่งั้นมันจะหยาบเกิน -"-)
ไทย
กก, กนก, นอน (นี่ .. ง่ายปะเล่า~)
ละติน
อันนี้จะพิเศษหน่อย
Sator Arepo tenet opera rotas.
ซาโตรฺ อาเรโป เตเนตโตเปราโรตาส (แปลได้สองอย่างคือ คนสวนนามอาเรโปถือพวงมาลัยอย่างระมัดระวัง กับ อาเรโปจับคันไถเพื่อทำงาน)
ประโยคนี้เมื่อเอามาใส่ในตารางแบบนี้ ..

.. ก็จะสามารถอ่านได้ทั้งบนลงล่าง ล่างขึ้นบน ซ้ายไปขวา และขวาไปซ้ายนะครับ เราเรียกตารางนี้ว่า sator square ครับ
เป็น URL ก็มีนะฮะ
http://en.wikipedia.org/wiki/ikiw/gro.aidepikiw.ne//:ptth
หรือจะเป็นภาษา Ocaml (programming language ชนิดหนึ่ง)
type 'a elbatum = 'a ;;
type lol = bool ;;
type pop = int ;;
type b = { mutable lol : lol elbatum } ;;
type i = { mutable pop : pop elbatum } ;;
fun erongi lol pop n ->
pop.lol <- let nuf =
erongi ; fun erongi lol pop n -> pop.lol ; ignore
n in
erongi ; lol.pop <- n pop lol ignore nuf ; ignore
= fun tel -> lol.pop
<- n pop lol ignore nuf
;;
ภาษา C ก็มี๊ (programming language อีกชนิดหนึ่ง)
คลิกโลด (อันนี้เท่โคด ขอบอก)
.. และอื่น ๆ อีกมากมาย ..
อ้อ อีกอันนึงที่เจ๋งจริง ๆ คือพาลินโดรมแบบตัวอักษรทั้งบทความครับ .. มันจะเทพไปแล้ว อยากเห็นหน้าคนคิดว่ะครับ จะกราบงาม ๆ ซักสามเซ็ท เซ็ทละเจ็ดที -_-
นอกจากนี้ยังมีพาลินโดรมที่ยาวที่สุดในโลกอีก ซึ่งเป็นผลลัพธ์จากการรันโปรแกรมที่เขียนด้วยภาษา python ที่นาย Peter Norvig เขียนขึ้นมาเพื่อเฉลิมฉลองวันพาลินโดรม นั่นก็คือเวลา 20:02 ของเมื่อวันที่ 02/20 2002 ซึ่งเขียนได้ว่า 20:02 02/20 2002 นั่นเอง และวันนั้นก็เป็นวันที่ Nobuo Uematsu จัดคอนเสิร์ต Final Fantasy Orchestra ด้วยนะครับ (ไม่เกี่ยว!!)
พาลินโดรมที่โปรแกรมของนาย Peter หาออกมาได้คราวนั้นยาวถึง 63,647 ตัวอักษร และในปีถัดมา (2003) พี่แกก็เอาโปรแกรมเก่ามาโม ฯ นิดหน่อยทำให้ได้ผลลัพธ์ที่ทำลายสถิติของเก่าไปด้วยความยาว 72,046 ตัวอักษร เลยทีเดียว
คนเรานี่ก็ช่างสรรหาอะไรหนุก ๆ มาเล่นจริงเนอะ แถมมีให้เล่นกันทุกภาษาเลย อย่างภาษาญี่ปุ่นนี่มีเป็นชื่อเฉพาะของพาลินโดรมเลยนะ เค้าเรียกว่า ไคบุน (回文) ดูเป็นวัฒนธรรมร่วมดีนะครับ ไว้คราวหน้าถ้ามีอะไรหนุก ๆ อีกก็จะเอามาฝากกันครับผม (ใครหนุกกะเอ็ง?)

ภาพจาก Daily Telegraph (London), Thursday, February 21, 2002
ข้อมูลเพิ่มเติม:
ภาษากรีก: ibiblio.org
palindrome ในคณิตศาสตร์: mathworld.com
รวมคำ palindrome: palindromelist.com
เวบของ Peter Norvig: norvig.com
ตัวอย่างอื่น ๆ: wikipedia.org
/*จบโหมดความรู้รอบตัว ว่าแต่จะมีคนอ่านไหมนี่ -_-*/
อ่านแล้ว สมองีกซ้ายและขวาหยุดทำงาน
แต่ยังไงก้อจะพยายามอ่านอีกรอบ
#1 By - LittleMonkey - on 2005-12-03 00:56