KR102085412B1 - 인지 메모리 그래프 인덱싱, 저장 및 검색 기법 - Google Patents

인지 메모리 그래프 인덱싱, 저장 및 검색 기법 Download PDF

Info

Publication number
KR102085412B1
KR102085412B1 KR1020177026949A KR20177026949A KR102085412B1 KR 102085412 B1 KR102085412 B1 KR 102085412B1 KR 1020177026949 A KR1020177026949 A KR 1020177026949A KR 20177026949 A KR20177026949 A KR 20177026949A KR 102085412 B1 KR102085412 B1 KR 102085412B1
Authority
KR
South Korea
Prior art keywords
network
subgraph
vector
graph
bloom filter
Prior art date
Application number
KR1020177026949A
Other languages
English (en)
Other versions
KR20170130432A (ko
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 킨디 인코포레이티드
Publication of KR20170130432A publication Critical patent/KR20170130432A/ko
Application granted granted Critical
Publication of KR102085412B1 publication Critical patent/KR102085412B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms

Abstract

본 개시물은 그래프 또는 네트워크를 인코딩 및 인덱싱하고 그래프 데이터 내의 하위 구조 매칭 또는 유사성을 식별하기 위한, 빠른 근사화 및 정확한 계층 네트워크 저장 및 검색 시스템 및 방법을 제공한다. 속성 기반, 유사성 기반 또는 구조 또는 하위 구조 기반 검색을 위한 인지 서명으로 불리는 인덱스 데이터 구조를 구축하기 위한 축소 및 그래프 속성 계산에 따라 그래프의 국부적 구조를 요약하는 일반화된 조합 맵 및 새로운 양자 직관 Q-해싱 알고리즘을 통해 그래프를 인코딩한다. 본 발명의 시스템 및 방법은 트래픽 그래프 또는 흐름 및 그래프의 동영상 시퀀스와 같은 동적으로 변화하는 그래프뿐만 아니라 그래프의 전체 또는 부분 또는 하위 구조 또는 아날로그를 저장 및 인덱싱하는 데 적합하다. 이 시스템 및 방법은 그래프의 인지 서명의 속성이 기초 데이터의 속성과의 연관성에 사용될 수 있는 이점을 가지며, 이러한 이점은 시스템을 대용량 그래프 데이터 세트의 시맨틱 인덱싱에 대해 이상적으로 만든다.

Description

인지 메모리 그래프 인덱싱, 저장 및 검색 기법
본 출원은 2015년 3월 24일에 출원된 미국 가특허 출원 제62/137,598호에 기초하여 우선권의 이득을 주장하고, 이의 전체 내용은 본원에 참조로서 포함된다.
본 개시는 네트워크의 인코딩 및 디코딩 및 이들의 신속한 저장, 쿼리 처리 및 검색을 위한 임의의 크기의 하위 구조를 가능하게 하는 "인지 메모리" 모델을 설명한다. 이 모델은, 큰 그래프 및 해당 그래프를 일반화된 맵에 맵핑하여 생성된 그래프의 전역적 공간 내에서, Q-메도이드(Q-Medoids)라는 분할 알고리즘에 기초하여 지역화되고 지향된 하위 공간의 개념을 Q-해싱(Q-Hashing)이라고 불리는 양자 직관형 해싱 스키마(quantum-inspired hashing scheme)를 사용하는 하위 그래프의 국부적 설명과 결합한다.
일반화된 맵은 노드와 연결선(edge)이 실수 값과 복소 값을 취하는 새로운 표현을 사용한다. 이러한 표현은 양자 랜덤 워커(quantum ramdom walker)가 복소 벡터 공간(complex vector space)의 개념을 포함하고 대신 그래프 자체가 복소 공간(complex space)을 정의하는 전통적인 개념을 뒤집는다. 이 모델은 큰 그래프뿐만 아니라 이의 하위 그래프에 관한 전역적 설명을 유지하고, 둘 모두는 재작성 프로세스(rewriting process)에서 고유하게 이용된다. 재작성 프로세스는 주어진 쿼리 그래프가 저장된 그래프와 정확하게 일치하거나 대략 일치하는지 또는 주어진 그래프가 저장된 그래프들 중 하나의 일부분인지 여부와 같은 쿼리에 응답하기 위한 다중 인덱스 구조를 생성하기 위한 메소드의 고정된 종단점을 보장하는 국부적 및 전역적 표현을 구축하는 것을 수반한다. 또한, 재작성 프로세스는 그래프의 일부분이 다른 그래프들 중 다른 부분들 "중간에(in-between)" 있는지에 관한 이해(insight)를 제공할 수 있고, 즉, 매개성(in-betweeness) 및 도달가능성(reachability)의 특징이 달성될 수 있다.
본원에 제공되는 "배경" 설명은 일반적으로 본 개시의 맥락을 일반적으로 제시하기 위해 제공된다. 현재 지정된 발명자의 작업뿐만 아니라 출원시에 종래 기술로서 달리 자격을 갖지 않을 수도 있는 설명의 양태들은, 본 배경 섹션에서 설명되는 범위 내에서, 명시적으로나 암시적으로나 본 발명에 대한 종래 기술로서 인정되지 않는다.
네트워크(다양하게는 그래프라고도 지칭됨) 저장 방법은 이미지 데이터베이스, 화학 분자 데이터베이스, 소셜, 금융, 교통 네트워크 및 인터넷 네트워크 콘텐츠 데이터베이스에서 같이 해싱 및 콘텐츠 기반 액세스의 변형에 기초한다. 네트워크 기반 인덱싱을 위한 세계에서 가장 널리 사용되는 알고리즘은 콘텐츠의 허브 페이지에 대한 인터넷 인-아웃 링크로부터 도출된 네트워크에서 작동하는 Google™ 페이지-랭크 알고리즘이다. 복잡한 네트워크의 계층적 하위 구조는 생체, 원시 신경(proeteomic), 게놈, 신경 및 사회 조직 어디에나 있다. 복잡한 네트워크 내의 관련 네트워크 그룹(related network group: RNG)의 식별은, 전체 네트워크 및 이의 구성 성분의 구조, 기능 및 진화로 인해 다양한 상이한 방법으로 링크되고 연관될 수 있는 노드들의 계층적 하위 네트워크 그룹으로 파티셔닝하는 것을 수반하기 때문에 일반적으로 간단한 그래프 동형성(isomorphism) 또는 하위 동형성 문제보다 어렵다. 예를 들어, 커뮤니티 검출은 네트워크가 컴포넌트들로 분해될 때까지 매개성(betweeness) 및 모듈성(modularity)의 개념을 사용하여 네트워크가 컴포넌트들로 분해될 때까지, 즉 네트워크가 스스로 유사하거나 반복적(interative), 재귀적(recursive) 성질(예를 들어, 무척도 네트워크(scale-free network))을 갖는 경우 더 작은 클러스터가 모듈 구성요소 내에서 정제될 수 있는지가 어려울 때까지, 가장 큰 매개성을 갖는 링크들을 점진적으로 제거하는 분할 알고리즘을 구현한다. 모든 링크는 네트워크의 구조에 대한 정보를 잠재적으로 포함하기 때문에, 프로세스의 임의의 단계에서 링크를 폐기하지 않으면서 상이한 구조 레벨을 클러스터링하는 계층적 표현 및 파티션 전략이 필요하다.
Hosoya의 위상 인덱스(Topological Index) 및 구글의 페이지 랭크(Page-Rank) 각각과 같은 네트워크에 대한 위상 또는 기하학 메트릭은 단독으로 또는 조합하여 사용하는 경우에 특히 시간이 지남에 따른 변형 측면에서, 이미지의 콘텐츠 설명을 설명하기에 충분하지도 않고, 도구(tool)와 같이 네트워크들 사이의 불안정한(brittle) 일치가 바람직하지 않은 복잡하거나, 관계적이거나, 유사한(analogy) 쿼리를 표현하기에도 충분하지도 않다. 예를 들어, 이미지 처리에서 그래프의 콘텐츠는 잘 표현하지만 그래프 기반 저장 및 검색은 이미지의 스케일(scale), 크기, 해상도, 개수 및 충실도(fidelity)가 하나씩 또는 비디오에서와 같이 순차적으로 증가할 때 어렵고, 이는 그래프 기반의 방법의 복잡성을 증가시킨다.
인터넷 검색에서 Google ™ 페이지 랭크는 가장 주도적이고 성공적인 네트워크 인덱싱 알고리즘이다. 그러나, 페이지 랭크는 웹 사이트들 뿐만 아니라 컨텍스트 사이의 유사성을 포착하지 못하거나 심지어 콘텐츠 표현에 의해 웹 사이트 사용자를 프로파일하는 수단으로서의 역할을 하지 못한다. 페이지 랭크 및 기타 그래프 알고리즘과 같은 알고리즘에서, 주요 관심사는 연결된 구성 요소에 있으며 가장 중요한 기본 개념을 포착하는 최대 연결 컴포넌트를 나타내는 소위 허브에 의해 중요한 시맨틱 개념을 식별하는 것이다.
다른 그래프 기반 알고리즘 및 이들의 주요 클러스터링 방법의 대부분 모두는 입력 데이터(incoming data)로부터 형성된 그래프 또는 네트워크의 가장 큰 연결 컴포넌트에 대한 단일 정적 뷰, 즉 데이터가 텍스트(즉, 텍스트 그래프 형성함) 또는 이미지(즉, 시각적 패턴 인식을 위한 이미지 그래프를 분할하고 형성함) 또는 금융 네트워크 또는 (약물 설계 또는 화학적 속성 평가를 위한) 분자 또는 생화학 그래프 및 네트워크인지 여부에 기반한다.
후보 그래프를 검색하기 위해, 현재 문헌에 두 가지 주요 접근법이 있다:
Levinson의 보편적 그래프(Universal Graph) [3], SUBDUE, 및 기타 [4]와 같은 인덱스 기반 접근법, 및
Petrakis [5]에 의한 속성 관계 그래프(Attribute Relational Graph "ARG")와 같은 벡터 기반 접근법.
(i) 및 (ii) 방법은 구조적 다양성, 복잡성, 다양성 및 특징이 광범위하게 달라지는 겅우, 또는 그래프에 많은 동적 변화가 있는 경우에 실패한다. 이 방법들 중 어느 것도 그래프에 대한 동적 변화 시퀀스를 인코딩하고 저장하는 데는 적합하지 않다.
인덱스 기반 접근법은 멤버 그래프의 계층적 인덱스의 정적인, 종종 사전 계산된 집합을 유지하고, 이는 쿼리에 응답하여 순회한다(traverse). 순회 동안, 쿼리 그래프와 현재 인덱스 요소 사이의 인덱스 값을 통해 거리 메트릭이 계산되고 검색에 사용된다. 벡터 기반 접근법은 멤버 그래프를 특징의 벡터로 고려하고, 각 그래프를 특징 공간(feature space)으로 변환한다. 일반적으로 벡터화는 그래프의 속성에 대해 수행된다. 이 과정에서, 상호 링크된 그래프 속성을 나타내는 구조적 속성이 무시된다.
시맨틱은 완전히 다르기 때문에 이미지 데이터베이스의 네트워크 검색은 화학 데이터 은행에서의 그래프 검색과 다르고 텍스트 데이터베이스 또는 하이퍼링크 형 웹의 검색과 매우 다르다. 일부 애플리케이션 분야는 모든 그래프가 데이터베이스에 저장된 범용 그래프의 변형인 범용 그래프 개념을 사용하여 테마(예컨대, CAD 도면 또는 기타 기계 카탈로그 부품)에 대한 유사한 구조이지만 변형일 때 그래프 데이터베이스가 최적으로 수행하도록 요구한다. 이는 멤버 그래프(100)가 구조상 거의 유사하다는 것을 의미한다. 그러나 각 그래프에 대해 가능한 노드 및 연결선(edge) 속성의 수는 클 것이다. 실제로 모든 현대의 객체 지향 관계형 데이터베이스 관리 시스템(Object Oriented Relational Database Management System: OORDBMS)은 속성 관계형 그래프 데이터베이스로 고려될 수 있다. 이는 관계형 스키마가 동등한 ER(Entity Relation) 스키마 그래프를 가지므로 멤버 그래프가 그의 ER 스키마 그래프의 다른 인스턴스인 그래프 데이터베이스인 것으로 고려되기 때문이다. 그러나 쿼리 처리 및 고도의 복잡성의 구조 지향 그래프 저장 시스템의 생성은 OORDBMS 시스템과 공통점이 별로 없고 이로 인해 대부분의 경우에 그래프가 거의 동일한 구조를 공유하지 않지만 전역적으로 유사하나 국부적으로 상이하거나(예를 들어, 단백질 구조) 국부적으로 유사하지만 전역적으로 매우 상이할 수도 있기(예를 들어, 언어 리소스의 텍스트 그래프) 때문에 대용량 스케일에서 네트워크를 저장하고 검색할 수 있는 시스템이 일반적으로 없다.
따라서, 이러한 광범위하게 다른 관점을 수용하는 방법이 요구된다. 특히 그래프의 동적 변경 사항을 효율적으로 포착할 수 있는 프레임워크가 필요하다.
인지 메모리는 그래프, 유사성 발견(analog discovery), 데이터 마이닝 및 그래프 구조-콘텐츠 시맨틱 속성 상관관계에 대한 관계형 쿼리에 적합하다. 그래프 구조를 갖는 데이터에는 소셜 네트워크, 생화학 네트워크, 단백질 및 화학 분자 그래프, 교통 네트워크 그래프 및 금융 거래 네트워크는 물론 통신 시스템 위상과 같은 동적 시간 변화 그래프를 포함한다. 그래프의 인덱싱, 저장, 호출 및 비교에 관한 문제점은 본 개시물에 의해 다뤄지는 근본적인 문제이다.
본 개시물 및 이의 수반되는 많은 이점에 관한 더 완전한 이해는 첨부된 도면과 관련하여 고려될 때 이하의 상세한 설명을 참조하여 더 잘 이해됨에 따라 용이하게 얻어질 것이다.
도 1은 인지 메모리 시스템 및 프로세스를 도시한다.
도 2는 네트워크를 일반화된 조합 맵으로 인코딩하는 것을 도시한다.
도 3은 Q-메도이드 분할 알고리즘을 도시한다.
도 4는 거리-구역 NSI에 대한 분할(partitioning) 및 구역화(zoning)를 도시한다.
도 5는 예시적인 양자 입자 및 상호 작용을 위한 구형 고조파형 제약 조건을 도시한다.
도 6은 예시적인 Q-해싱 함수를 도시한다.
도 7은 예시적인 국부화된 블룸 필터 인덱스를 도시한다.
도 8은 예시적인 컬러 그래프를 도시한다.
도 9는 일 실시예에 따라 예시적인 연결 행렬을 도시한다.
도 10은 예시적인 컬러 연결 행렬을 도시한다.
도 11은 노드 함수 가중치 행렬을 도시한다.
도 12는 인접 노드 가중치들의 역 제곱근의 합으로서 행렬 특성을 도시한다.
도 13은 단어 "tester"의 문자 쌍의 조합 경로 그래프 행렬을 도시한다.
도 14는 표 2의 인코딩을 사용하여 "tester"의 네트워크의 예시적인 컬러 경로 행렬을 도시한다.
도 15는 그래프를 나타내는 행렬의 DUNRC를 도시한다.
도 16은 일 실시예에 따라 예시적인 축소 규칙 연산(contraction rule operations)을 도시한다.
도 17은 이중 GMAP를 도시한다.
도 18은 부분적으로 일반화된 조합 맵의 축소 및 인코딩을 도시한다.
도 19는 결합된 축소 및 속성 함수 계산 동작을 도시한다.
도 20은 RDBMS에 대한 네트워크 인코딩 및 저장 네트워크를 위한 흐름도를 도시한다.
도 21은 RDBMS로부터 네트워크 검색을 위한 흐름도를 도시한다.
도 22는 하나의 실시예에 따른 컴퓨팅 장치의 블록도를 도시한다.
인지 메모리는 그래프 데이터를 학습하고 그래프의 구조를 관심대상에 관한 관찰을 나타내는 측정치와 연관시키는 새롭고 크게 향상된 표현, 방법 및 알고리즘이다. 전체가 참조로서 본원에 포함되는 미국 특허 제9,158,847호에 참조하자. 예를 들어, 시간 경과에 따른 금융 네트워크의 구조 변화 또는 시간 경과에 따른 교통 또는 운송 네트워크의 변형은 인지 메모리 모델 접근법을 이용하여 해결할 수 있다. 다양한 그래프 커널은 그래프 사이의 유사성을 측정하기 위한 효과적이고 폭넓게 사용되는 방법이 되었지만 이러한 방법은 거대하고 복잡한 네트워크 전체의 수백만 또는 수십억 노드 또는 데이터 흐름을 넘어서 확장 가능하지 않다. 이 거대한 그래프는 도메인, 예컨대, 텍스트 그래프와 같은 자연어 처리, 분자 구조와 같은 화학 정보학(chemoinformatics), 프로테옴(proteome) 또는 바이옴(biome) 네트워크와 같은 생물 정보학, 의학 이미지 이해와 같은 이미지 분석, 인지 장면 이해와 같은 컴퓨터 시각(vision) 등에서 흔히 발생한다. 더욱이, 많은 그래프 구조에서, 이는 연속적으로 값으로 관찰되거나 측정 가능한 측면, 예컨대, 데이터 흐름 밀도, 속도, 모양, 객체 관계적 위치 또는 기타 측정된 노드나 연결선 또는 그러한 그래프 구조의 분류, 범주화 및 시맨틱 이해를 위한 중대하고 중요한 특징을 결정하는 조합된 속성이다.
본원에 설명되는 인지 메모리 모델은, 그래프를 폴딩(folding)하거나 축소하는 프로세스뿐만 아니라 선택적으로 이산 또는 연속된 값 노드 또는 연결선 또는 노드 속성 및 연결선 속성을 갖는 그래프들 상의 복소 벡터 값 로케일(locale)(즉, 하위 공간)에 따라 변환된 그래프 구조를 선택적으로 역으로나 무손실로 확장하거나 언폴딩하는 프로세스를 결합하는 고유하고 창의적인 조합을 나타낸다.
종래 파동 전파의 기술적 수준에서, 구조가 정적인 그래프에 무작위 또는 양자 같은 워킹이 수행된다. 이는, 예를 들어, 웨이스펠러-레만(Weisfeiler-Lehman) 알고리즘, 그래프 불변 커널과 파동(양자 파동이라고도 함) 전파 커널을 포함하는데, 즉 그래프 커널은 경로의 구조적 특징을 포착하고 이들은 그래프들 사이의 비교에 사용될 수 있다. 그러나 이러한 모든 방법은 예외 없이 노드 및 연결선의 개수에서 뿐만 아니라 입력 그래프의 크기(직경)에서 매우 높은 지수 멱(예를 들어, n4) 복잡성을 갖고, 따라서, 이들은 수십 또는 수백 또는 수천 또는 수백만 이상의 노드 및 모서리를 갖는 그래프에 대해 비실용적이다.
그래프 커널 및 그래프 구조 학습에 관한 문헌이 명백하거나 직접적인 해결책을 제공하지 못하는 훨씬 덜 분명한 일련의 쟁점들이 본 개시의 양태들에 의해 또한 다루어진다.
(i) 다양한 세분성(granularity) 레벨의 그래프 데이터는 종종 일부 형태의 순서에 기인하는데, 예를 들어, 텍스트의 문자가 그래프로 표현되는 경우 텍스트의 단어의 글자가 문자 위에 순서가 있는 하나의 레벨 또는 세분성을 나타내고, 텍스트의 단어들의 전체 그래프는 다른 단어를 나타낸다. 잠재적으로 정렬된 그래프 시퀀스의 인덱싱, 저장, 호출 및 추론(reasoning)을 위한 그래프의 진화 및 구조화뿐만 아니라 이러한 순서를 나타내는 기술 수준은 매우 특정한 애플리케이션에 맞춤화된 다양한 임시적 수작업 방식일 뿐이다.
(ii) 명시된 바와 같이 그래프 또는 네트워크 데이터 도메인은 상당히 다양 화된 애플리케이션을 갖고, 그 결과 폭넓게 다양한 특징 세트(예를 들어, 문자, 텍스트, 이미지, 트래픽, 소셜 네트워크 등)를 포함한다. 오늘날의 기술 수준은 특정 애플리케이션에 매우 특정한 방식으로 수동으로 기능을 선택하고 조작하는 것이다. 최종 결과는 수동 접근법 중 어느 것도 일반화되거나 이전 가능하거나 재사용 가능하지 않는다는 것이다.
(iii) 그래프 데이터는 수백, 수천 또는 수백만 개의 연결선 및 노드 차이를 쉽게 초과할 수 있는 네트워크 구조들 내에 및 그 사이에서의 일시적 변화와 함께 크다. 각 관측치 또는 자료(datum)에 대한 복수의 네트워크가 있을 수 있는 복잡한 시스템에서, 그러한 크기는 천문학적으로 커지고 결과적으로 유사성(similarity), 유사(analogs) 또는 동형(isomorphism)을 식별하는 계산 시간이 심지어 슈퍼 컴퓨터에서도 비실용적이게 된다.
본 개시물의 양태들은 전술한 문제들을 다루므로, 중요한 특징들의 추론을 위한 그래프 데이터 인덱싱, 저장, 호출, 처리가 매우 효율적이고 새로운 방식으로 수행된다. 더욱이, 전통적인 접근 방식의 경우처럼 정적 구조에 의존하지 않는 동적 커널에 대한 특징 추상화, 그래프의 구조적 재작성 및 서명 간의 고유하고 강력한 결합이 존재한다. 또한, 시스템은 시간이 지남에 따라 변하는 그래프를 처리하거나 각 데이텀이 세트 또는 집합을 나타내거나 부분적으로 순차적으로 정렬되거나 완전히 정렬된 그래프 자체일 수 있는 이벤트에 따라 달라지는 그래프로 처리할 수 있다.
그래프가 함수 집합과 그래프 축소 연산(가역적일 수 있음)을 기반으로 하는 정규 특징 집합에 의해 설명되기 때문에 휴먼 애드혹 또는 핸드크레프트 접근법은 더 이상 필요하지 않다. 이러한 시간 경과에 따른 개발을 포함하는 정규 특징의 집합은 인지 서명으로 표현된다. 인지 서명은 상이한 크기와 길이의 시퀀스와 구조를 미터법으로 비교할 수 있는 일련의 벡터로 구성된다. 본원에 제시된 방법은, 바람직한 실시예에 따라, 수동 특징 선택 및 추출의 필요성을 직접적으로 제거한다.
인지 서명은 노드와 연결선이 부분 공간의 회전(움직임)에 거의 대응하는 복소 값의 벡터 공간을 사용하고, 여기서 더 높은 순서의 모멘트가 취해질 수도 있지만, 그 구성은 순서 또는 시퀀스 구조를 포착하는 비-가환 커널(non-commutative kernel)을 산출한다. 따라서, 인지 메모리 모델은 비 순차 커널이 복소수 값 커널 방법이 현재 존재하지 않는 임의의 복잡한 시퀀스의 그래프 구조형 데이터의 간단한 기계 학습을 가능하게 한다. 그 결과, 인지 메모리 모델 및 그 서명은 구조 그래프를 표현할 뿐만 아니라 에피소딕 시퀀스 또는 복잡하게 정렬된 구조의 에피소딕 메모리를 위한 인간 같은 패턴 기반 그래프 인덱싱, 저장, 호출 및 추론 시스템을 형성한다. 인지 서명(Cognitive Signature)은 매우 효율적으로 계산될 수 있으며 빠른 캐시 계산이 필요한 경우 그 특성은 초고속 하위 순위 가속 근사화 계산(ultra high-speed low-rank accelerated approximated computation)에 이상적이다. 이들은 콜레스키(Cholesky) 근사법, 뉘스트롬(Nystrom) 근사법, 유사한 행렬 기법에 대한 제한 없이 보편적인 방법인 특이값 분해(singular value decomposition) 기반의 방법, 즉 마르코프(Markov), 가우시안(Gaussian) 또는 디리클레(Dirichlet) 프로세스 방법 학습 및 그 근사법이 포함된다.
더욱이, 본 개시물의 특정 양태들에 의해, (GMAP 내에서) 임베딩으로서의 정점에 대한 기하학적 형상을 결정하기 위한 잠재적인 필드 함수에 대한 복소수 값의 커널을 사용할 수 있고, 프로세스는 여기에서 다트(dart)(원래의 그래프 정점 또는 연결선을 나타냄)를 사용하는 GMAP의 Q-메도이드로 정의할 것을 생성한다. 양자 임의 이동 프로세스(quantum random walk process)와 유사한 고전적인 가우스 처리 방법과 유사하게 반복 무작위 처리가 그래프의 로케일(즉, 메도이드)을 모델링하는데 사용된다. 명백하지 않은 본 개시물의 많은 특징들 중 하나는 (양자 또는 고전적) 랜덤 이동(random-walk)을 통해 메도이드를 나타내는 부분 공간의 생성이라는 점과, 프로세스는 개념적으로 반전되고 그러므로 그래프를 움직이는 부분 대신 그래프 노드 또는 연결선이 인접한 정점(쌍 방향, 모서리)을 밀어내거나(repel) 끌어당겨(attract) 부분 공간을 형성할 때 재배치 또는 축소를 야기하는 잠재적인 필드 함수에 따라 스스로를 이동시킨다.
양자 임의 이동은 벡터들에 걸친 상태 공간에서 동작하고, 따라서 개념화를 반전시키는 이전의 비유에 따라 벡터는 정점에 대한 함수의 각 전환 이후 그래프의 속성을 계산하는 함수로 어셈블링된다.
시계열 데이터에 대한 기계 학습에 대한 일반적인 접근 방식은 5가지 주제 영역으로 나뉜다.
1. 신경 네트워크(소위 "딥 러닝") 기반의 기계 학습;
2. 논리 및 동적 프로그래밍(예를 들어, 프롤로그(Prolog)와 같은 논리 프로그래밍 언어를 사용하는 방법 및 문자열 기반의 다양한 시퀀스 하위 시퀀스 비교 방법)을 기반으로 하는 상징적 학습;
3. 그래프 및 기타 복잡한 데이터(예를 들어, 이미지)를 위한 기계 학습 커뮤니티에서 커널 학습;
4. 유전자 알고리즘과 같은 무작위 또는 확률 진화 방법; 및
5. 매니폴드 방법 및 거친 경로, 그래프 스펙트럼, 매니 폴드 학습과 같은 국부적으로 선형인 부분 공간 근사화 및 매니폴드 방법.
그러나 최근에는 양자 직관형 알고리즘이 텐서(tensor), 텐서 네트워크 및 복잡한 벡터 값 함수를 사용하는 다른 "물리학에서 영감을 받은" 방식과 함께 등장했다. 인지 메모리 모델은 새로운 방법의 최종 범주에 속한다. 그러므로, 분자 궤도 이론과 유사하게, 커널은 다항식 시스템의 복잡한 조합을 표현하는 다른 일반적인 다항식 표현과 유사하게 조합의 복잡성을 제거하기 위해 원자 오비탈의 선형 조합(linear combination of atom orbitals: LCAO)과 분자 정전기적 의사 전위 방법(molecular electro-static pseudo-potential method)에 의해 영향을 받는다.
본 발명의 일 양태에 따르면, 네트워크의 인코딩은 "인지 서명(Cognitive Signature: CS)"이라 불리는 데이터 구조로 캡슐화되며, 입력 네트워크를 재생하기 위해 디코딩될 수 있는 서명 기반 방법이다. 본 명세서에서 데이터베이스는 인지 메모리(Cognitive Memory: CM)로 언급되는 것을 형성하기 위해 모든 인지 서명을 저장하는 데 사용되고, 예를 들어, 멀티 벤티지 포인트 트리(Multi-Vantage Point Trees)를 사용하는 임의의 (집합체를 포함하는) 벡터를 저장할 수 있는 공간 데이터 표현을 지원하는 관계형 데이터베이스 관리 시스템(RDBMS) 상에서 구현될 수 있다. 인지 메모리를 사용한 저장 또는 쿼리 처리를 위한 방법 및 스키마는 빠른 유사 결과 또는 정확한 결과를 사용자 쿼리에 제공하기 위해 제시된다. 본원에 설명되는 네트워크 인코딩의 프레임워크는 호출을 위한 (n)log(n) 복잡성을 제공한다. 고유하게, 이 프레임워크는 그래프의 일반화된 조합 맵(generalized combinatorial map: GMAP) 표현에서 가장 높은 k-순서 복합체와 인코딩되는 데이터의 가장 중요한 기본 시맨틱 속성 사이의 연관성에 의해 인코딩 프로세스의 자연스러운 부분으로서 토픽 및 개념 추출을 가능하게 한다.
인지 메모리의 주요 개념은 반복적인 축소 프로세스를 정규 그래프로부터 도출된 그래프 상에서 계산된 함수와 조합하여 더 큰 그래프의 로케일을 대표적인 하위맵들로 분할하는 것이다. 이 프로세스는 그래프(즉, 하위맵)를 축소하고 하위맵에 대한 지역 기반 인덱스(locality based index)를 계산할 것이며, 이 방법은 국부적 하위 맵이 시드를 무작위로 분배하고 그 다음에 정점 인근을 포함하는 볼(ball)에 대한 범위(반경)를 정의하는 프로세스에 의해 선택된다고 가정한다.
인지 메모리는 작은 특수하고 짧은 해시 구조를 계산하기에 충분하고, 간편하고, 빠르게 한다. 해시는 거대한 그래프(수백만, 수십억 또는 수조 노드)의 인덱스로 사용될 수 있다. 해시는 정점 및 셸에 대한 그래프 거리의 개념을 통합하여 빠른 대략적인 그래프 거리를 가능하게 한다. 혁신은 대형 동적 그래프를 네트워크 구조 인덱스 NSI 알고리즘의 아이디어에서 영감을 얻은 오버래핑 인덱스 영역의 집합으로 분할하는 아이디어에서 비롯된다. 그러나, NSI와 본 개시물의 프레임워크 사이의 중요한 차이점은 NSI가 해시에 통합되지 않는다는 점 및 NSI의 정의와 사용및 그의 계산이 지역 민감성 인덱싱 또는 복소 벡터 값을 통합하지 않는다는 점이다.
인지 메모리의 시스템 및 방법은 노드 및 링크의 파동 함수(wave function) 또는 포텐셜 필드(potential field)의 관점에서 연결 행렬을 표현함으로써 그래프 구조를 나타내는 팩토리얼 네트워크 설명 공간(factorial network description space)을 제거하는 양자 물리학 직관형 방법을 사용한다. 구체적으로, 모든 n개의 노드는 하나의 (n-1) 차원 폴리토프에 점(정점)으로 투영되고 점 형태의 객체로 움직이도록 허용되지만 연결선은 (n-(n-1))의 고정점이 될 때까지 (n-2) 그래프의 함수의 계산과 그의 후속 축소를 허용하기 위해 근접하거나(즉, 가상 링크), 연결되거나 연결해제된 노드들에 대한 지향성, 중립성, 인력(attractive) 또는 척력(repulsive) 상태를 나타내는 이러한 노드들에 가해지는 힘을 생성하는 복소수 값이다. 관례(convention)가 한 방향 또는 다른 방향으로 선택되면 실수 값 노드와 복소수 값 연결선은 복소수 값 노드 및 실수 값 연결선으로 이중으로 보일 수도 있다는 점이 이해되어야 한다.
연결선에 대한 복소수 값 함수의 도입은 연결선 파동 함수와 이들의 포텐션 필드 함수의 상호 작용으로 인해 정확하게 클러스터링할 수 있는 기회를 정점에 제공하고 이러한 클러스터는 후속하여 축소될 수 있는데, 함수의 영향하에서 복소수를 사용하지 않고 실수값 만을 갖는 정점 및 연결선이 서로를 향하여 이동하고, 합쳐지고(merge), 전체 네트워크를 나타내는 단일 지점으로 빠르게 축소되는 경향이 있다. 예를 들어, 노드의 역동성을 나타내는 복소 포텐셜 함수의 미분을 취하는 것은 노드의 움직임 방향을 식별하는 데 사용할 수 있는 공액 복소수(complex conjugate) 형태로 속도 흐름 필드를 생성한다. 이러한 모델은 구드코프 외(Gudkov et. al)[11,12,13]에 의해 도입되었으나 그를 개선하는데, 이는 구드코프(Gudkov) 모델이 실수 포텐셜 우물에만 기초하고 복소 포텐셜 함수에는 기초하지 않으며 본 개시물의 Q-해시의 방법 또는 Q-메도이드의 방법을 통합하지 않았기 때문이다.
본 개시물의 양태는 가역적이지만 그래프의 붕괴(collapse)를 솔루션의 유일성(uniqueness)을 돕는 계층 구조로 강제하는 축소 연산의 사용을 제공한다. 이러한 축소는 파동 함수의 선택, 정점들 사이의 상대 거리에 의존하는 포텐셜 필드 함수 힘에 의해 보장된다. 이 알고리즘은 필드 밀도에 비례하는 간단히 시뮬레이트 된 어닐링 프로세스(양자 어닐링과 유사)를 사용하여 기계 학습될 수 있는 무 차원 수의 계수를 갖는 필드에서 가상 양자 입자의 양자화된 방향의 움직임으로서 정점의 움직임을 고려한다(유체 유동 및 점도와 같은 개념과 관련된 레이놀즈 수(Reynolds Number)와 유사함).
또한, 인지 메모리 모델은 계층적 블룸 필터에 의존하여 대용량 그래프 데이터베이스에 대해 매우 빠르고 신속한 솔루션을 생성하기 위해 본 개시의 방법에 의해 구축된 그래프의 공간으로부터 후보를 구축하기 위한 신속한 테스트를 수행한다.
본 발명의 일 양태는 구글의 페이지-순위 알고리즘과 달리 다음과 같은 이점을 제공한다. 본 개시물의 특징은 축소 규칙의 사용을 통해 조합 맵 내에서 가장 큰 k-차원 복합체를 자동으로 식별하고, 따라서 가장 중요한 기본 개념을 포착하여 유사 동작에 대한 구글의 페이지 랭크에 대해 대안적인 알고리즘으로 사용하기에 적합하다.
또한, 비교로, 구조의 동족체 및 유사체를 식별하는데 사용하기 위해, 특히 시간이 지남에 따라 그들의 변화를 관련시키기 위해 경과에 관련시키기 위해 효과적으로 사용될 수 없는, 페이지-순위와 달리. 본 개시물은 측정 규칙(즉, 데이터를 나타내는 일반화된 맵의 구조와 기하학적 구조에 기초한 값을 생성하는 함수)과 최대 인접하여 축소되고 일반화된 맵을 조합하고 최대의 가장 중요한 원시 개념이 최고 차원의 최대 위상 셀 복합체로서 투영됨으로써 중심 개념 구조 및 구조의 변화를 빠르고 쉽게 식별할 수 있게 한다.
또한, 본 개시물은 시맨틱 기반의 축소 규칙하에서 그들의 동적 진화에 의해 그래프를 식별하는 일련의 서명 행렬을 생성하는 연속적으로 추출된 계층적 표현의 시퀀스를 생성한다. 결과적으로 네트워크와 그 데이터는 내용과 구조에 민감한 방식으로 인코딩되고 축소 규칙에 따라 형성된 k-셀 중 가장 높은 차원은 축소의 다양한 레벨에서 인덱싱 또는 클러스터링을 위한 중요한 개념이나 기능을 나타낸다. 이러한 추상화는 빠른 유사성 및 동족 식별을 가능하게 한다.
따라서, 본 발명의 주요 이점은 그들의 하위-네트워크(즉, 하위-그래프)의 위상 변화로부터 직접 도출된 서명의 분산에 기초하여 유사한 그래프들 사이의 동적 변화를 효율적으로 설명할 수 있다는 것이다.
또한, 본 개시물은 그래프 및 네트워크 구조의 크기가 커짐에 따라, 코어 데이터 저장소의 임의의 리인덱싱(re-indexing) 없이 최소한의 증분 변경만으로 더 큰 데이터를 스케일링 및 지원하는 이점을 갖는다. 더 크거나 상이한 그래프와 네트워크 구조는 리인덱싱 없이 현재 저장소에 간단하게 첨부된다.
본 개시물에 기술된 기술들은 또한 다음과 같은 이점들을 야기한다.
(a) 쿼리 그래프를 사용하여, 인지 서명이라고 불리는 특별히 인코딩된 전역적 표현으로부터 일치하는 후보 그래프 세트를 검색;
(b) 쿼리 그래프를 후보와 매칭시키고, 인지 메모리라고 불리는 인지 서명의 데이터베이스로부터 검색된 후보 각각에서 국부적 Q-메도이드 블룸 필터와 매칭되는 하위파트를 선택;
(c) 그래프에 의해 인코딩된 속성을 그래프에 의해 인코딩되었던 기본 데이터의 속성과 비교 및 계산(예를 들어, 그래프가 그림을 인코딩할 때의 이미지 속성, 또는 그래프가 화학 구조 또는 기본 데이터의 다른 시맨틱 속성을 인코딩할 때의 화학적 속성).
(d) 코드 표현 트리 표시(code expression tree representation)를 사용하는 효율적인 방식으로 그래프에 대한 순차적인 동적 변화를 저장; 및
(e) 그래프의 기본 데이터가 관심 있는 시맨틱 속성에 따라 변화할 때 그래프 구조의 변화를 서로 연관시킨다.
본 개시물의 실시예는 네트워크를 구조 또는 시맨틱 속성에 의해 인코딩, 디코딩, 저장 및 검색하는 시스템 및 방법을 제공한다. 그래프는 일반화된 조합 맵(generalized combinatorial map: GMAP)으로 변환된다. GMAP은 표시 및 인코딩 알고리즘에 대해 세 가지 중요한 이점을 제공하는데, 즉 첫째, 그래프의 경우, GMAP은 GMAP의 각 정점이 다트(dart)라고 하는 암시적 객체에 속하는 자연스러운 이중 표시를 제공하며, 또한 원본 그래프에서의 대응하는 연결선을 또한 나타낸다.
둘째로, 반드시 인볼루션(involutions)은 아닌 함수가 그래프로부터 GMAP을 생성하는 데 사용되었지만 GMAP의 다트들을 가로지르는 함수와 같은 다른 함수는 원본 그래프의 연결선의 순회 및 이중으로 정점의 상태 공간을 나타낸다. 따라서 GMAP은 그래프를 간결하고 세련되게 표현한 것으로, 함수가 원본 그래프에서 관심 있는 특징이나 속성과 함께 변함에 따라 알고리즘의 거동을 쉽게 정의할 수 있다. 셋째로, GMAP은 임베딩을 수용하도록 설계되는데, 즉 본 개시물은 고속 국부 처리(fast localized processing)가 미세 입자 하위 구조(즉, 하위-맵)를 인덱싱 할 수 있게하는 삽입 Q-메도이드의 개념을 확장시킨다. 전술한 바와 같이, 그래프 또는 네트워크 구조는 일반화된 조합 맵(GMAPS)으로 인코딩되고, 이들 GMAPS는 본원에 정의된 Q-메도이드 그래프 알고리즘(문헌에서 K-메도이드 알고리즘과 혼동하지 않아야 함)을 사용하여 하위-맵으로 분할되고, 코드는 행렬 팩토리얼 넘버링(Factoradic numbering), 및 레머(Lehmer) 코드뿐만 아니라 축소 규칙과 밀접하게 결합된(즉, 쌍인) 행렬 속성 함수를 사용하여 GMAP로 계산되어, 인지 서명(Cognitive Signature)으로 불리는 데이터 구조로 종합된 서명 세트를 생성한다. 인지 서명은, 첫째, 이산 컬러링된 표현 코드(Discrete Colored Network Representation Cod: DUNRC)라고 불리는 위상 인코딩, 둘째, DCNRC로 불리는 기하학적 인코딩(네트워크 콘텐츠를 설명함), 셋째, 벡터 공간으로 네트워크를 투영하는 K-행렬 속성 평가 함수의 K-벡터, 넷째, 네트워크를 다른 벡터 공간으로 투사하는 m-행렬 위상 평가 함수의 m-벡터, 다섯째, 이전에 다른 방법의 인덱싱 능력을 크게 확장시킨 네트워크의 최근 도출된 Q-메도이드 복소 블룸 필터 인덱스(Q-Mediod Complex Bloom Filter Index: CBFI) 표현과 함께 네트워크 축소 트리 코드(Network Contraction Tree Code: NCTC)를 포함한다.
전처리 시간 복잡도(preprocessing time complexity)는 입력 그래프 크기에 선형으로 비례하지만 저장 및 호출 시간은 저선형(sub-linear)이고 그래프의 크기의 로그(n)와 같이 비례한다. 그래프 비교가 NP-완전 문제(NP-Complete problem)라는 것이 잘 입증되어 있다. 이는 대부분의 알고리즘의 런타임 복잡도가 0(e(N + E)) 인 것을 의미하고, 여기서 N은 노드 개수이고 E는 그래프의 연결선 개수이다. 본 개시물의 인코딩 프레임워크는 프로세스를 2개의 단계, 즉 입력 쿼리 그래프와 다른 그래프의 편집(compilation) 단계 및 쿼리 단계로 분할함으로써 훨씬 더 잘 수행할 수 있다. 편집 단계에서 그래프는 GMAP으로 변환되고 Q-메도이드 알고리즘에 따라 분할되고, 컴플렉스 필터가 인서트되며 네트워크의 스펙트럼 값이 네트워크를 나타내는 행렬의 기하학 및 위상 속성 함수를 사용하여 쿼리되도록 모든 네트워크에 대한 축소에 걸쳐 계산된다. 네트워크 행렬 속성 함수는 바람직한 실시예에서 O(N + E) 런타임에서 계산 가능하도록 선택된다. 편집 동안, Q-메도이드 및 블룸 필터는 단 한 번만 사전 계산되고, 그 이후 네트워크는 입력 당 0(log(N+E)) 축소 단계로 축소된다. 총 편집 시간은 각 네트워크에 대해 0((N-E)*log(N+E))이다. K 개의 네트워크를 처리하기 위해, 총 시간은 0(K*e(N + E))의 전통적인 방법보다 훨씬 빠른 0(K(N+E)*log(N+E))이 된다. 쿼리 시간에. 데이터베이스에 있는 쿼리 그래프는 컴파일된 형태, 즉 인지 서명의 형태이기 때문에, 계산은 새로운 입력 쿼리 그래프에서만 수행된다. 따라서, 네트워크에 대한 쿼리 시간은 0(log(K))로 비교적 작고, 여기서 K는 데이터베이스 내의 네트워크 개수이다.
전술한 문단들은 일반적인 소개로 제공되었고, 이하의 청구범위의 범위를 제한하려는 것이 아니다. 설명된 실시예들은 첨부된 도면과 관련하여 취해지는 다음의 상세한 설명을 참조함으로써 추가의 이점과 함께 가장 잘 이해될 것이다.
도면을 참조하면, 동일한 도면 부호는 여러 도면에서 동일하거나 대응하는 부분을 나타낸다.
도 1은 빠른 시맨틱 인덱싱, 저장 및 검색을 위한 인지 메모리 인코딩 네트워크를 위한 시스템 및 인코딩을 도시한다. 시스템 및 방법은 도 1을 참조하여 다음의 넘버링된 요소들에 의해 설명된다.
처리될 데이터 네트워크(2)로 불리는 네트워크(1)가 시스템에 표현된다.
데이터 네트워크(2)는 프로세스(3)에 의해 인지 서명(5)으로 컴파일되고(4), 인지 서명(5)은 이 경우(그러나 각 네트워크에 대해 상이하고 고유함) "gmap1"로 명명된 GUID(Global Unique Identity Designation), 입력 네트워크(1)가 축소된 각 레벨에 대해 하나인 벡터의 행렬 T(위상이라고도 함) 및 입력 네트워크(1)가 축소된 각 레벨 K에 대한 벡터 행렬 G(기하학이라고도 함), 네트워크(1)의 콘텐츠 또는 라벨의 심볼 S, 기하학에 대한 DCNRC(Discrete Colored Network Representation Code)를 갖는 위상에 대한 DUNRC(Discrete Uncolored Network Representation Code), 이는 입력 네트워크(1) 및 각 축소 레벨에 대한 중간 코드를 나타낸다.
인지 서명(5)은 각각이 테이블들 내에 이산 값을 저장하는 데이터베이스 세트의 각 레벨 K에서 비교되고, 각 축소 레벨에 대한 하나의 테이블은, 기본 키, DUNRC 값들, DCNRC로서의 제 2 키, 및 제 3 키에 의해 인덱싱되고, 제 3 키는 (6), (7) 및 (8)에 도시된 GUID 및 축소 레벨과 함께 T 및 G의 벡터를 각각 저장하는 GUID 및 축소 레벨 및 멀티 벤티지 포인트 트리(Multi-Vantage Point Trees)(또는 다른 균등한 공간 데이터 구조)이다. 레벨 (8)에서의 데이터베이스는 GMAP (Generalized Combinatorial Map)으로 원본 입력 네트워크(1)를 저장하는 데이터베이스이다.
입력 네트워크(1)가 데이터베이스들, 즉 K-데이터베이스가 있는 각 축소 레벨 당 하나인 인지 메모리들 (6), (7), (8)에 저장된 그의 인지 서명(5)을 비교한 것에 기초하여 매칭되지 않는다면, 그 이후 매칭되지 않음이 반환되고(9) 입력은 본 개시물에 설명된 시스템 및 방법을 사용하여 인지 메모리에 저장되고, 그렇지 않다면
(하위 네트워크의) 임의의 정확하거나, 유사하거나 부분적으로 일치하는 경우, 그 이후 이들은 반환된 레벨에서 반환된 네트워크들의 벡터들 및 T 및 G를 순위화함으로써 순위화된 순서로 반환된다(10). 따라서, 복수의 레벨의 세부 정보가 반환되지만, 바람직함 사용 사례에서는 사용자가 원하지 않는 레벨의 세부 정보를 필터링할 수 있다.
도 2는 그래프 구조에 대한 일반화된 조합 맵(GMAPS)의 형태를 도시한다. 다음은 본 개시물의 일 실시예에 따른 블룸 필터에 대한 설명이다.
구조적 로케일을 작성할 때, 블룸 필터는 2개의 임계치, 즉 MaxR 및 NumOrbits으로 제한되는 인덱스로 사용된다. MaxR은 다트 D의 최대 이웃 반경이다. 범위의 하한을 수용하기 위해 이웃은 궤도(orbit) 세트로 분할된다. 파라미터 NumOrbit는 이웃의 궤도 개수를 제어한다. 궤도는 미터 단위의(metric) 범위 [minR, maxR]로 제한되고, 이는 간격 내에서 D까지의 최단 거리가 궤도와 연관된다는 것을 의미한다. 예를 들어, MaxR = 1000이고 NumOrbit = 10이면, 궤도는 [1, 100], [101, 200],. . . , [901, 1000].
구성은 임베디드 지오메트리가 k-simplex로 로케일을 나타내는 다트 주위의 제약 조건 MaxR 및 NumOrbits를 사용하여 달라지는데, 다시 말해, 폴리토프 정점(polytope vertices)의 선형 조합으로 점을 나타내는 중심 좌표계의 국부 좌표계이다. 이 특허에서 사용된 블룸 필터의 변형은 인접한 다트의 궤도를 나타내는 복소수(즉, 중심 선택된 루트 정점으로부터 떨어진 엣지 길이의 정점)를 나타내는 복소수(중심 좌표)의 실수부 및 허수부를 구성하기 위해 쌍 함수를 사용하는 것에 기초한다. 두 개의 수를 m-비트 블룸 필터로 쌍으로 만들기 위해 칸토르의 쌍 함수, 즉 π(a,b)와 같은 가장 간단한 쌍 함수가 사용될 수 있다:
π(a,b)= ½·(a + b) (a + b + l) + b
다른 쌍 함수가 사용될 수 있고, 복소수 계수가 블룸 필터의 버킷에 있는 비트를 나타내는 자연수로 맵핑되는 것이 요점이다.
복수의 GMAPS에서(및 상호보완적으로, 그래프에서)의 연결선 쿼리는 전역적 DCNRC를 사용하여 정의되어 로케일 블룸 필터 기반 인덱스가 데이터베이스로부터 반환된 후보 그래프에 대한 입력 쿼리 그래프의 하위맵(즉, 하위그래프)을 식별하는데 사용된 후보 그래프를 선택한다.
연결선이 GMAP, G1 사이에서 다트들(d1, d2) 사이의 인볼루션에 의해 암시적으로 정의되고, 다른 GMAP, G2에서 [15, 25]와 다트들(e1, e2) 사이의 간격에서 경계를 갖는 것을 고려하여, G1에 대한 블룸 필터는 간격 [15,25]를 포함하는 간격 [10,30]을 커버하는 [10, 20] 및 [20, 30]의 궤도와 연관된 버킷을 갖는다면, 블룸 필터 데이터 구조는 블룸 필터에 부정 오류(false negative)가 없음을 언급하는 G1에서의 테스팅 및 G2에서의 테스팅에 의해 버킷들을 체크하는데 사용될 수 있다. 그러나 부정 오류가 존재할 수도 있다. 당업자라면, 블룸 필터의 크기가 허용 가능한 값(예를 들어, 더 낮은 부정 오류 레이트가 필요하다면 1%의 부정오류에 대해 경우 10비트 이상)으로 설정될 수 있다. 임의의 경우에, 후보는 직접 빠르게 체크될 수 있다.
도 2는 네트워크와 네트워크의 GMAP로의 인코딩 사이의 관계를 도시한다. 원본 소스 데이터 네트워크(1)와 네트워크로부터 도출된 조합 맵(2)은 도 2에 도시된다. 네트워크는 또한 그래프(1)로 지칭되고, 여기서 주어진 정점 주변의 연결선의 방향의 명시적 인코딩이 존재하고, 연결선들은 다트로 지칭되는 2개의 반-연결선(hal-edge)으로 구성되며, 각 다트는 정점에서 원점을 갖고 GMAP에 부착되고 균등하다(2). 다트에 의해 정의된 2개의 반-연결선이 동일한 연결선을 결정한다는 사실은 연결선의 제 1 다트의 후속자(successor)가 제 2 다트이고 제 2 다트의 후속자가 제 1 다트이도록 인볼루션으로 지칭되는 순열 함수에 기록된다. 지향적인 연결선은 4개의 다트, 즉 연결선을 지정하는 2개의 다트 및 연결선의 상대적 방향 또는 방향을 지정하는 2개의 다트를 요구하고, 완전히 지향된 네트워크에 대한 방향은 다트를 나타내는 정수의 부호에 대한 규칙 간단히 사용하여 달성될 수 있으나 네트워크가 부분적으로 지향되거나 부분적으로 지향되지 않는 부분을 갖는 경우에는 가능하지 않으므로, 4개의 다트가 요구된다, 리우(Liu) 1999 [1]. 다트가 반-연결설에 의해 입사되지 않지만 동일한 장소(즉, 노드)로부터 시작될 수 있는 경우, 그 이후 다트는 동일 위치에서 인접해 있고 그러므로 노드 주변의 다트들의 (국부적) 배열을 정의하는 후속자 순열인 궤도라고 지칭되는 제 2 순열 연산에 의해 노드 주변에서 정의되며 그 연산은 흔히 α1-인볼루션이라고 지칭된다. 두 개의 다트가 서로 다른 두 위치에 있고 0차원 오브젝트인 다트의 반-연결선이 인접한 경우, 두 개의 0차원이 1차원 라인을 생성하고 인볼루션은 일반적으로 α1-인볼루션이라고 지칭되는데, 가장 단순한 인볼루션은 음수(-1)의 곱셈이므로 애플리케이션은 두 번 원래의 수로 나타난다. 연속적인 다트 시퀀스의 각 궤도는 하나의 노드와 연결되어 있고 이 노드 주위를 반 시계 방향으로 돌릴 때 발생한 다트 시퀀스를 인코딩한다. (예를 들어, 도 1의 (2)의 궤도(6, 7, 8)). 페이스 인접성 및 볼륨 또는 하이퍼 볼륨 인접 순열은 일반적으로 당업자에게 일반화된 조합 맵에 대해 정의되고 이해된다. 예를 들어, 도 2(3) 및 도 2(4)를 참조하면, 예를 들어, 네트워크(3)는 면 인접성 관계인 "T"와 "R" 및 0차원 인접성, 1차원 인접성 또는 2차원 인정성을 각각 갖는 것에 기초하여 연결선들, 정점들 및 면들에 대해 각각 α0, a1 및 a2로 표시된 거듭제공 유형이 존재하는 조합 맵(4)을 사용하여 표현된다. 본 개시물은 이러한 모든 방법이 리우(Liu) [1] 및 크로파치(Kropatsch) [7]를 참조하여 문헌 및 방법의 표준 부분이기에 GMAPS를 매우 세부적으로 조작하는 방법을 상세히 설명하지는 않는다. 또한, 도 1 (3)에서 (D), (E)로 표시된 연결선은 한 쌍의 다트의 쌍으로 표현된다. 두 개의 다트가 동일한 공유된 연결선을 나타낼 때 이들은 서로 다른 k-복합체를 레이블링하여 (3, -3)으로 번호가 지정된 다트들이 "T"에 속하고 (8, -8)로 표시된 다트들이 "R"에 속하며, 이 경우 두 쌍의 다트는 함께 1-소잉된다(1-sewn). 이들을 분리하기 위한 연산은 언소잉(unsewing)으로 지칭된다. 조합 맵의 하위맵의 다트들을 k-소잉함으로써, 맵 내의 객체들은 함께 조합될 수 있다. 다트를 사용하여 객체들을 조합하는 연산은 일반적으로 축소(contraction)이라 지칭된다.
전술한 바와 같이, GMAP(Generalized Combinatorial Maps)은 다트(dart)라 불리는 원시 요소들 사이의 상대적인 인접 관계의 순열을 인코딩하는 개념에 기초한 위상 및 조합 데이터 구조이다. 본 발명은 두 종류의 다트, 즉 반-연결선 다트와 빈 다트(empty dart)를 사용한다. 빈 다트는 부분 조합 맵 또는 부분 구조를 정의하는데 사용되고, 여기서 알고리즘은 사이클을 트리(tree)로 변환하기 위해 언스윙하거나 반대로 트리를 사이클로 변환하기 위해 다트를 추가하는 입사 객체 쌍에 의존하거나, 또한 빈 다트는 "블랭크"를 채워서 본 발명의 알고리즘의 목적을 위한 구조를 완성할 수 있다. 다트들 사이에서, 차원에 의해 정의되는 인접성 관계가 있고, 빈 다트는 정의된 차원을 갖지 않는다(즉, 0이 아니지만 정의되지 않고 일반적으로 매우 드물지만 빈 다트는 필요할 때마다 특별히 표시된다). 단일 반-연결선 다트는 0의 차원을 갖고, 다트가 일부분일 수 있는 차원 N의 객체와 분리되고 구별되는 k-차원 셀로서 차원을 참조하는 것이 편리하며, 따라서 k = dim(c)는 셀 c의 차원을 나타내고 N은 객체의 차원을 나타낸다. 따라서, 0-셀은 정점이고, 1-셀은 연결선이며, 2-셀은 다각형이고, 3-셀은 다면체 등이다. 다트는 함께 소잉되거나 분리될 때 언소잉되고, 인접하는 면의 경우, "공유된" 연결선들은 각 면들이 자신을 정의하는 자신만의 다트 세트를 갖도록 분리된다. 다트를 함께 소잉하는 것은 순열 연산에 의해 정의되고, 순열 연산자는 다트로부터 조합 맵을 생성한다. 본 발명에서, 다트는 두 개의 다른 속성, 즉, 첫째로, 정수를 사용하는 것으로 명명되는 것 및 둘째로 보통 어떤 종류의 콘텐츠(예를 들어, 소셜 네트워크에서 사람의 이름, 또는 단백질 구조에서 원자의 이름)인 다른 데이터에 대한 포인터를 갖는다. 포인터로서, 다트는 다양한 종류의 데이터를 내장할 수 있는데, 즉, 단일 다트는 노드를 암시적으로 정의하고 다트를 내장하는 것은 다른 조합 객체 또는 맵을 포함할 수 있는 노드에 포함된 데이터를 정의한다. 따라서, 맵의 위상 구조는 기하학 또는 형상의 특징을 기본 위상 또는 골격(skeleton)에 연결하는 역할을 할 수도 있는 임베딩과 완전히 다르다.
화학 정보 과학 분야, 특히 정량적 구조 활성 관계(quantitative structure activity relationship: QSAR) 모델링 분야에서는 연구중인 화학 물쿼리 그래프에서 계산할 수 있는 많은 위상 인덱스, 예컨대, 호소야 인덱스(Hosoya Index) 또는 위너 인덱스(Wiener Index) 등[2]이 있다. 이러한 인덱스는 본질적으로 화학 구조 아래의 그래프의 연결 구조에 대한 함수이며, 그래프의 원자 속성(예컨대, 원자의 전기 음성도 값)을 나타낸다. 본 발명에서, 사용된 일반적인 함수는 네트워크 또는 그래프의 조합 맵으로부터 도출된 행렬에 대한 함수이고, 연결뿐만 아니라 그래프에서의 경로의 조합 구조를 나타낼 수 있고, 다른 함수들은 그래프의 가중치 또는 속성(즉, 컬러링)을 나타낼 수 있다. 그러므로, 우리는 행렬에 대한 수정된 함수를 행렬 속성 함수로 참조한다. 본 발명에서, 다수의 행렬 속성 함수가 계산되어 벡터의 값을 생성한다.
Q-MEDOIDS 그래프 (이에 해당하는 GMAP) 분할은 다음과 같다: 각 노드는 Q-메도이드에 해당하는 영역 레이블의 d-차원 벡터를 갖는 벡터로 정의되고. 노드 세트의 로케일에 대한 벡터는 구드코프(Gudkov)의 연구 및 래티건(Rattigan)의 연구에 의한 영역(region) 구축에 대한 아이디어에 기초한다. 그래프를 영역으로 분할하는 Q-메도이드를 구축하기 위해, 아래의 Q-메도이드 알고리즘의 1 내지 10 단계에서 설명되는 알고리즘 단계를 사용한다.
Q- 메도이드 알고리즘(Q- Medoids Algorithm)
이제 도 3을 참조하여, Q-메도이드 알고리즘이 3개의 부분을 포함하는데, 첫째, 약한 클러스터들을 생성하기 위해 정점들을 가상 부분으로 처리하는 것에 의한 그래프의 지오메리트 계산, 둘째, 네트워크 메도이드(구역(zone) 또는 로케일(locale))의 계산, 및 마지막으로, 국부적 이웃의 Q-해싱 요약(Q-Hashing summary) 및 해시를 로컬 인덱스 블룸 필터로 인코딩하는 것을 포함한다. 이들 각각은 개별적으로 처리되고 본원에서 설명된다. 첫째, 그래프의 약한 분할이 설명되고, 당업자에게 명백한 바와 같이 메도이드를 구축하기 위한 목적으로 강한 분할이 요구되지 않는다. 흐름도가 포스 필드 공식(force field formulae)으로 시작하는 단계들을 포함하는 이어지는 설명에 의해 상세히 설명된다.
1. n 개의 정점의 그래프를 고려하면, n 개의 정점은 n 차원 GMAP을 형성하도록 균일하게 분포된 n 개의 가상 입자로 모델화되고, 여기서 우리는 모든 n 개의 점들이 (n-1) 차원에서의 단위 하이퍼스피어(a unit hypershpere)의 표면 상에 존재하도록 임베딩되는 것으로 처리한다. GAMP은 하위맵들의 집합으로 분할될 필요가 있고, 바람직한 실시예가 Q-메도이드 알고리즘을 사용하여 분할된다.
Q-메도이드는 시드(seed)가 무작위로 선택되기 때문에 K-메도이드와 다르고(S1), 하나의 다트가 속하는 클러스터의 평균 개수를 X라고 한다. 시드 다트로 시작하여, 각각의 시드는 모든 다트가 원래 다트로부터 등거리가 될 때까지 클러스터로 성장하고, 일부 다트가 방문하지 않은 경우 필요하다면 무작위로 가장 가까운 이웃 다트에 배치한다. 그 다음, 정점들이 하이퍼스피어 표면에 닿은 다트들을 포함하는 다면체를 표시하고 임의의 다트 쌍(즉, 대응하는 정점들) 사이의 거리를 다음과 같이 정의한다:
Figure 112017092941849-pct00001
2. 상수 K에 대하여 설정되는 그래프의 정점들 n에 작용하는 U에 의해 척력 대 잠재적인 인력 비를 다음과 같이 정의하고, 정규 형식으로의 행렬 재정렬을 위해 K=1로 설정한다.
Figure 112017092941849-pct00002
3. n-차원 GAMP은 (n-1) 하이퍼스피어 상에 임베딩되는 2차원 면, 1차원 연결선과 같은 k-복합체(즉, 단체 복합체(simplicial complexes))에 대한 다양한 균등물로 구성될 것이다. 이러한 단체(simplex)의 각각에 대해 단체의 둘레에 선을 긋고 r로 반경을 표시하는 단체 구(simplicial sphere)를 정의한다. 단위 (n-1) 하이퍼스피어 상에 임베딩된 n-GAMP은 다음과 같이 단체구의 중심과 하이퍼스피어의 중심 사이의 거리를 갖는다:
Figure 112017092941849-pct00003
단체 복합체(하위맵)의 단위 벡터는 GMAP의 s로 정의한다. 단위 벡터 s, 원래 GMAP의 n 벡터 및 거리 d를 사용하여 계산한다:
Figure 112017092941849-pct00004
Figure 112017092941849-pct00005
4. 벡터 점(vector point) n과 단체의 단위 벡터 s 사이의 각은
Figure 112017092941849-pct00006
로 다음과 같이 계산된다:
Figure 112017092941849-pct00007
5. GAMP에서, 두 개의 이웃(즉, 인접 단체), 즉 p와 q의 중심들 사이의 각도
Figure 112017092941849-pct00008
는 다음과 같이 계산된다:
Figure 112017092941849-pct00009
6. 인력(그리고 부호의 변경에 의해 각각 척력)은 다음과 같다:
Figure 112017092941849-pct00010
7. 엡실론ε를 사용하여 상수 C와 같은 부동점 평형을 설정하고 엡실론의 배수를 임계치로 설정한다:
Figure 112017092941849-pct00011
8. 다음과 같은 규칙을 사용하여 힘을 계산한다:
a. 정점들이 인접하는 경우 인력(음의 부호)을 계산한다.
b. 정점들이 직접 연결되지 않는 경우 척력(repulsion)을 계산한다.
c. 정점들이 그래프 상에서 단말 노드(terminal node)인 경우, 근접도를 1/ε로 제한한다.
d. (i) 이전 값의 백분율로 최소 변화를 측정하거나, 또는 배타적으로 및 우선적으로 (ii) 노드 차수(node degree)와 같은 고정 반복 횟수를 반복하는 것 중 하나를 선택함으로써 부동점 평형에 이를 때까지 단계 (a) 내지 (c)를 반복한다.
9. 다음과 같은 규칙을 사용하여 Q-메도이드를 계산한다:
e. 시드 노드들을 선택함으로써 그래프를 확률적으로 채운다.
f. 각 시드 노드에 대해, 노드의 이웃들을 체크하여 더 높은 노드 차수를 갖고 있는지 확인하고 그것을 새 시드로 선택한다.
g. 구역 레이블을 해당 시드에 배치함으로써 Q-메도이드가 생성된다.
h. 제 24 회 머신 학습에 대한 국제 회의(ICML '07) 회의록, 주빈 가라마니(Zoubin Ghahramani)(Ed.), ACM, New York, NY, USA, 783-790 중. Matthew J. Rattigan, Marc Mater, 및 David Jensen 2007 네트워크 구조 인덱스를 이용한 그래프 클러스터링(Graph clustering with network structure indices)에 설명된 바와 같이 구역에 대한 구역 분할 방법의 계산을 반복할 필요가 없는, 구드코프의 가르침은 동적 입자 필드 기반 계산을 제공하기 때문에 구역을 여러 번 다시 계산하는 대신 하나의 반복만 사용하는 NSI 알고리즘에 의해 진행된다.
10. 다음 식을 사용하여(래티건 외) Q-메도이드의 NSI(네트워크 구조 인덱스) 세트 및 Q-메도이드 세트를 반환하고, 각 노드 u 및 영역 Z에 대해 거리 함수를 사용하여 노드 u로부터 영역 Z 내의 가장 가까운 노드로의 거리를 계산한다:
Figure 112017092941849-pct00012
거리 대 구역(Distance To Zone: DTZ)의 네트워크 구조 인덱스(NSI)는 거리 측정치와 조합된 노드 주석 세트로 구성된다. NSI는 그래프 내의 노드들 사이의 짧은 경로의 발견을 가능하게 하도록 설계된다. Q-메도이드 프로세스와 조합되어 DTZ는 독립적인 파티션 세트를 생성하는데, DTZ는 각 파티션에 걸쳐 각 노드와 모든 구역 사이의 거리를 기록한다. 파티션들이 중첩된다면, 중첩 영역들 내의 노드들을 하나 또는 다른 영역으로 무작위로 재배치함으로써 비중첩 구역을 생성하도록 선택할 수 있다. 노드들이 상이한 구역들에서 중복 제거되지 않으면, 구조의 필수 부분이 그래프 거리의 근사치로서 여전히 유효하고 단지 일부가 중복일 것이므로 성능 영향은 무시할 수 있다.
도 4는 각각의 Q-메도이드에 대한 DTZ를 도시한다. Q-메도이드의 총 개수는 차원이고 세 개의 숫자는 영역들과 노드들 사이의 거리를 보여준다, 래티건 외, 아래에 나오는 도면은 흰색, 검은색, 및 회색으로 컬러링된 영역에 대한 거리에 대응하는 [0, 2, 4]의 인덱스를 가진 가장 좌측 아래에 있는 노드를 보여준다. 이 노드로부터 가장 우측 아래에 있는 노드까지의 거리는 4 + 5 = 9이다.
거리 측정 벡터는 각 그래프에 대해 계산되고 그래프 GUID와 관련하여 이들의 값을 저장 및 호출하도록 공간 데이터베이스를 참조하여 인지 구조에 추가된다.
이제 도 5 및 도 6을 참조하여, Q-해싱 함수, 또는 Q-해시(또는 "Q해시"라고도 함) 함수는 동적 함수와 정점 이웃 주변의 레이블 사이의 변형 상호작용뿐만 아니라, 별도로, 그래프의 Q-메도이드의 정점에 대한 다트들의 회전 순서 및 이들의 MaxR(메도이드의 링크들 내의 최대 반경)까지의 관련 경로에 기초한다.
우리는 Q-함수로 지칭되는 반복되는 동적 상호 작용 함수의 정의로 시작하고, 이는 양자 입자와 유사하게 거동하는 양자 직관형 가상 파동 패킷(quantum-inspired virtual wave-packet)이며, 확률 밀도 함수 쉘(shell) 내에서 가상 양자 입자와 같은 상호작용 수에 의존하는데, 우리는 이러한 가상 개체를 "인터랙톤(interacton)"이라고 부른다. 인터랙톤들과 쉘 경계 사이의 상호 작용은 모델에 종속적이고, 예를 들어, 인터랙톤이 전자기 및 광자와 같은 경우, 그 이후 적절한 거동은 인터랙톤이 쉘 경계에서 쉘 경계 조건을 다시 만나기 전까지 쉘 내의 임의의 다른 점으로 반사하는 것이다(완벽한 미러처럼 행동함). 확률 밀도 함수의 경계의 예는 양자 물리학에 대한 임의의 교과서에서 찾을 수 있지만 몇 가지 대표적인 형태가 도 5에 도시된다. 전자기 파동 패킷과 유사한 모델로서의 상호작용의 표현은 앞서 언급한 것으로 제한되지 않고 중력 양자(graviton) 또는 다른 가상의 상호 작용 및 필드 또는 제약된 지오메트리가 도 6의 흐름도에 명시된 바와 같이 사용될 수 있다. 참고를 위해, 동적 V.V. Sreedhar, 매듭 상의 입자의 고전적 양자 역학(classical and quantum mechanics of a particle on a knot), Annals of Physics, 359권, 2015년 8월, 20-30 페이지가 동적 공식이 영향을 받는 입자의 제약조건, 경로 및 움직임의 개념에 대한 배경을 위해 본원에 포함된다.
Q-함수는 2D 원형 쉘의 경우에 대해 다음과 같이 표현된다:
Figure 112017092941849-pct00013
2D 방향 벡터, x 및 y에 대한 파라미터 및 다른 값들은 아래와 같이 정의된다:
Q 해시 파라미터 세트
c = 차원
x = 직교 x - 좌표 = 초기 정점 가중치
y= 직교 y - 좌표 = 초기 연결성 가중치
Dv = 정점, v 에서의 다트로부터의 데이텀 (소수 또는 정수)
B = 2 * 해시 폭 = 최대 비트 깊이
해시 폭 = 비트 수(예를 들어, 128)
함수 Φ는 쉘 내의 반사에서 입자와 같은 거동을 나타내는 가상화된 전자파 패킷 광자에 대한 위상 각을 나타낸다. 또한, 데이텀(Dv)은, 레이블이 ASCII 또는 유니코드이면 정수 값이 사용되고 다른 양인 경우에는 부동 소수점 값이 사용되며, 그 외에는 데이텀은 정수(어쨌든 그의 2인 표현)에 맵핑되어야 한다. 데이텀(Dv)은 역학의 섭동 변화(variational perturbation)를 도출하고 궁극적으로 해싱 출력에 영향을 미친다.
(복소 평면과 균등한) xy 평면 내의 2D 원통형 셀에 대해, 인터랙톤의 거동은 데카르트 좌표에서 다음과 같이 모델링될 수 있다:
Figure 112017092941849-pct00014
존 킹 갬블(John King Gamble), 마크 프리젠(Mark Friesen), 동 저우(Dong Zhou), 로버트 조인(Robert Zoynt), 및 SN 코퍼 스미스(SN Coppersmith)의, 그래프 동형 문제에 적용된 두 입자 양자 작업(Two-particle quantum walks applied to the graph isomorphism problem), 물리 리뷰 A, 81, 052313 (2010), 및 블라디미르 구드코프(Bladimir Gudkov) 및 슈무엘 누시노프(Shmuel Nussinov)의, 물리적 아날로그의 연속적인 진화를 통한 그래프 등가성 및 특징화(Graph equivalence and characterization via a continuous evolution of a physical analog), cond-mat/0209112, 2002의 교시에 따라, 우리는 존 킹 갬블에 따른 두 개의 상호 작용하는 파동 패킷을 사용하고, 구드코프 외가 그래프 상에서 오직 하나의 양자 또는 고전적인 무작위 작업 입자와 함께 추측한 바와 같이 특정 그래프들을 구별하는 것이 가능하지 않다는 점 및 그러나 적어도 두 개의 입자가 필요하다는 점에 주목하는데, 즉 첫 번째로, 우리의 접근법은 전체 그래프가 아닌 그래프의 로케일에 적용된다는 점과, 두 번째로 우리의 접근법은 블룸 필터에서의 다른 빠른 해시와 함께 해시를 사용하기 위해 그래프 내의 정점 및 그의 레이블의 국부적 이웃에 대한 해시 요약이 된다는 점이다. 해시는 로컬 인덱스에 대한 블룸 필터 없이 그래프 내에서 해시 단독으로 사용될 수 있지만, 바람직한 실시예는 대안적인 해시 함수(즉, 입자 모델)로 값을 계산하여 블룸 필터에 인서트하는 것이다. 그러므로, 우리는 최소 이분법 Q-함수를 작성할 수 있고 여기서 Q(K) 및 K는 a, b, c라고 표시된 상호 작용이다(원하는만큼 많은 가상 상호작용). 최소 바람직한 실시예는 2개의 상호 작용이므로 우리는 하나의 상호 작용하는 쌍으로 다음과 같은 조합 Q(a, b)를 가지며, 그 이후 다른 쌍으로 Q (b, a)를 갖는다(일반적으로 수식은 선택된 상호작용 수의 계송(factorial)에 따라 성장한다):
Figure 112017092941849-pct00015
예를 들어, 앞에서 언급한 대표적인 상호작용 수식 [1], [2], [3] 및 [4]를 사용하여, 우리는 배정밀도 부동 소수점(double precision floating-point)을 사용하고 최상위 64비트(MSB)를 접합하거나 최하위 64비트(LLSB) 또는 비트 내 임의의 상수 오프셋을 접합하도록 선택함으로써 해시 폭, 예를 들어, 256의 해시 코드를 작성할 수 있고, 즉 "+" 기호가 접합 연산자(concatenation operator)로 해석되면 우리는 Q-함수의 이중 적용(즉, 두 번의 상호작용)을 나타낸다:
Figure 112017092941849-pct00016
그 이후,
Figure 112017092941849-pct00017
Q-해시가 효율적으로 작동하기 위해, 초기 조건이 시작을 위한 인지 메모리 구성에서 기본 불변 기본 불변 환경 설정으로 설정되고 저장되어야 한다. 이를 위해, 다음과 같은 제약 조건을 가진 참조 일관성 초기화(reference consistent initializer)를 사용한다:
Figure 112017092941849-pct00018
H 해시는 다양한 비트 깊이에 적용될 수 있고 그래프 데이터에 대해 고유하게 설계되지만 반복되는 시스템으로서 상호작용 역학의 상태와 입력 데이터 사이의 상호작용 모델이 존재하는 한 다른 이진 데이터에도 적용될 수 있다.
각 레이블된 로케일 또는 구역에 대해, Q-메도이드 알고리즘으로부터, QHASH가 계산된다. 각각의 동심 쉘에 대해, 로컬 블룸 필터 인덱스가 계산되고 거리는 본 발명에 추후 설명되는 바와 같이 블룸 필터에 대한 거리에 대한 위치 민감형 해시(locality sensitive hash)로 조합된다.
도 4를 참조하면, 의 교시에 따라, 도 4[A]는 입력을 보여주고 앞에서 설명되고 화살표 [B]로 표현된 바와 같은 프로세스를 통해, 구역화된 출력은 래티거 외(Rattinger et al)의 교시에 따라, 구역 맵에 대한 거리를 구축하기 위한 NSI 알고리즘에 대한 입자 필드 기반 구역화에 따른 라벨링과 함께 [C]에 도시된다.
1. GMAP은 도 4[C]에 따라 Q-메도이드의 알고리즘을 사용하여 하위맵의 집합으로 구역화된다는 점을 고려한다.
2. 이제, 도 5에 도시된 바와 같은 선택을 사용하여, 상호작용 입자에 대한 2D 또는 3D 또는 다른 제한 형상을 선택하는 것은, 도 6의 방법에 따라 Q해시 함수를 계산하고, 여기서 프로세스는 Q-메도이드의 무작위 선택으로 시작한다.
3. 도 6에 따른 단계의 레이블이 지정된 정점들이 주어지면 도 4[C]에 도시된 정점의 인근에서 국부적 표현을 저장하는 국부화된 블룸 인덱스를 구성하고, 이에 따라 그의 메도이드 및 라벨은 래티거 외의 NSI 알고리즘을 사용하는 길이 제한 최단 경로 발견 알고리즘(length-limited shortest path discovery algorithm)을 사용한다.
4. 이제, 도 7을 참조하면, 2개의 임계치, MaxR 및 NumOrbits를 사용하여 국부화된 블룸 인덱스의 구축을 제어한다:
a. MaxR은 주어진 다트를 루트 시작점으로 사용하여 다트들(각각 정점)의 이웃의 최대 거리이다. 다트들의 로컬의 궤도를 제한하는 도 7에 도시된 바와 같이 쉘 내에서 MaxR 반경보다 작은 연결선의 각각의 증분에 대해, 범위의 경계인 경우, 연결설 증분은 넓이 우선(breadth-first)으로 수행되고, 이는 다트(즉, 정점)의 궤적(locus)으로서 인볼루션 세트(즉, 연결선들)를 야기한다. 이러한 프로세스는 루트 다트 주위에 넓이 우선으로 연결선 증분의 동심원(즉, 쉘)을 형성한다.
b. 그런 다음 동심원 횡단면 범위(concentric bread-first ranges)의 개수가 카운팅되고 저장 값으로 사용되거나, 고정된 선험(a-priori)인 제약 값으로 사용된다면, 그 이후 이웃 내의 동심 범위 수를 제어한다. 동심 넓이는 K-메도이드로부터 발견된 적어도 두 개의 다트들(각각 정점들)을 포함하는 첫 번째 최소 반경으로 정의된 최소 반경부터 MaxR까지의 간격 범위로 정의될 수 있다.
c. 조합맵은 로케일을 갖고 이러한 로케일은 K-메도이드 알고리즘에 의해 발견되는 것과 같은 다트 주변의 인볼루션에 의해 정의된다. 이는 본 발명에 고유한 특수한 방법으로 구성된 로케일 기반 블룸 필터를 정의하고 빌드하는데 사용하는 기하학적이고 구조적인 프로세스이다.
d. 루트 다트 주변의 궤도는 시계 방향으로 (하이퍼) 경로(즉, 가장 안쪽의 원, 또는 구 또는 하이퍼스피어)의 동심 셀 주변을 이동하고, 다른 다트(원래 그래프의 이들의 연결선 또는 정점)가 발생하고 버킷은 동심 궤도당 하나씩 다트 인볼루션 인덱스에 대한 다트로서 구성된다.
e. 원래 그래프의 시작 정점을 정의하는 루트 다트로의 다트들의 최단 거리(즉, 동심원의 최소 반경과 최대 반경 사이의 반경)가 정점 주변에서의 회전 방법 및 간격 반경 둘 모두와 연관된 단일의 복소값 이진 수를 사용하여 버킷에 인서트된다. 이중으로, 연결선 인덱스에 대해, GMAP이 원래 그래프의 이중 표현을 제공하기 때문에 정점 대신 연결선들이 버킷에 추가된다. 분명히, 정점 인볼루션 인덱스에 대한 다트는, 보장할 수는 없지만 복수의 다트가 동일 연결선을 공유할 수 있기 때문에 다트 인볼루션 인텍스보다 더 작을 수도 있다. 도 7은 이러한 복소 이진 값 블룸 필터 인덱스의 일반적인 구조를 도시하며, 쉘이 점유된 경우 각 쉘에 하나씩 표시된다.
쿼리 패턴은 도 7에서와 같이 정점 v1과 v2의 매칭이 δ 거리 이내에 있어야 하고 이러한 δ는 인지 메모리 데이터베이스에 대한 모든 연결선에 대해 동일하다는 것을 나타낸다. 선형 스케일링 대신 로그(logarithmic) 스케일링을 사용하여 쉘을 구성하면, 그 이후 전체 데이터베이스와 모든 그래프에 대해 유지되어야 하므로 하위 구조의 검색뿐만 아니라 현재 메소드에 의한 구조의 인코딩에 대한 사용자 선택 파라미터이다. 그래프의 각 연결선 e와 연관된 범위[min(e), max(e)]가 존재하고 각 연결선에 대해 연결선을 지정하는 인볼루션을 정의하는 다트가 존재한다. 그러나, 상이한 연결선들은 Q-메도이드 알고리즘의 결과로서 상이한 범위를 가질 수 있다. 범위의 간격은 종점(정점)의 매칭들 사이의 최단 거리를 산출한다.
각 메도이드에 대해, 각 구역(Z) 내에 중심(v)이 존재한다. 삼각 등식에 의해, 구역 사이의 거리는 v1과 v2 사이의 최단 거리이며 도 4에 따른 구역 레이블까지의 거리로 근사된다. 몇 가지 암시적 관계가 존재한다. 예를 들어, v1로부터 v2까지의 연결선은 범위가 [10, 20]이고 v2f부터 v3까지의 연결선이 [30, 50]이면 그 의후 (v1, v3)으로부터의 간격은 [10, 70] 내에 존재해야 한다. v1과 v3 사이의 거리에 대한 네트워크 구조 인덱스를 사용한 구역까지의 거리에 의해 주어진 범위가 [20, 80]인 경우, 진정한 암시 범위는 여전히 [20, 70]에 있어야 한다.
인지 메모리가 매우 크게 설계되기 때문에, 인덱싱 구조는 Q-해싱 및 블룸 필터를 사용하여 국부적으로 요약된 정보에 대한 바람직한 실시예에서 축소뿐만 아니라강한 의존성을 사용한다. 그래프를 동적으로 업데이트에서, 인덱싱 구조의 작은 부분만 수정해도 되는 이점이 있다. 본 발명이 (아마도 중첩하는) 구역 세트의 강화 된 파티션 기반 인덱싱 구조를 사용하는 것으로 고려하면, 그 이후 인서트 또는 삭제 동작을 통해 연결선 또는 정점이 변경될 때마다, 구역만 수정되면 된다.
네트워크를 조합맵으로 표현하는 방법을 설명했으므로, 이제 도 8을 참조하여, 우리는 다트와 그 세부 사항을 조합 맵으로 지정하는 세부 사항이 없는 간단한 4-노드 그래프를 설명한다. 도 8의 그래프는 노드 레이블이 v1, v2, v3 및 v4이고 콘텐츠가 3, 9, 5 및 7인 v1:3, v2:9, v3:5 및 v4:7과 같은 노드를 갖는 단순히 컬러링된(즉, 레이블된) 그래프이다.
도 9는 도 8의 네트워크의 위상 접속 구조를 나타내지만 컬러링(즉, 노드 v1, v2, v3 및 v4의 값 3, 9, 5 및 7)을 인코딩하지 않는 네트워크의 인접 행렬을 나타낸다.
도 10은 행렬로 인코딩하는 도 8의 네트워크의 컬러링을 도시하며 여기서 대각선이 대각선 상의 3, 9, 5 및 7과 같은 도 8의 네트워크의 값으로 노드들을 컬러링하고, 이로써 정점들의 순열이 컬러링들의 순열과 등가이다. 도 10의 행렬은 고유하게 컬러링된 네트워크를 인코딩한다. 노드 1과 노드 4 사이의 연결선에 대해 우리는 단순히 연결선에 대해 vl4를 기록할 것이다. 도 8의 그래프 및 도 10의 행렬을 참조하여, 다음을 정의할 수 있다:
이산 컬러링된 네트워크 표현 코드(Discrete Colored Network Representation Codes: DCNRC )
1. 레이블을 식별하고 이들을 고유 정부 레이블을 갖는 다트로 맵핑
Figure 112017092941849-pct00019
2. 노드들 사이의 연결을 식별
Figure 112017092941849-pct00020
3. 단순 접합(concatenation)에 의해 [0,1,1,1,1,1]을 이진수로 변환하고 선행(leading) 1을 추가하여 임의의 선행 0을 보존한다.
Figure 112017092941849-pct00021
우리는 95를 10진수 값으로 나타낸다. 코드 [3,9,5,7]은 네트워크의 모든 가능한 순열(즉, 컬러링)의 세트로부터 순열이라는 점에서 네트워크의 고유한 컬러링을 나타낸다.
4. 이러한 순열을 다음과 같은 변환 쌍을 사용하여 고유한 인텍스로 변환
(ⅰ) 레머 코드(Lehmer code), 및
(ⅱ) 팩토리얼 진법(Factoradic)
[3,9,5,7]의 레머 코드는 벡터 [0,2,0,0] 이다(대조적으로, 벡터 [3,9,5,7]의 레머 코드는 숫자 순열 [4,11,7,10,1,2,3,5,6,8,9] 이다).
[3,9,5,7]의 이산 코드는 다음과 같이 계산된다:
P = (3,9,5,7)은 S9에서의 순열이고 그의 레머 코드는 L(P) = [0,2,0,0]이다.
팩토리얼 진법에 기초하여, 우측에서 좌측으로, 0!부터, 우리는 다음과 같이 계산한다:
Figure 112017092941849-pct00022
숫자 95는 팩토리얼 형식으로 [3,3,2,1,0]이다.
5. 단계 3 및 단계 4로부터의 숫자 쌍을 조합하여, 이제 네트워크를 나타내는 숫자 쌍을 가짐으로써 원래 네트워크가 재구성될 수 있다:
이산 네트워크 컬러링 표현 코드 = DNCRC = 95
기본은 팩토리얼 기반으로 선택되고, 코드가 이어진다. DUNRC(Discrete Uncolored Network Representation Code)를 작성하기 위해, 대각선 요소 대신에 0을 단순히 대체하여 프로세스를 반복할 수 있다.
코드에서 네트워크를 복구하기 위해, 첫 번째 숫자인 95가 색상을 복구하기 위해 역순의 단계들과 함께 사용된다(레머 코드 및 팩토리얼 기업은 되돌릴 수 있기 때문에). 코드는 네트워크를 빌드하는 데 직접 사용될 수 있기 때문에 네트워크 재구성을 위해 행렬을 다시 빌드할 필요는 없다. 일반적으로, 임의의 네트워크에 대해, 팩토리얼 숫자 및 레버 코드를 사용하여 연속으로 인코딩할 수 있는 가역 코드를 생성하는 것이 중요하다.
도 8의 네트워크 및 도 10의 행렬을 참조하면, 노드-함수 중간 가중치 행렬이 생성될 수 있고 도 11은 도 10의 행렬의 노드들 상에 작용하는 공식을 도시한다. 이러한 도 10의 특정 예에서 노드들 상의 가중 함수는, 도 11을 생성하기 위해 함께 곱해진 2개의 연결된 노드 각각의 가중치의 역 제곱근으로서 정의되고, 도 12는 도 11의 행렬 내 모든 가중치에 대한 단순한 합으로서 예시적인 행렬 속성 함수의 계산을 도시한다. 이 공식은 행렬 속성 함수의 기본 계산을 보여주고, 이들의 대부분은 본 문헌에서 이용 가능한 다양한 위상 디스크립터 및 다른 그래프 불변 디스크립터로부터 도출되며, 화학 정보학 및 그래프 이론의 당업자에게 잘 알려져 있고, [2]에 열거된다. 그러한 함수는 본원에서 행렬 속성 함수(Matrix Property Function: MPF)라고 지칭되고, 이제 도 12를 참조하여, 행렬 속성 함수는 입력 행렬, 즉 도 10에 기초한 숫자: 1.502952272305779를 생성한다. 다시 말해, 행렬 속성 함수는 항상은 아니지만 보통 소위 분자 디스크립터에 기초한다. 예를 들어, 노드에 의해 주어진 색상이 존재하지 않을 때, 그 이후 로베르토(Roberto Todeschini) 및 비비아나 코소니(Viviana Consonni)[2]를 참조하여 주어지는 바와 같이, 위너(Wiener) 또는 호소야(Hosoya) 인덱스 및 다른 함수와 같은 연결성 지표(connectivity indices)를 사용하는 것과 같은 순수 위상(topological)인 다른 함수들이 사용될 수 있다.
도 13을 참조하여, 우리는 네트워크가 암시적으로 존재할 수 있는 레이블 가능하지 않은 임의의 기호 시퀀스를 시퀀스 내의 관계형 기호 인접 구조의 경로 그래프의 행렬로 변환하는 방법을 설명한다. 노드 또는 연결선의 고유한 정수 레이블이 없는 경우 네트워크는 레이블되지 않는다. 또한, 임의의 네트워크는 최대 깊이가 그래프에서 최대 거리로 연결된 두 개의 노드 사이의 최대 경로 길이로 제한되는 임의의 깊이에 대한 경로 그래프의 행렬로 재작성될 수 있다. 그러나, 예시 및 단순화를 위해, 우리는 이 경우에 영어로 구성된 예를 사용하고, 단어 "tester"는 4글자 세트, 즉 {t,e,s,r}로 구성된다. 도 13은 각 요소가 4개의 고유 글자 세트로부터 6개의 기분 글자 쌍, 즉 {er,es,et,rs,rt,st} 중 하나를 연결하는 경로인 행렬을 도시한다.
레이블되지 않은 기호의 시퀀스를 그래프로 인코딩하기 위한 알고리즘
1. 소수의 소스는 0번째 인덱스가 1, 2번째가 2, 3번째가 3, 4번째가 5 ... 인 것으로 표현되는 숫자 n에 응답하여 n번째 소수를 생성하며, 이는 레이블하는데 사용된다.
2. 각 고유 글자는 고유한 소수로 대체되고, 이러한 특정 예에 대하여, 레이블 룰은 특징 이 예제의 경우 레이블 지정 규칙은 문자를 가리키는 유니 코드 또는 ASCII의 문자 코드 또는 글자를 가리키는 다트의 정수 값을 사용하여 n 번째 소수가 n번째 소수를 인덱싱하는데 사용된다는 것이다;
3. 각 글자(또는 기호)가 고유 어드레스로 주어지고, 일련의 기호인 경우에, 앞서의 단계 2로부터의 소수에 의해 인덱싱된 위치 1에서 첫번째 기호로부터 시작하는 정수 위치 카운트이다. 따라서, 이러한 인코딩 방식을 사용하는 tester에 대한 코드는, [641,547,631,1282,1094,618]이다.
4. 각각의 글자 쌍에 대하여, 글자 쌍들 사이의 경로는 중간 기호 천이(intervening symbol transition)의 카운트로서 측정된다. 따라서, 글자 "t"와 "e" 사이에서, 한 번의 천이가 존재한다. "tester"에서 글자 "t"와 글자 "s" 사이에는 두 번의 천이뿐만 아니라 한 번의 천이(뒤쪽 t로부터 s로)가 존재한다. 모든 경로들은 사용자 정의된 최댓값, 즉 k-깊이까지 카운트 된다. tester의 예에 대해 깊이는 5로 설정된다.
5. 표 1은 글자와 코드 값 사이의 최종 맵핑을 나타내며, 글자를 가리키는 다트를 나타내는 위치 값 및 발생 값은 경로 길이의 행렬로서(깊이 5까지) 표 2가 도출될 수 있는 소수 값을 곱한다. 깊이는 사용자가 선택한 작은 파라미터이고 보통 2와 7 사이이며 전체 그래프를 덮을 필요는 없다.
6. 경로 행렬로 표현된 "tester"라는 단어의 결과 행렬은 표 2에 명시되고 도 13(2)에 예시되며, 이는 도 13(1)의 네트워크(1)로 쉽게 변환할 수 있고, 도 14(1)의 점선으로 도시된 원래 글자 쌍들로 구성된다.
Figure 112017092941849-pct00023
Figure 112017092941849-pct00024
도 14(1)은 각 글자를 나타내는 소수를 사용하여 문자열의 글자 쌍 사이의 거리를 경로 그래프로 사용하는 문자열을 인코딩하는 방법을 도시한다. 반복되는 글자의 경우, 위치 발생 곱셈자가 사용되어 디코딩 시의 소인수 분해(prime factorization)가 매우 간단하다. 조합맵을 형성하는데 사용되는 다트들은 항상 연속적으로 넘버링된다. 알고리즘이 텍스트를 나타내는 그래프에 대해 도시되었지만, 그래프는 관계 그래프를 사용하여 표현 가능한 이미지 또는 임의의 다른 데이터를 나타낼 수 있다. 결과 네트워크에 관한 도 14(2)의 행렬은 도 3 내지 도 7에 수반되는 방법을 참조하여 본 발명의 초기에 도시된 바와 같이 기록되고 인코딩될 수 있다. "tester"라는 단어를 인코딩하는 데 사용된 프로세스는 인코딩 방법, 즉 (글자 쌍의) 선형 스트림을 임베딩하는 노드에 고유 식별자를 할당하는 것이 임의의 선형 기호 스트림을 그래프로 인코딩하는데 사용될 수 있다. 기호 쌍, 또는 통계 분석으로부터 도출된 바이그램(bigram)으로 제한하지 않고, 3개의 기호 또는 트라이그램 그룹이 사용되어 그래프를 공식화하고, 또한, 예를 들어, 텍스트를 텍스트 그래프로 처리하고 변환할 때, 바이그램 또는 트라이그램(trigram)을 사용하는 것이 유용할 수 있으며, 인지 메모리의 바람직한 실시예에서. 바이그램 및 트라이그램은 기호 시퀀스를 네트워크로 변환하고 후속하여 GAMP으로 변환하는데 사용된다. 데이터가 아직 GMAP이 아니라면 임의의 입력 데이터는 이러한 방법으로 변환되어야 한다.
이제 도 15를 참조하면, 예시를 위해, 연결 행렬로 반복된다(2). 연결 행렬은 위쪽 삼각형의 숫자 세트로부터 이산 코드를 제공하고, 이러한 코드는 팩토리얼 숫자(4)로 변환될 수 있는 정수로 그리고 마지막에는 행렬을 재구성하는 데 필요한 코드로 그리고 이에 따라 DUNRC(Discrete Uncolored Network Representation Code)라 지칭되는 아이템(5)의 코드와 같은 그래프로 재작성될 수 있다. 컬러링된 네트워크의 경우, 이전에 설명한 방법을 사용하여 DCNRC(Discrete Colored Network Representation Codes)를 생성한다.
이제 도 16을 참조하면, 축소 규칙 연산의 방법이 예시된다. 축소 규칙은 위상를 중심의 축소를 적용함으로써 큰 구조에서 작은 구조로 네트워크를 병합하거나 접는다(collapse). 이는 다른 차원으로 진행하기 전에 동일한 차원에서 축소가 발생한다는 것을 의미하거나, 다시 말해, 일반화된 조합 맵의 축소는 주어진 k-셀에서 시작하고 k가 아닌 다른 차원에 적용되기 전에 모든 k-셀에 적용된다.
이제 도 16을 참조하여 다음과 같은 규칙에서의 축소 연산을 설명할 수 있다.
축소 규칙 유형
1. k=1인 각 k-셀에 대하여, 연결선 축소(1)은 연결선(2)에 인접한 노드를 병합하는 것 및 연결선을 다시 레이블 하는 것 및 남아있는 연결선/노드를 구문 표현 트리(syntactic expression tree)에 임베딩하는 것으로 정의되거나,
2. k=0인 각 k-셀에 대해, 노드 축소(3)은 노드(4)에 인접한 연결선를 병합하는 것, 및 노드를 다시 레이블 하는 것 및 남아있는 연결선/노드의 구문 표현 트리에 임베딩하는 것으로 정의되거나,
3. k=2인 각 k-셀에 대해, 면 축소는 면들을 인접 연결선 상으로 병합하는 것 및 면들을 남아있는 면/연결선들/노드로 다시 레이블하고 임베딩하는 것으로 정의되고, 각 k=3에 대하여, 볼룸 축소(도 15에 미도시)은 인접 면들로의 볼륨의 축소가고, 이로써 임의의 k에 대해, 축소는 항상 나머지 하위 차원 객체로 다시 레이블하고 임베딩하는 것으로 k-1 차원 객체를 생성한다.
도 17을 참조하면, GMAP(1)은 그의 다트들(2)의 인볼루션으로 설명된 예시적 노드 및 간단한 반전(즉, 모든 다트의 방향을 반전)에 의한 생성된 다트들(4)의 결과적인 반전 순열을 갖는 이중 GMAP(3)과 함께 도시된다. 도 16에 정의된 바와 같은 축소 규칙은 본 발명에 대한 속도, 유연성, 평행성(parallelizability)의 추가 이점을 제공하는 암시적 이중 구조 유지로 인해 임의의 GMAP에서 암시적으로 업데이트되고, 그로 인해 이중 맵은 항상 이용 가능하다. 이 방법은 비록 크로패치(Kropatsch)[7]의 연구와 관련이 있지만, 규칙에 의해 규칙적으로 축소될 수 있는 자체 루프를 갖는 구조를 제거하기 위해 빈 다트를 소잉(sew)한다.
이제, 도 18을 참조하여, 더 큰 GMAP의 일부가 될 수 있는 작은 조합맵(1)을 예시한다. 본 발명의 핵심 요소 중 하나는 맵을 축소하는 것, 코드를 생성하는 것 및 그 이후 더 이상의 축소가 가능하지 않을 때까지 연산을 반복하는 것의 결합이다. 도 18(1)은 다트들과 임베딩된 객체(즉, 레이블 a, b 및 c)의 순열을 나타내는 이진 트리(2)로 다시 작성된다. 본 발명의 도 18(6)의 인코딩은 제이콥슨(Jacobson)[8], 타라우(Tarau)[10] 및 문로 및 레이먼(Munro and Raman)[9]에 의한 연구로부터 영감을 얻었다. 제이콥슨의 간결한 트리 표현[8]은 레벨 순서 순회(level-order traversal)에서 노드를 나열하는 트리의 레벨 순서 1진법 시퀀스(level order unary degree sequence)에 기초하는데, 즉 루트 노드가 첫 번째이고, 그 다음 그의 모든 자식이 왼쪽에서 오른쪽 순으로 모두 따라오며, 그 다음 트리의 각 후속 레벨(깊이)에서 모든 노드가 뒤따르고 1진법(즉, 0으로 끝나는 1의 시퀀스) 순서로 그 차수를 인코딩한다.
문로(Munro)와 레이먼(Raman)[9]에 따른 주어진 트리의 괄호 언어 시퀀스는 이진 트리의 깊이 우선 탐색(depth-first traversal)에 의해 획득될 수 있고, 노드가 방문될 때마다 여는 괄호를 출력하고 그런 다음 우측에서부터 좌측으로 우선 후손들, 그 다음에 그의 모든 자식들이 이어지고, 그 뒤에 트리의 각 후속 레벨(깊이)에서의 모든 노드들이 이어진 이후에 닫는 괄호가 이어진다. 인코딩이 달성되면, 여는 괄호 및 닫는 괄호가 이진 비트 벡터 시퀀스 비트를 획득하기 위해 제각기0 및 1로 대체된다. 타라우(Tarau)[10]는 아커만(Ackermann)의 함수로 시작하고 축소된 코드와 네트워크를 인코딩하는 데 사용될 수도 있는 최적의 인코딩을 도출하는 유전적으로 유한한 세트의 유한 순열(finite permutation)에 기초하여 코드를 생성한다. 본 발명에서는 트리뿐만 아니라 임의의 그래프를 다루지만, 괄호 언어는 축소되는 로케일 내에서 다트의 정수 앞에 접두사가 붙은 사각 괄호로 확장된다. 이 표현은 원형 및 다른 구조들이 둥근 괄호, 사각 괄호 및 다트의 조합을 사용하여 코드화될 수 있게 한다. 다트 연산을 사용하는 노드가 축소됨에 따라, 그래프의 위상이 변경된다. 축소 트리는 다중 방향 트리로 시작되고 표준 방법에 의해 그래프의 완전한 이력을 제공하는 이진 트리로 변환된다.
따라서, 각 축소 연산에 대하여, 도 18(1) 내지 도 18(4)를 참조하여 다음과 같은 레이블 규칙 세트가 있다:
구문 축소 트리 구성(Syntactic Contraction Tree Construction):
1. 빈 트리 및 입력 GAMP(1)으로 시작하여, 이진 트리(2)를 생성한다.
2. k-셀에 대한 표현을 k-1-셀로 래핑하기 위해 사각 괄호 기호 "[]"를 사용하고 순열 순서로 레벨 k에서의 셀들을 그룹화하기 위해 둥근 괄호 "()"를 사용한다. 각 축소 연산에 대해, 도트 "."는 축소의 존재를 표현하는데 사용된다. 다른 모든 기호는 다트의 레이블이다. 그 이후,
3. 노드가 k(예를 들어, k=0이면 노드 축소, k=1이면 연결선 축소, k=2이면 면 축소)의 값에 의해 사용된 축소 연산의 이름을 포함하는 트리에 가지를 추가한다.
4. G의 k-셀을 다시 레이블 하기 위한 자식 노드를 추가한다.
5. G의 각 k-셀 및 축소 규칙에 의해 영향받는 다트의 각 궤도에 대하여:
a. 다트의 궤도가 k차원인 경우, 사각 괄호 및 점을 사용하여 다트 궤도에 대한 레이블에 의해 k-1에서의 표현을 래핑하고, 새로운 다트를 생성하고 새 다트를 k-1에서의 레이블과 소잉하고, 그렇지 않으면,
b. 소잉에 의해, k에서의 다트의 레이블을 k에서 축소된 객체에 첨부한다.
6. 각 리프에 대해, 축소 연산이 도 18(3)을 생성 가능하다면 새로운 축소 연산 노드를 추가한다.
7. 도 18(4)의 노드에 도시된 바와 같이 완료된 축소 트리 및 이의 표현을 중지하고 반환한다.
축소 트리 표현 인코딩(Contraction Tree Expression Encoding)
1. 트리의 상부에서 시작한다(예를 들어, 도 18(2)).
2. 각 노드에서 둥근 괄호를 연다.
3. 각 연결선에 대하여, 단일 하강(single descent)의 부분이 아닌 양수 측면의 다트 정수로 접두사가 붙은 사각 괄호를 연다.
4. 더 이상 (3)이 수행되지 못할 때까지 (2) 및 (3)을 반복한다.
5. 사각 괄호의 각 쌍을 다트가 속한 정수 코드로 명명된 함수로 접는다.
6. 하강의 각 연결선에서 닫는 둥근 괄호를 추가한다.
7. 노드 또는 연결설이 더 이상 방문되지 않을 때까지 계속한다.
8. 모든 왼쪽 둥근 괄호를 1로 대체한다.
9. 모든 오른쪽 둥근 괄호를 0으로 대체한다.
10. 이진 코드를 출력하고 중지한다.
이러한 알고리즘은 모든 축소 레벨에서 그래프의 무손실 기록을 제공한다. 각각의 리프가 아닌 노드는 축소를 생성하는 데 사용된 두 노드를 나타내는 왼쪽 및 오른쪽 자식 노드를 갖는다. 각각의 리프 노드는 원래 그래프에 포함되었던 노드를 나타낸다. 증가된 축소 트리에서, 다트들을 병합하는데 사용된 연산자는 필요한 경우 참조로서 또한 저장될 수 있다.
따라서, 더 상세하게 (2)를 (3)으로 나타내기 위해 괄호 표기법을 사용하여 인코딩을 적용하는 도 18을 참조하여, 우리는 (2)를 재작성하여 (4)를 생성한다. 더 이상 축소 재작성이 불가능하다. 축소 표현(5)는 프롤로그(Prolog) 언어 표현식(5)을 생성하기 위한 함수의 이름으로 다트를 사용함으로써 (4)로부터 생성된다. (5)를 사용하여, 프롤로그 표현식의 기호(및 암시적으로 해당 트리)(5)를 (6)과 같은 순수 괄호 표현식으로 변환하는 것은 간단하다. 왼쪽 괄호를 1로 대체하고 오른쪽 괄호를 0으로 대체하면 (7)의 l과 0의 목록이 생성된다. (7)에서 기호를 단순 접합(concatenation)하면 코드(8)가 생성된다. (8)의 십진법은 (9)이고 타라우(Tarau)[10]의 방법을 사용하여 기호(1)의 기호표를 작은 정수의 목록으로 해싱한 다음 타라우(Tarau)[10]의 방법을 사용하는 자연수로 인코딩되며, 그 이후 타라우(Tarau)[10]의 쌍 함수를 사용하여 1615의 (9)의 결과와 결합된 숫자 쌍으로 집계하여 입력(1)에 대한 저장소에 추가되는 코드(11) 3658820을 생성한다.
도 19는 본 발명의 핵심적이고 중심적인 부분이고, 이는 축소 연산 세트를 인코딩 및 데이터베이스에 저장된 단일 부분 구조로의 위상 및 지오메트리에 대한 행렬 속성 함수의 동기화된 계산과 결합시키는 방법을 예시하고, 이러한 프로세스는 더 이상의 축소가 가능하지 않을 때까지 축소에 의해 반복된다. 도 1(1)의 그래프로부터 도시되고 도 19(1)과 같이 재생성된 네트워크는 그래프의 축소 변형에 대해 행렬 속성 함수의 거동을 나타내는 벡터 시퀀스를 생성하는데 사용되고, 이러한 거동(즉, 함수의 숫자 출력에 의해 주어진)은 공간 벡터 저장소(일반적으로 멀티 벤티지 포인트 트리)에 저장되는 것이다. 따라서 이제 도 19를 참조하여 주 알고리즘을 기록한다:
축소 규칙 알고리즘(Contraction Rule Algorithm)
(ⅰ) 인접 관계(즉, 축소를 위한 k-셀) 및 축소 규칙의 연결선 유형의 순서를 선택한다(도 16에 도시됨). 도 19의 경우에서 그리고 단지 설명을 위해, 링크 유형의 순서는 사전식 순서에 따라 {s, t, u}이므로, 연결선 유형 "s" 주변의 노드가 우선 축소되고, 축소가 "s" 주변에서 더 이상 진행될 수 없을 때, 그 다음에 축소될 다음 연결선 유형은 "t"이며, s 혼자서도 또는 t 연결선 유형 혼자서도 축소될 수 없을 때, 그 이후 "st" 또는 "ts" 인접 연결선 유형의 조합이 축소될 것이다. "ts" 인근도 "st" 인근도 축소될 수 없는 경우에, 축소를 고려한 "u" 연결설 유형만이 있다(도 18의 축소 표현에서 설명된 바와 같음). 각 경우에, 순열 순서가 유지되고 축소인 사전식 조합 순서(lexicographic combination ordering)에 따라 진행된다. 사전식 순서가 Tarau[10]에 따른 정수 순서로 대체되는 경우, 축소는 숫자 순서 및 조합으로 진행된다. 하향식 축소의 경우 최고 k 값을 갖는 k 셀을 선택하고 상향식 축소의 경우 최저 k 값을 갖는 k 셀을 선택한다. 최고 k 값은 하이퍼 볼륨들을 병합한 다음 면, 그 다음 연결선, 마지막으로 노드를 병합하는 반면, 최저 k 값으로 시작하면 역으로 수행한다. 각각의 축소 연산에 대해, 레이블은 도 18에 도시된 바와 같이 축소 표현 인코딩을 사용하여 그들의 순열 순서를 유지하면서 병합된다. 따라서, 오로지 설명을 위해, 도 19(1)에서 연결선 {s}와 관련한 노드 {e, d, f}의 축소에 대해, (d)는 e 및 f가 연결선 유형 "s"에 대해 축소되는 노드인 것을 식별하는, 도 19(2)에 도시된
Figure 112017092941849-pct00025
라는 라벨을 생성한다.
임의의 주어진 레벨에서의 네트워크( GAMP )의 축소를 위한 선택 규칙
a. 다트가 가장 많은 노드(즉, 다트의 가장 높은 α0-궤도, 이는 노드들이 노드에서 단지 자신의 카디널리티(cardinality)임)를 선택하고, 축소 규칙이 노드 인접성 축소를 따를 때 이 노드를 축소가 발생하는 주변의 중심으로 만든다. 임의의 요소의 경우, 축소 순서(너비 우선 또는 깊이 우선)가 선택된 이후에 다트 궤도의 카디널리티에 기초하여 가장 높은 k 셀의 요소가 먼저 선택된다.
b. 둥근 괄호 안에 레이블을 사용하여 최고 k-셀에 레이블한다.
c. 연결된 각 노드에 대해 노드 레이블을 접합하고, 이들을 k-셀에 대한 순열 순서를 유지한 다음 k셀의 괄호 안의 노드 레이블에 대한 시맨틱 표현에 첨부한다.
d. 기호들을 연결하는 링크 유형을 나타내도록 앞의 (c)의 표현식을 "." (즉, 도트 기호) 사용하여 사각 괄호로 래핑한다.
e. 주어진 축소 레벨에서 더 이상의 레이블을 병합할 수 없을 때까지 선택된 축소 레벨에서 각 k-셀의 각 하위 트리 이웃에 대해 (a)에서 (d)까지의 단계를 반복한다.
f. k 차원의 임의의 k-셀에 라벨이 없다면(예를 들어, 면 세트가 면-1, 면-2 등으로 레이블되지 않은 경우), k-셀의 다트 궤도는 순열 순서대로 레이블이다. 이 레이블은 포인터가 면 레이블 다트를 상징적인(또는 숫자의) 이름으로 기억하도록 저장되어 있으면 다른 레이블로 대체될 수도 있다.
(ⅱ) 선택한 축소 인접 관계에 대해, 병합된 인접 요소의 각 쌍에 대한 시맨틱 표현 트리로 레이블을 이동시킴으로써 순열 순서를 유지하는 다트를 삭제한다. 도 18의 방법에 따라 필요에 따라 레이블을 각각 하이퍼 볼륨, 면 및 연결선 각각에 대해 생성될 수 있다. 경우에 따라, 일부 k-셀을 부분적으로 정의되게 하여 개방형 조합 맵 유도하는 것이 유용할 수도 있다. 이 방법은 다트 세트에 특별히 표시된 빈 다트를 추가하고 빈 다트와 함께 다트들을 소잉 되게 하는 것이다. 연결선의 두 다트가 동시에 축소되거나 제거된 이후로, 축소 레벨은 양수 다트가 부호로 인코딩되기 때문에 축소 레벨은 각 연결선의 단 하나의 다트에만 인코딩될 수 있는데, 즉 다른 다트가 암시적으로 정의되기 때문에 다트의 절반만 저장될 필요가 있다.
(ⅲ) 도 19(7)의 아이템에 도시된 최고 축소 레벨은 단일 노드(노드 인접 축소의 경우) 또는 볼륨이나 면 인접 축소 각각을 위한 단일 볼륨이나 면 또는 연결선 인접 축소를 위한 단일 연결선이다. 축소 규칙이 무방향 연결선 또는 대칭 관계가 각 연결선에 대해 하나의 다트 쌍을 사용하여 저장되는 규칙과 함께 우선 무방향 연결선을 축소하는 것인 경우(즉, 한 번에 4개의 다트 또는 지향성 연결선의 경우 8개의 다트), 각 연결선에 대해 하나의 방향으로부터 다른 방향으로 지향되는 관계는, 연결선 상의 무방향 다트의 부호와 일치하거나, 그 반대 방향의 경우, 지정된 연결선을 정의하는 첫 번째 다트 쌍의 부호와 일치하지 않는다.
(ⅳ) 모든 다트 테이블이 유지되고 각 축소 연산에 대해 축소 표현 트리가 유지되며, 여기서 순열은 해시 맵과 같은 표준 기법을 선택적으로 사용하여 네트워크의 조합된 레이블에 대해 도 18에 따라 인코딩되고 저장된다.
도 19를 참조하여, 본 발명의 핵심적이고 가장 중요한 부분은 본 실시예에 절대적으로 중요한 결합된 이중 동작인 것을 반복한다. 첫 번째로, 실시예들은 행렬(도 10, 도 6 및 도 7과 같이)의 값을 생성하는 단지 하나의 행렬 속성 함수를 도시하지만, 바람직한 실시예는 k-차원의 멀티 벤티지 포인트 트리 내의 점으로 저장되고 k-비트 블룸 필터에 적합한 값으로 추출되는 k-차원 벡터를 생성하기 위한 k-상이한 함수를 사용하거나, 둘째, 가장 단순한 경우에 노드를 병합하고 다트를 삭제하는 것을 수반하는 인접 요소들을 삭제하는 것에 의해 또는 인접한 연결선을 병합하고 축소 규칙에 명시된 바와 같이 단일 노드로 면 레이블의 규칙적인 순열로 면들을 병합하는 더 높은 차원으로 그리고 다트 임베딩의 순열 순서(즉, 레이블)를 유지함으로써 노드를 병합하는 것에 의해 GMAP을 축소하는 연산을 사용한다. 도 19는 연결선을 삭제하고 인접한 셀의 레이블을 새로운 셀(즉, 노드)로 접합함으로써 연결선 상의 동시에 그리고 노드에 의한 축소를 설명한다. GMAP 모델은 노드가 연결선이 되고 연결선이 노드가 되도록 자동으로 이중 그래프가 생성되게 하고(도 18(1) 및 (3)에 도시됨), 그 이후 본 발명의 방법은 필요할 때마다 이중 값 집합을 생성하도록 이중 그래프 상에서 계산될 수 있다. 각각의 축소에서, 표현된 네트워크 구조는 더 작은 k-1 차원 형태로 접힐(collapse) 수 있지만, 축소 규칙이 k에서 k-2로, 또는 일반적으로 k>n에 대해 k-n으로 지정될 수도 있다. 일반적으로 축소 연산은 누적되고 구조에 대한 축소의 연산, 반복 및 결과를 표현하는 표현 트리에 저장된다. 반복 횟수는 구조의 크기에 비례한다.
도 19의 (1) 내지 (7)을 참조하면, 레이블되고 연속적으로 축소되는 예시적인 네트워크를 도시한다. 이 경우, 각 축소 반복에 대해 도 19(1) 자체에 대한 반복 횟수가 0인 경우, 우리는 네트워크 그래프에 대한 함수를 계산할 수 있다. 함께 벡터를 나타내는 복수의 행렬 속성 함수가 계산될 수 있다. 이러한 예에서, 우리는 단지 예시를 위해 각 반복(즉, 축소 레벨)에 대해 단일 요소 벡터를 계산했다. 각 레벨의 벡터 세트는 그래프에 작용하는 함수의 거동을 나타낸다. 도 19(7)은 축소가 더 이상 행해지지 않고 멈추는 지점을 나타낸다.
도 19를 상세히 참조하면, 다음의 일련의 연산들이 발생한다:
1. 입력 그래프는 노드 레이블{a, b, c, d, e, f, g, m, n, o, p, q, r}과 {s, t, u}로 레이블된 연결선 유형으로 표현된 데이터가 임베딩된 다중 노드를 갖는다. 전역적 고유 식별자 지정(GUID),즉 "gmapl"이 생성된다. 예를 들어, 오로지 예시를 위해, 그래프가 노드 레이블이 다른 원자를 나타내고 연결선은 결합 유형을 레이블하는 화학 구조를 나타낼 수 있거나, 그래프는 사람을 나타내는 노드 및 전자 메일 교환, 논문 공동 작성 및 전화 통화와 같은 유형 관계를 나타내는 연결선을 갖는 그래프로 소셜 네트워크를 나타낼 수 있다. 임의의 경우에, 데이터는 연결선와 노드 세트로 그래프로 표현될 수 있고, 앞에서 지정한 방법에 의해 그래프가 GAMP으로 변환된다. 예시적인 입력 그래프는 도 17의 (1)과 같이 도시된다.
2. 최소한 T(위상) 및 G(기하학)라는 네트워크의 두 개의 속성 값이 계산된다. 도 19의 (1) 내지 (7)의 모든 항목에 도시된 바와 같이, 각 그래프는 T 및 G 값을 갖는다. T는 네트워크의 위상 디스크립터를 나타내고 G는 네트워크 내의 요소들의 데이터 또는 기하학 디스크립터를 나타낸다. 위상 디스크립터 T는 데이터의 연결성 또는 경로 네트워크에 대해 계산되고 G는 가중치가 있거나 컬러링된 네트워크를 사용하여 계산된다. T에 대한 함수의 예는 호소야 인덱스(Hosoya Index), 위너 인덱스(Wiener Index), 란딕 인덱스(Randic Index)를 포함하지만 이로 제한되지 않고, G에 대한 예는, 예를 들어, 결합 차수(bond-order) 값 또는 원자 전기 음성도와 같은 화학에 대한 데이터, 또는 예를 들어, 노드에 위치한 노드들에 대한 가중치와 같은 전위 함수(potential function) 및 이들을 숫자 값으로 규칙적으로 조합하는 임의의 규칙을 갖는 연결선들에 대한 가중치와 같은 작용력(force)과 같은 일반 네트워크에 대한 데이터를 포함하나 이로 제한되지 않는다. 웹 그래프인 예에서, 노드들에 대한 함수의 예들은, 노드에 대한 방향성 연결선의 진입 차수(in-degree) 및 출력 차수(out-degree)를 포함하고 노드 가중치의 예는 입력 차수와 출력 차수의 비율이다.
3. 각 축소 연산에 대해, 도 19의 (2)에 예시된 첫 번째 연산을 사용하여, 연산은 폭 방향(breadth-wise) 축소를 통해 행해지지만 깊이 방향 축소 또한 선택될 수 있다. 노드 레이블은 노드들(1)을 아이템 (2)로 병합하는 것으로 도시된 바와 같이 구문 트리로 병합되고, 루프를 보존하고 설명할 뿐만 아니라 필요할 때마다 원본 구조를 복구하기 위해 연결선 레이블이 보유된 루프를 설명하기 위해 반복이 필요할 수도 있다. 노드의 축소 및 병합은 축소 표현 트리에 보존되는데, 즉 축소 표현 트리 규칙을 사용하는 도 19의 전체 트리가 노드 (7)에 생성되고 다음과 같이 반복된다:
Figure 112017092941849-pct00026
축소 표현 트리를 다시 읽는 것은 사소한 일이며 축소 이력을 저장한다. 예를 들어, 노드(g)는 "qr"이 있는 루프에서 연결선 "u" 및 "t"와 함께 발생한다. (g)에서부터 순서를 역으로 함으로써, 그래프가 복구될 수 있다. 또한, 타라우(Tarau)[10]의 수식을 수정함(내용을 설명하지는 않지만 위상 구조 코드를 생성함)으로써, 도트 대신 숫자를 대체하고 표현 트리를 함수 기호(functor)로 변환하고, 선형 기호 시퀀스를 인코딩하고, 도 19(4)에 "gmapl"로 레이블하고 이전에 명지정된 DUNRC 알고리즘을 사용하는 방법을 따르는 것에 의해 재작성될 수 있다. DUNRC = 4895928170784910768550999108 및 다트 레이블 세트 = [a, b, c, d, e, f, m, n, o, p, q, r, s, t, u];
4. 축소 규칙은 인코딩 프로세스의 시작에서 선택된 규칙이고 도 17을 참조하여 (1) 내지 (7)을 따라 진행되며, 다음과 같은 출력이 생성된다:
Figure 112017092941849-pct00027
이는 다음과 같이 인코딩된다:
Figure 112017092941849-pct00028
그리고, 기호를 작은 정수로 해싱하고 타라우(Tarau)[10]에서의 쌍 함수의 방법을 사용함으로써 우리는
Figure 112017092941849-pct00029
와 같은 이산 컬러링 네트워크 코드를 갖는다.
이러한 트리가 이력을 인코딩하기 때문에 모든 이력 및 모든 이전 코드가 삭제될 수 있다. "점" 연산 수에 1을 더한 값은 축소 레벨 수이다. 사각 괄호 안의 가장 깊은 요소는 가장 많은 수의 다양한 링크를 갖는 요소이다(이 예에서, {s, t, u}와 같이 주위에 점선이 있는 레이블 "m"이다). 그러므로 벡터의 첫 번째 요소가 0번째 축소 레벨이고 마지막이 n번째 축소 레벨인(도 15의 아이템(1) 및 아이템(7) 각각) 모든 레벨에 대해 도 15의 아이템 (1) 내지 (7)에 대한 T 및 G 이력이 기록된다:
Figure 112017092941849-pct00030
표준 블룸 필터는 0으로 초기화된 m 비트의 비트 어레이이다. k개의 상이한 해시 함수가 또한 존재해야 하고, 각 해시 함수는 균일한 무작위 분포를 사용하여 일부 세트 요소를 m 개의 어레이 위치 중 하나에 맵핑하거나 해시한다. 요소를 추가하기 위해, 해당 요소를 가장 간단한 경우는 임계 벡터인 각각의 k 해시 함수에 전달하여, k 비트 위치를 얻고 값이 임계 벡터보다 큰 경우에 또는 그러한 경우에만 모든 그러한 위치의 비트를 1로 설정한다.
예시를 위해 2개의 임계 벡터 V(T) 및 V(G)는,
V(T) = V(G) = (0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5)이다.
T 및 G에 대한 결과적으로 도출된 블룸 필터는:
Figure 112017092941849-pct00031
단일 블룸 필터(F)는 T를 G와 다음과 같이 접합하는 바람직한 실시예이다:
Figure 112017092941849-pct00032
도 19, 즉 네트워크에 대한 인지 서명(4) 데이터 구조는 T 및 G 둘 모두에 대한 1-벡터 시퀀스(바람직한 실시예에서, T 및 G는 노드 콘텐츠 속성 함수 및 이들 각각의 k 및 m 행렬에 대한 K-벡터 및 m-벡터의 시퀀스일 것이다)로 이어지는 T 및 G에 대해 오로지 하나의 속성 함수가 존재하기 때문에 가장 작은 서명이고, 심볼 저장소 S, 블룸 필터 F 및 GUID를 가지며, GUID는 다음과 같다:
Figure 112017092941849-pct00033
Figure 112017092941849-pct00034
블룸 필터는 부정오류를 나타낼 수도 있지만 도 16과 같이 다른 테스트가 부정오류를 제거할 것이다. 네트워크 벡터 공간은 네트워크의 m-위상 함수의 m-벡터뿐만 아니라 k-속성 함수의 벡터로 구성된 k-벡터 공간의 계층으로 구성된다. 주어진 멤버 네트워크는 축소 레벨(즉, 반복) 횟수에 기초하여 상이한 레벨들에서 이들 벡터 공간들 중 하나 이상을 맵핑한다. 맵핑되는 구조의 복잡성(intricacy)에 따라 네트워크는 크기 및 선택된 특정 축소 방법에 따라 공간의 모든 레벨로 확장되거나 확장되지 않을 수 있다. 예를 들어, 알파-제로 인볼루션이 "X is-a Y"에 대한 "is-a"와 같은 온톨로지에서 공통적인 레이블로 연결선 임베딩된 경우 오로지 "is-a"로 레이블된 연결선에 대한 축소가 레이블이 무시되고 레이블의 모든 연결선이 무차별로 축소되는 것과 상이한 인지 서명을 제공할 것이다.
이제 도 20을 참조하여 도 20의 범례와 일치하는 주요 단계 (1) 내지 (11)로 넘버링된 다음과 같은 알고리즘이 제공된다.
네트워크 작성 및 저장 알고리즘(Algorithm to Compile and Store a Network)
(1) 원시 입력 데이터가 입수된다(ingested);
(2) 입력 네트워크를 인지 서명 데이터 구조로 변환한다;
(3) 입력 네트워크에 대한 다음과 같은 단계들을 사용하여 네트워크의 기호 콘텐츠를 저장한다:
1. 입력 샘플 네트워크 Gin을 판독한다.
2. 노드 유형과 연결선 유형의 쌍으로 차원 세트를 식별하여 공간 V를 생성한다.
3. 계산할 인덱스 세트(즉, 예를 들어, 참조 문헌 [2]를 사용하는 행렬 속성 벡터의 크기)를 선택함으로써 식별된 차원에 기초하여 Gin을 설명하는 벡터를 생성한다. 기존 벡터 공간 Vj에 차원 세트를 추가하거나 레벨 l에서 Vj가 존재하지 않는 경우에는 다음의 기준에 따라 생성한다:
ⅰ. Gin은 Vj에서 이미 이용 가능하지 않음.
ii. Vj에서 그리고 Gin에서 식별된 차원 사이의 중첩이 최대임.
4. Gin에서 차원의 구성 요소의 내림차순의 k-차수뿐만 아니라 이들의 발생 빈도 및 가중치(노드의 가중치 함수가 선택된 경우)에 따라 차원을 정렬한다.
5. Gin을 상이한 차원으로 분할하여 여러 개의 맵을 생성하기 위해 다트를 추가하거나 소잉 또는 언소잉함으로써 m 출력 네트워크 세트(Gout)을 설정한다.
6. 그 다음, Gin으로부터 카디널리티 카운트 세트를 생성한다. Gin을 설명하는 노드 유형 및 연결선 유형을 조합한다. 차원 세트가 도출되면, 상이한 연결선 발생 수를 차원에 투영함으로써 이러한 차원에 따라 Gin을 투영한다. 연결선이 숫자 속성(가중치 및 다중도)을 갖는 경우, 이는 연결선의 발생 수에 가중치를 곱한 값으로 사용된다.
7. 입력 네트워크 Gout 및 Gout'' 및 Gout'''... 등과 같은 각 분할된 네트워크(Gout 내지 Gout)를 사용하여 레벨 I + I에 대해 단계 1부터 반복한다.
8. 단계 1 내지 7이 완료되면(더 이상 입력 없음) 완료된 초기화된 데이터베이스를 반환한다.
구성원 네트워크는 데이터베이스에 추가되거나 데이터베이스로부터 삭제된다. 새로운 구성원 네트워크가 추가되는 경우, 임의의 다른 네트워크데 대해 동일한 파싱 기법을 사용하여 처리되어야 한다. 네트워크가 파싱되면, 임의의 벡터 공간에 존재하지 않는 임의의 새로운 특징이 아날로그 검색을 위해 자동으로 무시된다. 학습 및 수집 단계에서 선택된 샘플은 문맥 측면에서 중요하지만 위상적 유사성 측면에서 중요하지 않다. 인덱싱되어야 하는 모든 위상적 특징에 관한 적어도 하나의 발생을 포함해야 한다.
(4) 강력한 난수 생성을 포함할 수 있는 외부 서비스 또는 프로세스를 사용하여 네트워크에 GUID(Global Unique Identity Designation) 코드가 부여된다. GUID는 고유해야 하고 이미 처리되고 저장된 임의의 다른 멤버 네트워크와 충돌하지 않아야 한다. 네트워크는 다음과 같이 일반화된 조합 맵으로 변환된다.
a. 각 연결선에 대해, 일련의 정수를 사용하여 다트 쌍을 생성하거나,
b. 각각의 지향성 연결선에 대해, 시계 방향으로, 연결선이 정점의 출력 차수(out-degree)인 경우, 양의 부호를 갖는 다트를 출력 절반에 할당하고, 그 다음 무지향성 연결선을 나타내는 다트 쌍에 대해 그 다음 높은 정수 쌍으로서 들어오는 연결선에 음의 다트를 할당한다. 각 노드는 그 주변의 모든 다트들의 회전(즉, 궤도)로 설명된다. 따라서, 맵의 궤도 설명은 정수 또는 사전식 순서로 맵에 있는 모든 노드의 회전 시퀀스이다. 출력은 GMAP이다.
(5) GMAP은 연결성 행렬 또는 GMAP(O) 행렬로 지칭되는 경로 그래프 행렬로 동일하게 변환된다.
(6) DUNRC(Discrete Uncolored Network Representation Code)가 계산되고 DCNRC(Discrete Colored Network Representation Code)가 생성된다.
(7) 속성 함수의 벡터는 GMAP(O) 행렬에서 계산된다.
(8) 그런 다음 하나의 레벨의 축소에 의해 축소된 새로운 GMAP(1)을 생성하기 위해 GMAP(O)을 축소하도록 축소 규칙이 적용된다.
(9) 인지 서명은 수집되고 GMAP(O)에 대해 저장된다.
(10) GMAP(l)은 더 축소될 수 있는지 확인하기 위해 검사되고, 축소 가능한 경우, 고정점에 도달할 때까지 그리고 축소가 더 이상 가능하지 않을 때까지 단계 (5) 내지 (7)을 반복한다.
(11) 인지 서명 벡터가 멀리 벤티지 포인트 트리에 저장되고 GMAP(0)의 GUID뿐만 아니라 모든 이산 코드 및 블룸 필터는 RDBMS 테이블에 저장되며 각 테이블은 축소 레벨에 따라 다르다. 처리할 그래프가 더 이상 없거나 축소가 있는 고정점에 도달하면 관계 데이터베이스가 결과로 반환된다.
도 20(11)의 요소들 각각에 대해 다음과 같은 인덱스를 생성한다:
(a) 특정 T와 G 쌍과 일치하는 네트워크의 GUID 값을 저장하는 반전된 인덱스를 사용하여 인지 서명의 T와 G 벡터로 구성된 속성 함수 벡터의 데이터베이스 인덱스: 멀티 벤티지 포인트 트리를 사용하여 네트워크의 임베딩을 검색한다.
(b) 축소 레벨 데이터베이스의 계층 구조에서 각각의 축소된 그래프에 대해 생성된 모든 인지 서명의 인지 서명 트리(Cognitive Signature Tree: CST): CST는 자신의 GUID, 블룸 필터 또는 자신의 이름/레이블 조합, 또는 임의의 축소 레벨에서의 자신의 속성 벡터 또는 표현 트리에 기초하여 네트워크를 빠르게 검색하는 데 사용된다. 네트워크 자체는 하나 이상의 데이터 파일에 저장되고 데이터 파일 내의 네트워크 수는 "파일 당 네트워크"(gpf)로 언급되는 구성 가능한 파라미터에 의해 결정된다. CST는 데이터베이스 내로 축소된 모든 네트워크를 인덱싱하여 이러한 데이터 파일에 기본 인덱스를 만든다. CST는 다양한 추상화 레벨에서 네트워크 세트를 빠르게 검색할 수 있다.
(c) 2차 네트워크 인덱스: 이는 자신의 GUIDS에 대한 인지 서명의 인덱스이고 서명 자체의 속성에 대해 가능하다.
(d) 해시 코드 사용에 기초한 구조 인덱스(DUNCR 및 DCNCR 코드).
(e) GMAP로서 데이터베이스에 저장된 원본 네트워크 요소에 대한 GUIDS를 위한 2차 인덱스.
따라서 각 네트워크에는 GUID가 있고 각 GUID에는 멀티 벤티지 포인트 트리 내의 연관된 행렬 속성 벡터가 있다. 블룸 필터를 사용하여, 속성이 데이터베이스에 있으면, 임베딩은 데이터베이스에 있는 후보의 유형과 발생 횟수를 갖는다. 그 이후, RDBMS를 검색되어 데이터베이스에 존재하는 블룸 필터에 의해 선택된 모든 값의 엔트리를 찾는다. 임의의 주어진 레벨 L에서 GMAP를 저장하는 알고리즘은 다음과 같다:
알고리즘 저장소(Algorithm STORE)
1. GMAP, K 및 레벨, L을 입력한다. GMAP M을 스캔하고 동일한 K에서 모든 K-셀을 식별한다. 순열 순서로 GUID 및 모든 K-셀 코드(축소 표현 코드)를 저장한다. 이와 같이 그러한 모든 발견된 코드(즉, K-셀) 세트를 dims(G)이라고 한다.
2. 임의의 K-차원에 대해 proj(M, K-Cell-encoding)는 발견된 그러한 코딩된 하위구조의 수인 것으로 한다.
3. 레벨 L에 대한 RDBMS의 벡터 공간을 SL이라고 한다. GMAP M이 레벨 L에 인서트된 첫 번째 그래프인 경우, 그 이후,
SL = ({}. {}). 다음과 같이 GMAP M을 SL에 인서트한다.
a) dims (M)를 dims (SL)에 병합
dims (SL) = dims (SL)과 dims (M)의 합집합(union)
b) SL에서 T와 G 벡터 세트에 M을 더한다.
vec (T, SL) = vec (T, M)과 vec (T, SL)의 합집합
vec (G, SL) = vec (G, M)와 vec (G, SL)의 합집합.
(dims (M)의 d는 아닌 dims (SL)의 임의의 d에 대해, proj(M, d)는 0으로 정의된다는 점을 유념한다.)
4. 중지
전형적인 RDBMS에서의 인지 서명을 위한 바람직한 실시예는 스타 스키마(star schema) 이다. 스타 스키마는 중앙 테이블과 하나 이상의 링크된 속성 테이블로 구성된다. 본 발명에서, 우리는 스타-스키마 모델을 변경하고, (d1, d2, ..., dn , v) 형태의 팩트 테이블(fact table)에서 키와 벡터를 사용하는데, 여기서 d1, d2, dn은 차원 인덱스(즉, 벡터 공간을 포함하는 노드)에 대한 외래 키(foreign)(다트)이고, v는 멀티 벤티지 포인트 트리(Multi-Vantage Point Tree)로 보이는 벡터 공간 데이터베이스의 벡터 또는 멤버 데이터 요소이다.
우리의 스키마의 기본은 메모리 내장 팩트 테이블(in-memory fact table)로 시작하지만, 차원 테이블로부터의 차원 링크가 기본 팩트를 가리키고 그 반대의 경우가 아니기 때문에 SQL에 저장된 일반적인 팩트 테이블의 구조와 다르다. 차원 테이블 세트는 공간의 다른 계층을 나타내는 등가 클래스로 분할된다.
Figure 112017092941849-pct00035
여기에서 guid는 각 멤버 네트워크에 할당된 전역적 범용 고유 지정 id이고, member _network는 멤버 네트워크 구조 컨테이너(GMAP의 노드)에 대한 다트이다. 각 차원 인덱스의 구조는 다음 형식의 술어이다:
Figure 112017092941849-pct00036
여기서 proj는 점을 포함하는 영역을 정의하는 벤티지 포인트인 고정 벡터를 인덱싱하는 투영 인덱스 값이다. network_index는 주어진 차원의 공간에 대한 투영이 벡터 테이블에 제공되는 멤버 네트워크 가이드의 정렬된 테이블(sorted table)이다. 따라서 우리는 벤티지 포인트와 관련하여 벡터 테이블에 대한 인덱스를 갖는다.
레벨 사이의 네비게이션은 (술어 논리 표기법으로) 다음과 같은 형태를 사용한다:
Figure 112017092941849-pct00037
이전 레벨이 무효(void)인 경우, 우리는 기본 레벨에 있다.
각 축소 레벨은 고유한 벡터 공간을 포함하고 각 축소 레벨은 RDBMS 데이터베이스에서 테이블로 모델링된다. 테이블의 열 이름은 벡터 공간(테이블 자체)의 네트워크 디스크립터, 즉 di(d1, d2, ..., dn)를 사용하는 G의 투영된 값이다. 각 테이블의 마지막 열은 네트워크 구조와 설명을 유지하는 파일 이름이다. 초기화 단계에서, SQL에 새로운 데이터베이스 이름을 생성하면 인지 메모리가 초기화된다. 또한 초기화는 각 레벨에서 기하학적 행렬 속성 함수 및 네트워크를 나타내는 행렬의 위상 인덱스에 생성된 벡터에 대한 위상 구조에 대한 모든 벡터 공간 세트에 기초하여 시맨틱 특성에 대한 속성 공간에 대응하는 테이블 세트를 생성한다. 이러한 각 벡터 공간의 크기를 알고 나면, 선택된 행렬 속성 함수의 최대 k-수와 항상 같고, SQL CREATE 커맨드를 발행함으로써 대응하는 열이 이러한 테이블 내에 생성되어, 차원별로 정렬된 테이블을 갖는다. 새로운 디스크립터(즉, 속성 함수)가 선택되면 이는 단순히 열 목록에 첨부된다.
스키마 네트워크 내의 노드에 의해 참조된 네트워크는 차례로 스키마 네트워크 자체일 수도 있다. 이는 임의의 레벨로 계속될 수 있고 사실, 원형 및 자기 참조 또한 허용된다. 스키마는 자신을 자신의 노드 중 하나로 참조할 수 있다. 멤버 네트워크 Gi가 스키마 네트워크(H)의 노드가 될 때, Gi의 네트워크 속성은 H 내에서 Gi를 나타내는 어느 노드의 노드 속성이다.
모든 멤버 네트워크는 빈 벡터 네트워크로 불리는 스키마에 속한다. 빈 벡터는 데이터베이스의 모든 멤버 네트워크(그 자체 포함)를 나타내는 노드로만 구성된다. 연결선들이 빈 벡터에 추가되어 멤버 네트워크를 나타내는 네트워크 요소 간의 관계를 수립할 수 있다.
이제, 도 21을 참조하면, 인지 메모리에서 쿼리 그래프와 그래프들 사이의 부분적, 유사한 및 정확한 매칭을 생성하는 쿼리 프로세스가 상세히 도시하고, 다음 쿼리 처리 단계가 주어진다:
(1) 데이터 쿼리가 입력되고 이 쿼리는 축소 레벨에 대한 벡터 세트 및 이산 코드 및 블룸 필터에 의해 주어진 인지 서명으로 인코딩된다. 쿼리 처리는 쿼리 그래프와 Q-메도이드로의 변환, 그리고 정점들 간의 구역에 대한 거리를 사용함으로써 암시적 거리 관계를 획득하기 위한 계산으로 시작하고, 일반적으로, 쿼리 처리는 그래프 후보가 메인 알고리즘에 의해 반환되면 후보 정점 매칭을 생성하는 것을 포함한다. 정점 매칭은 블룸 필터에서의 Q해시 요약의 사용에 의해 가속화되고, 당업자에게는 표준 방법이 후보 매칭을 엄격하게 검증하여 부정오류를 제거하는 데 사용될 수 있다.
(2) 로컬 블룸 필터 인덱스를 구축하기 위한 Q-메도이드를 구축하는 방법(가상 입자 모델, Q-해싱 함수 및 네트워크 구조 인덱스를 사용하여)은 선행 기술에서 하위구조 검색의 효율성을 가능하게 한 애드혹 사용자 정의 임계값에 관한 방법을 대체한다.
(3) 인지 서명은 도 16의 아이템 (1) 내지 (10)에 도시된 바와 같이 입력 데이터로부터 생성된다.
(4) 블룸 필터는 사용자 임계치(2) 및 데이터 인지 서명(3)으로부터 추출된다.
(5) 블룸 필터는 당업자에게 알려진 기본 기법을 사용하여 데이터베이스 내에 저장된 세트에 대해 우선 확인된다.
(6) 일치가 없으면 조기 거부가 제공된다. 그러나, 부정오류 여부와 실제 매칭 여부에 관계없이 다음 단계가 수행된다.
(7) T 및 G 벡터 요소로 구성된 행렬 속성 벡터는 각 레벨의 인지 서명으로부터 추출된다.
(8) 벡터가 k-최근접 이웃 알고리즘을 사용하여 멀티 벤티지 포인트 트리 또는 또는 다른 등가 공간 데이터 저장 구조에서 검색된다.
(9) 통일되는 각 레벨에 대해, k-최근접 이웃 매칭이 있음을 의미하면 카운트가 생성된다.
(10) 모든 레벨이 매칭되거나,
(11) 어떤 레벨도 통일되지 않으면,
(12) 매칭되지 않음이 반환되고, 그렇지 않다면
(13) 그 이후 QUIDS 후보 세트가 반환되고,
(14) 매칭 표현 트리는 표현 트리 매칭이 레벨스타인(Levenstein) 거리 또는 문자열 간의 다른 적절한 거리 측정에 의해 제공되는 임계치 내에서 선택된다.
(15) 각각의 최근접 표현 트리가 순위화된 최근접 이산 인코딩과 매칭되면, DUNRC 또는 DCNRC 둘 중 하나 또는 둘 모두가 매칭된다.
(16) 단계(14)와 단계(15) 사이의 매칭으로부터 후보자가 없는 경우,
(17) 매칭되지 않음을 반환하고, 이와 달리
(18) 정확한 매칭이 있는 경우,
(19) 정확한 매칭을 반환하며, 그렇지 않다면,
(20) 다음과 같은 후보를 반환한다:
(21) (액세스한 사용자에 대해) 부분 또는 유사 매칭.
인지 서명은 데이터베이스에 저장되고 쿼리 입력 그래프의 서명과 관련하여 비교된다. 최근접 이웃 매칭이 K-레벨로 축소된 데이터베이스 시간에 n 개의 멤버 네트워크에 대해 k(n)log(n)으로 구성될 수 있다. 입력 복잡도는 실제로 입력 크기의 log2이다.
인지 메모리에서의 쿼리 매칭을 위한 알고리즘(Algorithms for Query Matching in Cognitive Memory)
쿼리에 의해 각 멤버 네트워크는 도 1(10)에 따라 순위가 지정된다. 순위는 정답인 결과의 가능성을 나타낸다. 하위 네트워크 쿼리에 대해, 순위는 멤버 네트워크가 주어진 쿼리와 얼마나 광범위하게 일치했는지에 기초하는데, 즉 해당 허용 임계치 내 모든 레벨에서 매칭이 발생한다.
보다 높은 레벨의 컨텍스트 추상화 레벨에서 맵핑되는 멤버 네트워크는, 레벨이 높을수록 더 일반화되어 더 구체적인 낮은 레벨에 포함된 매칭에 대한 시맨틱 거리가 더 작기 때문에 더 낮은 추상화 레벨에 매칭되는 네트워크보다 더 높은 순위가 부여된다. 더 낮은 순위는 더 긴 시맨틱 길이를 반영한다. 마찬가지로, 추상화 레벨의 많은 벡터 공간에서 매칭되는 멤버 네트워크는 소수의 벡터 공간에서만 맵핑되는 멤버 네트워크보다 순위가 높다.
Figure 112017092941849-pct00038
레벨 수는
Figure 112017092941849-pct00039
이고
Figure 112017092941849-pct00040
는 매칭이 존재하는 레벨(즉, 최근접 이웃 세트)의 매칭 수이다.
하나 이상의 벡터 공간의 영역에 쿼리를 맵핑하면 쿼리가 해결된다. 쿼리 결과는 모든 벡터 공간에서 쿼리 영역에 있는 모든 점의 순위가 매겨진 합집합에 의해 계산된다. 따라서 쿼리 해결 및 검색에는 두 가지 문제가 있는데, 즉 쿼리를 영역에 맵핑하는 것 및 쿼리 결과를 순위화하는 것이다. 영역 생성은 검색 반경(radius of search)이라는 개념을 기반으로 한다. 검색 반경은 임의의 차원을 따르는 영역의 너비를 정의하는 파라미터이다. 이러한 유형의 검색은 대략적인 매칭을 생성한다.
유사성 검색(similarity search)은 네트워크를 파라미터로 사용하고 "위상적으로 유사한" 네트워크 세트를 반환한다. 네트워크 사이의 위상적 거리는 시맨틱 거리이고 위상 및 시맨틱 인덱스와 관련하여 하나의 네트워크와 다른 네트워크 사이의 노드/연결선 차이 수를 나타낸다. 이러한 종류의 지원되는 쿼리는 인지 메모리에서 아날로그 쿼리로 불린다.
하위 네트워크 쿼리는 쿼리 네트워크를 입력으로 사용하고 하위 네트워크 중 하나로서 쿼리 네트워크를 가질 가능성이 있는 모든 네트워크를 반환한다. 임의의 주어진 레벨에서 주어진 GUID의 모든 속성은 해당 레벨의 공간에서 네트워크의 위치를 묘사하는 벡터로 처리된다. 쿼리 네트워크가 유사하게 투사될 때, 쿼리 결과는 쿼리 네트워크 벡터와 멤버 네트워크 벡터 사이의 거리에 기초할 것이다.
네트워크 데이터베이스에서 공통 하위 네트워크를 마이닝(mining)하기 위해, 검색 전제는 그러한 주장을 논박하는 국부적으로 연결된 로컬 네트워크들을 가지치기(pruning)하기 시작하는 것이다. 그런 다음 프로세스는 로컬 네트워크들 사이의 최대 공통 하위 네트워크로 수렴된다(converge). 따라서, 검색은 주어진 레벨에서 전역적 뷰를 "확인"하지 않으므로, 인덱싱은 여러 단계에서 프로세스를 반복하는 함수이다(검색의 반복 심화).
공통 하위 네트워크에 대한 검색 알고리즘(Algorithm to Sea rch for Common Sub-Networks)
쿼리 네트워크(Q) 및 인지 메모리 데이터 베이스(S)가 주어지면, 유사성 검색은 다음과 같이 진행된다.
1. CST 트리의 루트 이후 첫 번째 레벨로서 레벨 1에서 시작한다.
2. WS가 데이터베이스 S에 있는 모든 guid의 세트라고 한다.
3. 레벨 1에서의 쿼리 네트워크에서의 모든 축소 및 이들의 대응하는 발생 수의 세트(즉, 쿼리 네트워크의 벡터)를 Q1이라고 한다.
4. 레벨 1에서 CST 트리 내 모든 축소 벡터 세트를 L1이라고 한다.
5. Ql을 L1과 비교하고, S에 대한 윈도우 파라미터, R 반경에 기초하여, 쿼리 벡터에 "충분히 인접한" 모든 guid 세트 WL을 획득한다.
6. R1 = W Sn WL을 레벨 1에서의 쿼리 결과 세트로서 계산한다.
7. 레벨 1 + 1에서의 쿼리 결과가 레벨 1에서의 쿼리 결과에 포함되어야 하기 때문에, WS로부터 R1 내에 없는 모든 guid를 제거한다. 즉, Ws = R1과 교차된 WS이다.
8. L1 내 임의의 분할이 새로운 W1로부터 어떠한 guid도 포함하지 않는다면, CST 트리 내에 대응하는 노드가 사용되지 않음으로 표시한다. 이 노드 아래의 전체 하위 트리는 다음 레벨에서 비교시 무시될 수 있다.
9.
Figure 112017092941849-pct00041
로 설정하고 원하는 수의 정제(refinement)가 완료될 때까지 단계 2로 돌아간다.
"충분히 근접한" 함수는 각 레벨에서 쿼리 네트워크 벡터 주위의 반경 S이 구를 고려하고 이 반경 내에 있는 모든 벡터를 추가하여 계산된다. 하위 구조 쿼리의 경우, "충분히 근접한" 함수는 쿼리 벡터 위에 있는 모든 벡터 세트를 반환하는 함수로 대체된다.
위상 쿼리는 analog(), contains() 및 mcg()와 같은 함수에 대한 입력 파라미터로 네트워크 참조(QUID)를 제공함으로써 수행될 수 있다. 여기서 meg는 쿼리 네트워크와 세 번째 파라미터의 네트워크 참조 사이의 "최대 공통 하위 네트워크"를 나타낸다. 위의 모든 쿼리 쿼리 구조는 다음의 두 가지 형태로 들어온다:
1. 위상 검색이 이전 검색 위의 한 레벨에 대해 수행되고 DUNCR을 사용하여 만약 있다면 부정오류를 가지치기하는 단일 단계 위상 쿼리, 및
2. 가지치기를 위해 DUNCR을 사용하여 사전 지정된 수의 레벨에 대해 위상 검색을 수행하는 다중 단계 위상 쿼리.
따라서, 전술한 설명은 단지 본 발명의 예시적인 실시예를 개시하고 설명한다. 당업자가 이해할 수 있는 바와 같이, 본 발명은 축소 규칙을 속성 또는 위상에 대한 네트워크상의 해시 코드 및/또는 함수와 결합 및 조합하는 데 있어서 그 정신 또는 본질적인 특성을 벗어나지 않으면서 다른 특정 형태로 포함될 수도 있다. 따라서, 본 발명의 개시 내용은 예시적인 것으로 의도되지만, 본 발명의 범위 및 다른 청구 범위를 제한하려는 것은 아니다. 본원의 교시의 임의의 용이하게 식별 가능한 변형을 포함하는 개시는 발명의 주제가 대중에게 전용되지 않도록 전술 한 청구항 용어의 범위를 부분적으로 정의한다.
본 실시예들은 양자 컴퓨팅 특징 또는 양태를 포함하고 구현할 수 있고, 양자 컴퓨터 상에서 물리적으로 또는 양자 컴퓨터 또는 컴퓨팅 양태의 에뮬레이션을 통해 사실상 구현될 수 있다. 슈퍼 컴퓨터 또는 컴퓨팅 또는 임의의 다른 유사한 기법이 본원에 설명된 특징을 구현하는데 사용될 수 있다.
상술한 다양한 특징들은 컴퓨터 시스템(또는 프로그램 가능 로직)과 같은 컴퓨팅 장치에 의해 구현될 수도 있다. 회로는 회로의 프로세싱을 개선하고 본 실시 예의 특징이 없는 사람 또는 심지어 범용 컴퓨터에 의해서도 불가능한 방식으로 데이터가 처리되게 하는 상술된 기능 및 특징을 구현하도록 특별히 설계되거나 프로그램될 수도 있다. 본 발명의 특징은 컴퓨터 프로세서의 일부 형태를 사용하여 구현될 수 있다. 당업자가 인식할 수 있는 바와 같이, 컴퓨터 프로세서는 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 또는 CPLD(Complex Programmable Logic Device)와 같은 이산 논리 게이트로서 구현될 수 있다. FPGA 또는 CPLD 구현예는 VHDL, 베릴로그(Verilog) 또는 기타 하드웨어 기술 언어로 코딩될 수 있고 코드는 FPGA 또는 CPLD 내의 직접 또는 별도의 전자 메모리와 같이 전자 메모리에 저장될 수 있다. 또한, 전자 메모리는 ROM, EPROM, EEPROM 또는 플래시 메모리와 같은 비휘발성일 수 있다. 전자 메모리는 또한 정적 또는 동적 RAM과 같은 휘발성이거나, 마이크로 컨트롤러 또는 마이크로 프로세서와 같은 프로세서일 수 있고, FPGA 또는 CPLD와 전자 메모리 사이의 상호 작용뿐만 아니라 전자 메모리를 관리하기 위해 제공될 수 있다.
이와 달리, 컴퓨터 프로세서는 전술한 기능을 수행하는 컴퓨터 판독 가능 명령어 세트를 포함하는 컴퓨터 프로그램을 실행할 수 있고, 프로그램은 전술된 비 일시적인 전자 메모리 및/또는 하드 디스크 드라이브, CD, DVD, 플래시 드라이브 또는 임의의 다른 공지의 임의의 저장 매체에 저장된다. 또한, 컴퓨터 판독 가능 명령어는 인텔 오브 아메리카(Intel of America)의 제논 프로세서(xenon processor) 또는 AMD 오브 아메리카(AMD of America)의 옵테론 프로세서와 같은 프로세서 및 마이크로소프트 VISTA, UNIX, Solaris, LINUX, Apple, MAC-OSX 및 당업자에게 알려진 다른 운영 체제와 같은 운영 체제와 함께 실행되는 유틸리티 애플리케이션, 백그라운드 데몬 또는 운영 체제의 컴포넌트, 또는 이들의 조합으로서 제공될 수 있다.
또한, 본 발명은 컴퓨터 기반 시스템(1000)을 사용하여 구현될 수 있다. 컴퓨터(1000)는 정보를 전달하기 위한 버스(B) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(B)와 결합된 프로세서/CPU(1004)를 포함한다. 또한, 컴퓨터(1000)는 프로세서/CPU(1004)에 의해 실행될 정보 및 명령어를 저장하기 위해 버스(B)에 결합된 메인 메모리/메모리 유닛(1003), 예컨대, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치(예를 들어, 동적 RAM(DRAM), 정적 RAM(SRAM) 및 동기 DRAM(SDRAM))를 포함한다. 또한, 메모리 유닛(1003)은 CPU(1004)에 의한 명령어의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하는데 사용될 수 있다. 컴퓨터(1000)는 또한 CPU를 위한 정적 정보 및 명령어를 저장하기 위해 버스(B)에 결합된 판독 전용 메모리(ROM) 또는 다른 정적 저장 장치(예를 들어, 프로그램 가능 ROM(PROM), 소거 가능 PROM(EPROM) 및 전기적 소거 가능 PROM(EEPROM))를 더 포함할 수 있다.
또한, 컴퓨터(1000)는 대용량 저장 장치(1002) 및 드라이브 장치(1006)(예를 들어, 플로피 디스크 드라이브, 판독 전용 컴팩트 디스크 드라이브, 판독/기록 컴팩트 디스크 드라이브, 컴팩트 디스크 주크박스, 테이프 드라이브 및 이동식 광 자기 드라이브)와 같은 정보 및 명령어를 저장하기 위한 하나 이상의 저장 장치를 제어하기 위해 버스(B)에 결합된 디스크 제어기를 더 포함할 수 있다. 저장 장치는 적절한 장치 인터페이스(예를 들어, SCSI(Small Computer System Interface), IDE(Integrated Device Electronics), E-IDE(Enhanced-IDE), DMA(Direct Memory Access) 또는 울트라-DMA 등)를 사용하여 컴퓨터)1000)에 추가될 수 있다.
또한, 컴퓨터(1000)는 특수용 논리 디바이스(예를 들어, 주문형 집적 회로(ASIC)) 또는 구성 가능한 논리 디바이스(예를 들어, 단순 프로그램 가능 논리 소자(SPLD), 복합 프로그램 가능 논리 소자(CPLD), 및 필드 프로그램 가능 게이트 어레이(FPGA))를 또한 포함할 수 있다.
컴퓨터(1000)는 또한 컴퓨터 사용자에게 정보를 디스플레이하기 위한, 음극선관(CRT)과 같은 디스플레이를 제어하기 위해 버스(B)에 결합된 디스플레이 제어기를 포함할 수 있다. 컴퓨터 시스템은 컴퓨터 사용자와 상호 작용하고 정보를 프로세서에 제공하기 위한 키보드 및 포인팅 장치와 같은 입력 장치를 포함한다. 예를 들어, 포인팅 장치는 방향 정보 및 명령 선택을 프로세서에 전달하고 디스플레이 상의 커서 이동을 제어하기 위한 마우스, 트랙볼 또는 포인팅 스틱일 수 있다. 또한, 프린터는 컴퓨터 시스템에 의해 저장 및/또는 생성된 데이터의 인쇄 목록을 제공할 수 있다.
컴퓨터(1000)는 메모리 유닛(1003)과 같이 메모리에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 CPU(1004)가 실행하는 것에 응답하여 본 발명의 처리 단계들의 적어도 일부를 수행한다. 그러한 명령어는 대용량 저장 장치(1002) 또는 착탈식 매체(1001)와 같은 다른 컴퓨터 판독 가능 매체로부터 메모리 유닛으로 판독될 수 있다. 다중 처리 장치 내의 하나 이상의 프로세서가 또한 메모리 유닛(1003)에 포함된 명령어의 시퀀스를 실행하기 위해 사용될 수 있다. 대안적인 실시예에서, 하드 와이어드 회로가 소프트웨어 명령어 대신 또는 소프트웨어 명령어와 함께 사용될 수 있다. 따라서, 실시예들은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
전술한 바와 같이, 컴퓨터(1000)는 본 발명의 교시에 따라 프로그램된 명령어를 유지하기 위한 그리고 본원에 설명된 데이터 구조, 테이블, 레코드 또는 다른 데이터를 포함하기 위한 적어도 하나의 컴퓨터 판독 가능 매체(1001) 또는 메모리를 포함한다. 컴퓨터 판독 가능 매체의 예는, 컴팩트 디스크, 하드 디스크, 플로피 디스크, 테이프, 광 자기 디스크, PROM(EPROM, EEPROM, 플래시 EPROM), DRAM, SRAM, SDRAM 또는 임의의 다른 자기 매체, 컴팩트 디스크(예를 들어, CD -ROM) 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체이다.
본 발명은 컴퓨터 판독 가능 매체 중 임의의 것으로 또는 조합하여 저장되며, 본 발명을 구현하기 위한 장치 또는 장치들을 구동하기 위한 주 처리 장치를 제어하고 주 처리 장치가 인간 사용자와 상호 작용할 수 있게 하는 소프트웨어를 포함한다. 이러한 소프트웨어에는 장치 드라이버, 운영 체제, 개발 도구 및 애플리케이션 소프트웨어를 포함할 수 있지만 이로 제한되지 않는다. 그러한 컴퓨터 판독 가능 매체는 본 발명을 구현하는 데 수행되는 처리의 전부 또는 일부(처리가 분산되는 경우)를 수행하기 위한 본 발명의 컴퓨터 프로그램 제품을 더 포함한다.
본 발명의 매체 상의 컴퓨터 코드 요소는 스크립트, 해석 가능 프로그램, 동적 링크 라이브러리(DLL), 자바 클래스 및 완전한 실행 가능 프로그램을 포함하나 이에 제한되지 않는 임의의 해석 가능하거나 실행 가능한 코드 메커니즘일 수 있다. 본 발명의 처리의 부분들은 더 나은 성능, 신뢰성 및/또는 비용을 위해 분산될 수도 있다.
본 명세서에서 사용되는 "컴퓨터 판독 가능 매체"라는 용어는 실행을 위해 CPU(1004)에 명령어를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터 판독 가능 매체는 비휘발성 매체 및 휘발성 매체를 포함하지만 이로 제한되지 않는 많은 형태를 취할 수 있다. 비휘발성 매체는, 예를 들어, 대용량 저장 장치(1002) 또는 착탈식 매체(1001)와 같은 광학, 자기 디스크 및 광 자기 디스크를 포함한다. 휘발성 매체는 메모리 유닛(1003)과 같은 동적 메모리를 포함한다.
다양한 형태의 컴퓨터 판독 가능 매체는 실행을 위해 CPU(1004)에 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는데 수반될 수 있다. 예를 들어, 명령어는 초기에 원격 컴퓨터의 자기 디스크 상에 전달될 수 있다. 버스(B)에 연결된 입력부는 데이터를 수신하고 버스(B) 상에 데이터를 배치할 수 있다. 버스(B)는 CPU(1004)가 명령어를 검색하고 실행하는 메모리 유닛(1003)에 데이터를 전달한다. 메모리 유닛(1003)에 의해 수신된 명령어는 CPU(1004)에 의한 실행 전후에 대용량 저장 장치(1002) 상에 선택적으로 저장될 수 있다.
또한, 컴퓨터(1000)는 버스(B)에 결합된 통신 인터페이스(1005)를 포함한다. 통신 인터페이스(1004)는, 예를 들어, 근거리 통신망(LAN) 또는 인터넷과 같은 다른 통신망에 연결된 네트워크에 양방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(1005)는 임의의 패킷 교환 LAN에 접속하기 위한 네트워크 인터페이스 카드일 수 있다. 다른 예로서, 통신 인터페이스(1005)는 대응하는 유형의 통신 라인에 대한 데이터 통신 접속을 제공하는 비대칭 디지털 가입자 회선(ADSL) 카드, 통합 서비스 디지털 네트워크(ISDN) 카드 또는 모뎀일 수 있다. 무선 링크가 구현될 수도 있다. 임의의 이러한 구현예에서, 통신 인터페이스(1005)는 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 전달하는 전기, 전자기 또는 광 신호를 송신 및 수신한다.
네트워크는 전형적으로 하나 이상의 네트워크를 통해 다른 데이터 장치에 데이터 통신을 제공한다. 예를 들어, 네트워크는 로컬 네트워크(예를 들어, LAN)를 통해 또는 통신 네트워크를 통해 통신 서비스를 제공하는 서비스 제공자에 의해 동작하는 장비를 통해 다른 컴퓨터에 대한 연결을 제공할 수 있다. 로컬 네트워크 및 통신 네트워크는, 예를 들어, 디지털 데이터 스트림을 전달하는 전자 신호, 전자기 신호 또는 광 신호 및 연관된 물리 계층(예를 들어, CAT 5 케이블, 동축 케이블, 광섬유 등)을 사용한다. 또한, 네트워크는 PDA(personal digital assistant), 랩톱 컴퓨터 또는 휴대 전화와 같은 이동 장치일 수도 있는 컴퓨터(1000)에 대한 연결을 제공할 수 있다.
특정 실시예가 설명되었지만, 이들 실시예는 단지 예로서 제시된 것이며, 본 발명의 범위를 제한하려는 것은 아니다. 실제로, 본원에 설명된 신규한 방법 및 시스템은 다양한 다른 형태로 구현될 수 있고, 또한, 본원에 설명된 방법 및 시스템의 형태에서 다양한 생략, 대체 및 변경이 본 발명의 사상을 벗어나지 않으면서 이루어질 수 있다. 첨부된 특허 청구 범위 및 그 등가물은 본 발명의 범위 및 사상 내에 있는 그러한 형태 또는 수정을 포함하도록 의도된다. 또한, 임의의 실시예는 필요에 따라 임의의 다른 실시예와 조합될 수 있다.
본 개시물의 양태들이 예로서 제안된 특정 실시예들과 관련하여 설명되었지만, 예들에 대한 대안, 수정 및 변형이 이루어질 수도 있다. 또한, 명세서 및 첨부 된 청구 범위에서 사용되는 바와 같이, 단수 형태("a", "an" 및 "the")는 문맥상 달리 지시되지 않는 한 복수 대상을 포함한다는 점을 유념한다.
참조문헌
1. Liu, Y.P., 1999, Enumerative Theory of Maps. Kluwer, Boston
2. Roberto Todeschini and Viviana Consonni, Molecular Descriptors for Chemoinformatics (2 volumes), Wiley- VCH, 2009.
3. Levinson, R.A., Self- organising retrieval system for graphs Proceedings of the AAAI (1984), 203-206.
4. D, Cook and L. Holder (editors), Mining Graph Data, John Wiley and Sons, 2006.
5. E.G.M. Petrakis, C. Faloutsos. Similarity Searching in Medical Image Databases. IEEE Transactions on Knowledge and Data Engineering, Vol. 9, No. 3, 1997.
6. Gareth, A. J., Singerman, D., 1978. Theory of maps on orientable surfaces. Proceedings of the London Mathematical Society 3 (37), 273-307.
7. Kropatsch, W. G., December 1995. Building Irregular Pyramids by Dual Graph Contraction. IEE-Proc. Vision, Image and Signal Processing Vol. 142 (No. 6), pp. 366-374.
8. J. Ian Munro and Venkatesh Raman. Succinct representation of balanced parentheses, static trees and planar graphs. In IEEE Symposium on Foundations of Computer Science, pages 118-126, 1997.
9. Guy Joseph Jacobson. Space-efficient static trees and graphs. In 30th Annual Symposium on Foundations of Computer Science, pages 549-554, 1989.
10. Paul Tarau. 2009. An embedded declarative data transformation language. In Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming (PPDP '09). ACM, New York, NY, USA, 171-182.
DOI=10.1145/1599410.1599432 http://doi.acm.Org/l0.1145/1599410.1599432
11. Matthew J. Rattigan, Marc Maier, and David Jensen. 2006. Using structure indices for efficient approximation of network properties. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '06). ACM, New York, NY, USA, 357-366.
12. Matthew J. Rattigan, Marc Maier, and David Jensen. 2007. Graph clustering with network structure indices. In Proceedings of the 24th international conference on Machine learning (ICML '07), Zoubin Ghahramani (Ed.). ACM, New York, NY, USA, 783-790.
13. Gudkov and S. Nussinov, "Graph equivalence and characterization via a continuous evolution of a physical analog," cond-mat/0209112
14. V. Gudkov, J.E. Johnson and S. Nussinov, arXiv: cond-mat/0209111 (2002).
15. Vladimir Gudkov, Shmuel Nussinov, arXiv:cond-mat/0209112v2 (2007)
16. Gudkov, V., Monteaiegre, V., Nussinov, S., and Nussinov, Z. (2008). Community detection in complex networks by dynamical simplex evolution. Physical Review E, 78(1), 016113-1 - 016113-7.
17. John King Gamble,Mark Friesen, Dong Zhou, Robert Joynt, and S. N. Coppersmith, Two-particle quantum walks applied to the graph isomorphism problem, PHYSICAL REVIEW A, 81, 052313 (2010)
18. T. Rudolph, "Constructing physically intuitive graph invariants," quant-ph/0206068
19. V.V. Sreedhar, The classical and quantum mechanics of a particle on a knot, Annals of Physics, Volume 359, August 2015, Pages 20-30.
20. US Patent 8566321 : Conceptual Relativity
21. US Patent 9158847: Cognitive Memory

Claims (18)

  1. 비일시적 컴퓨터 판독가능 매체로서,
    데이터 구조를 포함하되,
    상기 데이터 구조는 인지 서명(cognitive signature)이고,
    상기 인지 서명은,
    네트워크의 복수의 축소 레벨(contraction level) 중 하나의 축소 레벨을 식별하는 필드와,
    전역적 고유 식별 지정(Global Unique Identity Designation: GUID) 코드에 대한 엔트리 - 상기 GUID 코드는 상기 네트워크를 고유하게 식별함 - 와,
    상기 네트워크의 축소 레벨에 대해 계산된 함수 값을 식별하는 필드와,
    상기 네트워크의 하위 그래프에 대응하는 분할 인덱스(partition index) - 상기 네트워크는 제 1 파라미터 및 제 2 파라미터에 기초하여 복수의 하위 그래프로 분할됨 - 와,
    상기 네트워크의 각 하위 그래프와 상기 네트워크의 다른 하위 그래프 사이의 거리 측정 벡터와,
    상기 네트워크의 각 하위 그래프와 연관된 해시 - 상기 해시는 상기 하위 그래프 내의 노드의 상태에 대응하고 상기 하위 그래프의 상기 거리 측정 벡터와 연관됨 - 와,
    각 하위 그래프의 상기 제 2 파라미터에 대응하는 국부적 블룸 필터를 포함하는 필드 - 상기 국부적 블룸 필터는 상기 거리 측정 벡터 및 상기 해시에 기초하여 계산됨 - 와,
    제 1 벡터들의 순서 리스트에 관한 세트 T - 각 벡터는 상기 네트워크의 상기 축소 레벨에 대응함 - 와,
    제 2 벡터들의 리스트에 관한 세트 G - 각 제 2 벡터는 상기 네트워크의 축소 레벨에 대응함 - 와,
    전역적 블룸 필터를 포함하는 필드 F - 상기 전역적 블룸 필터는 상기 세트 T 및 대응하는 제 1 임계 벡터와, 상기 세트 G 및 대응하는 제 2 임계 벡터에 기초하여 계산됨 - 와,
    이산 라벨링되지 않은 네트워크 표현 코드(Discrete Unlabeled Network Representation Code: DUNRC)에 대한 필드와,
    이산 컬러링된 네트워크 표현 코드(Discrete Colored Network Representation Code: DCNRC)에 대한 필드와,
    다음 인지 서명에 대한 포인터에 대한 필드를 포함하되,
    컴퓨터가, 쿼리 그래프가 입력될 때, 상기 쿼리 그래프를 상기 인지 서명으로 인코딩하고, 상기 네트워크의 인지 서명 및 상기 인코딩된 쿼리 그래프의 인지 서명 내의 필드들 각각을 매칭함으로써 상기 쿼리 그래프에 기초한 검색을 수행하는
    비일시적 컴퓨터 판독가능 매체.
  2. 제 1 항에 있어서,
    상기 인지 서명은, 축소 트리 연산자 표현에 대한 필드를 더 포함하되,
    상기 축소 트리 연산자는 상기 네트워크가 축소 규칙에 기초하여 축소되는지 나타내는
    비일시적 컴퓨터 판독가능 매체.
  3. 제 1 항에 있어서,
    상기 인지 서명은 상기 네트워크가 축소할 때마다 생성되고, 상기 국부적 블룸 필터 및 상기 거리 측정 벡터는 한번 계산되는
    비일시적 컴퓨터 판독가능 매체.
  4. 제 1 항에 있어서,
    상기 제 1 파라미터는 상기 하위 그래프 내의 노드의 이웃의 최대 사전결정 반경에 대응하고,
    상기 제 2 파라미터는 상기 이웃 내의 사전결정된 하위 영역의 개수에 대응하는
    비일시적 컴퓨터 판독가능 매체.
  5. 제 4 항에 있어서,
    상기 국부적 블룸 필터는 상기 네트워크의 각 하위 그래프와 연관된 복수의 해시에 기초하여 계산되고,
    상기 복수의 해시의 각 해시는 제각기 고유한 초기 조건에 의해 설정되는
    비일시적 컴퓨터 판독가능 매체.
  6. 제 4 항에 있어서,
    상기 하위 그래프의 각 노드(node)는 실수로 표현되고, 상기 하위 그래프의 각 연결선(edge)은 복소수(complex number)로 표현되며, 상기 실수 및 상기 복소수는 쌍 함수(paring function)에 기초하여 정수로 표현되는
    비일시적 컴퓨터 판독가능 매체.
  7. 제 1 항에 있어서,
    상기 다음 인지 서명은 증분된 축소 레벨에 대응하고, 네트워크 세트는 고유 인지 메모리에 각각 저장되며, 인지 메모리의 개수는 축소 레벨의 개수보다 하나 더 많은
    비일시적 컴퓨터 판독가능 매체.
  8. 제 1 항에 있어서,
    상기 DUNRC는 상기 네트워크의 연결 행렬(connectivity matrix)에 기초하여 계산되고, 상기 연결 행렬은 각 하위 그래프의 거리 측정 벡터에 기초하여 계산되며, 상기 해시는 상기 네트워크의 각 하위 그래프와 연관되는
    비일시적 컴퓨터 판독가능 매체.
  9. 네트워크를 데이터 구조로 인코딩하는 방법으로서,
    상기 데이터 구조는 인지 서명이고, 상기 방법은 회로를 포함하는 컴퓨터에 의해 실행되며,
    상기 방법은,
    네트워크를 입력하는 단계와,
    상기 네트워크의 복수의 축소 레벨 중 하나의 축소 레벨을 식별하는 단계와,
    상기 네트워크를 식별하는 전역적 고유 식별 지정(GUID) 코드를 생성하는 단계와,
    상기 네트워크의 축소 레벨에 대해 계산된 함수 값을 식별하는 단계와,
    상기 네트워크를 제 1 파라미터 및 제 2 파라미터에 기초하여 복수의 하위 그래프로 분할하는 단계와,
    상기 네트워크의 각 하위 그래프와 상기 네트워크의 다른 하위 그래프 사이의 거리 벡터를 측정하는 단계와,
    상기 네트워크의 각 하위 그래프와 연관된 해시를 계산하는 단계 - 상기 해시는 상기 하위 그래프 내의 노드의 상태에 대응하고 측정된 상기 거리 벡터와 연관됨 - 와,
    각 하위 그래프의 상기 제 2 파라미터에 대응하는 국부적 블룸 필터를 계산하는 단계 - 상기 국부적 블룸 필터는 상기 측정된 거리 벡터 및 상기 해시에 기초하여 계산됨 - 와,
    필드 T 내에 제 1 벡터들의 순서 리스트를 생성하는 단계 - 각 제 1 벡터는 상기 네트워크의 축소 레벨에 대응함 - 와,
    필드 G 내에 제 2 벡터들의 리스트를 생성하는 단계 - 각 제 2 벡터는 상기 네트워크의 축소 레벨에 대응함 - 와,
    전역적 블룸 필터를 계산하는 단계 - 상기 전역적 블룸 필터는 세트 T 및 대응하는 제 1 임계 벡터와, 세트 G 및 대응하는 제 2 임계 벡터에 기초하여 계산됨 - 와,
    이산 라벨링되지 않은 네트워크 표현 코드(DUNRC) 및 이산 컬러링된 네트워크 표현 코드(DCNRC)를 생성하는 단계와,
    상기 국부적 블룸 필터, 상기 전역적 블룸 필터, 상기 DUNRC, 및 상기 DCNRC에 기초하여 상기 네트워크를 상기 데이터 구조로 인코딩하는 단계를 포함하는
    네트워크를 데이터 구조로 인코딩하는 방법.
  10. 제 9 항에 있어서,
    상기 인지 서명은, 축소 트리 연산자 표현에 대한 필드를 더 포함하되,
    상기 축소 트리 연산자는 상기 네트워크가 축소 규칙에 기초하여 축소되는지 나타내는
    네트워크를 데이터 구조로 인코딩하는 방법.
  11. 제 9 항에 있어서,
    상기 네트워크가 축소될 때마다 상기 인지 서명을 생성하는 단계와,
    상기 국부적 블룸 필터 및 상기 거리 측정 벡터를 단 한 번만 계산하는 단계를 더 포함하는
    네트워크를 데이터 구조로 인코딩하는 방법.
  12. 제 9 항에 있어서,
    상기 제 1 파라미터는 상기 하위 그래프 내의 노드의 이웃의 최대 사전결정된 반경에 대응하고, 상기 제 2 파라미터는 상기 이웃 내의 사전결정된 하위 영역의 개수에 대응하는
    네트워크를 데이터 구조로 인코딩하는 방법.
  13. 제 12 항에 있어서,
    상기 네트워크의 각 하위 그래프와 연관된 복수의 해시에 기초하여 상기 국부적 블룸 필터를 계산하는 단계를 더 포함하되,
    상기 복수의 해시의 각 해시는 제각기 고유한 초기 조건에 의해 설정되는
    네트워크를 데이터 구조로 인코딩하는 방법.
  14. 제 9 항에 있어서,
    상기 하위 그래프의 각 노드는 실수로 표현되고, 상기 하위 그래프의 각 연결선은 복소수로 표현되며, 상기 실수 및 상기 복소수는 쌍 함수에 기초하여 정수로 표현되는
    네트워크를 데이터 구조로 인코딩하는 방법.
  15. 제 9 항에 있어서,
    다음 인지 서명은 증분된 축소 레벨에 대응하고, 네트워크 세트는 고유 인지 메모리 내에 각각 저장되며, 인지 메모리의 개수는 축소 레벨의 개수보다 하나 더 많은
    네트워크를 데이터 구조로 인코딩하는 방법.
  16. 제 9 항에 있어서,
    상기 네트워크의 연결 행렬에 기초하여 상기 DUNRC를 계산하는 단계를 더 포함하되,
    상기 연결 행렬은 각 하위 그래프의 거리 측정 벡터에 기초하여 계산되고,
    상기 해시는 상기 네트워크의 각 하위 그래프와 연관되는
    네트워크를 데이터 구조로 인코딩하는 방법.
  17. 네트워크를 데이터 구조로 인코딩하는 방법으로서,
    상기 데이터 구조는 인지 서명이고, 상기 방법은 회로를 포함하는 컴퓨터에 의해 실행되며,
    상기 방법은,
    네트워크의 각 하위 그래프와 연관된 해시를 계산하는 단계 - 상기 해시는 상기 하위 그래프 내의 노드의 상태에 대응하고 측정된 거리 벡터와 연관됨 - 와,
    각 하위 그래프의 제 2 파라미터에 대응하는 국부적 블룸 필터를 계산하는 단계 - 상기 국부적 블룸 필터는 상기 측정된 거리 벡터 및 상기 해시에 기초하여 계산됨 - 와,
    필드 T 내에 제 1 벡터들의 순서 리스트를 생성하는 단계와,
    필드 G 내에 제 2 벡터들의 리스트를 생성하는 단계와,
    전역적 블룸 필터를 계산하는 단계 - 상기 전역적 블룸 필터는 세트 T 및 대응하는 제 1 임계 벡터와, 세트 G 및 대응하는 제 2 임계 벡터에 기초하여 계산됨 - 와,
    상기 국부적 블룸 필터 및 상기 전역적 블룸 필터에 기초하여 상기 네트워크를 상기 데이터 구조로 인코딩하는 단계를 포함하는
    네트워크를 데이터 구조로 인코딩하는 방법.
  18. 네트워크를 데이터 구조로 인코딩하기 위한 디바이스로서,
    상기 데이터 구조는 인지 서명이고,
    상기 디바이스는 회로를 포함하되,
    상기 회로는,
    네트워크를 입력하고,
    상기 네트워크의 복수의 축소 레벨 중 하나의 축소 레벨을 식별하며,
    상기 네트워크를 식별하는 전역적 고유 식별자 지정(Globally Unique Identity Designation: GUID) 코드를 생성하고,
    상기 네트워크의 축소 레벨에 대해 계산된 함수 값을 식별하며,
    상기 네트워크를 제 1 파라미터 및 제 2 파라미터에 기초하여 복수의 하위 그래프로 분할하고,
    상기 네트워크의 각 하위 그래프와 상기 네트워크의 다른 하위 그래프 사이의 거리 벡터를 측정하며,
    상기 네트워크의 각 하위 그래프와 연관된 해시를 계산 - 상기 해시는 상기 하위 그래프 내의 노드의 상태에 대응하고 측정된 상기 거리 벡터와 연관됨 - 하고,
    각 하위 그래프의 상기 제 2 파라미터에 대응하는 국부적 블룸 필터를 계산 - 상기 국부적 블룸 필터는 상기 측정된 거리 벡터 및 상기 해시에 기초하여 계산됨 - 하며,
    필드 T 내에 제 1 벡터들의 순서 리스트를 생성 - 각 제 1 벡터는 상기 네트워크의 축소 레벨에 대응함 - 하고,
    필드 G 내에 제 2 벡터들의 리스트를 생성 - 각 제 2 벡터는 상기 네트워크의 축소 레벨에 대응함 - 하며,
    전역적 블룸 필터를 계산 - 상기 전역적 블룸 필터는 세트 T 및 대응하는 제 1 임계 벡터와, 세트 G 및 대응하는 제 2 임계 벡터에 기초하여 계산됨 - 하고,
    이산 라벨링되지 않은 네트워크 표현 코드(DUNRC) 및 이산 컬러링된 네트워크 표현 코드(DCNRC)를 생성하며,
    상기 국부적 블룸 필터, 상기 전역적 블룸 필터, 상기 DUNRC, 및 상기 DCNRC에 기초하여 상기 네트워크를 상기 데이터 구조로 인코딩
    하도록 구성된
    네트워크를 데이터 구조로 인코딩하기 위한 디바이스.
KR1020177026949A 2015-03-24 2016-03-24 인지 메모리 그래프 인덱싱, 저장 및 검색 기법 KR102085412B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562137598P 2015-03-24 2015-03-24
US62/137,598 2015-03-24
PCT/US2016/024060 WO2016154460A1 (en) 2015-03-24 2016-03-24 Cognitive memory graph indexing, storage and retrieval

Publications (2)

Publication Number Publication Date
KR20170130432A KR20170130432A (ko) 2017-11-28
KR102085412B1 true KR102085412B1 (ko) 2020-03-05

Family

ID=56978650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177026949A KR102085412B1 (ko) 2015-03-24 2016-03-24 인지 메모리 그래프 인덱싱, 저장 및 검색 기법

Country Status (8)

Country Link
US (1) US10747740B2 (ko)
EP (1) EP3274877A4 (ko)
JP (2) JP2018517956A (ko)
KR (1) KR102085412B1 (ko)
CN (1) CN107533553B (ko)
AU (3) AU2016235087A1 (ko)
CA (2) CA2979066A1 (ko)
WO (1) WO2016154460A1 (ko)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389573B2 (en) 2014-11-14 2019-08-20 Apstra, Inc. Configuring a network
EP3230890A4 (en) * 2014-12-10 2018-07-25 Kyndi, Inc. Technical and semantic signal processing in large, unstructured data fields
US10063428B1 (en) 2015-06-30 2018-08-28 Apstra, Inc. Selectable declarative requirement levels
US9946437B2 (en) * 2015-11-05 2018-04-17 International Business Machines Corporation Modifying an appearance of a GUI to improve GUI usability
US10313206B1 (en) 2015-12-23 2019-06-04 Apstra, Inc. Verifying service status
US10572501B2 (en) * 2015-12-28 2020-02-25 International Business Machines Corporation Steering graph mining algorithms applied to complex networks
US10374872B2 (en) 2016-05-24 2019-08-06 Apstra, Inc. Configuring system resources for different reference architectures
US11663235B2 (en) * 2016-09-22 2023-05-30 Autodesk, Inc. Techniques for mixed-initiative visualization of data
US11567994B2 (en) * 2017-01-24 2023-01-31 Apstra, Inc. Configuration, telemetry, and analytics of a computer infrastructure using a graph model
CN110462612A (zh) * 2017-02-17 2019-11-15 凯恩迪股份有限公司 使用在网络节点处具有软件代理的网络进行机器学习并然后对网络节点进行排名的方法和装置
AU2018200643A1 (en) * 2017-03-09 2018-09-27 Accenture Global Solutions Limited Smart advisory for distributed and composite testing teams based on production data and analytics
US10839017B2 (en) 2017-04-06 2020-11-17 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure
US10810371B2 (en) 2017-04-06 2020-10-20 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
US10963493B1 (en) 2017-04-06 2021-03-30 AIBrain Corporation Interactive game with robot system
US10929759B2 (en) * 2017-04-06 2021-02-23 AIBrain Corporation Intelligent robot software platform
US11151992B2 (en) 2017-04-06 2021-10-19 AIBrain Corporation Context aware interactive robot
US10803122B2 (en) * 2017-04-11 2020-10-13 International Business Machines Corporation Labeled graph isomorphism allowing for false positive
US10540398B2 (en) * 2017-04-24 2020-01-21 Oracle International Corporation Multi-source breadth-first search (MS-BFS) technique and graph processing system that applies it
US10586358B1 (en) * 2017-05-10 2020-03-10 Akamai Technologies, Inc. System and method for visualization of beacon clusters on the web
US10268951B2 (en) 2017-06-14 2019-04-23 International Business Machines Corporation Real-time resource usage reduction in artificial neural networks
CN110019975B (zh) 2017-10-10 2020-10-16 创新先进技术有限公司 随机游走、基于集群的随机游走方法、装置以及设备
CN109658094B (zh) * 2017-10-10 2020-09-18 阿里巴巴集团控股有限公司 随机游走、基于集群的随机游走方法、装置以及设备
US10977546B2 (en) 2017-11-29 2021-04-13 International Business Machines Corporation Short depth circuits as quantum classifiers
US10756983B2 (en) 2017-12-08 2020-08-25 Apstra, Inc. Intent-based analytics
JP7081155B2 (ja) * 2018-01-04 2022-06-07 富士通株式会社 選択プログラム、選択方法、及び選択装置
US10726025B2 (en) * 2018-02-19 2020-07-28 Microsoft Technology Licensing, Llc Standardized entity representation learning for smart suggestions
US10628432B2 (en) 2018-02-19 2020-04-21 Microsoft Technology Licensing, Llc Personalized deep models for smart suggestions ranking
US11436522B2 (en) 2018-02-19 2022-09-06 Microsoft Technology Licensing, Llc Joint representation learning of standardized entities and queries
US10956515B2 (en) 2018-02-19 2021-03-23 Microsoft Technology Licensing, Llc Smart suggestions personalization with GLMix
US10747433B2 (en) * 2018-02-21 2020-08-18 Wisconsin Alumni Research Foundation Computer architecture for high-speed, graph-traversal
JP2019159877A (ja) * 2018-03-14 2019-09-19 株式会社日立製作所 セキュリティシステムとその符号化方式並びにネットワーク制御方式
US10200814B1 (en) * 2018-04-24 2019-02-05 The Florida International University Board Of Trustees Voronoi diagram-based algorithm for efficient progressive continuous k-nearest neighbor query for moving objects
US11392621B1 (en) 2018-05-21 2022-07-19 Pattern Computer, Inc. Unsupervised information-based hierarchical clustering of big data
US11151146B2 (en) * 2018-05-22 2021-10-19 Pelatro Pte Ltd. System and method for multi-dimensional real time vector search and heuristics backed insight engine
CN108804788B (zh) * 2018-05-25 2022-06-17 浙江工业大学 一种基于数据细胞模型的Web服务演化方法
US10216546B1 (en) * 2018-07-09 2019-02-26 Insitu Software Limited Computationally-efficient resource allocation
US10706376B2 (en) * 2018-07-09 2020-07-07 GoSpace AI Limited Computationally-efficient resource allocation
US10789296B2 (en) * 2018-07-10 2020-09-29 International Business Machines Corporation Detection of missing entities in a graph schema
US11500936B2 (en) * 2018-08-07 2022-11-15 Walmart Apollo, Llc System and method for structure and attribute based graph partitioning
US11222288B2 (en) * 2018-08-17 2022-01-11 D5Ai Llc Building deep learning ensembles with diverse targets
US10706365B2 (en) 2018-09-27 2020-07-07 International Business Machines Corporation Local optimization of quantum circuits
US11216512B2 (en) * 2018-10-08 2022-01-04 Fujitsu Limited Accessible machine learning backends
US11544530B2 (en) * 2018-10-29 2023-01-03 Nec Corporation Self-attentive attributed network embedding
US11205050B2 (en) * 2018-11-02 2021-12-21 Oracle International Corporation Learning property graph representations edge-by-edge
CN109582802B (zh) * 2018-11-30 2020-11-03 国信优易数据股份有限公司 一种实体嵌入方法、装置、介质及设备
US20200264589A1 (en) * 2019-02-14 2020-08-20 Siemens Product Lifecycle Management Software Inc. Expert knowledge framework driven hybrid manufacturing systems and methods
US10992543B1 (en) * 2019-03-21 2021-04-27 Apstra, Inc. Automatically generating an intent-based network model of an existing computer network
CN110175047B (zh) * 2019-04-22 2022-03-29 中国科学院信息工程研究所 处理器指令编码的自动生成方法及装置
US11075805B1 (en) 2019-04-24 2021-07-27 Juniper Networks, Inc. Business policy management for self-driving network
US11817184B2 (en) * 2019-05-16 2023-11-14 Robert Bosch Gmbh Graph neural network force field computational algorithms for molecular dynamics computer simulations
US11562278B2 (en) * 2019-05-16 2023-01-24 Siemens Aktiengesellschaft Quantum machine learning algorithm for knowledge graphs
CN110471644B (zh) * 2019-08-12 2021-10-22 北京中创为量子通信技术有限公司 量子随机数的后处理方法、装置及量子随机数发生器
CN110514207B (zh) * 2019-08-16 2022-02-08 苏州光格科技股份有限公司 一种轨道巡检机器人地图描述方法
WO2021041342A1 (en) * 2019-08-23 2021-03-04 Memorial Sloan Kettering Cancer Center Semantic image retrieval for whole slide images
EP3792810A1 (en) * 2019-09-12 2021-03-17 Kompetenzzentrum - Das virtuelle Fahrzeug Forschungsgesellschaft mbH Method of generating an operation procedure for a simulation of a mechatronic system
US11455562B2 (en) 2019-09-17 2022-09-27 International Business Machines Corporation Quantum walk for community clique detection
US11636487B2 (en) 2019-10-18 2023-04-25 Feedzai—Consultadoria e Inovação Tecnológica, S.A. Graph decomposition for fraudulent transaction analysis
CN110826726B (zh) * 2019-11-08 2023-09-08 腾讯科技(深圳)有限公司 目标处理方法、目标处理装置、目标处理设备及介质
EP4081910A4 (en) * 2019-12-24 2024-01-10 Consilient Labs Inc EPISODIC MEMORY REFERENCES, DATA INGESTION AND RELATED QUERY SYSTEMS, INCLUDING EXAMPLES OF AUTONOMOUS INTELLIGENT AGENTS
WO2021138857A1 (zh) * 2020-01-08 2021-07-15 华为技术有限公司 一种标记数据标签的方法、设备及系统
JP2021117663A (ja) * 2020-01-24 2021-08-10 富士通株式会社 類似度計算装置、類似度計算方法、及びプログラム
CN111340756B (zh) * 2020-02-13 2023-11-28 北京深睿博联科技有限责任公司 一种医学图像病变检出合并方法、系统、终端及存储介质
CN111614514B (zh) * 2020-04-30 2021-09-24 北京邮电大学 一种网络流量识别方法及装置
KR102426013B1 (ko) * 2020-07-15 2022-07-29 한국과학기술원 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법
US20230343333A1 (en) * 2020-08-24 2023-10-26 Unlikely Artificial Intelligence Limited A computer implemented method for the aut0omated analysis or use of data
CN114358291B (zh) * 2020-09-30 2024-04-09 本源量子计算科技(合肥)股份有限公司 量子连通图的交叉连线处理方法、装置、终端及存储介质
US11829842B2 (en) 2020-10-07 2023-11-28 International Business Machines Corporation Enhanced quantum circuit execution in a quantum service
US11283691B1 (en) 2020-10-21 2022-03-22 Juniper Networks, Inc. Model driven intent policy conflict detection and resolution through graph analysis
US11570055B2 (en) 2020-11-25 2023-01-31 Apstra, Inc. Connectivity templates
CN113590843B (zh) * 2021-08-06 2023-06-23 中国海洋大学 一种融合分子结构特征的知识表示学习方法
CN113723583B (zh) * 2021-08-28 2023-07-21 重庆理工大学 一种基于离散时间量子游走的多域网络社区发现方法
CN113723584B (zh) * 2021-08-28 2023-05-26 重庆理工大学 一种通过离散时间量子游走的多域网络社区检测方法
US11934399B2 (en) * 2021-08-30 2024-03-19 The Nielsen Company (Us), Llc Method and system for estimating the cardinality of information
CN113961754B (zh) * 2021-09-08 2023-02-10 南湖实验室 一种基于持久内存的图数据库系统
CN113886652B (zh) * 2021-10-09 2022-06-17 北京欧拉认知智能科技有限公司 一种内存优先的多模图数据存储与计算方法及系统
US20230160705A1 (en) * 2021-11-23 2023-05-25 Here Global B.V. Method, apparatus, and system for linearizing a network of features for machine learning tasks
US20230267159A1 (en) * 2022-02-18 2023-08-24 Microsoft Technology Licensing, Llc Input-output searching
US20230275907A1 (en) * 2022-02-28 2023-08-31 Microsoft Technology Licensing, Llc Graph-based techniques for security incident matching
US11928134B1 (en) * 2022-08-31 2024-03-12 Intuit, Inc. Medoid-based data compression
US11782982B1 (en) * 2023-02-28 2023-10-10 Intuit, Inc. Offset-based watermarks for data stream processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282309A1 (en) 2008-05-07 2009-11-12 Nec Laboratories America, Inc. Cognitive radio, anti-jamming coding retransmission methods and systems
US20100312735A1 (en) 2009-06-04 2010-12-09 Honda Research Institute Europe Gmbh Implementing a neural associative memory based on non-linear learning of discrete synapses
US20110029571A1 (en) 2009-07-29 2011-02-03 International Business Machines Corporation Query Optimization Over Graph Data Streams
US20140019490A1 (en) 2012-07-13 2014-01-16 Indrajit Roy Event processing for graph-structured data

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680819B1 (en) * 1999-11-12 2010-03-16 Novell, Inc. Managing digital identity information
US7028029B2 (en) * 2003-03-28 2006-04-11 Google Inc. Adaptive computation of ranking
US7620672B2 (en) 2004-05-24 2009-11-17 Tucci Robert R Method for performing classical Bayesian net calculations using a quantum computer
WO2007100834A2 (en) 2006-02-27 2007-09-07 The Regents Of The University Of California Graph querying, graph motif mining and the discovery of clusters
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
US8539359B2 (en) * 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US8332624B2 (en) * 2009-08-26 2012-12-11 Nokia Corporation Method and apparatus for encoding decision diagrams
US9635421B2 (en) * 2009-11-11 2017-04-25 Time Warner Cable Enterprises Llc Methods and apparatus for audience data collection and analysis in a content delivery network
CN102193988A (zh) * 2011-03-25 2011-09-21 北京世纪互联工程技术服务有限公司 一种图形数据库节点数据的检索方法及系统
US9158847B1 (en) * 2011-07-19 2015-10-13 Kyndi Inc. Cognitive memory encoding networks for fast semantic indexing storage and retrieval
JP5825122B2 (ja) 2012-01-31 2015-12-02 富士通株式会社 生成プログラム、生成方法、および生成システム
US9348947B2 (en) 2013-07-26 2016-05-24 Helynx, Inc. Systems and methods for visualizing and manipulating graph databases
CN103839242A (zh) * 2014-01-15 2014-06-04 中国科学院电子学研究所 一种基于高维索引的图像快速超分辨率增强方法
US9467492B2 (en) * 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US10521818B2 (en) * 2014-08-21 2019-12-31 Oracle International Corporation Extending audience reach in messaging campaigns using super profiles
US10055763B2 (en) * 2014-10-30 2018-08-21 Oracle International Corporation Classifying user intent based on location information electronically communicated from a mobile device
US10318575B2 (en) * 2014-11-14 2019-06-11 Zorroa Corporation Systems and methods of building and using an image catalog

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282309A1 (en) 2008-05-07 2009-11-12 Nec Laboratories America, Inc. Cognitive radio, anti-jamming coding retransmission methods and systems
US20100312735A1 (en) 2009-06-04 2010-12-09 Honda Research Institute Europe Gmbh Implementing a neural associative memory based on non-linear learning of discrete synapses
US20110029571A1 (en) 2009-07-29 2011-02-03 International Business Machines Corporation Query Optimization Over Graph Data Streams
US20140019490A1 (en) 2012-07-13 2014-01-16 Indrajit Roy Event processing for graph-structured data

Also Published As

Publication number Publication date
CA3213835A1 (en) 2016-09-29
CN107533553B (zh) 2022-02-15
AU2022200462A1 (en) 2022-02-17
CN107533553A (zh) 2018-01-02
KR20170130432A (ko) 2017-11-28
CA2979066A1 (en) 2016-09-29
US20180137155A1 (en) 2018-05-17
JP2020119591A (ja) 2020-08-06
US10747740B2 (en) 2020-08-18
WO2016154460A1 (en) 2016-09-29
AU2016235087A2 (en) 2017-10-19
EP3274877A1 (en) 2018-01-31
JP7064525B2 (ja) 2022-05-10
AU2019271872A1 (en) 2019-12-12
AU2016235087A1 (en) 2017-09-21
EP3274877A4 (en) 2018-08-29
JP2018517956A (ja) 2018-07-05

Similar Documents

Publication Publication Date Title
KR102085412B1 (ko) 인지 메모리 그래프 인덱싱, 저장 및 검색 기법
US9158847B1 (en) Cognitive memory encoding networks for fast semantic indexing storage and retrieval
Leskovec et al. Snap: A general-purpose network analysis and graph-mining library
Angles A comparison of current graph database models
Zheng et al. Efficient graph similarity search over large graph databases
De Vries et al. Substructure counting graph kernels for machine learning from rdf data
Rivero et al. Efficient and scalable labeled subgraph matching using SGMatch
US11573994B2 (en) Encoding entity representations for cross-document coreference
Zhu et al. Diversified coherent core search on multi-layer graphs
Zou et al. Truss decomposition of uncertain graphs
Gibney An efficient elastic-degenerate text index? not likely
Cicirello Classification of permutation distance metrics for fitness landscape analysis
Mittal A survey on applications and architectural-optimizations of micron’s automata processor
Hagerup Space-efficient DFS and applications to connectivity problems: simpler, leaner, faster
Consoli et al. A quartet method based on variable neighborhood search for biomedical literature extraction and clustering
Nguyen et al. Learning subtree pattern importance for Weisfeiler-Lehman based graph kernels
Parthasarathy et al. Network clustering
Banerjee A survey on mining and analysis of uncertain graphs
Darrab et al. RPP algorithm: a method for discovering interesting rare itemsets
Kumar et al. Enhanced k-means clustering algorithm using red black tree and min-heap
AU2019271880A1 (en) Human-aided geo-rectification of geospatial metadata in video using a graphical interface
Bause et al. EmbAssi: embedding assignment costs for similarity search in large graph databases
Di Pierro et al. An API for Ontology-driven LPG Graph DB Management
Wu et al. Locality sensitive hashing for structured data: a survey
Levinas et al. BFS-based distributed algorithm for parallel local-directed subgraph enumeration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right