KR100986160B1 - 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 PDF

Info

Publication number
KR100986160B1
KR100986160B1 KR1020080090201A KR20080090201A KR100986160B1 KR 100986160 B1 KR100986160 B1 KR 100986160B1 KR 1020080090201 A KR1020080090201 A KR 1020080090201A KR 20080090201 A KR20080090201 A KR 20080090201A KR 100986160 B1 KR100986160 B1 KR 100986160B1
Authority
KR
South Korea
Prior art keywords
mask
data
random number
parent
generated
Prior art date
Application number
KR1020080090201A
Other languages
Korean (ko)
Other versions
KR20100031218A (en
Inventor
정덕진
이상설
김병수
왕규열
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020080090201A priority Critical patent/KR100986160B1/en
Publication of KR20100031218A publication Critical patent/KR20100031218A/en
Application granted granted Critical
Publication of KR100986160B1 publication Critical patent/KR100986160B1/en

Links

Images

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biotechnology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Chemical & Material Sciences (AREA)

Abstract

본 발명은 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법에 관한 것이다.The present invention relates to a mask generation system and method using genetic algorithm and DNA computing.

본 발명에 따르면, 난수(Random Value)를 발생하고, 난수에 대한 주소를 생성하는 난수 발생기, 난수 발생기를 통하여 소정의 주소를 선택하고, 난수 발생기로부터 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 각각 제1 부모 데이터 및 제2 부모데이터로 선택하는 선택부, 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하는 교배부, 난수 발생기로부터 생성된 난수를 전달받고, 난수를 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 돌연변이부를 포함하는 연산 모듈, 개체군(population)의 각 주소, 난수에 의해 생성된 마스크 및 각 마스크의 적합도 값(Fitness Value)을 저장하는 메모리 모듈, 메모리 모듈로부터 마스크 중 가장 큰 적합도 값을 가지는 마스크를 전달받아, 이 마스크를 재생시키는 재생 모듈, 제1 부모 데이터 및 제2 부모데이터를 교배부로 전달하고, 교배부로부터 제1 아이 데이터 및 제2 아이 데이터를 전달받아, 메모리 모듈로 전달하며, 또한 개체군의 각 주소에 난수로 마스크를 생성하고, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈로 전달하며, 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하도록 제어하는 GA 컨트롤러(Genetic Algorithm Controller)를 포함한다. According to the present invention, a random number generator generates a random value, selects a predetermined address through a random number generator for generating an address for the random number, and generates a random number generator, and the first data and the second data corresponding to the address are selected from the random number generator. A selection unit for receiving the first parent data and the second parent data, a crossing unit for generating the first child data and the second child data by exchanging the genetic characteristics of the first parent data and the second parent data, respectively; An arithmetic module that receives a random number generated from the generator and compares the random number with a predetermined mutation probability to modify the genotype, each address of a population, a mask generated by the random number, and a goodness-of-fit value of each mask The memory module that stores the (Fitness Value), receives a mask having the largest goodness-of-fit value from the memory module from the memory module, and resets the mask. A first regeneration module, a first parent data, and a second parent data to a mating unit, receive the first eye data and the second child data from the mating unit, transfer the first child data and the second child data to the memory module, and mask each address of the population with a random number. Genetic Algorithm Controller which controls to transfer the mask having the largest goodness of fit among the masks to the memory module, generating Include.

유전자 알고리즘, DNA 컴퓨팅, 마스크, 난수 발생기 Genetic Algorithm, DNA Computing, Masks, Random Number Generator

Description

유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템 및 생성 방법{SYSTEM AND METHOD FOR MANUFACTURING MASK USING GENETIC ALGORITHM AND DNA COMPUTING} Mask generation system and method using genetic algorithm and DNA computing {SYSTEM AND METHOD FOR MANUFACTURING MASK USING GENETIC ALGORITHM AND DNA COMPUTING}

본 발명은 유전자 알고리즘 및 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 Claim 1 produces a random value, selects the predetermined address through the random number generator which generate the random number address, and the random number generator, The first child receives the first data and the second data corresponding to the selected address, and selects the first parent data and the second parent data, respectively, and exchanges the genetic characteristics of the first parent data and the second parent data. Population unit for generating data and second eye data, a computation module including a mutation unit for receiving a random number generated from a random number generator, and performing a calculation to modify the genotype by comparing the random number random mutation probability (population) A memory module for storing each address of < RTI ID = 0.0 >), < / RTI > Receives a mask having the greatest goodness of fit value among masks generated from the Mori module, and transfers the reproduction module, the first parent data, and the second parent data, which reproduce the mask, to the mating unit, and the first eye data and the first from the mating unit. 2 Receives the eye data, passes it to the memory module, creates a mask with random numbers at each address of the population, obtains the fitness value of the generated mask, and transfers the generated mask and the fitness value to the memory module. It includes a GA controller (Genetic Algorithm Controller) for controlling to transfer the mask having the largest goodness of fit mask to the playback module.

청구항 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 Claim 1 WHEREIN: The arithmetic module consists of the 1st parent data and the 1st parent data transmitted from a GA controller. 2, further comprising: a parent buffer for storing the parent data for a predetermined time, and transmitting the parent buffer to the mating unit, and storing the first eye data and the second eye data generated from the mating unit for a predetermined time, and then transferring the parent buffer to the GA controller. The GA controller obtains a goodness of fit value of the generated mask, passes the generated mask and the goodness of fit value to the memory module, and initializes the parent buffer.

청구항 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 Claim 1, a crossing part produces | generates eye data using a simple crossover method.

청구항 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 Claim 1 WHEREIN: Mutation part uses the simple mutation which only one mutation of each individual generate | occur | produces To modify the genetic trait.

청구항 5에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법은, 난수(Random Value)를 발생하고, 난수에 대한 주소를 생성하여 생성된 주소에 해당하는 제1 데이터 및 제2 데이터를 각각 제1 부모 데이터 및 제2 부모데이터로 선정하는 제1 단계, 개체군의 각 주소에 난수로 마스크를 생성하고, 생성된 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈에 저장하는 제2 단계, 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하고, 난수와 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 제3 단계, 제1 아이 데이터 및 제2 아이 데이터와 변형된 유전형질을 메모리 모듈에 저장하는 제4 단계, 생성된 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하여, 이 마스크를 재생시키는 제5 단계를 포함한다.According to claim 5 of the present invention, a genetic algorithm and a method for generating a mask using DNA computing include generating a random value and generating an address for the random number to respectively generate first and second data corresponding to the generated address. A first step of selecting the parent data and the second parent data, a second step of generating a mask with a random number at each address of the population, obtaining a goodness-of-fit value of the generated mask, and storing the generated mask and the goodness-of-fit value in a memory module. A third step of generating a first eye data and a second eye data by exchanging the genotypes of the first parent data and the second parent data, and modifying the genotype by comparing the random number with a predetermined mutation probability; A fourth step of storing the eye data, the second eye data, and the modified genotype in the memory module; reproducing a mask having the largest goodness-of-fit value among the generated masks Passing to the module to reproduce this mask.

청구항 6에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법은, 청구항 5에 관한 발명인 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법에 있어서, 제2 단계는, 생성된 마스크 및 그 적합도 값을 메모리 모듈에 저장한 후에, 부모 버퍼를 초기화시킨다.In the method of generating a mask using the genetic algorithm and DNA computing according to claim 6, the method of generating a mask using the genetic algorithm and DNA computing according to the fifth invention, the second step, the generated mask and its fitness value After saving to, initialize 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 random number generator 110 and a selector 120, a crossing unit 130, and a mutation unit 140. Module 100, memory module 300, playback module 400, and GA algorithm (Genetic Algorithm Controller) 200.

연산모듈(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 calculation module 100 selects a predetermined address through the random number generator 110, receives the first data and the second data corresponding to the address from the random number generator 110, and respectively, the first parent data and the second data. From the selection unit 120 to select the parent data, the cross-linking unit 130 for generating the first and second child data by exchanging the genetic characteristics of the first and second parent data, the random number generator 110 Receiving the generated random number, and compares the random number with a predetermined mutation probability comprises a mutation unit 140 for performing an operation for modifying the genotype. In other words, the operation module 100 is a part for selecting a parent entity and also arbitrarily selecting an object to be evolved to the next generation. In this case, the selection is to determine the survival distribution of the individual who crosses the population according to the distribution of the degree of adaptation in the next step, which is based on the distribution of the degree of adaptability. Individuals tend to leave more offspring. Data transmission between the memory module 300 and the random number generator 110 is performed by a handshaking protocol. In addition, the selector 120 performs a function of selecting a parent object for crossover and mutation, which is controlled by the GA controller 200 as a whole.

메모리 모듈(300)은, 개체군(population)의 각 주소, 난수에 의해 생성된 마스크 및 각 마스크의 적합도 값(Fitness Value)을 저장한다.The memory module 300 stores each address of a population, a mask generated by a random number, and a fitness value of each mask.

재생모듈(400)은, 메모리 모듈로부터 마스크 중 가장 큰 적합도 값을 가지는 마스크를 전달받아, 이 마스크를 재생시켜준다.The regeneration module 400 receives a mask having the largest goodness-of-fit value among the masks from the memory module and reproduces the mask.

GA 컨트롤러(Genetic Algorithm Controller)(200)는, 난수 발생기(110)로부터 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 제1 데이터 및 제2 데이터를 각각 제1 부모 데이터 및 제2 부모데이터로 선정하여 교배부(120)로 전달하도록 제어한다. 또한, 교배부(120)로부터 제1 아이 데이터 및 제2 아이 데이터를 전달받아, 제1 아이 데이터 및 제2 아이 데이터를 메모리 모듈(300)로 전달하도록 제어한다. 그리고, 개체군의 각 주소에 난수로 마스크를 생성하고, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈(300)로 전달하며, 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈(400)로 전달하도록 제어한다.The GA algorithm 200 receives the first data and the second data corresponding to the address from the random number generator 110, and receives the first data and the second data from the first parent data and the second parent, respectively. The data is selected and controlled to be transferred to the mating unit 120. Also, the first eye data and the second eye data are received from the crossing unit 120, and the first eye data and the second eye data are transferred to the memory module 300. Then, a mask is generated with random numbers at each address of the object group, the mask has a goodness-of-fit value, the generated mask and the goodness-of-fit value are transmitted to the memory module 300, and a mask having the largest goodness-of-mask value among the masks is reproduced. Control to pass to 400.

도 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 operation module 100 of the mask generation system using the genetic algorithm and the DNA computing according to the present invention includes a selection unit 120, a mating unit 130, and a mutation unit 140. do.

또한, 연산 모듈(100)은, GA 컨트롤러(미도시)로부터 전달된 제1 부모 데이터 및 제2 부모 데이터를 소정 시간 저장한 후, 교배부(130)로 전달하는 부모버퍼(125), 교배부(130)로부터 생성된 제1 아이 데이터 및 제2 아이 데이터를 소정시간 저장한 후, GA 컨트롤러로 전달하는 아이 버퍼(135)를 더 포함한다. 또한, GA 컨트롤러는, 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모 리 모듈로 전달한 후에, 부모 버퍼(125)를 초기화시켜준다.In addition, the operation module 100 may store the first parent data and the second parent data transmitted from the GA controller (not shown) for a predetermined time, and then transfer the parent buffer 125 and the mating unit to the mating unit 130. The apparatus further includes an eye buffer 135 that stores the first eye data and the second eye data generated from the 130 for a predetermined time, and then transfers the first eye data and the second eye data to the GA controller. In addition, the GA controller obtains a goodness of fit value of the mask, transfers the generated mask and the goodness of fit value to the memory module, and initializes the parent buffer 125.

간략하게 설명하자면, 선택부(110)는 메모리 모듈(300)에서 두 개의 개체를 선택하여 두 개의 부모 데이터를 생성하고, 교배부(120) 및 돌연변이부(140)는 빠른 연산을 위해 두 개의 부모 데이터를 이용하여 한 클럭(clock)에 두 개의 아이 데이터를 만들어 다음 모듈로 넘겨준다. 한편, 교배(Crossover)라 함은, 2개의 염색체 사이에서 유전자를 바꾸어 넣어 새로운 개체를 발생시키는 것이고, 돌연변이(Mutation)라 함은, 유전자의 어떤 부분의 값을 강제적으로 변화시키는 것을 말한다. In brief, the selector 110 selects two objects from the memory module 300 to generate two parent data, and the hybridization unit 120 and the mutation unit 140 have two parents for fast operation. Data is used to create two eye data on one clock and pass it to the next module. Crossover, on the other hand, refers to altering a gene between two chromosomes to generate a new individual. Mutation refers to forcibly changing the value of a portion of a gene.

연산모듈(100)은, 두 가지 유전 연산자가 단계적으로 수행되도록 설계된 모듈이다. 먼저 교배는 기본적으로 사용하는 방법인 단순 교차(1-point crossover) 방법을 이용하고, 돌연변이는 각 개체중 하나만 돌연변이가 발생하는 단순 돌연변이(single-point mutation) 방법을 사용하였다. The operation module 100 is a module designed to perform two genetic operators step by step. First, crosses were used by using a one-point crossover method, which is basically used, and a single-point mutation method in which a mutation occurs in only one of each individual.

도 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 selection unit 120 to perform the first crossover. If not, a crossover is made by creating a new object, a child object using the parent object as it is. In addition, in the next mutation method, the genetic operation was designed to be performed in a combination of crosses and mutations. That is, after the selection is completed in the selection unit 120, the random bit is compared with a random probability received from the random number generator 110 and a mutation rate. If the random probability is large, the bit is modified.

도 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 .

Figure 112008064766809-pat00001
Figure 112008064766809-pat00001

와 같이 정하는 방법이다. 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) 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)

난수(Random Value)를 발생하고, 상기 난수에 대한 주소를 생성하는 난수 발생기;A random number generator for generating a random value and generating an address for the random number; 상기 난수 발생기를 통하여 소정의 주소를 선택하고, 상기 난수 발생기로부터 상기 선택된 주소에 해당하는 제1 데이터 및 제2 데이터를 전달받아, 각각 제1 부모 데이터 및 제2 부모데이터로 선택하는 선택부;A selection unit for selecting a predetermined address through the random number generator, receiving first data and second data corresponding to the selected address from the random number generator, and selecting the first parent data and the second parent data, respectively; 상기 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하는 교배부; 및A mating unit for generating first eye data and second eye data by exchanging the genotypes of the first parent data and the second parent data; And 상기 난수 발생기로부터 생성된 난수를 전달받고, 상기 난수를 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 연산을 수행하는 돌연변이부Receiving a random number generated from the random number generator, a mutation unit for performing the operation of modifying the genotype by comparing the random number with a predetermined probability of mutation 를 포함하는 연산 모듈;A calculation module comprising a; 개체군(population)의 각 주소, 상기 난수에 의해 생성된 마스크 및 각 마스크의 적합도 값(Fitness Value)을 저장하는 메모리 모듈;A memory module for storing each address of a population, a mask generated by the random number, and a fitness value of each mask; 상기 메모리 모듈로부터 상기 생성된 마스크 중 가장 큰 적합도 값을 가지는 마스크를 전달받아, 이 마스크를 재생시키는 재생 모듈; 및A reproduction module which receives a mask having the greatest goodness of fit value among the generated masks from the memory module and reproduces the mask; And 상기 제1 부모 데이터 및 제2 부모데이터를 상기 교배부로 전달하고, Delivering the first and second parent data to the mating unit; 상기 교배부로부터 제1 아이 데이터 및 제2 아이 데이터를 전달받아, 상기 메모리 모듈로 전달하며,Receiving first eye data and second eye data from the mating unit, and transferring the first eye data and the second eye data to the memory module; 또한 상기 개체군의 각 주소에 상기 난수로 마스크를 생성하고, 상기 생성된 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈로 전달하며, 상기 생성된 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하도록 제어하는 GA 컨트롤러(Genetic Algorithm Controller);In addition, a mask is generated by the random number at each address of the population, the fitness value of the generated mask is obtained, the generated mask and the fitness value are transferred to a memory module, and the mask has the largest fitness value among the generated masks. A GA controller (Genetic Algorithm Controller) for controlling the transfer of the mask to the playback module; 를 포함하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템.Mask generation system using a genetic algorithm and DNA computing comprising a. 제1항에 있어서,The method of claim 1, 상기 연산 모듈은,The calculation module, 상기 GA 컨트롤러로부터 전달된 상기 제1 부모 데이터 및 제2 부모 데이터를 소정 시간 저장한 후, 상기 교배부로 전달하는 부모버퍼; 및A parent buffer which stores the first parent data and the second parent data transmitted from the GA controller for a predetermined time and then transfers them to the mating unit; And 상기 교배부로부터 생성된 상기 제1 아이 데이터 및 제2 아이 데이터를 소정시간 저장한 후, 상기 GA 컨트롤러로 전달하는 아이 버퍼를 더 포함하며,And an eye buffer configured to store the first eye data and the second eye data generated from the mating unit for a predetermined time, and then deliver the first eye data and the second eye data to the GA controller. 상기 GA 컨트롤러는, 상기 생성된 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈로 전달한 후에, 상기 부모 버퍼를 초기화시키는 것을 특징으로 하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템.The GA controller obtains a goodness-of-fit value of the generated mask, transfers the generated mask and the goodness-of-fit value to a memory module, and initializes the parent buffer. The mask generation system using genetic algorithm and DNA computing. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 교배부는 단순교차법을 이용하여 아이 데이터를 생성하는 것을 특징으로 하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템.The mating unit generates mask data using a genetic algorithm and DNA computing, characterized in that for generating the eye data using a simple cross method. 제1항에 있어서,The method of claim 1, 상기 돌연변이부는 각 개체중 하나만 돌연변이가 발생하는 단순 돌연변이법을 사용하여 유전형질을 변형시키는 연산을 수행하는 것을 특징으로 하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 시스템.The mutation unit mask generation system using a genetic algorithm and DNA computing, characterized in that for performing the operation of modifying the genotype using a simple mutation method in which only one of each individual mutation occurs. 난수(Random Value)를 발생하고, 상기 난수에 대한 주소를 생성하여 상기 생성된 주소에 해당하는 제1 데이터 및 제2 데이터를 각각 제1 부모 데이터 및 제2 부모데이터로 선정하는 제1 단계;Generating a random value, generating an address for the random number, and selecting first data and second data corresponding to the generated address as first parent data and second parent data, respectively; 개체군의 각 주소에 상기 난수로 마스크를 생성하고, 상기 생성된 마스크의 적합도 값을 구하여, 생성된 마스크 및 그 적합도 값을 메모리 모듈에 저장하는 제2 단계;Generating a mask with the random number at each address of a population, obtaining a fitness value of the generated mask, and storing the generated mask and the fitness value in a memory module; 상기 제1 부모 데이터 및 제2 부모데이터의 유전형질을 교환시켜 제1 아이 데이터 및 제2 아이 데이터를 생성하고, 상기 난수와 소정의 돌연변이 확률을 비교하여 유전형질을 변형시키는 제3 단계;A third step of exchanging the genotypes of the first parent data and the second parent data to generate first eye data and second eye data, and modifying the genotype by comparing the random number with a predetermined mutation probability; 상기 제1 아이 데이터 및 제2 아이 데이터와 상기 변형된 유전형질을 상기 메모리 모듈에 저장하는 제4 단계; 및A fourth step of storing the first eye data and the second eye data and the modified genotype in the memory module; And 상기 생성된 마스크 중 가장 큰 적합도 값을 가지는 마스크를 재생모듈로 전달하여, 이 마스크를 재생시키는 제5 단계;Transmitting a mask having the largest goodness-of-fit value among the generated masks to a reproducing module to regenerate the mask; 를 포함하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법.Gene generation method comprising a mask and a mask using DNA computing. 제5항에 있어서,The method of claim 5, 상기 제2 단계는, 상기 생성된 마스크 및 그 적합도 값을 상기 메모리 모듈에 저장한 후에, 부모 버퍼를 초기화시키는 것을 특징으로 하는 유전자 알고리즘 및 DNA 컴퓨팅을 이용한 마스크 생성 방법.The second step is, after storing the generated mask and the goodness-of-fit value in the memory module, and initializes a parent buffer, mask generation method using a genetic algorithm and DNA computing.
KR1020080090201A 2008-09-12 2008-09-12 System and method for manufacturing mask using genetic algorithm and dna computing KR100986160B1 (en)

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 KR20100031218A (en) 2010-03-22
KR100986160B1 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR102198714B1 (en) * 2019-03-25 2021-01-05 창원대학교 산학협력단 System and method for estimating property of noise control material using genetic algorithm

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR20100031218A (en) 2010-03-22

