Similar documents
248019_ALIS0052.hwp

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

<32392D342D313020C0FCB0C7BFED2CC0CCC0B1C8F12E687770>

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

ePapyrus PDF Document

슬라이드 1

김경재 안현철 지능정보연구제 17 권제 4 호 2011 년 12 월

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - ch07 - 포인터 pm0415

C# Programming Guide - Types

歯 PDF

OCW_C언어 기초

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

김기남_ATDC2016_160620_[키노트].key

2002년 2학기 자료구조

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi


JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각


4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - chap06-1Array.ppt

±è±¤¼ø Ãâ·Â-1

슬라이드 1

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

탄도미사일 방어무기체계 배치모형 연구 (Optimal Allocation Model for Ballistic Missile Defense System by Simulated Annealing Algorithm)

04 Çмú_±â¼ú±â»ç

chap 5: Trees

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<C7A5C1F620BEE7BDC4>

확률 및 분포

Microsoft Word - FunctionCall

PowerPoint 프레젠테이션

설계란 무엇인가?

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

PowerPoint 프레젠테이션

JUNIT 실습및발표

= ``...(2011), , (.)''

OR MS와 응용-03장

ÁÖÀçÀ² Ãâ·Â

에너지경제연구 Korean Energy Economic Review Volume 11, Number 2, September 2012 : pp. 1~26 실물옵션을이용한해상풍력실증단지 사업의경제성평가 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

11장 포인터

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

PowerPoint Presentation

(2) : :, α. α (3)., (3). α α (4) (4). (3). (1) (2) Antoine. (5) (6) 80, α =181.08kPa, =47.38kPa.. Figure 1.

Microsoft PowerPoint - Java7.pptx

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할


PowerPoint 프레젠테이션

Probabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ):

untitled

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

public key private key Encryption Algorithm Decryption Algorithm 1

PowerPoint 프레젠테이션

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

untitled

<3130C0E5>

PowerPoint Template

R을 이용한 텍스트 감정분석

Microsoft PowerPoint - 06-IPAddress [호환 모드]

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - e pptx

<33312D312D313220C0CCC7D1C1F820BFB0C3A2BCB12E687770>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

PowerPoint 프레젠테이션

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

API 매뉴얼

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

±è¼ºÃ¶ Ãâ·Â-1

chap10.PDF

DBPIA-NURIMEDIA

확률과통계6

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

#KM560

Chap 6: Graphs

C++ Programming

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Data Structure

컴파일러

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

중간고사

Microsoft PowerPoint - C++ 5 .pptx

I

윈도우즈프로그래밍(1)

PowerPoint 프레젠테이션

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

슬라이드 제목 없음

DBPIA-NURIMEDIA

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

Transcription:

사용자지침서

Gene1=[ 1 0 1 1 0 1, 1.56 ]; Gene2=[ 1 1 0 0 0 0, 2.58 ]; Gene3=[ 0 0 1 1 1 0, 1.97 ]; : : Population=[ Gene1; Gene2; Gene3; ]; Gene1=[ 12 123 56, 2.67]; Gene2=[111 96 11, 12.5]; Gene3=[ 4 36 100, 5.66]; : : Population=[Gene1; Gene2; Gene3;...];

CEMTool>> f=[2:5:0.1]; CEMTool>> a=0.7; // 조정상수 (scale constant) CEMTool>> b=0; // 조정상수 (scale constant) CEMTool>> newf=a*f+b;

CEMTool>> plot(f,newf) CEMTool>> mean(f) 3.5000 CEMTool>> mean(newf) 2.4500 순위 η η η

CEMTool>> f=[1:100:1]'; // 적합도의순위를 1에서 100까지만듦 CEMTool>> opt=1.5; CEMTool>> nf=bak_rank(f,opt); // Baker linear ranking 적용 CEMTool>> plot(f,nf)

CEMTool>>f=[1 2 3 4]; // 적합도를임의로할당 CEMTool>>sumf=sum(f); // 적합도의전체합으로각각의적합도나눔 CEMTool>>sumf 10 CEMTool>>newf=f/sumf newf = 0.1000 0.2000 0.3000 0.4000

CEMTool>> m1=[1 0 0 1 1 0 1]; CEMTool>> m2=[0 0 1 1 0 1 1]; CEMTool>> [c1,c2]=s_xover(m1,m2,0.7) c1 = 0 0 1 1 1 0 1 c2 = 1 0 0 1 0 1 1 교차위치

α α α α CEMTool>> m1=[12 25 5]; CEMTool>> m2=[123 4 34]; CEMTool>> opt=[0.5 0.5]; //Range와재결합이일어날확률을정의한다. CEMTool>> [c1 c2]=int_re(m1,m2,opt) c1 = 81.7853 33.7568 0.0796 c2 = 137.5377 6.7074 34.8350

CEMTool>> m=[1 0 1 0 ]; CEMTool>> opt=[0.5 1]; // 돌연변이확률 0.5, 시행회수 1 CEMTool>> c=s_mut(m,opt) c = 1 1 1 0 돌연변이연산이일어난지점

CEMTool>> [Pop ChromLen]=init_sga(PopSize,Bounds,"fdemo1",Options); for (Generation=1; Generation<=MaxGen; Generation=Generation+1) {

while (NewPopNum<=PopSize) { [Mate1, Mate2]=s_sel(Pop(:,TotalLen),[]); } [Child1,Child2]=s_xover(Pop(Mate1,:),Pop(Mate2,:),XoverOpt); } for (cnt=1;cnt<=popsize;cnt=cnt+1) Pop(cnt,:)=s_mut(Pop(cnt,:),MutOpt); BestIndi=sel_best(Pop,[]) --------------------------------------------------------------- [Pop ChromLen]=init_sga(PopSize,Bounds,"fdemo1",Options); for (Generation=1;Generation<=MaxGen;Generation=Generation+1)

{ while (NewPopNum<=PopSize) { [Mate1, Mate2]=s_sel(Pop(:,TotalLen),[]); [Child1,Child2]=s_xover(Pop(Mate1,:),Pop(Mate2,:),XoverOpt); } for (cnt=1;cnt<=popsize;cnt=cnt+1) Pop(cnt,:)= s_mut(pop(cnt,:),mutopt); } BestIndi=sel_best(Pop,[]) ---------------------------------------------------------------

CEMTool>> MaxGen=20; // 최대진화회수 CEMTool>> MaxPop=10; // 개체군의크기 CEMTool>> Bounds=[0 6]; // 개체가나타내는값의범위 CEMTool>> XoverOpt=[0.5]; // 교차율 CEMTool>> MutOpt=[0.1 10]; // 돌연변이율과회수

CEMTool>> Options=[0.01]; // 정밀도 CEMTool>> best=sga(maxpop, MaxGen, Bounds, "fdemo1", XoverOpt, MutOpt, Options); best = [0 1 0 0 0 0 1 1 0 1 18.5691]

함수최적화문제 (demo_sga.cem) ------------------------------------------------------------- MaxGen=20; MaxPop=10; Bounds=[0 6]; XoverOpt=[0.5]; MutOpt=[0.1 10]; Options=[0.01 0]; best=sga(maxpop,maxgen,bounds,"fdemo1",xoveropt,mutopt,options); [a b]=size(best); bestx=bin2float(best,bounds,b-1); besty=best(1;b); disp=[" 최적해 : (" num2str(bestx) ", " num2str(besty) ")"]; msgprint(" "); msgprint(disp); x=0:6:0.01;

[x y]=fdemo1(x); figure; plot(x,y,"b",bestx,besty,"ro"); title(" 찾아낸최적해의위치 "); -------------------------------------------------------------

교차연산교차방법 : Multi-point Crossover 교차확률 : 0.7 교차회수 : 4 돌연변이연산돌연변이방법 : Simple Mutation 돌연변이확률 : 0.05 돌연변이회수 : 20 선택연산 선택방법 : Tournament selection

토너먼트크기 : 5 적합도함수 : gp_fit CEMTool>>demo_gp(50,10) Genetic Algorithm Cemtool Toolbox Demo graph partitioning problem total node : 48 optimal fitness : 0 optimal gene 111111111111111111111111000000000000000000000000 or 000000000000000000000000111111111111111111111111 Crossover Option XoverOpt = 0.7000 4.0000 Mutation Option MutOpt = 0.0500 20.0000 Generation-> 1 Generation-> 2 Generation-> 3 Generation-> 4

48 개의노드를가진그래프분할문제의목적함수 (gp_fit.cem) ------------------------------------------------------------- function; v<> Pop; gp24=[ 1 2; 25 26; 1 3; 25 27; 2 11; 26 35; 2 3; 26 27; 11 2; 35 26; 11 12; 35 36; 11 10; 35 34; 9 10; 33 34; 8 1; 32 31; 7 9; 31 33; 8 9; 32 33; 8 23; 32 47; 7 6; 31 30; 6 4; 30 28; 6 5; 30 29; 4 3; 28 27; 17 1; 41 25; 17 16; 41 40; 17 18; 41 42; 16 15; 40 39; 15 13; 39 37; 13 14; 37 38; 13 12; 27 36; 15 14; 39 38; 14 24; 38 48; 24 23; 48 47; 24 22; 48 46; 22 21; 46 45; 21 19; 45 43; 19 20; 43 44; 19 18; 43 42; 18 17; 42 41 ]; ss=size(gp24); pp=size(pop); PopSize=pp(1); v=zeros(popsize,1); for (jj=1;jj<=popsize;jj=jj+1) {

temp=0; for (ii=1;ii<=ss(1);ii=ii+1) { if( (Pop(jj;gp24(ii;1))==1)&&(Pop(jj;gp24(ii;2))==0) ) temp=temp+1; else if ((Pop(jj;gp24(ii;1))==0)&&(Pop(jj;gp24(ii;2))==1) ) temp=temp+1; } Pop(jj;pp(2))=temp; v(jj)=temp; } return ------------------------------------------------------------- 전체알고리즘코드 (demo_gp.cem) ------------------------------------------------------------- function BestIndi <> PopSize,MaxGen; msgprint(""); msgprint(""); msgprint("genetic Algorithm Cemtool Toolbox Demo "); msgprint(" graph partitioning problem"); msgprint(" "); msgprint(" "); msgprint("total node : 48"); msgprint("optimal fitness : 0 "); msgprint(" "); msgprint("optimal gene "); msgprint("111111111111111111111111000000000000000000000000"); msgprint("or"); msgprint("000000000000000000000000111111111111111111111111"); msgprint(" "); msgprint(" "); msgprint("crossover Option"); XoverOpt=[0.7 4] msgprint(" "); msgprint("mutation Option"); MutOpt=[0.05 20] AvgFit=zeros(MaxGen,1); AvgRFit=zeros(MaxGen,1); VarFit=zeros(MaxGen,1); AvgVar=zeros(MaxGen,1);

BestFit=zeros(MaxGen,1); BestRFit=zeros(MaxGen,1); [Pop]=gpinit(PopSize); RanPop=gpinit(PopSize); GenPop=Pop; TotalLen=48+1; nn=ceil(popsize*60*0.01); for (Generation=1;Generation<=MaxGen;Generation=Generation+1) { NewPopNum=1; v=gp_fit(pop); Pop(:,TotalLen)=70-v; //[vv nnn]=sel_indis(pop,50); while (NewPopNum<=(PopSize-nn)) { for (ii=1;ii<100;ii=ii+1) { //simple selection 을사용합니다. //[Mate1, Mate2]=s_sel(Pop(:,TotalLen),[]); //tournament selection 을사용합니다. [Mate1, Mate2]=tour_sel(Pop(:,TotalLen),[5]); //truncation selection 을사용합니다. //[Mate1, Mate2]=trun_sel(Pop(:,TotalLen),[70]); if (hamdis(pop(mate1,:),pop(mate2,:))<5) break; } //simple crossover를사용합니다. [Child1,Child2]=m_xover(Pop(Mate1,:),Pop(Mate2,:),XoverOpt); } NewPop(NewPopNum,:)=Child1; if (NewPopNum==(PopSize-nn)) break; NewPopNum=NewPopNum+1; NewPop(NewPopNum,:)=Child2; NewPopNum=NewPopNum+1; //Pop(:,TotalLen-1)=NewPop(:,TotalLen-1); Pop(1:(PopSize-nn),:)=NewPop; for (cnt=1;cnt<=(popsize-nn);cnt=cnt+1)

{ //simple mutation을사용합니다. Pop(cnt,:)=s_mut(Pop(cnt,:),MutOpt); } v=gp_fit(pop); Pop(:,TotalLen)=70-v; // 적합도의평균을계산해낸다. AvgFit(Generation)=mean(v); // 적합도의편차를계산해낸다. AvgVar(Generation)=std(v); // 가장훌륭한개체를찾는다. BestIndi=sel_best(Pop,[]); BestFit(Generation)=70-BestIndi(TotalLen) ; [vv nnn]=sel_indis(pop,60); Pop((PopSize-nn+1):PopSize,:)=vv; Pop(PopSize,:)=BestIndi; // random search rv=gp_fit(ranpop); RanPop(:,TotalLen)=rv; BestRIndi=sel_best(RanPop,[]); RanPop=gpinit(PopSize); RanPop(PopSize,:)=BestRIndi; // 적합도의평균을계산한다. AvgRFit(Generation)=mean(rv); BestRFit(Generation)=70-BestRIndi(TotalLen); pg=1:generation; plot(pg,avgfit(pg),"r",pg,avgrfit(pg),"b",pg,bestfit(pg),"b", pg,bestrfit(pg),"g"); xtitle(" 세대수 red:avgfit black:avgrfit blue:bestfit green:bestrfit"); ytitle(" 평균적합도 "); } msgprint("generation->"); Generation ResPop=Pop; BestIndi=sel_best(Pop,[]); return -------------------------------------------------------------

적합도함수 함수이름 설명 쓰이는곳 fde1 첫번째 De Jong 함수 4장 fde2 두번째 De Jong 함수 4장 fde3 세번째 De Jong 함수 4장 fde4 네번째 De Jong 함수 4장 fde5 다섯번째 De Jong 함수 4장 plot_fun 적합도함수도시 4,6장 적합도할당전략 함수이름 설명 쓰이는곳 s_rank 선형순위재조정 4장 back_rank Baker 순위재조정 4장 whit_rank Whitley 순위재조정 4장 uni_rank 균일순위재조정 4장

진화연산자 함수이름 설명 쓰이는곳 s_sel 비례선택법 5.1절 loc_sel 지역선택법 5.1절 sto_sel 균등선택법 5.1절 tour_sel 토너먼트선택법 5.1절 trun_sel 절단선택법 5.1절 s_xover 1-point 교차 5.2절 m_xover multi-point 교차 5.2절 dis_re 이산재결합 5.2절 int_re 중간재결합 5.2절 line_re 선재결합 5.2절 s_mut 이진돌연변이 5.3절 알고리즘수행관련함수 함수이름 설명 쓰이는곳 init_sga simple GA 초기화 6장 sga simple GA 6장 sel_best 최적의개체를선택 6장 sel_indis 적합도가좋은개체를여러개선택 6장 공통함수 함수이름 설명 쓰이는곳 bin2float 2진수를실수로변환 2,3장 cal_bit 필요한비트수계산 2,3장 hamdis Hamming 거리계산 7장

fde1 목적 1 번째 De Jong 함수 문법 [x val]=fde1(x,options) 입력 x : 입력된값 Options : 쓰이지않는다. 출력 val : 계산된결과값 x : 입력된값이그대로저장된다. 설명 Ref De Jong(1975) : An analysis of the behaviour of a class of genetic adaptive systems 사용예제 CEMTool>> x=[-0.5:0.5:0.1]; CEMTool>> y=[-0.5:0.5:0.1]; CEMTool>> xy=[x' y']; CEMTool>> [xy val]=fde1(xy) xy = -0.5000-0.5000-0.4000-0.4000-0.3000-0.3000-0.2000-0.2000-0.1000-0.1000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5000 val = 0.5000 0.3200 0.1800

0.0800 0.0200 0.0000 0.0200 0.0800 0.1800 0.3200 0.5000 관련함수 fde2, fde3, fde4, fde5 종류진화연산툴박스함수

fde2 목적 2 번째 De Jong 함수 문법 [x val]=fde2(x,options) 입력 x : 입력된값 Options : 쓰이지않는다. 출력 val : 계산된결과값 x : 입력된값이그대로저장된다. 설명 Ref De Jong(1975) : An analysis of the behaviour of a class of genetic adaptive systems 사용예제 CEMTool>> x=[-0.5:0.5:0.1]; CEMTool>> y=[-0.5:0.5:0.1]; CEMTool>> xy=[x' y']; CEMTool>> [xy val]=fde2(xy) xy = -0.5000-0.5000-0.4000-0.4000-0.3000-0.3000-0.2000-0.2000-0.1000-0.1000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5000 val = 58.5000 33.3200

16.9000 7.2000 2.4200 1.0000 1.6200 3.2000 4.9000 6.1200 6.5000 관련함수 fde1, fde3, fde4, fde5 종류진화연산툴박스함수

fde3 목적 3 번째 De Jong 함수 문법 [x val]=fde3(x,options) 입력 x : 입력된값 Options : 쓰이지않는다. 출력 val : 계산된결과값 x : 입력된값이그대로저장된다. 설명 Ref De Jong(1975) : An analysis of the behaviour of a class of genetic adaptive systems 사용예제 CEMTool>> x=[-0.5:0.5:0.1]; CEMTool>> y=[-0.5:0.5:0.1]; CEMTool>> xy=[x' y']; CEMTool>> [xy val]=fde3(xy) xy = -0.5000-0.5000-0.4000-0.4000-0.3000-0.3000-0.2000-0.2000-0.1000-0.1000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5000 val = -2-2 -2

-2-2 0 0 0 0 0 0 관련함수 fde1, fde2, fde4, fde5 종류진화연산툴박스함수

fde4 목적 4 번째 De Jong 함수 문법 [x val]=fde4(x,options) 입력 x : 입력 Options : x의차원 x=[1 2;3 4;5 6] 이면 Options=2이어야한다. Options은넣지않아도무방하다. 출력 val : 계산된결과값 x : 입력된값이그대로저장된다. 설명 Ref De Jong(1975) : An analysis of the behaviour of a class of genetic adaptive systems 사용예제 CEMTool>> x=[-0.5:0.5:0.1]; CEMTool>> y=[-0.5:0.5:0.1]; CEMTool>> xy=[x' y']; CEMTool>> [xy val]=fde4(xy) xy = -0.5000-0.5000-0.4000-0.4000-0.3000-0.3000-0.2000-0.2000-0.1000-0.1000 0.0000 0.0000 0.1000 0.1000 0.2000 0.2000 0.3000 0.3000 0.4000 0.4000 0.5000 0.5000 val =

0.6809 0.9537 0.7161 0.4139 1.0083-1.0571-0.6764-0.0589 1.0898 0.3045 1.8221 관련함수 fde1, fde2, fde3, fde5 종류진화연산툴박스함수

fde5 목적 5 번째 De Jong 함수 문법 [x val]=fde5(x,options) x : 입력된값 Options : 쓰이지않는다. 출력 val : 계산된결과값 x : 입력된값이그대로저장된다. 설명 Ref De Jong(1975) : An analysis of the behaviour of a class of genetic adaptive systems 사용예제 CEMTool>> x=[1 2;3 4;5 6;7 8]; CEMTool>> [a b]=fde5(x,[]) a = 1 2 3 4 5 6 7 8 b = 1.1156 1.0041 1.0022 1.0021 관련함수 fde1, fde2, fde3, fde4 종류진화연산툴박스함수

plot_fun 목적적합도함수를그래프로도시한다. 문법 plot_fun(funcname, Bounds, Options) 입력 FuncName : 적합도함수의이름 Bounds : 함수의범위 Options : [Precision..] 설명적합도함수를주어진범위내에서그래프로나타낸다. 이때점을구하는간격은옵션에서정밀도로준다. 사용예제 CEMTool>> plot_func("fdemo1", [0 6], [0.1]); 관련함수 종류진화연산툴박스함수

s_rank 목적 simple linear ranking 을수행하는함수이다. 문법 [NewFit]=s_rank(Fit,Option) 입력 Fit : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] Option : [ SP ] SP : 상수 1 에서 2 까지 출력 NewFit : simple linear ranking 후의새로운적합도 설명적합도를순위를매겨서그순위에따라정해진최소값보다는크게할당한다. 2 ( SP - 1 )( Position - 1 ) NewFit(Position)= 2 - SP + ------------------------------ NumOfIndi - 1 SP 값에따라최소값이정해지고, 정해진순위에따라새로운적합도가할당된다. 적합도가가장나쁜개체도선택의기회가 2-SP 만큼은주어진다. 사용예제 CEMTool>> OldFit=[1;2;3;4]; CEMTool>> Opt=[1.6]; CEMTool>> NewFit=s_rank(OldFit,Opt); CEMTool>> OldFit 1 2 3 4 CEMTool>> NewFit 0.4000 0.8000 1.2000 1.6000 관련함수 bak_rank, whit_rank, uni_rank

종류진화연산툴박스함수

bak_rank 목적 Baker's ranking 을수행하는함수이다. 문법 [NewFit]=bak_rank(Fit,Option) 입력 Fit : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] Option : [EtaMax] EtaMax : 상수 1 에서 2 까지 EtaMin = 2 - EtaMax 출력 NewFit : baker linear ranking 이후의새로운적합도단결과는확률의형태로 normalize 되어나온다. 설명 1 position - 1 NewFit(position)= --- * (EtaMax-(EtaMax-EtaMin) * -------------) N N - 1 EtaMax 와 EtaMin 사이를기존의적합도에따라매긴순번에의해서균등하게배분해준다. 그럼으로써, 일정하게제한된범위안에적합도를넣을수있다. Ref J. Baker(1987) : Adaptive Selection Methods for Genetic Algorithms, Proc. First ICGA, Jul. pp. 101-111 사용예제 CEMTool>> OldFit=[1;2;3;4]; CEMTool>> Opt=[1.6]; CEMTool>> NewFit=bak_rank(OldFit,Opt); CEMTool>> OldFit 1 2 3 4 CEMTool>>NewFit 0.1000 0.2000

0.3000 0.4000 관련함수 s_rank, whit_rank, uni_rank 종류진화연산툴박스함수

whit_rank 목적 Whitley s ranking 을수행하는함수이다. 문법 NewFit]=whit_rank(Fit,Option) 입력 Fit : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] Option : [ WhitleyA ] WhitleyA : 상수 1 에서 2 까지 출력 NewFit : whitley linear ranking 이후의새로운적합도결과는확률의형태로정규화된다. 설명 λ λ (a : 1 에서 2 까지의상수, λ : random number on [0 1]) 실제계산된적합도에따라서개체들을선택할경우 premature convergence, local search problem 등의문제가생기므로, 이러한문제를적합도를새롭게할당해서해결하고자하는방법이다. Ref D. Whitley(1989) : The GENITOR Algorithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials Is Best, Proc. Third ICGA, June 1989, pp. 116-121 사용예제 CEMTool>> OldFit=[1;2;3;4]; CEMTool>> Opt=[1.6]; CEMTool>> NewFit=whit_rank(OldFit,Opt); CEMTool>> OldFit 1 2 3 4 CEMTool>>NewFit

