• Solution #1: NxN matrix의 좌하단에서 우상단으로 가는 방법의 수

    앞서 포스팅한 Quiz: NxN matrix의 좌하단에서 우상단으로 가는 방법의 수의 첫번째 솔루션입니다. 이 방법은 완벽한 정답을 구하는 것은 아니고, Monte Carlo Method를 통해 근사치만 구합니다. 물론 Knuth가 Selected Papers on Computer Science에서 설명한 방법입니다. 다음과 같이 3×3 matrix가 있다고 하겠습니다. 이때, 최초 출발점 좌하단에서 임의의 방향으로 한 칸 이동합니다. 최초 이동 가능 방향은 U(위), R(우측)…

    Tags:

  • Improvement

    앞서 array의 0번째 item을 sentinel로 사용한 sequential scan이라는 글에서 배열의 0번째 요소에 검색 대상을 미리 저장해둠으로써 sequential scan의 성능을 향상 시키는 방법에 대해서 말씀드렸습니다. 이에 대해 trax님이 100만개를 관리할 때의 효율이 중요할까?라는 글을 남기셔서 한말씀 적고자 합니다. Douglas E. Comer라는 퍼듀 대학의 교수는 How To Criticize Computer Scientists or Avoiding Ineffective Deprecation And Making Insults…

    Tags:

  • 디자인 업그레이드!

    바꿔봤습니다. 가로로 길어서 내용을 입력하기 편한게 제가 제일 선호하는 형태죠.. Valid XHTML은 아닐겁니다만, 크로스 브라우징은 잘 됩니다. IE에서는 따옴표 폰트가 깨지던데, 제가 신경쓸바 아니죠, 흐흐. Too Good for IE 니까요! 실은 농담입니다;;; 버그 못잡겠어요, 왜 폰트가 깨지는지. 어쨌든 코드에 따옴표 정도는 깨져도 큰 문제는 없을겁니다. 폰트는 인쇄는 Arial을 선호합니다만, 폰트로는 프리젠테이션할 때 제일 좋아하는 Tahoma를…

    Tags:

  • Quiz: NxN matrix의 좌하단에서 우상단으로 가는 방법의 수

    matrix가 있습니다. 이 때, 좌하단점에서 우상단으로 가는 방법의 수는 몇가지일까요? 단, 같은 점은 2회 방문할 수 없습니다. 예를 들어 인 matrix는 m[0,0], m[0,1], m[1,0], m[1,1]의 4개 위치가 있습니다. 이 때 출발점은 m[1,0]이고, 도착점은 m[0,1]입니다. 그러면 같은 점을 2회 방문하지 않고 출발점으로부터 도착점으로 가는 방법의 수는 (1) m[1,0] -> m[0,0] -> m[0,1] (2) m[1,0] -> m[1,1]…

    Tags:

  • Monte Carlo simulations: Sampling from probability density functions

    Monte Carlo Method의 정의는 다음과 같습니다. A numerical modeling procedure that makes use of random numbers to simulate processes that involve an element of chance. In Monte Carlo simulation, a particular experiment is repeated many times with different randomly determined data to allow statistical conclusions to be drawn. http://amsglossary.allenpress.com/glossary/browse 여기서는 평균 0, 분산 1인 Gaussian…

    Tags:

  • array의 0번째 item을 sentinel로 사용한 sequential scan

    Knuth는 그의 책 Selected Papers on Computer Science에서 array[0]을 sentinel로 사용하는 sequential scan의 개선안에 대해 이야기했습니다. (그리고 제 기억이 맞다면 TAOCP 1권에도 이 내용이 나옵니다.) sequential scan은 다음과 같이 이루어집니다. INPUT: 검색할 값 TARGET, 검색할 대상인 array, array내 원소의 수 n 1. i = n 2. If i = 0, report “NOT FOUND” and terminate…

    Tags:

  • IT EXPERT, 리눅스 커널 프로그래밍

    http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200612180006 주요 내용은 다음과 같습니다. 1장. 리눅스 커널 프로그래밍 환경 구축 리눅스의 소스 코드를 가져다가 컴파일하는 것부터 시작해서 자신만의 리눅스를 만드는 것은 그리 만만한 일이 아닙니다. 그래서 리눅스를 좀더 쉽게 설치할 수 있도록 만들기 시작한 것이 배포판입니다. 1장에서는 리눅스 배포판에 대해서 살펴보고, 다양한 배포판 중에 한 가지를 선택해서 리눅스를 직접 설치해 봅니다. 2장. 커널 컴파일…

    Tags:

  • Selected Papers on Computer Science

    Selected Papers on Computer Science 논문도 다 썼겠다 놀면서 요즘 읽는 책입니다. This book assembles under one roof all of the things I’ve written about computer science for people who aren’t necessarily specialists in the subject—for scientists and mathematicians in general, and for educated people in all fields. I’m grateful for this opportunity to put…

    Tags:

  • How to do Research At the MIT AI Lab

    http://www.cs.indiana.edu/mit.research.how.to.html 왜 이 글이 indiana.edu에 있을까;

    Tags:

  • Builder Pattern

    http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-1512.html 자바는 생성자에 값을 넘겨줄때 position 으로만 각 값을 어느 변수에 저장할지 결정할 수 있습니다. 그래서 n개의 변수가 클래스에 존재하는데, 이 각각의 변수에 값을 넘길까 말까의 여부가 사전에 결정되지 않는다면, 그런 모든 경우를 수용하기위해서는 2^n가지 생성자가 필요하죠. 그럼 이를 어떻게 해결하는가. class Builder { private final int DEFAULT_VALUE = -1; private int a = DEFAULT_VALUE;…

    Tags: