• 제목/요약/키워드: Subgraph Isomorphism Problem

검색결과 3건 처리시간 0.017초

Software Similarity Measurement based on Dependency Graph using Harmony Search

  • Yun, Ho Yeong;Joe, Yong Joon;Jung, Byung Ok;Shin, Dong myung;Bahng, Hyo Keun
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권12호
    • /
    • pp.1-10
    • /
    • 2016
  • In this paper, we attempt to prevent certain cases by tracing a history and making genogram about open source software and its modification using similarity of source code. There are many areas which use open source software actively and widely, and open source software contributes their development. However, there are many unconscious cases like ignoring license or intellectual properties infringe which can lead litigation. To prevent such situation, we analyze source code similarity using program dependence graph which resembles subgraph isomorphism problem, a typical NP-complete problem. To solve subgraph isomorphism problem, we utilized harmony search of metaheuristic algorithm and compared its result with a genetic algorithm. For the future works, we represent open source software as program dependence graph and analyze their similarity.

Efficient Mining of Frequent Subgraph with Connectivity Constraint

  • Moon, Hyun-S.;Lee, Kwang-H.;Lee, Do-Heon
    • 한국생물정보학회:학술대회논문집
    • /
    • 한국생물정보시스템생물학회 2005년도 BIOINFO 2005
    • /
    • pp.267-271
    • /
    • 2005
  • The goal of data mining is to extract new and useful knowledge from large scale datasets. As the amount of available data grows explosively, it became vitally important to develop faster data mining algorithms for various types of data. Recently, an interest in developing data mining algorithms that operate on graphs has been increased. Especially, mining frequent patterns from structured data such as graphs has been concerned by many research groups. A graph is a highly adaptable representation scheme that used in many domains including chemistry, bioinformatics and physics. For example, the chemical structure of a given substance can be modelled by an undirected labelled graph in which each node corresponds to an atom and each edge corresponds to a chemical bond between atoms. Internet can also be modelled as a directed graph in which each node corresponds to an web site and each edge corresponds to a hypertext link between web sites. Notably in bioinformatics area, various kinds of newly discovered data such as gene regulation networks or protein interaction networks could be modelled as graphs. There have been a number of attempts to find useful knowledge from these graph structured data. One of the most powerful analysis tool for graph structured data is frequent subgraph analysis. Recurring patterns in graph data can provide incomparable insights into that graph data. However, to find recurring subgraphs is extremely expensive in computational side. At the core of the problem, there are two computationally challenging problems. 1) Subgraph isomorphism and 2) Enumeration of subgraphs. Problems related to the former are subgraph isomorphism problem (Is graph A contains graph B?) and graph isomorphism problem(Are two graphs A and B the same or not?). Even these simplified versions of the subgraph mining problem are known to be NP-complete or Polymorphism-complete and no polynomial time algorithm has been existed so far. The later is also a difficult problem. We should generate all of 2$^n$ subgraphs if there is no constraint where n is the number of vertices of the input graph. In order to find frequent subgraphs from larger graph database, it is essential to give appropriate constraint to the subgraphs to find. Most of the current approaches are focus on the frequencies of a subgraph: the higher the frequency of a graph is, the more attentions should be given to that graph. Recently, several algorithms which use level by level approaches to find frequent subgraphs have been developed. Some of the recently emerging applications suggest that other constraints such as connectivity also could be useful in mining subgraphs : more strongly connected parts of a graph are more informative. If we restrict the set of subgraphs to mine to more strongly connected parts, its computational complexity could be decreased significantly. In this paper, we present an efficient algorithm to mine frequent subgraphs that are more strongly connected. Experimental study shows that the algorithm is scaling to larger graphs which have more than ten thousand vertices.

  • PDF

화학 데이타베이스에서 부분구조 검색을 위한 인덱스 구조 (An Index Structure for Substructure Searching In Chemical Databases)

  • 이환구;차재혁
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제31권6호
    • /
    • pp.641-649
    • /
    • 2004
  • 약물의 화학적 구조와 그 약물의 약리작용간의 연관성은, 'Medicinal Chemistry' 분야에서 활발히 연구된다. 이는 화학구조를 기반으로 하여 신약을 설계하려는 시도로서, 약학자는 신약 개발 시 만들고자 하는 약물과 비슷한 화학구조를 가지고 있는 기존 약물들에는 어떠한 것들이 있는지 조사하며, 특정 화학구조가 어떤 약물들에서 나타나는지 신속히 검색하기를 원한다. 이처럼 어떤 화차구조에서, 특정한 부분구조가 존재하는지를 검사하는 것을 부분구조검색(Substructure Searching)이라 하며, 이는 그래프 이론에서 NP-complete인 동형성 판정(Subgraph Isomorphism) 문제로 귀결된다. 검색 시간을 단축시키고자 여러 다른 전근방법들이 연구되었는데, 1990년대에는 구조에 대한 인덱스를 미리 만들어 RDBMS에 저장한 후, 검색시 이론 이용하여 성능을 높이는 방법으로 미국 특허를 획득한 RS3 시스템(http://www.acelrys.com/rs3)이 현재 상용화되어 쓰이고 있다. 본 논문에서는 RS3 시스템의 문제점을 규명하고, 이의 개선방안으로서 새로운 인덱스를 제안한다 RS3 시스템은 각 원자를 중심으로 다른 원자와의 구조를 문자연로 표현하고, 부분구조검색 쿼리를 부분문자열 검색을 실행함으로써 수행하는데, 이의 화학구조를 기술하는 인덱스에는 동일 원자, 동릴 결합에 대한 정렬이 불가능하여 재현율(Recall)과 정도(Precision)가 낮다. 이론 개선하기 위하여 본 논문에서는 2차원의 화학구조를 나누어 1차원의 구조 단편으로 만들고 이를 문자열로 기술하는 방안을 제시하며 구체적인 방법으로 한 인자를 중심으로 최소비용신장트리를 구성한 다음 레벨별로 경로를 나누어 기술하는 방안을 제안하며, 이와 같은 방법의 새로운 인덱스로 재현율과 정도가 급격히 향상됨을 보인다.