0.5339 1.9131 1.3703 1.0150 관련함수 s_rank, bak_rank, uni_rank 종류진화연산툴박스함수

uni_rank 목적적합도를동일하게할당해주는함수이다. 문법 NewFit=uni_rank(Fit,Option) 입력 Fit : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] Option : 쓰이지않는다. 출력 NewFit : uniform linear ranking 이후의새로운적합도결과는확률의형태로정규화된다. 설명 1 NewFit(Ramda,a) = --- N uniform linear ranking 은적합도를모두동일하게할당해주므로모든개체가선택될확률이동일하게된다. Ref F. Hoffmeister and T. Back(1990) : Genetic Algorithms and Evolution Strategies:Similarities and Differences, Proc. First International Conference on PPSN, 1990, pp. 447-461 사용예제 CEMTool>> OldFit=[1;2;3;4]; CEMTool>> Opt=[]; CEMTool>> NewFit=uni_rank(OldFit,Opt); CEMTool>> OldFit 1 2 3 4 CEMTool>> NewFit 0.2500 0.2500

0.2500 0.2500 관련함수 s_rank, bak_rank, whit_rank 종류진화연산툴박스함수

s_sel 목적 simple linear selection 을수행하는함수이다. 문법 [Mate1, Mate2]=s_sel(Fit,Option) 입력 Fit : 개체들의적합도를나타낸다 ex> Fit=[2;3;5;4;7;1]; Option : 쓰이지않는다. 출력 Mate1, Mate2 : 선택된개체의번호를나타낸다. 설명개체의적합도에따라서적합도가높은개체는높은확률로, 적합도가낮은개체는낮은확률로선택의기회를주는선택연산자이다. Ref D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc., 1989 사용예제 CEMTool>> oldfit=[2;3;5;4;7;1]; CEMTool>> opt=[]; CEMTool>> [sel1 sel2]=s_sel(oldfit,opt) sel1 = sel2 = 2 5 관련함수 loc_sel, stoc_sel, tour_sel, trun_sel 종류진화연산툴박스함수