Similar Documents

Publication Publication Date Title
Bajpai et al. Genetic algorithm–an approach to solve global optimization problems
CN109039942B (en) Network load balancing system and balancing method based on deep reinforcement learning
WO2018161468A1 (en) Global optimization, searching and machine learning method based on lamarck acquired genetic principle
Chen et al. An adaptive genetic assembly-sequence planner
Abdelaziz Genetic algorithm-based power transmission expansion planning
CN111832725B (en) Multi-robot multi-task allocation method and device based on improved genetic algorithm
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
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
Pyrih et al. Research of genetic algorithms for increasing the efficiency of data routing
Curry et al. A computational intelligence approach to system-of-systems architecting incorporating multi-objective optimization
CN111401745B (en) 5G-based routing inspection robot cluster task allocation method and system
JP4755516B2 (en) Process organization method
CN115451974A (en) Power equipment routing inspection path planning method, system, equipment and medium
CN113141272B (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
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
Joshi Genetic Algorithm and its Applications-A Brief Study
Roeva et al. A generalized net model of mutation operator of the breeder genetic algorithm
CN113741482B (en) Multi-agent path planning method based on asynchronous genetic algorithm
CN114581058B (en) Personnel organization structure optimization method based on business process
Guillén et al. Improving the performance of multi-objective genetic algorithm for function approximation through parallel islands specialisation
Tyagi et al. A Comprehensive Study of Genetic Algorithm for the Flowshop Scheduling Problem

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