제목을 보고... 어... 너는 어디 팔라딘이냐? 나는 아시아섭 바바리안인데... 이런 생각을 하신 분이 계시다면... 본인이 중독이 아닌가 한번 고려해 보실 때입니다. 중독성이 심한 오락입니다. 

Palindrome이란 回文이라고 번역하는데... 앞뒤로 읽어도 똑같은 겁니다.
{{|
'Doc, note. I dissent. A fast never prevents a fatness. I diet on cod.'
(의사양반, 들어봐요. 나는 반대요. 금식은 절대 비만을 방지하지 못하오. 나는 대구로 다이어트를 한다오.)
|}}
'Doc, note. I dissent. A fast never prevents a fatness. I diet on cod.'
(의사양반, 들어봐요. 나는 반대요. 금식은 절대 비만을 방지하지 못하오. 나는 대구로 다이어트를 한다오.)
|}}
한글로도 가능합니다.
{{|
'가련하시다 사장집 아들딸들아 집장사 다시하련가'
|}}
'가련하시다 사장집 아들딸들아 집장사 다시하련가'
|}}
상상력이 멋지지 않습니까?
그런데... 이러한 문장들을 컴퓨터가 이해할 수 있을까요? 가능합니다. Push-down automata 라는 걸 이용해서 가능하답니다. 이론적 배경은 NoamChomsky가 만들었습니다. 촘스키 hierarchy 중 context-free grammar 의 차원에서 다루어집니다.
최근에는 RNA 구조를 예측하고 설명하기 위해서... 이런 것들이 쓰여지고 있답니다. RNA 가 양측이 대칭이 되면서... 서로 접히는 구조를 가지기 때문이랍니다.
한가지 생각해 보고 싶은 것은... 한문으로 이 정도 긴 palindrome 이 가능할까요? 난 안된다고 봐요. 언어가 인간의 상상력을 한정할 수 있다는 걸 알 수 있는 부분이 아닐까요?
여기까지는 논리적인 layer에서 한 얘기고... 비논리적인 layer 로 들어가보면...
영어권 사람들이 주문이라고 외는게 뭔지 아십니까?
서양 사람들은 palindrome 에 뭔가 신비한 힘이 있다고 생각했다고 합니다. 우리나라 사람들이 주문이라고 욀 때는 주로... 수리수리 마하수리... 이걸 하죠. 원래 이것은 불교에서 淨口業眞言이라고 해서 말로 만든 카르마를 없애주는 만트라랍니다.
이것도 좀 parindrome 과 비슷한 면이 없지 않죠. 어떤 특별한 규칙성을 가지고 repeat 되는 音에 의미를 둔 것이 아닌가 싶네요. 만트라에 관한 얘기들은... 기회가 있다면... 다음에..
--지상은
흠.. 재미있네요... 위의 주문은 소리가 마치 '아브라카다브라'같기도 하고... 근데.. 이게 모지?? 내가 이걸 어디서 주워듣고 외웠을까...
오.. 방금 찾아보니.. '아브라카다브라'가 주문이 맞긴 맞나봐요..^^;
첨엔 지상은님이 위에 쓰신 철자가 좀 달라서 제가 말하는 거랑 그 두 개가 전혀 다른 거라고 생각했었는데 결국 지상은님이 말씀하신 거랑 내가 말한 거랑 같은 것같죠.. 그런데 그렇다면 아브라카다브라하고 palindrome은 정작 별 상관이 없는 것일 수도 있겠다는 생각이... --우산
위에 쓴 영어 주문은 저도 예전 책에서 본 것을 기억으로 회상한 것이라... 자신이 없네요. 아브라카다브라와 비슷한 어원일 거라고 깊이 생각안하고 넘어간 건데... 우산님이 명확히 해 주셨네요. 사실 꼭 palindrome 이라서 그런 것은 아니겠지요...^^ 위키의 장점이 이런 거구나 느꼈어요. 하나의 주제에 대해서 feedback 이 존재하고... 링크가 걸리면서... 유사한 개념들이나 주제들로 확장되어 나가는 것이 마치 살아있는 생물체 같아 보이네요. 지상은
palindrome 의 예 하나를 더 찾았습니다. Restriction enzyme 이 DNA sequence 를 인지하여 자르는 부위는 palindrome 인 부분입니다. 너무 당연한 건데... 나만 몰랐나?
EcoRI으로 GAATTC CTTAAG 를 자르고 나면 G AATTC CTTAA 와 G 가 남게 됩니다.palindrome 에 집착하는 하나의 이유는... 자연계가 모두 대칭적이고 상보적인 어떤 것의 짝으로 이루어져 있다는 생각 때문입니다. 현대물리학에서도 그런 개념이 있구요. 제가 관심을 가지는 건 동양철학에서의 음양 개념 때문이지요.
그리고... 아브라카다브라와 palindrome 의 관계는... 우산님께서 정확한 지적을 해 주셨구요. 다만 개념을 확장시켜서 하나의 접근을 해 본다면... 아브라카다브라가 현재는 palindrome 이 아니지만... 과거의 조상 (언어의 경우에는 어원이 되겠네요.) 은 palindrome 에서 나왔을 가능성도 있을 수 있을 것 같습니다. 물론 아닐 수도 있지만요. 하지만 그건 일반적으로는 쉽게 알 수 있는 일이 아닐 수도 있기 때문에... 현재의 사실에만 근거한다면... 일반적인 수많은 단어들에 비해서 아브라카다브라가 얼만큼 더 palindrome 에 가까운지를 통계적으로 계산해 볼 필요가 있습니다. 이것은 stochastic context-free grammar 에 사용되는 inside algorithm 입니다. 전체 sequence에서 가능한 연속된 부분 sequence 들을 모두 잘라내고, 각각에 대해서 sequence 의 모든 위치에서 한번씩 접어서 대칭되는 상보성에 따라 일정한 점수를 준 다음, 이 점수들을 모두 더하면 inside algorithm 의 f score 가 나옵니다. 이것은 3차원 DynamicProgramming 의 일종으로서 어떤 sequence 가 palindrome 일 확률을 score 로 만든 것입니다. 계산해 보진 않았지만... 아브라카다브라도 좀 palindrome 일 가능성이 높은 sequence 에 해당되는 것 같습니다.
물론 여기서 아무리 확률이 높게 나왔다고 해서 그것이 palindrome 이다 아니다를 말할 수 있는 것은 아닙니다. 확률과 통계는 그 자체일 뿐이지 decision making 은 항상 판단자의 몫이니까요.
위에서 한 방법은 사실 실용적인 의미가 없지만, 이것이 생물체의 DNA 나 RNA sequence 일 경우에는 얘기가 틀립니다. 생물체의 sequence 는 계속 진화해 오고 있기 때문에 100% 어떤 것이다라고 말할 수 있는 경우는 거의 없고... 모두 위의 방법을 사용해서 확률적인 접근이 필요합니다.