loc_sel 목적일정한거리보다가까운개체들만사용해서선택연산자를적용한다. 문법 [Mate1, Mate2]=loc_sel(Fit,Option) 입력 Fit Option : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] : [Distance] Distance : 선택하는개체들의범위 출력 Mate1,Mate2 : 선택된개체의번호 설명 local selection 이란아래숫자가개체를나타낸다고할때, 1-2 - 3-4 - 5-6 - 7-8 <- -> distance 가 1 이고 3 을중심으로선택한다면 2,3,4 개체만 selection 에참여시키는것이다. 2, 3, 4 만을가지고 selection operator 를적용시킬때에는 s_selection 함수를사용한다. Ref H.M. Voigt, J. Born, and Santibanez-Koref, I.(1991) : Modeling and Simulation of Distributed Evolutionary Search Processes for Function Optimization. in PPSN1, pp. 373-380 사용예제 CEMTool>> Fit=[3;4;1;7;5;9;2]; CEMTool>> Opt=[1]; CEMTool>> [Sel1 Sel2]=loc_sel(Fit,Opt) Center=> 5 Selected Subpopulation.. 4 5 6 Sel1 = 6

Sel2 = 5 관련함수 s_sel, sto_sel, trun_sel, tour_sel 종류진화연산툴박스함수

sto_sel 목적 universal stochastic selection( 모든개체에동일한확률로선택연산자를적용 ) 을수행하는함수이다. 문법 [Mate1, Mate2]=sto_sel(Fit,Option) 입력 Fit : 개체들의적합도를나타낸다 ex> Fit=[2;3;5;4;7;1]; Option : 쓰이지않는다. 출력 Mate1, Mate2 : 선택된개체의번호를나타낸다. 설명 simple selection 에서개체의적합도에따라서적합도가높은개체는높은확률로, 적합도가낮은개체는낮은확률로선택의기회가주어지는반면, universal stochastic selection 은모든개체들에게동일한확률을적용시켜선택의기회를균등하게준다. 사용예제 CEMTool>> oldfit=[2;3;5;4;7;1]; CEMTool>> opt=[]; CEMTool>> [sel1 sel2]=sto_sel(oldfit,opt) sel1 = sel2 = 4 2 관련함수 s_sel, tour_sel, loc_sel, tour_sel 종류진화연산툴박스함수

