목록전체 (43)
백인감자
Deap 라이브러리 이용한 griewank 함수 예제를 실행시키려한다.http://deap.readthedocs.io/en/master/api/benchmarks.html#deap.benchmarks.griewank 그냥 파이썬의 환경에서는 실행이 되지 않기 때문에 아래의 라이브러리들을 설치해야한다. 1. Deap 라이브러리 설치Python27\Scripts 경로에서 easy_install deap 명령어를 통해 라이브러리를 설치한다. 2. matplotlib 설치 - 그래프를 그리기 위해 필요한 라이브러리 https://sourceforge.net/projects/matplotlib/files/matplotlib/ 에 들어가서 본인의 운영체제에 맞게 설치한다.(32,64bit 따라 다름) 작성기준 환경..
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 알고리즘은 워낙 유명해서 구글링을 통해..
windows 사용자들이 Sage 를 사용하기 위한 환경구축 방법을 소개한다. 1. 가상머신인 virtual box 를 설치한다.linux 환경을 사용해본 사람들은 이미 vmware 가 설치되어 있겠지만 sage 공식페이지에서는 virtual box 를 사용하는 것을 추천하였다.https://www.virtualbox.org 에 들어가면 최신버전인 5.1 이 있을것인데 시도해본 결과 최신버전의 virtual box 에서 Sage 가상 이미지 파일을import 하여 실행시키는데 알 수 없는 오류가 발생해서 구글링 해보니 이전 버전으로 구동해보라 해서https://www.virtualbox.org/wiki/Download_Old_Builds_5_0 에서 5.0 버전을 설치하니깐 정상적으로 동작하였다. win..
https://www.draw.io 시스템의 알고리즘을 표현하기 위해 웹에서 flow chart 등을 그릴 때 유용한 도구 이다.google drive 나 onedrive 와도 연동이 되고 share 기능을 통해서 협업도 가능하기 때문에 편리한 것 같다. 화면 좌측에 있는 tool box 를 이용하여 원하는 모양의 box 를 drag & drop 을 통해 가져다 쓰고 관계를 표시하는 등 작업을 할 수 있다.처음 사용하는 사람들도 직관적으로 사용하기 쉽게 만들어놔서 자세한 설명은 생략한다. 원하는 파일이 다 만들어 지면 File 을 눌러서 Make a Copy 를 누르면 되고 현재 파일을 다른 사람과 공유하고 싶으면 Share 를 통해서초대 메일을 보낼 수 있다. Make a Copy를 하고 나면 원하는 ..
아는 지인을 통해서 프로그래밍 언어를 공부하는 앱이 있다고 해서 플레이스토어를 통해 코딩 혹은 코딩게임 이라는 키워드로검색해보니 SoloLearn 이라는 회사에서 프로그래밍에 대한 기초를 돕기 위해 많이 쓰이는 언어별로 공부할 수 있는 앱들이 있었습니다.제 경우에는 C++ 을 주로 사용하는 편인데 솔직히 기본적인 개념들에 대한 이해가 부족하다고 느꼈기 때문에 Learn C++ 앱을 설치하고 이 앱을 통해 공부하는 과정을 남겨보려고 글을 포스팅 하게 되었습니다. 우선 앱을 설치하였습니다. 아래의 함께 설치한 앱을 보셔서 알겠지만 C++ 외에도 다양한 언어들을 공부하는 앱이 있습니다. Java 나 파이썬 등등 사진에선 다 안나왔지만 총 11개의 앱이 있습니다. 앱을 처음 실행하면 구글이나 페이스북 아이디로 ..
Transaction 이란? Transaction 은 하나의 논리적 작업 단위를 구성하는 연산들의 집합을 뜻한다. the unit of workthe unit of recoverythe unit of concurrency 라고도 불려진다. Transaction 의 4가지 특징(ACID) Atomicity(원자성) : 이체 과정 중에 트랜잭션이 실패하게 되어 예금이 사라지는 경우가 발생해서는 안 되기 때문에 DBMS는 완료되지 않은 트랜잭션의 중간 상태를 데이터베이스에 반영해서는 안 된다. 즉, 트랜잭션의 모든 연산들이 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 상태를 보장해야 한다. atomicity는 쉽게 'all or nothing' 특성으로 설명된다. COMMIT , ROL..
Trie tree 기반의 자료구조이다. 사용 용도 : 여러 개의 문자열 (ex. 문서파일) 에서 많은 양의 텍스트정보를 빠르고 효율적으로 검색하기 위해 사용. Trie는 사전 혹은 인터넷 자동완성의 retrieval을 효과적으로 할 수 있는 자료구조이다. retrieval 에 유용하다고 하여 Fredkin이 Trie 라고 명명함. Standard Tries external node 는 네모 모양으로 표시해둔 것을 확인 할 수 있고 string 의 개수 = external node 의 개수 인 것을 확인 할 수 있다.(8개) 어떤 standard trie 가 크기 d 의 알파벳 으로부터 전체 길이가 n 인 s개의 문자열을 가진 집합 S 를 저장한다고 하면 아래를 만족한다. (A standard trie s..
MySQL 과 visual studio 2015 가 둘 다 설치되어있는 가정하에 이루어진 설명이다.작성 게시글 기준의 환경은 Windows7 64bit 이다.MySQL 버전 : 5.7 ++)17.05.17 추가내용 최근에 네이버 지식인에 이 포스팅에 대한 에러를 묻는 글이 있어서 해당 답변글을 보고 추가했습니다. time.h 에 대한 액세스가 거부된다는 오류가 발생할 경우http://2sang.tistory.com/110 -->이 블로그에서 설명하는 절차대로 설정하면 정상적으로 동작이 됩니다. 환경구축MySQL 설치 사용1. dev.mysql.com2. downloads ->MySQL Community Edition ->MySQL Community Server 선택3. MySQL Installer 5.7..