SearcharxivSearch

arXiv subjects

Valentin Bakoev

Publications and source records attributed to Valentin Bakoev.

7 recordsLinked to original sources

Algorithms for Construction, Classification and Enumeration of Closed Knight's Paths

Two algorithms for construction of all closed knight's paths of lengths up to 16 are presented. An approach for classification (up to equivalence) of all such paths is considered. By applying the construction algorithms and classification approach, we enumerate both unrestricted and non-intersecting knight's paths and show the obtained results.

math.CO

About the Study of the $n$-dimensional Boolean Cube in the Bachelor's Programs in Computer Science

Here we present our arguments for a more in-depth study of the Boolean cube, which is one of the most important discrete structures. The article contains a case study that analyses how the Boolean cube has been included and explained in more than 80 different sources. However, organized material on the Boolean cube is lacking. We examine and show why the topic of the Boolean cube deserves to be studied in the course on Discrete Structures -- a basic part of the Computer Science curriculum. The benefits of mastering such knowledge and programming skills are pointed out. A sample lecture on the $n$-dimensional Boolean cube (including selected exercises, their answers, hints or solutions) is developed and discussed. It introduces, generalizes and relates many concepts from different subjects in the area of Discrete Mathematics and outside it. So the lecturers can use the sample lecture when teaching those subjects. In this way, all these concepts become more understandable, applicable and useful to the students. The lecture can be taught in a form of presentation or given to the students for "Online self-learning", in order to write homework, or develop a course project related to the topic, etc. All supporting resources to the lecture are available for free use at \cite{VB_Lect}.

math.HO

A Method for Fast Computing the Algebraic Degree of Boolean Functions

The algebraic degree of Boolean functions (or vectorial Boolean functions) is an important cryptographic parameter that should be computed by fast algorithms. They work in two main ways: (1) by computing the algebraic normal form and then searching the monomial of the highest degree in it, or (2) by examination the algebraic properties of the true table vector of a given function. We have already done four basic steps in the study of the first way, and the second one has been studied by other authors. Here we represent a method for fast computing (the fastest way we know) the algebraic degree of Boolean functions. It is a combination of the most efficient components of these two ways and the corresponding algorithms. The theoretical time complexities of the method are derived in each of the cases when the Boolean function is represented in a byte-wise or in a bitwise manner. They are of the same type $\Theta(n.2^n)$ for a Boolean function of $n$ variables, but they have big differences between the constants in $\Theta$-notation. The theoretical and experimental results shown here demonstrate the advantages of the bitwise approach in computing the algebraic degree - they are dozens of times faster than the byte-wise approaches.

cs.CR

Fast Computing the Algebraic Degree of Boolean Functions

Here we consider an approach for fast computing the algebraic degree of Boolean functions. It combines fast computing the ANF (known as ANF transform) and thereafter the algebraic degree by using the weight-lexicographic order (WLO) of the vectors of the $n$-dimensional Boolean cube. Byte-wise and bitwise versions of a search based on the WLO and their implementations are discussed. They are compared with the usual exhaustive search applied in computing the algebraic degree. For Boolean functions of $n$ variables, the bitwise implementation of the search by WLO has total time complexity $O(n.2^n)$. When such a function is given by its truth table vector and its algebraic degree is computed by the bitwise versions of the algorithms discussed, the total time complexity is $\Theta((9n-2).2^{n-7})=\Theta(n.2^n)$. All algorithms discussed have time complexities of the same type, but with big differences in the constants hidden in the $\Theta$-notation. The experimental results after numerous tests confirm the theoretical results - the running times of the bitwise implementation are dozens of times better than the running times of the byte-wise algorithms.

cs.DM

Combinatorial and Algorithmic Properties of One Matrix Structure at Monotone Boolean Functions

One matrix structure in the area of monotone Boolean functions is defined here. Some of its combinatorial, algebraic and algorithmic properties are derived. On the base of these properties, three algorithms are built. First of them generates all monotone Boolean functions of $n$ variables in lexicographic order. The second one determines the first (resp. the last) lexicographically minimal true (resp. maximal false) vector of an unknown monotone function $f$ of $n$ variables. The algorithm uses at most $n$ membership queries and its running time is $\Theta(n)$. It serves the third algorithm, which identifies an unknown monotone Boolean function $f$ of $n$ variables by using membership queries only. The experimental results show that for $1\leq n\leq 6$, the algorithm determines $f$ by using at most $m.n$ queries, where $m$ is the combined size of the sets of minimal true and maximal false vectors of $f$.

cs.DM

Some Problems and Algorithms Related to the Weight Order Relation on the $n$-dimensional Boolean Cube

The problem "Given a Boolean function $f$ of $n$ variables by its truth table vector. Find (if exists) a vector $\alpha \in \{0,1\}^n$ of maximal (or minimal) weight, such that $f(\alpha)= 1$." is considered here. It is closely related to the problem of fast computing the algebraic degree of Boolean functions. It is an important cryptographic parameter used in the design of S-boxes in modern block ciphers, PRNGs in stream ciphers, at Reed-Muller codes, etc. To find effective solutions to this problem we explore the orders of the vectors of the $n$-dimensional Boolean cube $\{0,1\}^n$ in accordance with their weights. The notion of "$k$-th layer" of $\{0,1\}^n$ is involved in the definition and examination of the "weight order" relation. It is compared with the known relation "precedes". Several enumeration problems concerning these relations are solved and the corresponding comments were added to 3 sequences in the On-line Encyclopedia of Integer Sequences (OEIS). One special order (among the numerous weight orders) is defined and examined in detail. The lexicographic order is a second criterion for an ordinance of the vectors of equal weights. So a total order called Weight-Lexicographic Order (WLO) is obtained. Two algorithms for generating the WLO sequence and two algorithms for generating the characteristic vectors of the layers are proposed. Their results were used in creating 2 new sequences: A294648 and A305860 in the OEIS. Two algorithms for solving the problem considered are developed--the first one works in a byte-wise manner and uses the WLO sequence, and the second one works in a bitwise manner and uses the characteristic vector as masks. The experimental results after many tests confirm the efficiency of these algorithms. Some other applications of the obtained algorithms are also discussed--for example, when representing, generating and ranking other combinatorial objects.

cs.DM

Enumeration of Some Closed Knight Paths

The aim of the paper is to enumerate all closed knight paths of length n over a square board of size n+1. The closed knight paths of length 4, 6 and 8 are classified up to equivalence. We determine that there are exactly 3 equivalence classes of closed knight paths of length 4, exactly 25 equivalence classes of closed knight paths of length 6 and exactly 478 equivalence classes of closed knight paths of length 8.

math.CO