tour_sel 목적개체군에서임의로선택된크기만큼의개체만을가지고선택연산자를적용한다. 문법 [Mate1, Mate2]=tour_sel(Fit,Option) 입력 Fit Option : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] : [Size] Size : tournament에참여하는개체수 출력 Mate1,Mate2 : 선택된개체의번호 설명초기에주어진크기 (Size) 만큼의개체를임의로뽑아 sub-population 을만들어선택연산자를적용시킨다. Ref D.E. Goldberg, and K. Deb(1991) : A Comparative Analysis of Selection Schemes Used in Genetic Algorithms, in FGA1, pp. 69-93 사용예제 CEMTool>> Fit=[3;4;1;7;5;9;2]; CEMTool>> Opt=[3]; CEMTool>> [Sel1 Sel2]=tour_sel(Fit,Opt) Selected subpopulation!! 6 1 7 Sel1 = Sel2 = 6 7 관련함수 s_sel, sto_sel, loc_sel, trun_sel 종류진화연산툴박스함수

trun_sel 목적 truncation selection( 적합도가높은개체만선택의후보가됨 ) 을수행하는함수이다. 문법 [Mate1, Mate2]=trun_sel(Fit,Option) 입력 Fit Option : 적합도함수에의해계산된적합도 ex> Fit=[ 1 ; 2; 3; 4] : [Threshold] Threshold : 참여시킬상위개체들의비율 (%) 출력 Mate1,Mate2 : 선택된개체의번호 설명 Threshold(%) 밑에있는개체들은 selection 에참여하지못하는 selection 방법이다. Ref T. Blickle and L. Thiele(1995) : A Comparison of Selection Schemes used in Genetic Algorithms, TIK Report Nr. 11, December J. Crow and M. Kimura(1970s) : An introduction of population genetics theory, New York: Harper and Row 사용예제 CEMTool>> Fit=[3 ; 4;1;7;5;9;2]; CEMTool>> Opt=[50]; CEMTool>> [Sel1 Sel2]=trun_sel(Fit,Opt) Sel1 = Sel2 = 5 5 관련함수 s_sel, sto_sel, tour_sel, loc_sel 종류진화연산툴박스함수

s_xover 목적 simple crossover 를수행하는함수이다. 문법 [Child1,Child2]=s_xover(Mate1, Mate2, XoverOption) 입력 Mate1, Mate2 XoverOption : 교차연산자가수행되어야할부모개체 : 교차연산확률 출력 Child1, Child2 : 교차연산이수행된다음생성된개체 설명교차연산자를가장간단한형태로구현한것으로, 두개의개체를교차연산확률에따라임의로선택된특정부분을중심으로두개체를교차하여새로운두개체를생성한다. Mate1 0 1 0 0 1 : 1 1 1 Mate2 1 1 1 0 0 : 0 1 1 교차연산이수행되는부분 교차연산이수행된이후의결과 Child1 0 1 0 0 1 : 0 1 1 Child2 1 1 1 0 0 : 1 1 1 Ref J. Holland(1975) : Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor D.E. Goldberg(1989) : Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc. 사용예제 CEMTool>> Mate1=[0 1 0 0 1 0 1]; CEMTool>> Mate2=[1 1 1 0 0 1 1]; CEMTool>> XoverOpt=[0.5]; CEMTool>> [Child1 Child2]=s_xover(Mate1,Mate2,XoverOpt) Child1 = 1 1 0 0 1 0 1 Child2 = 교차연산이일어난부분

0 1 1 0 0 1 1 관련함수 s_mut 종류진화연산툴박스함수

m_xover 목적 multi-point crossover 를수행하는함수이다. 문법 [Child1,Child2]=m_xover(Mate1, Mate2, XoverOption) 입력 Mate1, Mate2 XoverOption : 교차연산자가수행되어야할부모개체 : [XoverProbability XoverNumber] XoverProbability : 교차율 XoverNumber : 나누는점의수 출력 Child1, Child2 : 교차연산이수행된다음생성된개체 설명 Multi-point 교차연산자는두개의개체를교차연산확률에따라, 임의로선택된여러지점에서잘라교차하여새로운두개체를생성한다. Mate1 0 : 1 0 0 1 : 1 1 1 Mate2 1 : 1 1 0 0 : 0 1 1 교차연산이수행되는부분 교차연산이수행된이후의결과 Child1 1 1 0 0 1 : 0 1 1 Child2 0 1 1 0 0 : 1 1 1 Ref J. Holland(1975) : Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor D.E. Goldberg(1989) : Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc. 사용예제 CEMTool>> Mate1=[0 1 0 0 1 0 1 1 1 1 0 0 0 1]; CEMTool>> Mate2=[1 1 1 0 0 1 1 0 0 0 1 0 1 1]; CEMTool>> XoverOpt=[0.5 3]; CEMTool>> [Child1 Child2]=m_xover(Mate1,Mate2,XoverOpt) Child1 = 0 0 1 1 0 0 0 0 0 0 0 0 0 1 Child2 = 1 1 0 0 1 1 1 1 1 1 1 1 1 0

관련함수 s_xover 종류진화연산툴박스함수

