On finding a maximum flow in a network with special structure and some applications 1

1. In this paper we consider certain classes of integral flow networks. One class is formed by so-called simple networks. Special cases are: networks used for solving the problem on “set representatives” by P. Hall, networks constructed for finding minimum cut sets (sets of nodes separating two distinguished nodes of a graph), and networks for solving the problem on distinct common representatives [1]. Another class is formed by the unit-capacity networks (i.e. with all arc capacities equal to one). In this class we will also consider the subclass formed by layered networks (the definition will be given later). In this paper we apply to these networks the algorithm of finding a maximum flow due to E.A. Dinitz [2] and establish the running time bounds in these cases, namely: Cp √ n for simple networks, and Cpn for unit-capacity networks in a general case, which will further be refined for layered networks (depending on their “lengths”). Hereinafter n is the number of nodes, p is the number of arcs of a network, and C is a constant (independent of n, m). As an application, we give an algorithm of reducing a matrix to a blocktriangular form (with the maximum possible number of blocks) by use of independent permutations on rows and columns. It is known that using such a form, one can decrease the running time of solving systems of linear equations of large size which are encountered in many problems in practice, see [3]. We will show that this task is reduced to solving a certain “set representatives” problem and then the problem of extracting the bi-components in a graph (the time bound for the former is Cp √ n, and for the latter is Cp, where p is the number of nonzero elements of a matrix). This is especially efficient in the case of sparse matrices, i.e. when p = o(n). Such matrices are often reduced to the block-triangular form with many blocks.