목록전체 글 (43)
백인감자
Solving Problems by Searching frontier(프론티어) : 확장되어지기를 기다리는 leaf node 들의 집합을 일컫는 말, open list 라고도 불린다. Tree-Search 방식(가장 일반적인 방식)을 이용해보자.위의 그림의 경우 (b) 의 기준에서 현재 Arad 에 있고 이 상태에서의 frontier 는 Arad 의 child nodes(3개)가 된다.(c) 의 경우 Sibiu 가 선택되었으므로 frontier에서 Sibiu 를 제거하고 그 child nodes(4개) 가 frontier 로 추가 된다.frontier 는 Timisoara, Zerind, Arad, Fagaras, Oradea, Rimnicu Vilcea 로 총 6개가 된다. 만약 다음 state 로 A..
Shift Cipher(Ceasar cipher)Julius Caesar’s cryptosystem 이라서 caesar cipher 라고도 불린다.key 값에 맞게 알파벳의 위치를 이동시켜 암호화 시키는 방식이다.ex. key= 3 이면 a ->D , b->E, ... 와 같은 방식으로 된다.*일반적으로 plaintext(평문) 는 소문자로 표기되고 ciphertext(암호문) 는 대문자로 표기된다. plaintext 가 대문자로 구성되어있다면 아래와 같이 하면 된다. (65는 'A' 의 아스키코드이다.)Enc: y=65 + (x -65 +κ) (mod 26)Dec: x=65 + (y -65 -κ) (mod 26) plaintext 가 소문자로 구성되어있다면 아래와 같이 하면 된다.(97은 'a' 의 아..
Euclidean 알고리즘 이란 유클리드 호제법(- 互除法, Euclidean algorithm)은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. ---출처 : 위키백과 Sage 에서의 구현 Euclidean 알고리즘은 워낙 유명해서 구글링을 통해..