dis_re 목적 discrete recombination 을수행하는함수이다. 문법 [Child1,Child2]=dis_re(Mate1, Mate2, XoverOption) 입력 Mate1, Mate2 : 입력된개체 XoverOption : [XoverProbability...] 출력 Child1, Child2 : 새로만들어진개체 설명두개체사이의값을교환하는방식으로새로운개체를생성한다. 선택할위치를임의로발생시킨다. Mate1 : 12 25 5 Mate2 : 123 4 34 Sel1 : 2 2 1 Sel2 : 1 2 1 위의부모개체들에 XoverProbability 를적용해서 Child 를생성한다. Child1 : 123 4 5 Child2 : 12 4 5 Ref H. Mullenbein and D. Schierkamp-Voosen : Predictive Models for the Breeder Genetic Algorithm: Continuous parameter optimization. Evolutionary Computation GEA toolbox manual by Hartmut Pohheim 사용예제 CEMTool>> m1=[12 25 5]; CEMTool>> m2=[123 4 34]; CEMTool>> opt=[0.5]; CEMTool>> [c1 c2]=dis_re(m1,m2,opt) c1 = 123 25 5

c2 = 123 4 34 관련함수 int_re, line_re 종류진화연산툴박스함수

int_re 목적 intermediate recombination 을수행하는함수이다. 문법 [Child1,Child2]=int_re(Mate1, Mate2, XoverOption) 입력 Mate1, Mate2 XoverOption : 입력된개체 : [XoverProbability Range] XoverProbability : 교차연산자가실행될확률 Range : 할당될값의상한선과하한선을제한하는값 출력 Child1, Child2 : 새로만들어진개체 설명두개체의값주변의값을할당하여새로운개체를생성한다. Child1 = Mate1 + α ( Mate2 - Mate1 ) Child2 = Mate1 + α ( Mate2 - Mate1 ) α, α : scaling factor. XoverOption 에서정해진 Range 값에의해 [-Range 1+Range] 까지의범위에서 uniform 한 random variable 에서선택된다. Mate1 : 12 25 5 Mate2 : 123 4 34 Range = 0.5 ([-0.5 1.5] 중에서선택된다 ) Alpha1 : 0.5 1.1-0.1 Alpha2 : 0.1 0.8 0.5 Child1 : 67.5 1.9 2.1 Child2 : 23.1 8.2 19.5 Ref H. Mullenbein and D. Schierkamp-Voosen : Predictive Models for the Breeder Genetic Algorithm: Continuous parameter optimization. Evolutionary Computation GEA toolbox manual by Hartmut Pohheim 사용예제 CEMTool>> m1=[12 25 5];

CEMTool>> m2=[123 4 34]; CEMTool>> opt=[0.5 0.5]; CEMTool>> [c1 c2]=int_re(m1,m2,opt) c1 = c2 = 81.7853 33.7568 0.0796 137.5377 6.7074 34.8350 관련함수 dis_re, line_re 종류진화연산툴박스함수

line_re 목적 line recombination 을수행하는함수이다. 문법 [Child1,Child2]=line_re(Mate1, Mate2, XoverOption) 입력 Mate1, Mate2 XoverOption : 입력된개체 : [XoverProbability] XoverProbability : 교차연산자가실행될확률 출력 Child1, Child2 : 새로만들어지개체 설명두개체의값주변의값을할당하면서새로운개체를생성한다. Child1 = α (Mate1 + Mate2) Child2 = α (Mate1 + Mate2) α α 0 에서 1 사이의 random 한값 Mate1 : 12 25 5 Mate2 : 123 4 34 Alpha1 : 0.5 Alpha2 : 0.1 Child1 : 67.5 14.5 19.5 Child2 : 23.1 22.9 7.9 Ref H. Mullenbein and D. Schierkamp-Voosen : Predictive Models for the Breeder Genetic Algorithm: Continuous parameter optimization. Evolutionary Computation GEA toolbox manual by Hartmut Pohheim 사용예제 CEMTool>> m1=[12 25 5]; CEMTool>> m2=[123 4 34]; CEMTool>> opt=[0.5 0.5]; CEMTool>> [c1 c2]=line_re(m1,m2,opt) c1 =

c2 = 105.1882 7.3698 29.3465 114.4803 5.6118 31.7741 관련함수 dis_re, int_re 종류진화연산툴박스함수

s_mut 목적 simple mutation 을수행하는함수이다. 문법 [Child]=s_mutation(Par,MutOption) 입력 Par : 개체를나타낸다. MutOption : [MutationProbability MutationNumber...] MutOpt : 돌연변이연산자의옵션 MutationProbability : 돌연변이가일어날확률 MutationNumber : 돌연변이연산자의시행횟수 출력 Child : 돌연변이연산을수행한후의개체 설명 simple mutation 을나타내고돌연변이연산자를가장간단한형태로구현한함수이다. 돌연변이가일어날확률과돌연변이횟수를정의해서돌연변이를일으킨다. Ref J. Holland(1975) : Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor D.E. Goldberg(1989) : Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc. 사용예제 CEMTool>> Par=[0 1 0 0 1 1 0]; // 부모개체 CEMTool>> MutOpt=[0.2 4]; // 돌연변이확률 0.2 횟수 4번 CEMTool>> Child=s_mut(Par,MutOpt) Child = 0 0 0 0 0 1 0 돌연변이가발생된위치 돌연변이가발생된위치 관련함수 s_xover 종류진화연산툴박스함수

init_sga 목적 simple GA 에쓰일유전자코드를초기화하는함수이다. 문법 [pop,chromosomelength]=init_sga(populationsize,bounds,fitfunc,options) 입력 PopSize : 개체군의크기 ( 개체수 ) Bounds : [ min max ] 개체의범위 FitFunc : 적합도함수의이름 Options : [Precision Type] Precision : 나누는구간의크기 Type : 쓰이지않음 FitOpt : Fitness function의 Options 출력 pop : 새로만들어진개체들 ChromLen : 각유전자의코드길이 설명유전자알고리즘을사용하기위해개체군의크기, 범위, 적합도함수등을사용해서개체군을초기화한다. Ref J. Holland(1975) : Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor D.E. Goldberg(1989) : Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc. 사용예제개체군의크기는 3 개, 0 과 1 사이에 default precision 0.1, 나머지파라미터들은모두 default 값을사용해서초기화한경우아래와같은유전자코드를얻을수있다. 처음 4 칸은유전자코드이고마지막칸은기본적합도함수에서계산된적합도값을나타낸다. CEMTool>>init_sga(3,[0 1]) 관련함수 1.0000 1.0000 0.0000 0.0000-11.8956 1.0000 0.0000 0.0000 0.0000 3.5717 1.0000 1.0000 1.0000 1.0000-14.8033

