From enumerating to generating: a linear time algorithm for generating 2D lattice paths with a given number of turns (Q1736650)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: From enumerating to generating: a linear time algorithm for generating 2D lattice paths with a given number of turns |
scientific article; zbMATH DE number 7042245
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | From enumerating to generating: a linear time algorithm for generating 2D lattice paths with a given number of turns |
scientific article; zbMATH DE number 7042245 |
Statements
From enumerating to generating: a linear time algorithm for generating 2D lattice paths with a given number of turns (English)
0 references
26 March 2019
0 references
Summary: We propose a linear time algorithm, called \textbf{G2DLP}, for generating 2D lattice \(L(n_1,n_2)\) paths, equivalent to two-item \(\{A^{n_1},B^{n_2}\}\) multiset permutations, with a given number of \textit{turns}. The usage of \textit{turn} has three meanings: in the context of multiset permutations, it means that two consecutive elements of a permutation belong to two different items; in lattice path enumerations, it means that the path changes its direction, either from eastward to northward or from northward to eastward; in open shop scheduling, it means that we transfer a job from one type of machine to another. The strategy of \textbf{G2DLP} is divide-and-combine; the division is based on the enumeration results of a previous study and is achieved by aid of an integer partition algorithm and a multiset permutation algorithm; the combination is accomplished by a concatenation algorithm that constructs the paths we require. The advantage of \textbf{G2DLP} is twofold. First, it is optimal in the sense that it directly generates all feasible paths without visiting an infeasible one. Second, it can generate all paths in any specified order of \textit{turns}, for example, a decreasing order or an increasing order. In practice, two applications, scheduling and cryptography, are discussed.
0 references
lattice path
0 references
multiset permutation
0 references
turns
0 references
integer partition
0 references
cryptography
0 references
open shop scheduling
0 references
0 references
0 references
0.7099394202232361
0 references
0.6747844815254211
0 references
0.6652306318283081
0 references
0.662612795829773
0 references