aco

잡기 2003. 11. 22. 01:50
머리를 깎으러 갔다. 머리숱이 많아서 늘 고민이다. 맞은편 거울을 통해 먼저 머리를 깎은 친구가 히히 웃으며 뭐라고 알 수 없는 말을 중얼거렸다. 나도 히히히 웃었다. 엄마가 그를 데려왔다. 삼십은 되어 보이는 그는 정신박약인 듯 싶었다. 레서, 오드, 아웃사이더는 날 보면 왠일인지 웃어주곤 했었다. 애들은 웃지 않았다. 여성은 표현을 자제했다. 돌이켜 생각해보면 정상적인 사람들과 별로 웃을 일이 없었다. 그들은 그렇지 못한 자들보다 소름끼치는 구석이 있었다. 최소한 푸어, 레서, 오드, 디프레스드, 호프레스, 강아지들은 내가 정상인보다 견디기 쉬운 존재라는 것을 직감적으로 아는 것 같다. 나는 푸어, 레서, 오드, 디프레스드, 호프레스에다가 스켑티컬, 타이어드, 페시미스틱, 컨템플레이티드, 릴럭탄트 등등의 특징이 더해져 있었다. 십년이 지나면 지금 상태에서 루즌, 슬러기시, 글루미, 리플렉티브 등등이 추가되어 정서적으로 더 바랄 나위 없이 완벽해질 전망이다.

하늘은 썩 맑았다. 바람이 심하게 불었다. 원치 않는 바람 머리를 하고 거리를 이리저리 헤맸다. 식당을 찾고 있었다. 얼핏 지하철역 입구 표지판을 보고 올리브 파스타를 찾아갔다. 손님은 나 혼자 뿐이었다. 프랑스 여자의 신음소리를 들으며 9500원 짜리 알프레도 스파게티를 천천히 먹었다. 누가 봐도 나는 음식을 맛없게 먹는 족속에 속했다. 맛이 있다고 해도 죽상을 하고 밥을 먹었다. 밥을 먹으면서 여러 가지 생각을 골똘히 했다. 식사 시간 외에는 '나'에 관해 생각할 시간이 없었다. '나'에 관해 생각하면 할수록 음식맛은 형편없어졌다. 고개를 들고 창 밖으로 골목길로 지나가는 사람들을 보았다. 벌떡 일어섰다. 샤베트를 거절하고 지불한 다음 황급히 나왔다. 입 안이 텁텁했다. 포도주 한 잔 하고 싶었지만 그럴 시간이 없었다.

지하철을 타고 가면서 블로그를 작성했다.

사무실에서 하릴없는 일들로 시간을 보내고 열 시까지 64비트 타입과 연산자들을 컴파일러/인터프리터에 추가했다. win32에 unsigned __int64 형이 없어서 시시한 트릭을 사용했다. 리눅스에서는 unsigned long long 타입이 가능했다. 128비트도 필요하지만 long long very long형은 없는 듯 싶었다. 항상 비표준의 무답지를 막무가내로 달려가는 win32에는 strtoull 함수조차 없었다. (vc6에만 없는걸까?) 어쨌거나 이제는 네이티브 코드로 64비트 you와 8비트 i 사이에 i = you & i 연산이 가능하다. 언제나 you에게 감사한다. 나를 explicit하게 64비트로 만들어줘서. 생각난 김에 예스가 천사같은 목소리로 부르는 you and i를 감상해 보자. Yes, Close to the Edge, you and i(10:09)

A man conceived a moment's answers to the dream.
Staying the flowers daily, sensing all the themes.
As a foundation left to create the spiral aim,
A movement regained and regarded both the same,
All complete in the sight of seeds of life with you.
Changed only for a sight of sound, the space agreed.
Between the picture of time behind the face of need,
Coming quickly to terms of all expression laid, <-- 64bit가 가능해졌다는 뜻.
Emotion revealed as the ocean maid,
All complete in the sight of seeds of life with you. <-- 64bit가 가능해서 인생이 그만큼 완전해 졌다는 뜻.
...
sign at the time float your climb.
Watching the world, watching all of the world,
Watching us go by. <-- 64bit의 새로운 세계로 의기양양하게 나아가자는 뜻.

And you and I climb over the sea to the valley,
And you and I reached out for reasons to call. <-- 64비트 you and i는 살아가아할, 서로에게 기댈, 이유가 생겼다는 뜻.

you가 64bit wide expression으로 웃지 못한다면 내가 정신박약아처럼 웃어줄께. 난 그거 하나만큼은 기차게 잘해.

blob (binary large object) 타입의 일부 구현을 구상했다. 젊은 처녀 따먹기 같은, 예전이라면 흥미진진했을 게임이 요새는 도저히 흥미가 안 생겼다. 늙은건가? 할 일 없고 심심할 땐 머리속에서 스펙을 만들고 프로그래밍을 하는 것이 바람직해 보였다. 그렇게 해서 즐거이 자동 삽질 모드로 들어섰다. 왠지 모르겠지만 눈을 감으면 늘 지평선이 보였다. 그래서 혼자 있을 때면 정신병자처럼 실룩실룩 웃고는 했다.

Ant Colony Optimization는 GA의 적자인 것 같은데, 유전자의 교배를 룰렛 형태로 하고 있었다. 전형적인 np-complete 중에 하나인 tsp에서 aco가 보이는 성능에 뜨악했다. 페로몬에 의한 경험적 패쓰의 확률적 '강화'가 어쩐지 nn 모델을 닮았다. 시간 나면 차분히 뒤져볼까? 하지만 어디 써먹지? 어디 써먹을까. 어디에 써먹을지부터 곰곰히 생각해 봐야겠다. 어쩌면 게임의 mob 디자인에 써먹을 수 있을 것 같았다. aco 알고리즘을 적용한 경찰이 쫓기고 있는 주인공을 고양이 쥐 몰듯이 귀신같이 잡아 족친다던가... 학습을 통해 우주전에서 연승가도를 달리며 희희낙낙하는 주인공 우주선을 한 치의 자비심이나 동정 없이 때려 부숴 의기소침하게 만든다거나... 그나저나 집에 설치해 놓은 개미컴벳 때문에 개미가 눈에 띄지 않았다.

겨울이 다가오고 있다.
,