종류진화연산툴박스함수

sga 목적 simple GA 를수행하는함수이다. 문법 BestIndi=sga(PopSize,MaxGen,Bounds,FitFunc,XoverOpt,MutOpt,Options) 입력 PopSize : 개체의개수 MaxGen : 최대진화회수 Bounds : [Min Max] 변수의범위 FitFunc : 적합도함수이름 XoverOpt : 교배연산자옵션 MutOpt : [MutationProbability MutationNumber] MutationProbability : 돌연변이가일어날확률 MutationNumber : 돌연변이연산자의시행회수돌연변이가일어날확률, 돌연변이연산자의시행회수 Options : [Precision Type] Precision : 정밀도 ex> Bounds가 [0 5] 인경우정확도가 0.1이면유전자의크기는 5/0.1=50 Type : 쓰이지않음 출력 BestIndi : 최적의개체 설명진화연산알고리즘을구현한예제로 simple crossver 와 simple mutation 그리고 simple selection 을사용해서구현되어있다. 최대개체수와최대진화회수를정해주면진화연산알고리즘을수행해서가장훌륭한개체를리턴한다. Ref J. Holland(1975) : Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor D.E. Goldberg(1989) : Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Company, Inc. 사용예제 CEMTool>> MaxGen=10; CEMTool>> MaxPop=10; CEMTool>> Bounds=[0 4]; CEMTool>> XoverOpt=[0.5]; CEMTool>> MutOpt=[0.1 10]; CEMTool>> Options=[0.1 0];

CEMTool>>sga(MaxPop,MaxGen,Bounds,"fdemo1",XoverOpt,MutOpt,Options) BestIndi = 0.0000 1.0000 1.0000 0.0000 0.0000 1.0000 18.5380 관련함수 s_xover, s_mut, s_sel, sel_best 종류진화연산툴박스함수

sel_best 목적개체들중가장적합도가높은것을찾아내는함수이다. 문법 val=sel_best(pop,option) 입력 Pop : 전체개체들을나타낸다 [ 유전자코드, 적합도 ] ex> [0 1 1 0 24.5] Option : 쓰이지않는다. 출력 val : 찾아낸가장적합도가높은개체를나타낸다. 설명개체들중가장적합도가높은것을찾아서리턴한다. 사용예제 CEMTool>> Pop=[1 0 1 22; 1 1 1 10 ; 0 0 0 5 ; 0 1 1 15]; CEMTool>> sel_best(pop,[]) 관련함수 sga 종류진화연산툴박스함수 1 0 1 22

sel_indis 목적개체군에서적합도가높은상위의개체들을찾는다. 문법 [val n]=sel_indis(pop,option) 입력 Pop : 전체개체군 [ 유전자코드, 적합도 ] Option : 선택할개체의수 (%) 출력 val n : 찾아낸개체들 : 찾아내개체의수 설명개체들중가장적합도가높은것을찾아서리턴한다. 사용예제 CEMTool>> Pop=[1 0 1 22; 1 1 1 10 ; 0 0 0 5 ; 0 1 1 15]; CEMTool>> [indis n]=sel_indis(pop,50) indis = n = 0 1 1 15 1 0 1 22 2 관련함수 sel_best 종류진화연산툴박스함수

bin2float 목적 2 진수를실수로바꿔주는함수이다. 문법 fval=bin2float(binval, Bounds, BitLength) 입력 BinVal : 2진수값 Bounds : [ min max ] 실수값의범위 BitLength : BinVal의전체길이 출력 fval : 변환된실수값 설명 2 진수를주어진범위에따라실수값으로변환한다. 사용예제 CEMTool>> BinVal=[0 1 0 1]; CEMTool>> Bounds=[0 1]; CEMTool>> BitLength=[4]; CEMTool>> fval=bin2float(binval,bounds,bitlength) fval = 0.3125 관련함수 종류진화연산툴박스함수

cal_bit 목적일정한범위를원하는정확도로나눌경우, 이를 2 진수의형태로표현했을때필요한비트수를계산해준다. 문법 bits=cal_bit(bounds, Prec) 입력 Bounds : [ min max ] 값의범위 Prec : 정확도. 범위가 [0 5] 인경우정확도가 0.1이면유전자의크기는 5/0.1=50 출력 bits : 필요한비트수 설명범위가 [0 5] 이고정확도가 0.1 인경우, 50 칸으로나누어지게되고, 이를 2 진수로표현했을경우필요한 bit 수는 2^6=64 이므로 6 bit 이필요하게된다. 사용예제 CEMTool>> a=cal_bit([0 5],0.1) a = 6 관련함수 종류진화연산툴박스함수

hamdis 목적 Hamming Distance 를계산한다. 문법 v=hamdis(m1, m2) 입력 m1 : 2 진벡터 m2 : 2 진벡터 출력 v : Hamming distance 설명두이진벡터에서서로다른원소의개수를리턴한다. 사용예제 CEMTool>> a1=[ 0 0 1 1]; CEMTool>> a2=[ 1 1 1 1]; CEMTool>> hamdis(a1,a2) 관련함수 종류진화연산툴박스함수 2