분류 전체보기 221

ch 5. backtracking (되추적법)

Backtracking (되추적법) (사전 설명) Depth-First Search (깊이우선 탐색)Root 노드 선 방문 후, 그 후 자식 노드를 차례대로 방문 (Pre-order tree traversal) n-Queen problem(n=4) 4-Queens Problem : 4개의 Queen을 서로 상대방을 위협하지 않도록 4x4 체스판에 두는 문제. 4-queen 문제에 대한 상태 공간 트리 (모든 경우를 표시) 서로 상대방을 위협하지 않기 위해서, 같은 행/열/대각선 상에 위치하지 않아야 함.Brute-force Approach : 각 Queen을 각각 다른 행에 할당한 후, 차례로 점검.State Space Tree (상태공간트리) 를 이용root 노드에서 leaf 노드까지의 경로를 cand..

Computers/Algorithm 2016.05.18

ch 4. 탐욕적 접근법 (greedy approach)

다이나믹 프로그래밍의 단점 --> 인스턴스를 더 작은 인스턴스로 쪼개어 재귀적으로 무제 해결최적화 문제를 푸는데 적합. 최적화 원칙이 적용되는지를 점검해보기만 하면 됨그러나 때로는 불필요하게 복잡. 0-1 Knapsack 해결 가능. ★ 탐욕적 접근법: 해당 단계에서 최적의 해를 구함 (locally optimal) 결정해야 하는 단계마다 최적의 해를 구하여, 최종적으로도 해답에 도달하고자 함허나, 반드시 local에서의 최적의 해가 global 에서의 최적의 해라고 보장할 수 없음 (항상 최적의 해답인지 검증이 필요함)최적화 문제를 푸는데 적합. 알고리즘이 존재할 경우 효율적. 알고리즘이 최적인지 증명해야함. Knapsack 문제는 풀지만, 0-1 Knapsack 문제는 풀 수 없음. 탐욕적 접근법의 ..

Computers/Algorithm 2016.05.18

용어 정리

CRM (Customer Relationship Management, 고객 관계 관리) : CRM은 고객접점에서 마케팅 커뮤니케이션 과정상 생성되는 각종 데이터를 컴퓨터(시스템)와 연계하여 데이터 베이스를 구축하여 고객을 분류하고 모델링 및 스코어링을 실현시켜 현업의 데이터베이스마케팅 분석가나 마케팅 실행자가 실제적인 고객행동 데이터를 기초로 고객과의 관계개선은 물론 마케팅의사결정을 지원하는 것이다. MKS(마케팅 관리 시스템)PMS(프로젝트 관리 시스템)CMS(자금 관리 시스템) HTS(Home Trading System) : 투자자가 증권회사에 가거나 전화를 이용하지 않고 가정이나 직장에서 컴퓨터를 이용해 주식매매 주문을 내는 시스템 WTS(Web Trading System) : 홈페이지에서도 HTS..

NOWS/MEMO 2016.03.30

ESM vs. NMS, SMS

EMS(Enterprise Security Management) 통합 보안 관리 시스템==> SMS와 NMS를 연계하여 네트웤부터 시스템 리소스를 전사적으로 관리 NMS(Network Management System) - 네트워크 기반 모니터링 시스템 SMS(Server Management System) - NMS를 세분화하여, 네트워크 모니터링과 더불어, 시스템의 상태를 서버별로 확인하고 관리하는 시스템 참고링크 : http://blog.naver.com/PostView.nhn?blogId=0210212&logNo=140050994200

NOWS/MEMO 2016.03.30

은행가 알고리즘

운영체제의 교착상태에 대처하는 방법은 크게 3가지가 있다.교착상태를 발생시키지 않는 것교착상태 발생 후 회복하는 것교착상태를 방지하는 것 이 중에서도, 발생시키지 않는 것은 다시 예방과 회피의 방법으로 나뉜다.예방 --> 교착상태의 발생 조건이 만족되지 않도록 함cf. 교착상태 발생 조건상호배재 (mutual exclusion)점유/대기 (hold and wait)비선점 (no preemption)순환대기 (circular wait)회피 --> 현재 및 미래에 교착상태가 발생하지 않도록 자원할당을 함 은행가 알고리즘은 교착상태 회피 방법 중 하나이다. (deadlock avoidance)교착 상태를 회피하는 것은, 미래의 자원 사용을 파악하여 순환대기 조건이 만족되지 않도록 하는 것이다. 참고 링크 - ..

Computers/Algorithm 2016.03.30

ch 3. 동적 프로그래밍 (dynamic programming)

동적 프로그래밍 (dynamic programming)분할 정복법과 유사문제를 더 작은 단위로 분할작은 단위를 먼저 해결하고, 결과를 저장하고, 후에 결과가 필요할 때 재계산 하지 않고 결과를 찾아다 씀 상향식 (Bottom Up)작은 단위로 나뉘어진 것들이 상관관계가 있는 경우 적합 (Ex. 반복적 피보나치)재귀적 관계식을 세워서 상향식으로 해결! 이항계수 구하기 (Binomial Coefficient)기본공식 관계식으로 표현된 식 분할정복법으로 구하게 되면 재귀 호출을 수행해야함동적 프로그래밍 설계 전략1단계 : 재귀 관계식 정립 2차원 배열을 만들어서 각 인덱스에 해당하는 값을 저장하여 그 다음 관계식에서 활용2단계 : 상향식 방법으로 문제 해결알고리즘 int bin2(int n, int k) { ..

Computers/Algorithm 2016.03.25

ch 3. 분할 정복법 (divide-and-conquer)

분할 정복법 (divide-and-conquer)분할 => 해결하기 쉽도록, 문제를 여러개의 작은 부분으로 나눔정복 => 작게 나뉘어진 문제를 해결통합 => 필요에 따라 해결된 답을 모음==>> 하향식(Top-down) 접근법 Binary search using recursive method (이분검색, 재귀알고리즘)문제 : 크기가 n인 정렬된 배열에서 x가 있는지 결정하기입력 : 비내림차순으로 정렬된 배열(1~n), 찾고자하는 항목(x)출력 : x가 존재할 경우 해당 위치, 없는 경우 0 #include int goal; int array[10]={1,2,3,4,5,6,7,8,9,10}; int location(int start, int end) { int mid; if(start > end) retu..

Computers/Algorithm 2016.03.24