In
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, the Strahler number or Horton–Strahler number of a mathematical
tree
In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, e.g., including only woody plants with secondary growth, only ...
is a numerical measure of its branching complexity.
These numbers were first developed in
hydrology
Hydrology () is the scientific study of the movement, distribution, and management of water on Earth and other planets, including the water cycle, water resources, and drainage basin sustainability. A practitioner of hydrology is called a hydro ...
, as a way of measuring the complexity of rivers and streams, by and . In this application, they are referred to as the Strahler stream order and are used to define stream size based on a hierarchy of
tributaries
A tributary, or an ''affluent'', is a stream or river that flows into a larger stream ('' main stem'' or ''"parent"''), river, or a lake. A tributary does not flow directly into a sea or ocean. Tributaries, and the main stem river into which the ...
.
The same numbers also arise in the analysis of
L-systems and of hierarchical biological structures such as (biological) trees and animal respiratory and circulatory systems, in
register allocation
In compiler optimization, register allocation is the process of assigning local automatic variables and Expression (computer science), expression results to a limited number of processor registers.
Register allocation can happen over a basic bloc ...
for
compilation of
high-level programming language
A high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be ea ...
s and in the analysis of
social network
A social network is a social structure consisting of a set of social actors (such as individuals or organizations), networks of Dyad (sociology), dyadic ties, and other Social relation, social interactions between actors. The social network per ...
s.
Definition
All trees in this context are
directed graphs, oriented from the root towards the leaves; in other words, they are
arborescences. The
degree of a node in a tree is just its number of children. One may assign a Strahler number to all nodes of a tree, in bottom-up order, as follows:
*If the node is a leaf (has no children), its Strahler number is one.
*If the node has one child with Strahler number ''i'', and all other children have Strahler numbers less than ''i'', then the Strahler number of the node is ''i'' again.
*If the node has two or more children with Strahler number ''i'', and no children with greater number, then the Strahler number of the node is ''i'' + 1.
The Strahler number of a tree is the number of its root node.
Algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
ically, these numbers may be assigned by performing a
depth-first search
Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node (selecting some arbitrary node as the root node in the case of a graph) and explores as far as possible al ...
and assigning each node's number in
postorder.
The same numbers may also be generated via a pruning process in which the tree is simplified in a sequence of stages, where in each stage one removes all leaf nodes and all of the paths of degree-one nodes leading to leaves: the Strahler number of a node is the stage at which it would be removed by this process, and the Strahler number of a tree is the number of stages required to remove all of its nodes. Another equivalent definition of the Strahler number of a tree is that it is the height of the largest
complete binary tree
In computer science, a binary tree is a Tree (data structure), tree data structure in which each node has at most two child node, children, referred to as the ''left child'' and the ''right child''. That is, it is a m-ary tree, ''k''-ary tree wi ...
that can be
homeomorphically embedded into the given tree; the Strahler number of a node in a tree is similarly the height of the largest complete binary tree that can be embedded below that node.
Any node with Strahler number ''i'' must have at least two descendants with Strahler number ''i'' − 1, at least four descendants with Strahler number ''i'' − 2, etc., and at least 2
''i'' − 1 leaf descendants. Therefore, in a tree with ''n'' nodes, the largest possible Strahler number is log
2 ''n'' + 1. However, unless the tree forms a complete binary tree its Strahler number will be less than this bound. In an ''n''-node
binary tree
In computer science, a binary tree is a tree data structure in which each node has at most two children, referred to as the ''left child'' and the ''right child''. That is, it is a ''k''-ary tree with . A recursive definition using set theor ...
, chosen
uniformly at random among all possible binary trees, the expected index of the root is with high probability very close to log
4 ''n''.
Applications
River networks
In the application of the Strahler
stream order to hydrology, each segment of a stream or river within a river network is treated as a node in a tree, with the next segment downstream as its parent. When two first-order streams come together, they form a second-order stream. When two second-order streams come together, they form a third-order stream. Streams of lower order joining a higher order stream do not change the order of the higher stream. Thus, if a first-order stream joins a second-order stream, it remains a second-order stream. It is not until a second-order stream combines with another second-order stream that it becomes a third-order stream. As with mathematical trees, a segment with index ''i'' must be fed by at least 2
''i'' − 1 different tributaries of index 1. Shreve noted that Horton's and Strahler's Laws should be expected from any topologically random distribution. A later review of the relationships confirmed this argument, establishing that, from the properties the laws describe, no conclusion can be drawn to explain the structure or origin of the stream network.
To qualify as a stream a hydrological feature must be either recurring or
perennial
In horticulture, the term perennial ('' per-'' + '' -ennial'', "through the year") is used to differentiate a plant from shorter-lived annuals and biennials. It has thus been defined as a plant that lives more than 2 years. The term is also ...
. Recurring (or "intermittent") streams have water in the channel for at least part of the year. The index of a stream or river may range from 1 (a stream with no tributaries) to 12 (globally the most powerful river, the
Amazon
Amazon most often refers to:
* Amazon River, in South America
* Amazon rainforest, a rainforest covering most of the Amazon basin
* Amazon (company), an American multinational technology company
* Amazons, a tribe of female warriors in Greek myth ...
, at its mouth). The
Ohio River
The Ohio River () is a river in the United States. It is located at the boundary of the Midwestern and Southern United States, flowing in a southwesterly direction from Pittsburgh, Pennsylvania, to its river mouth, mouth on the Mississippi Riv ...
is of order eight and the
Mississippi River
The Mississippi River is the main stem, primary river of the largest drainage basin in the United States. It is the second-longest river in the United States, behind only the Missouri River, Missouri. From its traditional source of Lake Ita ...
is of order 10. Estimates are that 80% of the streams on the planet are first to third order
headwater streams.
If the bifurcation ratio of a river network is high, then there is a higher chance of flooding. There would also be a lower time of concentration. The bifurcation ratio can also show which parts of a
drainage basin
A drainage basin is an area of land in which all flowing surface water converges to a single point, such as a river mouth, or flows into another body of water, such as a lake or ocean. A basin is separated from adjacent basins by a perimeter, ...
are more likely to flood, comparatively, by looking at the separate ratios. Most British rivers have a bifurcation ratio of between 3 and 5.
describe how to compute Strahler stream order values in a
GIS application. This algorithm is implemented b
RivEX an ESRI
ArcGIS Pro 3.4.x tool. The input to their algorithm is a network of the centre lines of the bodies of water, represented as arcs (or edges) joined at nodes. Lake boundaries and river banks should not be used as arcs, as these will generally form a non-tree network with an incorrect topology.
Alternative
stream ordering systems have been developed by Shreve and Hodgkinson et al.
[Hodgkinson, J.H., McLoughlin, S. & Cox, M.E. 2006. The influence of structural grain on drainage in a metamorphic sub-catchment: Laceys Creek, southeast Queensland, Australia. Geomorphology, 81: 394–407.] A statistical comparison of Strahler and Shreve systems, together with an analysis of stream/link lengths, is given by Smart.
Other hierarchical systems
The Strahler numbering may be applied in the statistical analysis of any hierarchical system, not just to rivers.
* describe an application of the Horton–Strahler index in the analysis of
social network
A social network is a social structure consisting of a set of social actors (such as individuals or organizations), networks of Dyad (sociology), dyadic ties, and other Social relation, social interactions between actors. The social network per ...
s.
* applied a variant of Strahler numbering (starting with zero at the leaves instead of one), which they called tree-rank, to the analysis of
L-systems.
*Strahler numbering has also been applied to biological hierarchies such as the branching structures of trees and of animal respiratory and circulatory systems.
Register allocation
When translating a
high-level programming language
A high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be ea ...
to
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
the minimum number of
registers required to evaluate an expression tree is exactly its Strahler number. In this context, the Strahler number may also be called the register number.
For expression trees that require more registers than are available, the
Sethi–Ullman algorithm may be used to translate an expression tree into a sequence of machine instructions that uses the registers as efficiently as possible, minimizing the number of times intermediate values are spilled from registers to main memory and the total number of instructions in the resulting compiled code.
Related parameters
Bifurcation ratio
Associated with the Strahler numbers of a tree are ''bifurcation ratios'', numbers describing how close to balanced a tree is. For each order ''i'' in a hierarchy, the ''i''th bifurcation ratio is
:
where ''n
i'' denotes the number of nodes with order ''i''.
The bifurcation ratio of an overall hierarchy may be taken by averaging the bifurcation ratios at different orders. In a complete binary tree, the bifurcation ratio will be 2, while other trees will have larger bifurcation ratios. It is a dimensionless number.
Pathwidth
The
pathwidth of an arbitrary
undirected graph
In discrete mathematics, particularly in graph theory, a graph is a structure consisting of a set of objects where some pairs of the objects are in some sense "related". The objects are represented by abstractions called '' vertices'' (also call ...
''G'' may be defined as the smallest number ''w'' such that there exists an
interval graph ''H'' containing ''G'' as a subgraph, with the largest
clique in ''H'' having ''w'' + 1 vertices. For trees (viewed as undirected graphs by forgetting their orientation and root) the pathwidth differs from the Strahler number, but is closely related to it: in a tree with pathwidth ''w'' and Strahler number ''s'', these two numbers are related by the inequalities
[, using a definition of the "dimension" of a tree that is one less than the Strahler number.]
:''w'' ≤ ''s'' ≤ 2''w'' + 2.
The ability to handle graphs with cycles and not just trees gives pathwidth extra versatility compared to the Strahler number.
However, unlike the Strahler number, the pathwidth is defined only for the whole graph, and not separately for each node in the graph.
See also
*
Main stem of a river, typically found by following the branch with the highest Strahler number
*
Pfafstetter Coding System
Notes
References
*.
*.
*.
*
*.
*.
*.
*.
*.
*.
*.
*
*.
*.
*.
{{River morphology
Hydrology
Geomorphology
Physical geography
Trees (graph theory)
Graph invariants