Graduated in 2018 from the Saint-Petersburg State University, Mathematics & Mechanics Faculty, Software Engineering Department with a master's degree.
Currently, I am a PhD student and assistant at Saint-Petersburg State University, Mathematics & Mechanics Faculty.
- Graph analysis
- Parallel computing
- Formal languages
- Linear algebra
I am currently teaching a course on machine learning at Saint-Petersburg State University. In addition, I took part in reading courses on graph theory and on the theory of formal languages.
Context-Free Path Querying by Kronecker Product
Egor Orachev, Ilya Epelbaum, Rustam Azimov, Semyon Grigorev
Context-free path queries (CFPQ) extend the regular path queries (RPQ) by allowing context-free grammars to be used as constraints for paths. Algorithms for CFPQ are actively developed, but J. Kuijpers et al. have recently concluded, that existing algorithms are not performant enough to be used in real-world applications. Thus the development of new algorithms for CFPQ is justified. In this paper, we provide a new CFPQ algorithm which is based on such linear algebra operations as Kronecker product and transitive closure and handles grammars presented as recursive state machines. Thus, the proposed algorithm can be implemented by using high-performance libraries and modern parallel hardware. Moreover, it avoids grammar growth which provides the possibility for queries optimization.
Context-Free Path Querying with Single-Path Semantics by Matrix Multiplication
Arseniy Terekhov, Artyom Khoroshev, Rustam Azimov, Semyon Grigorev
A recent study showed that the applicability of context-free path querying (CFPQ) algorithms with relational query semantics integrated with graph databases is limited because of low performance and high memory consumption of existing solutions. In this work, we implement a matrix-based CFPQ algorithm by using appropriate high-performance libraries for linear algebra and integrate it with RedisGraph graph database. Also, we introduce a new CFPQ algorithm with single-path query semantics that allows us to extract one found path for each pair of nodes. Finally, we provide the evaluation of our algorithms for both semantics which shows that matrix-based CFPQ implementation for Redis-Graph database is performant enough for real-world data analysis.
Path Querying with Conjunctive Grammars by Matrix Multiplication
R. Azimov and S. Grigorev
Path querying with conjunctive grammars is known to be undecidable. There is an algorithm for path querying with linear conjunctive grammars which provides an over-approximation of the result, but there is no algorithm for arbitrary conjunctive grammars. We propose the first algorithm for path querying with arbitrary conjunctive grammars. The proposed algorithm is matrix-based and allows us to efficiently apply GPGPU computing techniques and other optimizations for matrix operations.
Context-free path querying by matrix multiplication
Rustam Azimov, Semyon Grigorev
Graph Parsing by Matrix Multiplication
Rustam Azimov, Semyon Grigorev