- 호텔
당시에 Andromeda Gold Suite 라는 이름의 호텔이었는데
그 후 이름이 바뀌었는지 검색이 되지 않고 현재는 Gold Suites 이라는 이름인 듯
- 전망
- 내부
전체적으로 아주 좋은 시설.
언덕을 파서 만든 구조다보니 테라스 외에는 창문이 없어 약간 답답하긴 하다.
아마 이 근처 호텔들이 대부분 그럴 듯.
- 조식
조식은 전날 저녁에 원하는 옵션을 선택하면 아침에 테라스에 차려준다.
- 호텔에 있는 수영장
원문 링크: http://dx.doi.org/10.1080/00031305.2016.1154108
원래 Gnu Emacs에서 기본적으로 ange ftp를 통해 원격 파일 편집을 할 수 있는데 윈도우(7)에서는 문제가 있는 듯
윈도우에 기본적으로 있는 ftp가 이맥스와 뭔가 안 맞는지 ftp 접속할 때 암호를 입력하면 그대로 정지해 버리는 현상 발생
이런 경우 ftp://ftp.gnu.org/old-gnu/emacs/windows/contrib/ftp-for-win32.zip 를 내려받아 실행파일을 적당한 위치에 넣고 .emacs에 다음과 같이 추가하면 ange ftp가 정상적으로 작동함
(setq ange-ftp-ftp-program-name “새로 받은 ftp 실행파일의 위치”)
의외로 QuantLib에 기반한 샘플 코드를 구하기 쉽지 않다.
아래는 QuantLib의 Sobol 난수를 사용한 Monte Carlo Option Pricing의 예로,
QuantLib으로 Sobol Sequence를 생성하는 기능을 활용하기 위함.
컴파일 환경: Visual Studio 2010 Express + Boost 1.47 +
QuantLib 1.1
1 #include<cmath>
2 #include<ql/quantlib.hpp>
3
4 using namespace QuantLib;
5
6 int main() {
7
8 const double PI = 3.141592653589793238462;
9
10 int nSim = 100000;
11 double underlying = 36;
12 double strike = 40;
13 double dividendYield = 0.00;
14 double riskFreeRate = 0.06;
15 double volatility = 0.20;
16 double maturity = 1;
17 unsigned type = 1; // call: 0, put: 1
18
19 double dt = maturity;
20 double s = 0;
21
22 double payoff;
23 double price = 0;
24
25 SobolRsg sobolGen(2);
26 std::vector<Real> sampleSobol(sobolGen.dimension());
27 //sobolGen.skipTo(4096);
28
29 for(int i = 0; i < nSim; i++) {
30
31 sampleSobol = sobolGen.nextSequence().value;
32
33 double d0 = sampleSobol[0];
34 double d1 = sampleSobol[1];
35 // Box-Muller
36 double d2 = sqrt(-2 * log(d0)) * cos(2 * PI * d1);
37
38 //std::cout << d2 << “, “;
39
40 s = underlying * exp((riskFreeRate – dividendYield – 0.5 * volatility * volatility) * dt
41 + volatility * d2 * sqrt(dt));
42
43 if(type==0) {
44 if(s > strike) {
45 payoff = s – strike;
46 } else {
47 payoff = 0;
48 }
49 } else {
50 if(s < strike) {
51 payoff = strike – s;
52 } else {
53 payoff = 0;
54 }
55 }
56
57 price += payoff;
58 }
59
60 price /= nSim;
61 price *= exp(-riskFreeRate * maturity);
62
63 std::cout << price << std::endl;
64
65 }
”’
Created on 2011. 8. 20.
@author: “Hur, Suhkjin”
”’
import csv
import cx_Oracle
connection = cx_Oracle.connect(“user”, “pass”, “XXX.XXX.XXX.XXX:1521/ORCL”)
cursor = connection.cursor()
# list of tables
sql = “select * from tab”
cursor.execute(sql)
tab_names = []
for row_data in cursor:
tab_names.append(row_data[0])
# ‘w’ -> extra carriage returns
outputFile = open(‘acc_tables.csv’,’wb’)
output = csv.writer(outputFile, dialect=’excel’)
for tab_name in tab_names:
if tab_name.startswith(‘ACC’): # filter the table names
cursor.execute(“””
select T.COLUMN_ID, C.COLUMN_NAME, C.COMMENTS, T.DATA_TYPE,
T.DATA_LENGTH, T.NULLABLE, T.DATA_DEFAULT
from USER_TAB_COLUMNS T, USER_COL_COMMENTS C
where T.TABLE_NAME = ‘””” + tab_name + “””‘
and C.TABLE_NAME = T.TABLE_NAME
and T.COLUMN_NAME = C.COLUMN_NAME
ORDER BY COLUMN_ID”””)
# table name
output.writerow([tab_name])
# column descriptions
cols = []
for col in cursor.description:
cols.append(col[0])
output.writerow(cols)
# one row at a time
for row_data in cursor:
output.writerow(row_data)
output.writerow(‘\n’)
outputFile.close()
cursor.close()
connection.close()
################################################################################
ACC_XXX | ||||||
COLUMN_ID | COLUMN_NAME | COMMENTS | DATA_TYPE | DATA_LENGTH | NULLABLE | DATA_DEFAULT |
1 | DT | 기준일 | CHAR | 8 | N | |
2 | ACCOUNT_UUID | 계좌 UUID | VARCHAR2 | 36 | N | |
3 | PAR_VAL | 액면 가격 | NUMBER | 22 | N |
대한민국 직업군인들의 사고 처리 방식은 매우 전형적이라, 대부분 안 봐도 비디오다. 다음은 S S 밴 다인의 “벤슨 살인 사건” 중에서.
“이 보게,” 하고 밴스는 아무런 느낌 같은 것은 없는 나른한 어조로 설명하기 시작했다. “나는 말일세, 자네가 말하는 정황증거라든가 물적증거가 얼마나 시시한 것인가를 자네에게 실증해 보이고 싶었다네. 플래트 부인에 대해 내가 한 얘기는 자랑할 수 있을 만큼 잘 짜여져 있다고 생각하네. 이런 것으로써 자네는 그 여자를 유죄로 만들 수도 있다고 확신해. 그러나 자네의 고매한 법률이론과 마찬가지로 이것은 겉만 그럴 듯할 뿐 잘못된 것일세……정황증거처럼 어리석은 것도 없거든. 그 이론은 현대의 민주주의 이론과도 비슷하다네. 민주주의 이론은 선거에서 무식한 표를 긁어모으면 지혜가 생긴다는 데 근거를 두고 있지. 정황증거의 이론은 약한 인과관계를 충분한 숫자만큼 모으면 강한 연결고리가 된다고 하는 점에 바탕을 두고 있잖은가?”
“자네가 오늘 나를 이리로 부른 것은 — ” 하고 매컴이 차디찬 목소리로 물었다. “법률론을 강의하기 위해서였나?”
“아니 아니, 천만에!” 하고 밴스는 유쾌한 듯 말했다. “다만 내 해명을 받아들이게 하자면 사전준비부터 해야겠기 때문이었네. 진범에 대한 물적 또는 정황증거라는 것을 나는 하나도 가지고 있지 않다네. 그런데도 나는 자네가 그 의자에 앉아서 어떻게 하면 처벌받지 않고 나를 고문하고 죽일 수 있을까 골똘히 생각하고 있다는 것을 아는 것처럼, 누가 진범인지도 확실하게 알고 있다네.”
“증거가 없는데 어떻게 결론 내릴 수 있다는 건가?” 매컴의 목소리는 화가 잔뜩 나 있었다.
“주로 심리분석에 의해서지 — 각 개인이 저마다 지닌 가능성의 과학이라고 해도 좋을 걸세. 인간의 심리적 본성에는, 그것을 꿰뚫어볼 수 있는 사람에게라면, 헤스터 프린의 주홍글씨만큼이나 뚜렷한 낙인이 찍혀 있다네……하긴 나는 호손의 작품은 읽지 않네만, 내게는 뉴잉글랜드 기질이 맞지 않거든.”
이 책을 처음 접한지 십여년. 흥미를 잃은지는 오래됐지만 항상 끝내지 못한게 짐이었는데 이제 그 짐을 덜며 서평을 쓴다.
G?del, Escher, Bach: An Eternal Golden Braid
Douglas R. Hofstadter
ISBN : 0465026567
(한글번역)
괴델 에셔 바흐
더글러스 호프스태터 (옮긴이 : 박여성)
ISBN : 8972912301 (상), 897291231X (하)
“괴델, 에셔, 바흐”는 저자가 20주년 기념판의 서문에서 도대체 무엇에 관한 책인가를 설명하고 있을 정도로 오해가 많은 책이다. 내가 보기에 이것은 단지 독자들의 이해력이 부족해서만이 아니라 책에서 다루고 있는 주제가 다양할 뿐만 아니라 설명방식 또한 이해하기 어렵기 때문인 것 같다.
우선 이 서평을 계속 읽어야 할 지 말 지를 결정하는데 도움을 주기 위하여 이 책이 무엇에 관한 것인가를 따지기에 앞서 무엇에 관하지 않은 것인가를 말하는 것이 좋겠다. 혼란은 제목에서부터 시작된다. 왜냐하면 이 책은 괴델, 에셔, 혹은 바흐에 대해 설명하기 위한 목적을 가진 것이 아니기 때문이다. 물론 이 사람들의 작업에 대해 많은 분량을 (그리고 자주) 할애하고는 있지만 그것은 어디까지나 저자가 의도하는 논의를 진행시키기 위해 필요한 예비적인 지식이기 때문이거나 그것과 유사성을 보여주기 위함일 뿐, 이 책의 주제 그 자체인 것은 아니다. 특히 에셔나 바흐의 작품들은, 괴델의 이론이 논의를 하는 데 필수적인 것에 반해, 이 책에서 그리 중요한 위치를 차지하고 있지는 않다. 단지 그것들이 저자의 사상과 유사성을 보이기 때문에 등장할 뿐이다.
그렇다면 이 책은 무엇에 관한 것인가? 앞에서 말했듯이 다양한 주제들이 등장하기 때문에 “이것뿐이다”라고 할 수는 없지만 저자가 핵심적으로 다루고 있는 주제는 괴델의 불완전성 정리에서 나타나는 이상한 자기 참조적인 진술과 관련해서 생명체의 지능과 그 위계질서를 분석하려는 것이다. 이 때문에 저자는 괴델의 정리 뿐 아니라 DNA, 인공지능과 같은 것들까지 설명해야 했다. 그런데 과학의 테두리를 벗어나지 않을 것 같은 이 논의는 후반으로 가면서 인식론과 철학은 물론 신학적인 성격까지 띠게 된다. 따라서 책 전체로 볼 때, 과학에 관한 내용이라고 할 수는 없으며 독자들도 어떤 확증적인 결말 같은 것은 기대하지 말아야 할 것이다. 특히 쓰여진 지 20여년이 지난 지금, 과학적인 접근을 위해서는 더 좋은 자료들이 나와있지 않을까 싶다. 그보다 이 책의 가치는 그 철학적, 문학적(이 책은 기발한 언어유희로 가득 차 있다.)인 측면에 있다고 본다.
끝으로 단지 괴델의 불완전성 정리에 관심이 있는 독자들에게 한마디. 당신이 이 부류라면 처음부터 14장까지만을 읽음으로써 목적을 달성할 수도 있을 것이다. 하지만 그럴 경우, 저자의 장황한 설명방식과 수리 논리학 외적인 내용들 탓에 1부 (Part I) 대부분은 너무 지루하리라 생각된다. 그렇기 때문에 이 책 보다는 저자도 언급한 Ernest Nagel 과 James R. Newman 의 “G?del’s Proof” 를 추천한다. 한국어 번역도 있슴.