<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=143.167.9.247</id>
	<title>formulasearchengine - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=143.167.9.247"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/wiki/Special:Contributions/143.167.9.247"/>
	<updated>2026-07-08T04:12:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Fast_Syndrome_Based_Hash&amp;diff=25085</id>
		<title>Fast Syndrome Based Hash</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Fast_Syndrome_Based_Hash&amp;diff=25085"/>
		<updated>2013-09-10T13:32:31Z</updated>

		<summary type="html">&lt;p&gt;143.167.9.247: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In [[graph theory]], the &#039;&#039;&#039;cycle rank&#039;&#039;&#039; of a [[directed graph]] is a [[directed graph|digraph]] [[Connectivity (graph theory)|connectivity]] measure proposed first by Eggan and [[Julius Richard Büchi|Büchi]] {{harv|Eggan|1963}}.  Intuitively, this concept measures how close a&lt;br /&gt;
digraph is to a [[directed acyclic graph]] (DAG), in the sense that a DAG has&lt;br /&gt;
cycle rank zero, while a [[complete graph|complete digraph]] of [[graph (mathematics)#Definitions|order]] &#039;&#039;n&#039;&#039; with a [[self-loop]] at&lt;br /&gt;
each vertex has cycle rank &#039;&#039;n&#039;&#039;. The cycle rank of a directed graph is closely related to the [[tree-depth]] of an [[undirected graph]] and to the [[star height]] of a [[regular language]]. It has also found use&lt;br /&gt;
in [[sparse matrix]] computations (see {{harvnb|Bodlaender|Gilbert|Hafsteinsson|Kloks|1995}}) and [[logic]]&lt;br /&gt;
{{harv|Rossman|2008}}.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
The cycle rank &#039;&#039;r&#039;&#039;(&#039;&#039;G&#039;&#039;) of a digraph &#039;&#039;G&#039;&#039;&amp;amp;nbsp;=&amp;amp;nbsp;(&#039;&#039;V&#039;&#039;,&amp;amp;nbsp;&#039;&#039;E&#039;&#039;) is inductively defined as follows:&lt;br /&gt;
&lt;br /&gt;
* If &#039;&#039;G&#039;&#039; is acyclic, then &#039;&#039;r&#039;&#039;(&#039;&#039;G&#039;&#039;)&amp;amp;nbsp;=&amp;amp;nbsp;0.   &lt;br /&gt;
* If &#039;&#039;G&#039;&#039; is [[strongly connected]] and &#039;&#039;E&#039;&#039; is nonempty, then&lt;br /&gt;
::&amp;lt;math&amp;gt;r(G) = 1 + \min_{v\in V} r(G-v),\,&amp;lt;/math&amp;gt;{{pad|4em}}where G - v is the digraph resulting from deletion of vertex v and all edges beginning or ending at v.&lt;br /&gt;
* If &#039;&#039;G&#039;&#039; is not strongly connected, then &#039;&#039;r&#039;&#039;(&#039;&#039;G&#039;&#039;) is equal to the maximum cycle rank among all strongly connected components of &#039;&#039;G&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
Cycle rank was introduced by {{harvtxt|Eggan|1963}} in the context of [[star height]] of [[regular language]]s. It was rediscovered by {{harv|Eisenstat|Liu|2005}} as a generalization of undirected [[tree-depth]], which had been developed beginning in the 1980s&lt;br /&gt;
and applied to [[sparse matrix]] computations {{harv|Schreiber|1982}}.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The cycle rank of a directed acyclic graph is 0, while a complete digraph of order &#039;&#039;n&#039;&#039; with a [[self-loop]] at&lt;br /&gt;
each vertex has cycle rank &#039;&#039;n&#039;&#039;.  Apart from these, the cycle rank of a few other digraphs is known: the undirected path &amp;lt;math&amp;gt;P_n&amp;lt;/math&amp;gt; of order &#039;&#039;n&#039;&#039;, which possesses a symmetric edge relation and no self-loops, has cycle rank &amp;lt;math&amp;gt;\lfloor \log n\rfloor&amp;lt;/math&amp;gt; {{harv|McNaughton|1969}}.  For the directed &amp;lt;math&amp;gt;(m\times n)&amp;lt;/math&amp;gt;-torus &amp;lt;math&amp;gt;T_{m,n}&amp;lt;/math&amp;gt;, i.e., the [[cartesian product of graphs|cartesian product]] of two directed circuits of lengths &#039;&#039;m&#039;&#039; and &#039;&#039;n&#039;&#039;, we have&lt;br /&gt;
&amp;lt;math&amp;gt;r(T_{n,n}) = n&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;r(T_{m,n}) = \min\{m,n\} + 1&amp;lt;/math&amp;gt; for &#039;&#039;m &amp;amp;ne; n&#039;&#039; ({{harvnb|Eggan|1963}}, {{harvnb|Gruber|Holzer|2008}}).&lt;br /&gt;
&lt;br /&gt;
==Computing the cycle rank==&lt;br /&gt;
&lt;br /&gt;
Computing the cycle rank is computationally hard: {{harvtxt|Gruber|2012}} proves that the corresponding decision problem is [[NP-complete]], even for sparse digraphs of maximum outdegree at most 2. On the positive side, the problem is solvable in time &amp;lt;math&amp;gt;O(1.9129^n)&amp;lt;/math&amp;gt; on digraphs of maximum [[outdegree]] at most 2, and in time &amp;lt;math&amp;gt;O^*(2^n)&amp;lt;/math&amp;gt; on general digraphs. There is an [[approximation algorithm]] with approximation ratio &amp;lt;math&amp;gt;O((\log n)^\frac32)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===Star height of regular languages===&lt;br /&gt;
The very first application of cycle rank was in [[formal language theory]], for studying the [[star height]] of [[regular languages]].  {{harvtxt|Eggan|1963}} established a relation between the theories of regular expressions, finite automata, and of [[directed graph]]s.  In subsequent years, this relation became known as &#039;&#039;Eggan&#039;s theorem&#039;&#039;, cf. {{harvtxt|Sakarovitch|2009}}.  &lt;br /&gt;
In automata theory, a [[nondeterministic finite automaton|nondeterministic finite automaton with ε-moves]] (ε-NFA) is defined as a [[n-tuple|5-tuple]], (&#039;&#039;Q&#039;&#039;, Σ, &#039;&#039;δ&#039;&#039;, &#039;&#039;q&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;&#039;&#039;, &#039;&#039;F&#039;&#039;), consisting of&lt;br /&gt;
* a finite [[Set (mathematics)|set]] of states &#039;&#039;Q&#039;&#039;&lt;br /&gt;
* a finite set of [[input symbol]]s Σ &lt;br /&gt;
* a set of labeled edges &#039;&#039;δ&#039;&#039;, referred to as &#039;&#039;transition relation&#039;&#039;: &#039;&#039;Q&#039;&#039; &amp;amp;times; (Σ ∪{ε}) &amp;amp;times; &#039;&#039;Q&#039;&#039;.  Here ε denotes the [[empty word]].&lt;br /&gt;
* an &#039;&#039;initial&#039;&#039; state &#039;&#039;q&#039;&#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; ∈ &#039;&#039;Q&#039;&#039;&lt;br /&gt;
* a set of states &#039;&#039;F&#039;&#039; distinguished as &#039;&#039;accepting states&#039;&#039; &#039;&#039;F&#039;&#039; ⊆ &#039;&#039;Q&#039;&#039;.&lt;br /&gt;
A word &#039;&#039;w&#039;&#039; ∈ Σ&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; is accepted by the ε-NFA if there exists a [[directed path]] from the initial state &#039;&#039;q&#039;&#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; to some final state in &#039;&#039;F&#039;&#039; using edges from &#039;&#039;δ&#039;&#039;, such that the [[concatenation]] of all labels visited along the path yields the word &#039;&#039;w&#039;&#039;.  The set of all words over Σ&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; accepted by the automaton is the &#039;&#039;language&#039;&#039; accepted by the automaton &#039;&#039;A&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When speaking of digraph properties of a nondeterministic finite automaton &#039;&#039;A&#039;&#039; with state set &#039;&#039;Q&#039;&#039;, we naturally address the digraph with vertex set &#039;&#039;Q&#039;&#039; induced by its transition relation.  Now the theorem is stated as follows.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Eggan&#039;s Theorem&#039;&#039;&#039;: The star height of a regular language &#039;&#039;L&#039;&#039; equals the minimum cycle rank among all [[nondeterministic finite automaton|nondeterministic finite automata with ε-moves]] accepting &#039;&#039;L&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Proofs of this theorem are given by {{harvtxt|Eggan|1963}}, and more recently by {{harvtxt|Sakarovitch|2009}}.&lt;br /&gt;
&lt;br /&gt;
===Cholesky factorization in sparse matrix computations===&lt;br /&gt;
Another application of this concept lies in [[sparse matrix]] computations, namely for using [[nested dissection]] to compute the [[Cholesky factorization]] of a (symmetric) matrix in parallel.  A given sparse &amp;lt;math&amp;gt;(n\times n)&amp;lt;/math&amp;gt;-matrix &#039;&#039;M&#039;&#039; may be interpreted as the adjacency matrix of some symmetric digraph &#039;&#039;G&#039;&#039; on &#039;&#039;n&#039;&#039; vertices, in a way such that the non-zero entries of the matrix are in one-to-one correspondence with the edges of &#039;&#039;G&#039;&#039;.  If the cycle rank of the digraph &#039;&#039;G&#039;&#039; is at most &#039;&#039;k&#039;&#039;, then the Cholesky factorization of &#039;&#039;M&#039;&#039; can be computed in at most &#039;&#039;k&#039;&#039; steps on a parallel computer with &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; processors {{harv|Dereniowski|Kubale|2004}}.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Circuit rank]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{refbegin}}&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last1 = Bodlaender | first1 = Hans L. | author1-link = Hans L. Bodlaender&lt;br /&gt;
 | last2 = Gilbert | first2 = John R.&lt;br /&gt;
 | last3 = Hafsteinsson | first3 = Hjálmtýr&lt;br /&gt;
 | last4 = Kloks | first4 = Ton&lt;br /&gt;
 | doi = 10.1006/jagm.1995.1009 | zbl=0818.68118&lt;br /&gt;
 | issue = 2&lt;br /&gt;
 | journal = Journal of Algorithms&lt;br /&gt;
 | pages = 238–255&lt;br /&gt;
 | title = Approximating treewidth, pathwidth, frontsize, and shortest elimination tree&lt;br /&gt;
 | url = ftp://ftp.parc.xerox.com/pub/gilbert/csl9010.ps.Z&lt;br /&gt;
 | volume = 18&lt;br /&gt;
 | year = 1995}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last1 = Dereniowski | first1 = Dariusz &lt;br /&gt;
 | last2 = Kubale | first2 = Marek&lt;br /&gt;
 | contribution = Cholesky Factorization of Matrices in Parallel and Ranking of Graphs &lt;br /&gt;
 | doi = 10.1007/978-3-540-24669-5_127 | zbl=1128.68544&lt;br /&gt;
 | pages = 985–992&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes on Computer Science&lt;br /&gt;
 | title = 5th International Conference on Parallel Processing and Applied Mathematics&lt;br /&gt;
 | url = http://www.eti.pg.gda.pl/katedry/kams/wwwkams/pdf/Cholesky_fmprg.pdf&lt;br /&gt;
 | volume = 3019&lt;br /&gt;
 | year = 2004}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last = Eggan | first = Lawrence C.&lt;br /&gt;
 | doi = 10.1307/mmj/1028998975 | zbl=0173.01504 &lt;br /&gt;
 | issue = 4&lt;br /&gt;
 | journal = [[Michigan Mathematical Journal]]&lt;br /&gt;
 | pages = 385–397&lt;br /&gt;
 | title = Transition graphs and the star-height of regular events&lt;br /&gt;
 | volume = 10&lt;br /&gt;
 | year = 1963}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last1 = Eisenstat | first1 = Stanley C.&lt;br /&gt;
 | last2 = Liu | first2 = Joseph W. H.&lt;br /&gt;
 | doi = 10.1137/S089547980240563X&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = SIAM Journal on Matrix Analysis and Applications&lt;br /&gt;
 | pages = 686–705&lt;br /&gt;
 | title = The theory of elimination trees for sparse unsymmetric matrices&lt;br /&gt;
 | volume = 26&lt;br /&gt;
 | year = 2005}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last1 = Gruber | first1 = Hermann&lt;br /&gt;
 | contribution = Digraph Complexity Measures and Applications in Formal Language Theory &lt;br /&gt;
 | pages = 189–204&lt;br /&gt;
 | journal = Discrete Mathematics &amp;amp; Theoretical Computer Science&lt;br /&gt;
 | volume = 14&lt;br /&gt;
 | number = 2&lt;br /&gt;
 | year = 2012&lt;br /&gt;
 | url = http://www.hermann-gruber.com/data/dmtcs12-revised.pdf&lt;br /&gt;
}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last1 = Gruber | first1 = Hermann&lt;br /&gt;
 | last2 = Holzer | first2 = Markus&lt;br /&gt;
 | contribution = Finite automata, digraph connectivity, and regular expression size&lt;br /&gt;
 | doi = 10.1007/978-3-540-70583-3_4&lt;br /&gt;
 | pages = 39–50&lt;br /&gt;
 | publisher = Springer-Verlag&lt;br /&gt;
 | series = Lecture Notes on Computer Science&lt;br /&gt;
 | title = [[International Colloquium on Automata, Languages and Programming|Proc. 35th International Colloquium on Automata, Languages and Programming]]&lt;br /&gt;
 | url = http://www.hermann-gruber.com/data/icalp08.pdf&lt;br /&gt;
 | volume = 5126&lt;br /&gt;
 | year = 2008}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | doi = 10.1016/S0020-0255(69)80016-2&lt;br /&gt;
 | last = McNaughton | first = Robert&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = Information Sciences&lt;br /&gt;
 | pages = 305–328&lt;br /&gt;
 | title = The loop complexity of regular events&lt;br /&gt;
 | volume = 1&lt;br /&gt;
 | year = 1969}}.&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last = Rossman | first = Benjamin&lt;br /&gt;
 | doi = 10.1145/1379759.1379763&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = [[Journal of the ACM]]&lt;br /&gt;
 | page = Article 15&lt;br /&gt;
 | title = Homomorphism preservation theorems&lt;br /&gt;
 | volume = 55&lt;br /&gt;
 | year = 2008}}.&lt;br /&gt;
*{{Citation |title=Elements of Automata Theory |last= Sakarovitch |first=Jacques |year=2009 |publisher=Cambridge University Press |isbn=0-521-84425-8}}&lt;br /&gt;
*{{citation&lt;br /&gt;
 | last = Schreiber | first = Robert&lt;br /&gt;
 | doi = 10.1145/356004.356006&lt;br /&gt;
 | issue = 3&lt;br /&gt;
 | journal = [[ACM Transactions on Mathematical Software]]&lt;br /&gt;
 | pages = 256–276&lt;br /&gt;
 | title = A new implementation of sparse Gaussian elimination&lt;br /&gt;
 | url = http://www.hpl.hp.com/personal/Robert_Schreiber/papers/1982%20Sparse%20Gaussian%20Elimination/p256-schreiber%5B1%5D.pdf&lt;br /&gt;
 | volume = 8&lt;br /&gt;
 | year = 1982}}.&lt;br /&gt;
{{refend}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Graph connectivity]]&lt;br /&gt;
[[Category:Graph invariants]]&lt;/div&gt;</summary>
		<author><name>143.167.9.247</name></author>
	</entry>
</feed>