KR20100031218A - System and method for manufacturing mask using genetic algorithm and dna computing - Google Patents
System and method for manufacturing mask using genetic algorithm and dna computing Download PDFInfo
- Publication number
- KR20100031218A KR20100031218A KR1020080090201A KR20080090201A KR20100031218A KR 20100031218 A KR20100031218 A KR 20100031218A KR 1020080090201 A KR1020080090201 A KR 1020080090201A KR 20080090201 A KR20080090201 A KR 20080090201A KR 20100031218 A KR20100031218 A KR 20100031218A
- Authority
- KR
- South Korea
- Prior art keywords
- mask
- data
- random number
- parent
- genetic algorithm
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B25/00—ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
Landscapes
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Biotechnology (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Genetics & Genomics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Molecular Biology (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
Abstract
Description
본 발명은 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법에 관한 것이다. The present invention relates to a mask generation system and method using genetic algorithm and DNA computing.
최근 공학에 있어서, 여러 가지 응용 분야 중 복잡한 제약성을 가진 대규모의 최적화 문제들이 일반적인 수학적인 프로그램이나 최적화 알고리즘의 조합을 이용하여 짧은 연산 시간 안에 최적의 해를 구하기가 매우 어렵다. 이러한 문제들을 적당한 연산 시간 안에 풀 수 있는 주요한 메커니즘으로써 진화알고리즘(Evolutionary Algorithm)이 사용된다. In modern engineering, large-scale optimization problems with complex constraints among various applications are very difficult to find an optimal solution in a short computation time using a combination of general mathematical programs or optimization algorithms. Evolutionary Algorithm is used as the main mechanism to solve these problems in a reasonable computation time.
DNA 컴퓨팅(computing)에서 유전자 알고리즘(Genetic Alogorithm)을 이용하여 마스크(mask)를 생성하는데 있어서, 랜덤(random)하고 적합한 마스크를 만들기 위해서는 시간이 오래 걸린다는 단점을 가지고 있고, 또한 적합성을 높여 주기 위 하여 진화 알고리즘인 유전자 알고리즘을 DNAC(DNA computing)에 적용하여 적합도가 높은 마스크의 생성을 진화를 거쳐서 생성할 수 있다. 또한, 이를 통하여 마스크의 생성 속도를 높일 수 있었다. 그리고, 유전자 알고리즘은 수많은 세대를 반복해서 계산해야 하는 문제점을 가지고 있고, 병렬로 마스크 생성이 실시간으로 동작을 해야 하기 때문에 하드웨어로 구현할 필요성을 가지고 있다. Generating a mask using Genetic Alogorithm in DNA computing has the disadvantage that it takes a long time to make a random and suitable mask, and also to increase the suitability. By applying the genetic algorithm, which is an evolutionary algorithm, to DNA computing (DNAC), it is possible to generate a highly suitable mask through evolution. In addition, it was possible to increase the speed of mask generation. Genetic algorithms have a problem in that many generations need to be calculated repeatedly, and since the mask generation must be performed in real time in parallel, there is a need to implement the hardware.
한편, 소프트 웨어(Software)로 구현한 DNAC의 경우에 일반적으로 두 가지 문제점을 가지고 있다. 첫 번째는 속도가 느리다는 것이다. 단순히 비교를 위하여 모든 값을 비교하기 때문에 일어나는 현상으로서, 이는 하드웨어로 구현하여 병렬로 처리하면 속도를 빠르게 할 수 있다. 그러나, 단순 카운트(Count)에서는 큰 시간이 걸리지 않으나, 크기가 큰 DNAC를 GA로 이용할 경우에는 병렬 처리를 하지 못하는 단점이 있다. 두 번째는 랜덤(random)을 이용할 경우 좋지 않은 마스크를 이용할 수도 있다. 이것을 적자생존방식의 유전자 알고리즘을 이용하여 성능을 높일 수 있다. On the other hand, DNAC implemented in software generally has two problems. The first is that it is slow. This is caused by simply comparing all the values for comparison, which can be implemented in hardware and processed in parallel to speed up. However, a simple count does not take much time, but when using a large DNAC as a GA there is a disadvantage that parallel processing is not possible. Secondly, you can use masks that are bad when using random. This can be improved by using a genetic algorithm of survival of the fittest.
한편, 유전자 알고리즘은 보다 적합도(fitness)가 높은 개체(individual)가 다음 세대에 생존할 확률이 높다는 다윈의 자연 선택(natural selection)의 법칙을 기반으로 하는 최적화 알고리즘으로서, 내재적인 병렬 처리 연산(implicit parallelism)을 통한 전역 탐색(global search) 기능과 수렴 속도가 우수하여 패턴인식, 신경망 학습, 음성 인식, 로봇 제어 등의 분야에 널리 쓰이고 있다. Genetic algorithms, on the other hand, are an optimization algorithm based on Darwin's law of natural selection, which suggests that individuals with higher fitness are more likely to survive the next generation. It is widely used in areas such as pattern recognition, neural network learning, speech recognition, and robot control because of its excellent global search and convergence speed through parallelism.
John Holland의하여 처음 소개된 유전자 알고리즘은 여러 개체를 유전자(gene)와 비슷한 구조로 부호화(coding)한 후, 유전 연산자(genetic operator)를 이용하여 병렬적으로 진화시켜, 최적의 상태에 이르게 만드는 확률적 탐색 기법이라 할 수 있다. The genetic algorithm, first introduced by John Holland, is a stochastic algorithm that encodes several individuals into a gene-like structure and then evolves in parallel using a genetic operator to achieve optimal conditions. It's a search technique.
도 1은 종래 기술에 따른 유전자 알고리즘의 흐름도를 설명하기 위한 도면이다. 이 알고리즘의 동작원리를 설명하면, 문제에 대한 후보 해를 염색체의 형태로 표현하고, 무작위로 생성된 염색체들로 개체군을 초기화한다(S10). 임의의 값으로 초기화된 개체는 상대적인 문제해결 능력에 따라 그 적합도가 평가되며(S20), 적합도에 따라 다음 세대에 부모의 유전자가 복제되는 정도를 달리함으로써, 우성형질을 지닌 개체들은 열성 형질을 지닌 개체들에 비하여 더욱 많은 자식을 생성할 수 있도록 유도된다. 이러한 선택(selection)은 제공된 요소들 중에 임의로 다음 세대로 진화시킬 대상을 선택하게 되고(S30), 이 선택 복제된 개체들은 선택된 두 인자들이 합쳐서 새로운 인자를 생성하게 되는 교배(S40), 돌연변이(S50) 등의 여러 가지 유전 연산자들에 의하여 적합도가 평가되고(S60), 종료 조건이 만족되면(S70) 재결합(recombination)되어 다음 세대의 개체군을 생성한다. 이와 같은 세대교체는 원하는 수준의 해가 개체군 내에 존재하거나 또는 다른 종료 조건이 만족할 때까지 반복된다. 1 is a diagram illustrating a flowchart of a genetic algorithm according to the prior art. Referring to the operation principle of the algorithm, the candidate solution to the problem is expressed in the form of chromosomes, and the population is initialized with randomly generated chromosomes (S10). Individuals initialized to random values are assessed for their suitability according to their relative problem-solving ability (S20), and by varying the degree of parental gene replication to the next generation according to their suitability, individuals with dominant traits have recessive traits. Induced to create more children than objects. This selection randomly selects an object to evolve to the next generation among the provided elements (S30), and these selected cloned individuals combine to create a new factor by combining two selected factors (S40) and mutation (S50). Goodness-of-fit is evaluated by various genetic operators such as (S60), and when the termination condition is satisfied (S70), it is recombined to generate a population of the next generation. This generational change is repeated until the desired level of solution exists in the population or other termination conditions are met.
그러나 이 알고리즘은 많은 반복적인 연산을 수행해서 많은 수의 개체를 여러 세대에 걸쳐서 진화시켜야 하기 때문에 시간이 많이 걸린다는 단점을 가지고 있다. 이런 문제점을 해결하기 위하여 서로 다른 여러 개의 집단을 사용하여 진화 연산을 수행하는 병렬 처리가 반드시 필요하다. This algorithm, however, has the disadvantage of being time consuming because a large number of iterative operations must be performed to evolve a large number of objects over generations. In order to solve this problem, parallel processing is necessary to perform evolutionary operations using several different groups.
따라서, 상기와 같은 문제점을 해결하기 위하여, 본 발명은 DNA 컴퓨팅에서 유전자 알고리즘을 이용하여 마스크를 생성하여 주는 것에 의하여, 적합도가 높은 마스크를 생성할 수 있는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법을 제공하는 것을 목적으로 한다. Accordingly, in order to solve the above problems, the present invention provides a mask generation system using a genetic algorithm and DNA computing capable of generating a mask having high suitability by generating a mask using a genetic algorithm in DNA computing, and It is an object to provide a production method.
또한, DNA 컴퓨팅에서 유전자 알고리즘을 이용하여 마스크를 생성하는 과정을 하드웨어로 구현하여 병렬처리하여 주는 것에 의하여, 마스크 생성속도를 빠르게 할 수 있는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법을 제공하는 것을 목적으로 한다.In addition, by implementing a process of generating a mask using a genetic algorithm in DNA computing in hardware and parallel processing, provides a genetic algorithm and a mask generation system and a method for generating a mask using DNA computing to increase the speed of mask generation. It aims to do it.
또한, 랜덤을 이용하되, 적자생존방식의 유전자 알고리즘을 사용하여주는 것에 의하여, 마스크를 생성하는 효율을 향상시킬 수 있는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법을 제공하는 것을 목적으로 한다.It is also an object of the present invention to provide a mask generation system and a method using a genetic algorithm and DNA computing that can improve the efficiency of generating a mask by using a random, but using a genetic algorithm of the survival of the fittest. .
청구항 1에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템은, 난수(Random Value)를 발생하고, 난수에 대한 주소를 생성하는 난수 발생기, 난수 발생기를 통하여 소정의 주소를 선택하고, 난수 발생기로부터 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 각각 제1 부모 데이터 및 제2 부 모데이터로 선택하는 선택부, 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하는 교배부, 난수 발생기로부터 생성된 난수를 전달받고, 난수를 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 연산을 수행하는 돌연변이부를 포함하는 연산 모듈, 개체군(population)의 각 주소, 난수에 의해 생성된 마스크 및 각 마스크의 적합도 값(Fitness Value)을 저장하는 메모리 모듈, 메모리 모듈로부터 마스크 중 가장 큰 적합도 값을 가지는 마스크를 전달받아, 이 마스크를 재생시키는 재생 모듈, 제1 부모 데이터 및 제2 부모데이터를 교배부로 전달하고, 교배부로부터 제1 아이 데이터 및 제2 아이 데이터를 전달받아, 메모리 모듈로 전달하며, 또한 개체군의 각 주소에 난수로 마스크를 생성하고, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈로 전달하며, 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하도록 제어하는 GA 컨트롤러(Genetic Algorithm Controller)를 포함한다.The mask generating system using the genetic algorithm and DNA computing which concerns on
청구항 2에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템은, 청구항 1에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 있어서, 연산 모듈은, GA 컨트롤러로부터 전달된 제1 부모 데이터 및 제2 부모 데이터를 소정 시간 저장한 후, 교배부로 전달하는 부모버퍼, 교배부로부터 생성된 제1 아이 데이터 및 제2 아이 데이터를 소정시간 저장한 후, GA 컨트롤러로 전달하는 아이 버퍼를 더 포함하며, GA 컨트롤러는, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈로 전달한 후에, 부모 버퍼를 초기화시킨다.The mask generation system using the genetic algorithm and DNA computing which concerns on Claim 2, The mask generation system using the genetic algorithm and DNA computing which concerns on
청구항 3에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템은, 청구항 1에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 있어서, 교배부는 단순 교차법을 이용하여 아이 데이터를 생성한다.The mask generation system using the genetic algorithm and DNA computing of the invention of Claim 3 WHEREIN: In the mask generation system using the genetic algorithm and DNA computing of
청구항 4에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템은, 청구항 1에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 있어서, 돌연변이부는 각 개체 중 하나만 돌연변이가 발생하는 단순 돌연변이법을 사용하여 유전형질을 변형시키는 연산을 수행한다.The mask generation system using the genetic algorithm and DNA computing which is invention of Claim 4, The mask generation system using the genetic algorithm and DNA computing which is invention of
청구항 5에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법은, 난수(Random Value)를 발생하고, 난수에 대한 주소를 생성하여 주소에 해당하는 제1 데이터 및 제2 데이터를 각각 제1 부모 데이터 및 제2 부모데이터로 선정하는 제1 단계, 개체군의 각 주소에 난수로 마스크를 생성하고, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈에 저장하는 제2 단계, 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하고, 난수와 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 제3 단계, 제1 아이 데이터 및 제2 아이 데이터와 변형된 유전형질을 메모리 모듈에 저장하는 제4 단계, 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하여, 이 마스크를 재생시키는 제5 단계를 포함한다.In the method of generating a mask using an inventive genetic algorithm and DNA computing according to claim 5, a random value is generated, an address for a random number is generated, and first data and second data corresponding to the address are respectively generated from the first parent data. And a first step of selecting as the second parent data, a second step of generating a mask with random numbers at each address of the population, obtaining a fitness value of the mask, and storing the generated mask and the fitness value in a memory module. A third step of modifying the genotype by exchanging the genotypes of the parent data and the second parent data to generate the first eye data and the second eye data, and comparing the random number with a predetermined mutation probability; In the fourth step of storing the eye data and the modified genotype in the memory module, the mask having the largest goodness-of-fit value among the masks is transferred to the reproduction module. A fifth step of reproducing the disk.
청구항 6에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생 성 방법은, 청구항 5에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법에 있어서, 제2 단계는, 생성된 마스크 및 그 적합도 값을 메모리 모듈에 저장한 후에, 부모 버퍼를 초기화시키는 단계를 더 포함한다.In the method of generating a mask using the genetic algorithm and DNA computing according to claim 6, in the method of generating a mask using the genetic algorithm and DNA computing according to the fifth aspect, the second step includes storing the generated mask and its fitness value as a memory. After storing in the module, the method further includes initializing the parent buffer.
상기한 바와 같이, 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법에 의하면, DNA 컴퓨팅에서 유전자 알고리즘을 이용하여 마스크를 생성하여 주는 것에 의하여, 적합도가 높은 마스크를 생성할 수 있다. As described above, according to the mask generating system and method using the genetic algorithm and the DNA computing according to the present invention, a mask having high suitability can be generated by generating a mask using the genetic algorithm in the DNA computing. .
또한, 본 발명에 따르면, DNA 컴퓨팅에서 유전자 알고리즘을 이용하여 마스크를 생성하는 과정을 하드웨어로 구현하여 병렬처리하여 주는 것에 의하여, 마스크 생성속도를 빠르게 할 수 있다.In addition, according to the present invention, the process of generating a mask using a genetic algorithm in DNA computing by implementing a parallel processing in hardware, it is possible to speed up the mask generation speed.
또한, 본 발명에 따르면, 랜덤을 이용하되, 적자생존방식의 유전자 알고리즘을 사용하여주는 것에 의하여, 마스크를 생성하는 효율을 향상시킬 수 있다. In addition, according to the present invention, by using a random, but by using a genetic algorithm of the survival of the fittest, it is possible to improve the efficiency of generating the mask.
이상과 같은 본 발명에 대한 해결하고자 하는 과제, 과제 해결 수단, 효과 외의 구체적인 사항들은 다음에 기재할 실시예 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Specific matters other than the problem to be solved, the problem solving means, and the effects of the present invention as described above are included in the following embodiments and the drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. Like reference numerals refer to like elements throughout.
이하 본 발명의 실시예에 대하여 첨부한 도면을 참조하여 상세하게 설명하기로 한다. 다만, 첨부된 도면은 본 발명의 내용을 보다 쉽게 개시하기 위하여 설명되는 것일 뿐, 본 발명의 범위가 첨부된 도면의 범위로 한정되는 것이 아님은 이 기술분야의 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the accompanying drawings are only described in order to more easily disclose the contents of the present invention, but the scope of the present invention is not limited to the scope of the accompanying drawings that will be readily available to those of ordinary skill in the art. You will know.
한편, 이하에 기술된 본 발명의 실시예에서는, 유전자 알고리즘의 성능향상을 보기 위해 비쥬얼 스튜디오(Visual studio) 프로그램을 이용하여 시뮬레이션 하고, 소프트웨어와 하드웨어의 체감속도를 비교하기 위하여 C언어에서 프로그래밍한 유전자 알고리즘과 베릴로그(Verilog) 하드웨어로 구현한 것이다. On the other hand, in the embodiment of the present invention described below, in order to see the performance improvement of the genetic algorithm, the simulation using a Visual studio (Visual studio) program, the gene programmed in the C language to compare the sensory speed of software and hardware Implemented in algorithms and Verilog hardware.
도 2는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템을 설명하기 위한 블록도이고, 도 3은 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템의 연산모듈을 설명하기 위한 블록도이며, 도 4는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 이용된 적합도 함수의 비교방법을 설명하기 위한 도면이고, 도 5a 내지 5e는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법의 실험 결과를 설명하기 위한 도면이다.FIG. 2 is a block diagram illustrating a mask generation system using genetic algorithm and DNA computing according to the present invention, and FIG. 3 is a block diagram illustrating a calculation module of a mask generation system using genetic algorithm and DNA computing according to the present invention. 4 is a view for explaining a comparison method of the fitness function used in the mask generation system using the genetic algorithm and DNA computing according to the present invention, Figures 5a to 5e is a genetic algorithm and DNA computing according to the present invention It is a figure for demonstrating the experiment result of the mask generation system and generation method which were used.
도 2는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템을 설명하기 위한 블록도이다.2 is a block diagram illustrating a mask generation system using a genetic algorithm and DNA computing according to the present invention.
도 2에 나타난 바와 같이, 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템은, 난수 발생기(110) 및 선택부(120)와 교배부(130) 및 돌연변이부(140)를 포함하는 연산 모듈(100), 메모리 모듈(300), 재생 모듈(400), GA 컨트롤러(Genetic Algorithm Controller)(200)를 포함한다.As shown in FIG. 2, the mask generation system using the genetic algorithm and the DNA computing according to the present invention includes an operation including a
연산모듈(100)은, 난수 발생기(110)를 통하여 소정의 주소를 선택하고, 난수 발생기(110)로부터 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 각각 제1 부모 데이터 및 제2 부모데이터로 선택하는 선택부(120), 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하는 교배부(130), 난수 발생기(110)로부터 생성된 난수를 전달받고, 난수를 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 연산을 수행하는 돌연변이부(140)를 포함한다. 즉, 연산모듈(100)은 부모 개체를 선택하고, 또한 다음 세대로 진화시킬 대상을 임의로 선택하는 부분이다. 이때, 이 선택(Selection)이라 함은, 집단 중에서 적응도의 분포에 따라서 다음의 단계로 교배를 행하는 개체의 생존 분포를 결정하는 것으로서, 이를 통해 적응도의 분포에 기초하고 있기 때문에 적응도가 높은 개체일수록 보다 많은 자손을 남기기 쉽게 된다. 메모리 모듈(300)과 난수발생기(110)간의 데이터 전송을 핸드 쉐이킹 프로토콜(handshaking protocol)에 의해 이루어진다. 또한, 선택부(120)는 교배(crossover)와 돌연변이(mutation)을 위한 부모개체를 선택하는 기능을 수행하며, 이는 GA 컨트롤러(200)에 의하여 전체적으로 제어되게 된다. The
메모리 모듈(300)은, 개체군(population)의 각 주소, 난수에 의해 생성된 마스크 및 각 마스크의 적합도 값(Fitness Value)을 저장한다.The
재생모듈(400)은, 메모리 모듈로부터 마스크 중 가장 큰 적합도 값을 가지는 마스크를 전달받아, 이 마스크를 재생시켜준다.The
GA 컨트롤러(Genetic Algorithm Controller)(200)는, 난수 발생기(110)로부터 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 제1 데이터 및 제2 데이터를 각각 제1 부모 데이터 및 제2 부모데이터로 선정하여 교배부(120)로 전달하도록 제어한다. 또한, 교배부(120)로부터 제1 아이 데이터 및 제2 아이 데이터를 전달받아, 제1 아이 데이터 및 제2 아이 데이터를 메모리 모듈(300)로 전달하도록 제어한다. 그리고, 개체군의 각 주소에 난수로 마스크를 생성하고, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈(300)로 전달하며, 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈(400)로 전달하도록 제어한다.The
도 3은 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템의 연산모듈을 설명하기 위한 블록도이다.3 is a block diagram illustrating an operation module of a mask generation system using genetic algorithm and DNA computing according to the present invention.
도 3에 도시된 바와 같이, 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템의 연산모듈(100)은, 선택부(120), 교배부(130), 및 돌연변이부(140)를 포함한다. As shown in FIG. 3, the
또한, 연산 모듈(100)은, GA 컨트롤러(미도시)로부터 전달된 제1 부모 데이터 및 제2 부모 데이터를 소정 시간 저장한 후, 교배부(130)로 전달하는 부모버퍼(125), 교배부(130)로부터 생성된 제1 아이 데이터 및 제2 아이 데이터를 소정시간 저장한 후, GA 컨트롤러로 전달하는 아이 버퍼(135)를 더 포함한다. 또한, GA 컨트롤러는, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모 리 모듈로 전달한 후에, 부모 버퍼(125)를 초기화시켜준다.In addition, the
간략하게 설명하자면, 선택부(110)는 메모리 모듈(300)에서 두 개의 개체를 선택하여 두 개의 부모 데이터를 생성하고, 교배부(120) 및 돌연변이부(140)는 빠른 연산을 위해 두 개의 부모 데이터를 이용하여 한 클럭(clock)에 두 개의 아이 데이터를 만들어 다음 모듈로 넘겨준다. 한편, 교배(Crossover)라 함은, 2개의 염색체 사이에서 유전자를 바꾸어 넣어 새로운 개체를 발생시키는 것이고, 돌연변이(Mutation)라 함은, 유전자의 어떤 부분의 값을 강제적으로 변화시키는 것을 말한다. In brief, the
연산모듈(100)은, 두 가지 유전 연산자가 단계적으로 수행되도록 설계된 모듈이다. 먼저 교배는 기본적으로 사용하는 방법인 단순 교차(1-point crossover) 방법을 이용하고, 돌연변이는 각 개체중 하나만 돌연변이가 발생하는 단순 돌연변이(single-point mutation) 방법을 사용하였다. The
도 3은 교배(crossover)와 돌연변이(mutation)를 하드웨어로 나타낸 형태로서, 선택부(120)로부터 선택된 두 개의 부모 개체를 받아 먼저 교차를 수행하게 되는데, 난수발생기(110)에서 교차점을 받아 마스크를 교환하고, 그렇지 않은 경우는 그대로 부모 개체를 사용하여 새로운 개체인 자식 개체를 생성함으로써, 교배(Crossover)가 이루어지게 된다. 또한, 다음 돌연변이(Mutation)방법에 있어서도, 교배와 돌연변이가 결합된 형태로 유전자 연산이 실행되도록 설계되었다. 즉, 선택부(120)에서 선택(Selection)이 끝난 후, 난수발생기(110)로부터 받은 임의의 확률과 돌연변이 비율(Mutation rate)을 비교하여 임의의 확률이 크면 비트를 변형 시켜주게 된다.3 illustrates crossover and mutation in hardware, and receives two parent objects selected from the
도 4는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 이용된 적합도 함수의 비교방법을 설명하기 위한 도면이다. 4 is a view for explaining a method of comparing the fitness function used in the mask generation system using genetic algorithm and DNA computing according to the present invention.
한편, 적합함수 (Fitness Function)는, 유전 알고리즘을 이용하여 어떤 문제에 대한 해를 찾기 위해서 필요한 준비 작업으로서, 각 염색체가 문제를 해결하는데 얼마나 좋은지를 측정하기 위한 평가함수를 결정하는 것이다. 본 발명의 실시예에서 사용되는 선택 방법은 다음과 같은 것이 있다. Fitness function, on the other hand, is a preparatory work required to find a solution to a problem using a genetic algorithm, and determines an evaluation function to measure how good each chromosome is in solving a problem. The selection method used in the embodiment of the present invention is as follows.
이는, 적합도 비례 선택(proportionate selection)법으로서, 각 개체 sj 의 적합도 f(sj)(>0), j = 1, …, N 의 총합을 구해, 각 개체 si의 선택 확률을 This, as the fitness proportionate selection (proportionate selection) method, the fit of each object s j f (s j) ( > 0), j = 1, ... , Sum N, and determine the probability of selection for each object s i .
와 같이 정하는 방법이다. This is how you decide.
즉, 본 발명에서의 적합도 함수값은 최적의 해에 얼마만큼 가까운지 표현하는 값을 말하는 것으로서, DNAC의 숫자 인식에서 쓰이는 것과 동일한 방법을 이용하였다. 이와 같은 방법을 이용하여 0에 대한 마스크의 적합도 값(fitness value)을 구할 때에는 처음의 트레인(train) 3760개와 0에 해당하는 376개를 이용하여 0과 동일할 경우 값을 증가시켜 적합도(fitness) 값을 구하여 만들어진 마스크와 함께 메모리에 저장을 한다. In other words, the goodness-of-fit function value in the present invention refers to a value expressing how close to the optimal solution, and the same method used in the numerical recognition of DNAC was used. Using this method to find the fitness value of the mask for zero, increase the value if it is equal to 0 using 3760 initial trains and 376 corresponding to zero. The value is stored in memory with the mask created.
도 5a 내지 5e는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법의 실험 결과를 설명하기 위한 도면이다.5A to 5E are diagrams for explaining experimental results of a mask generation system and a generation method using genetic algorithm and DNA computing according to the present invention.
한편, 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법에 대하여 간략하게 설명하자면, 우선 개체군(population)의 각 주소에 난수 발생기에서 발생한 난수로 마스크를 만든다. 그리고, 각 마스크의 적합도 값을 구해 마스크와 함께 메모리(memory)에 저장시킨다. 그런 다음, 그 마스크중에서 가장 큰 적합도 값을 가진 것을 최적의 마스크(best mask)로 선택한다. 그런 다음 부모를 ‘0’으로 초기화 시킨다. 그리고, 선택부가 랜덤 방법의 선택(selection)을 GA 컨트롤러의 제어에 의하여 실행시킨다. 난수 발생기로부터 주소를 각각 생성하여 그 주소에 해당하는 제1 데이터(data A)와 제2 데이터(data B)를 가져온 다음, 제1 부모 데이터(부모A)와 제2 부모 데이터(부모B)로 선정한다. 그런 다음, 유전형질을 교환시키는 교배(crossover) 동작을 실행시킨다. 교배는 단순 교차방법을 사용하는데, 이는 난수 발생기를 통해 일정 지점(즉, 소정의 주소)을 선택하고, 그런 다음 제1 부모 데이터와 제2 부모 데이터의 유전형질을 교환시킨다. 그런 다음, 유전 형질의 돌연변이를 발생시키는 돌연변이부를 실행시킨다. 돌연변이는 난수발생기를 이용하여 만들어진 난수와 돌연변이 확률을 비교하여 유전 형질을 변형시킨다. 이때, 돌연변이 타입(mutation type)은 각 개체 중 하나만 돌연변이가 발생하는 단순 돌연변이 방법을 이용한다. 그런 다음, 제1 아이 데이터(자손A) 와 제2 아이 데이터(자손B)를 보존하여 다음 세대에 남긴다. 이를 반복하여 수행을 하면 100개의 개체 들이 하나로 수렴을 하는데 이 중 많은 수가 몰려 있는 마스크를 선택하여 하나의 마스크를 생성하게 된다. Meanwhile, the mask generation method using genetic algorithm and DNA computing will be briefly described. First, a mask is generated using random numbers generated from a random number generator at each address of a population. Then, the suitability value of each mask is obtained and stored together with the mask in a memory. Then, the one with the largest goodness of fit among the masks is selected as the best mask. Then initialize the parent to '0'. Then, the selection unit executes the selection of the random method under the control of the GA controller. Each address is generated from the random number generator, and the first data (data A) and the second data (data B) corresponding to the address are obtained, and then the first parent data (parent A) and the second parent data (parent B) are obtained. Select. Then, a crossover operation is performed to exchange genotypes. Crossing uses a simple crossover method, which selects a point (ie, a given address) through a random number generator, and then exchanges the genotypes of the first and second parent data. Then, the mutagenesis is performed to generate mutations in the genetic trait. Mutations modify genetic traits by comparing random numbers generated using random number generators with mutation probabilities. At this time, the mutation type (mutation type) uses a simple mutation method in which only one of each individual mutation occurs. Then, the first eye data (child progeny A) and the second eye data (child progeny B) are saved and left in the next generation. If you do this repeatedly, 100 objects converge to one, and one mask is created by selecting a mask having a large number of them.
도 5a의 파형은 64 비트 마스크(bit mask)를 만드는 난수발생기에서 나오는 파형을 보여주는 도면이고, 도 5b의 파형은 처음 100개의 마스크를 만드는데 난수발생기에서 나오는 마스크의 적합도 값을 구하고, 이를 메모리에 저장을 하는 일련의 과정이 모두 나오는 파형이다. The waveform of FIG. 5A shows a waveform from a random number generator that produces a 64-bit mask, and the waveform of FIG. 5B obtains a goodness-of-fit value of a mask from the random number generator to create the first 100 masks, and stores it in a memory. This is a waveform that contains a series of steps.
도 5c의 파형의 경우에는 마스크에서 1의 개수를 카운트하는 파형이고, 도 5d의 파형의 경우에는 교배 결과 파형이며, 그 결과값이 바로 돌연변이부로 들어간 후, 도 5e의 파형의 경우처럼, 난수 발생기에서 생성된 돌연변이 포인트(mutation point)를 이용하여 1->0, 0->1로 변형을 시켜주게 되는 것이다. In the case of the waveform of FIG. 5C, the waveform counts the number of 1s in the mask. In the case of the waveform of FIG. 5D, the waveform is a crossover result waveform. After the result is directly entered into the mutant part, as in the waveform of FIG. 5E, the random number generator Using the mutation point (mutation point) generated in the 1-> 0, 0-> 1 will be transformed.
상기와 같은 동작을 수행하도록 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법은, 비쥬얼 스튜디오(visual studio)를 이용한 시뮬레이션에서는 GA를 이용하여 마스크를 생성하기 위하여, 0에 해당하는 마스크를 만드는 시간이 Dual core 2 duo 6600으로 21시간이상이 걸렸으나 하드웨어로 구현하여 걸리는 시간은 약 200s 정도가 걸리게 된다. Mask generation system and method using a genetic algorithm and DNA computing according to the present invention to perform the above operation, in the simulation using visual studio (visual studio) to generate a mask using GA, corresponding to 0 It took more than 21 hours to make a mask with the Dual core 2 duo 6600, but it took about 200s to implement it in hardware.
따라서, 상기와 같은 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법은, DNAC를 GA를 이용하여 랜덤성이 높고 우수한 마스크를 선택하기 위한 것으로서, 병렬처리와 하드웨어 구현으로 GA를 이용한 마스크 생성시간을 줄일 수 있다. 그리고, 이런 계산시간의 감소와 유전자알고리즘의 반복(iteration) 횟수가 적기 때문에 실시간에 이 시스템을 적용할 수 있다. 또한, GA를 이용하는 것은 한 번만 이루어지는 것이 아니라 새로운 패턴이 들어와 서 트레인(train)에 추가하고 싶을 때에도 추가를 하여 GA를 이용한 마스크 생성을 하게 되어, 마스크 생성 효율을 향상시킬 수 있을 뿐만 아니라, 전체 대부분을 차지하는 적합도 함수 모듈을 펨웨어 프로그램으로 시스템을 구성하고, 반복적으로 계산되는 GA 연산(operation) 모듈들만 하드웨어로 만들면 하드웨어의 많은 면적을 줄일 수 있어 효율적인 시스템을 구성할 수 있다. Accordingly, the mask generation system and generation method using the genetic algorithm and DNA computing according to the present invention as described above, to select a mask having a high randomness and excellent DNA using the GA, parallel GA and hardware implementation The mask generation time used can be reduced. And since this reduction in computation time and the number of iterations of genetic algorithms are small, the system can be applied in real time. In addition, the use of GA is not performed only once, but when a new pattern comes in and you want to add it to a train, it is added to generate a mask using GA, thereby improving the mask generation efficiency, By constructing a system with a firmware program of the fitness function module that occupies, and making only the GA operation modules that are repeatedly calculated in hardware, a large area of the hardware can be reduced, thereby forming an efficient system.
이와 같이, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.As such, the technical configuration of the present invention described above can be understood by those skilled in the art that the present invention can be implemented in other specific forms without changing the technical spirit or essential features of the present invention.
그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, the exemplary embodiments described above are to be understood as illustrative and not restrictive in all respects, and the scope of the present invention is indicated by the following claims rather than the detailed description, and the meaning and scope of the claims and their All changes or modifications derived from equivalent concepts should be construed as being included in the scope of the present invention.
도 1은 종래 기술에 따른 유전자 알고리즘의 흐름도를 설명하기 위한 도면.1 is a view for explaining a flow chart of a genetic algorithm according to the prior art.
도 2는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템을 설명하기 위한 블록도.2 is a block diagram illustrating a mask generation system using a genetic algorithm and DNA computing according to the present invention.
도 3은 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템의 연산모듈을 설명하기 위한 블록도.Figure 3 is a block diagram for explaining the operation module of the mask generation system using a genetic algorithm and DNA computing in accordance with the present invention.
도 4는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템에 이용된 적합도 함수의 비교방법을 설명하기 위한 도면.4 is a view for explaining a method of comparing the fitness function used in the mask generation system using genetic algorithm and DNA computing according to the present invention.
도 5a 내지 5e는 본 발명에 따른 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법의 실험 결과를 설명하기 위한 도면.5A to 5E are diagrams for explaining experimental results of a mask generation system and generation method using genetic algorithm and DNA computing according to the present invention.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090201A KR100986160B1 (en) | 2008-09-12 | 2008-09-12 | System and method for manufacturing mask using genetic algorithm and dna computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090201A KR100986160B1 (en) | 2008-09-12 | 2008-09-12 | System and method for manufacturing mask using genetic algorithm and dna computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100031218A true KR20100031218A (en) | 2010-03-22 |
KR100986160B1 KR100986160B1 (en) | 2010-10-07 |
Family
ID=42180933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080090201A KR100986160B1 (en) | 2008-09-12 | 2008-09-12 | System and method for manufacturing mask using genetic algorithm and dna computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100986160B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106352A (en) * | 2013-01-22 | 2013-05-15 | 武汉科技大学 | Global optimization deoxyribose nucleic acid (DNA) computing sequence coding method |
CN107092255A (en) * | 2017-05-19 | 2017-08-25 | 安徽工程大学 | A kind of multi-robots path-planning method based on improved adaptive GA-IAGA |
KR20200113392A (en) * | 2019-03-25 | 2020-10-07 | 창원대학교 산학협력단 | System and method for estimating property of noise control material using genetic algorithm |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1157961A (en) | 1997-08-19 | 1999-03-02 | Nippon Steel Corp | Device for controlling cutting-off of cast slab in continuous casting |
KR19990049411A (en) * | 1997-12-12 | 1999-07-05 | 윤종용 | Coprocessor and its processing method using genetic algorithm |
KR100533950B1 (en) | 2003-01-20 | 2005-12-06 | 박춘욱 | Optimization Method of Structures Using Genetic Algorithms |
-
2008
- 2008-09-12 KR KR1020080090201A patent/KR100986160B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106352A (en) * | 2013-01-22 | 2013-05-15 | 武汉科技大学 | Global optimization deoxyribose nucleic acid (DNA) computing sequence coding method |
CN103106352B (en) * | 2013-01-22 | 2017-04-26 | 武汉科技大学 | Global optimization deoxyribose nucleic acid (DNA) computing sequence coding method |
CN107092255A (en) * | 2017-05-19 | 2017-08-25 | 安徽工程大学 | A kind of multi-robots path-planning method based on improved adaptive GA-IAGA |
KR20200113392A (en) * | 2019-03-25 | 2020-10-07 | 창원대학교 산학협력단 | System and method for estimating property of noise control material using genetic algorithm |
Also Published As
Publication number | Publication date |
---|---|
KR100986160B1 (en) | 2010-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018161468A1 (en) | Global optimization, searching and machine learning method based on lamarck acquired genetic principle | |
Bajpai et al. | Genetic algorithm–an approach to solve global optimization problems | |
Abdelaziz | Genetic algorithm-based power transmission expansion planning | |
US11514327B2 (en) | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths | |
CN111832725A (en) | Multi-robot multi-task allocation method and device based on improved genetic algorithm | |
KR100986160B1 (en) | System and method for manufacturing mask using genetic algorithm and dna computing | |
Davidson et al. | Evolution program for design of rectilinear branched networks | |
Mahalakshmi et al. | A review on genetic algorithm and its applications | |
CN111412795B (en) | Test point setting scheme generation method and device | |
CN107749801B (en) | A kind of virtual network function laying method based on population Incremental Learning Algorithm | |
WO2019246116A1 (en) | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths | |
CN111401745B (en) | 5G-based routing inspection robot cluster task allocation method and system | |
CN115451974A (en) | Power equipment routing inspection path planning method, system, equipment and medium | |
CN115730432A (en) | Scheduling method, system, equipment and storage medium for data processing tasks of Internet of things | |
CN113141272A (en) | Network security situation analysis method based on iteration optimization RBF neural network | |
Mitchell et al. | A new operator for efficient evolutionary solutions to the travelling salesman problem | |
CN113741482A (en) | Multi-agent path planning method based on asynchronous genetic algorithm | |
Xie et al. | An improved directed crossover genetic algorithm based on multilayer mutation | |
Londt et al. | A Two-Stage Hybrid GA-Cellular Encoding Approach to Neural Architecture Search | |
CN114581058B (en) | Personnel organization structure optimization method based on business process | |
KR20040028102A (en) | Many most suitable path search method to do with dynamic traffic information | |
Guillén et al. | Improving the performance of multi-objective genetic algorithm for function approximation through parallel islands specialisation | |
Zheldak et al. | THE ALGORITHM OF ARTIFICIAL IMMUNE SYSTEM SIMULATION WITH SAATY SELECTION OPERATOR AND ONE-DIMENSIONAL LOCAL SEARCH. | |
JPH1185720A (en) | Method and device for searching optimum solution | |
AlBarki et al. | Classes Scheduler sing Genetic Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130913 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140818 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160912 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |