Namespaces
Variants
Actions

Difference between revisions of "Algorithms, combinations of"

From Encyclopedia of Mathematics
Jump to: navigation, search
(Importing text file)
 
m (typos)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 +
<!--
 +
a0118901.png
 +
$#A+1 = 40 n = 0
 +
$#C+1 = 40 : ~/encyclopedia/old_files/data/A011/A.0101890 Algorithms, combinations of
 +
Automatically converted into TeX, above some diagnostics.
 +
Please remove this comment and the {{TEX|auto}} line below,
 +
if TeX found to be correct.
 +
-->
 +
 +
{{TEX|auto}}
 +
{{TEX|done}}
 +
 
The name of several methods for constructing new algorithms (cf. [[Algorithm|Algorithm]]) from given algorithms.
 
The name of several methods for constructing new algorithms (cf. [[Algorithm|Algorithm]]) from given algorithms.
  
As applied to normal algorithms (cf. [[Normal algorithm|Normal algorithm]]), the following combinations (compositions) are best known: normal composition (<img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118901.png" />) of two normal algorithms <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118902.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118903.png" />, normal union (<img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118904.png" />) of two normal algorithms <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118905.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118906.png" />, normal branching (<img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118907.png" />) of two normal algorithms <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118908.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a0118909.png" /> controlled by a normal algorithm <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189010.png" />, and normal repetition <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189011.png" /> of a normal algorithm <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189012.png" /> controlled by a normal algorithm <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189013.png" />. If <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189014.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189015.png" /> are normal algorithms in some alphabet <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189016.png" />, the above combinations are normal algorithms in a certain given extension of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189017.png" /> and satisfy the following conditions: a) for any word <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189018.png" /> in <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189019.png" />, <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189020.png" /> is true (the composition theorem); b) for any word <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189021.png" /> in <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189022.png" />, <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189023.png" /> is true (the union theorem); c) for any word <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189024.png" /> in <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189025.png" />
+
As applied to normal algorithms (cf. [[Normal algorithm|Normal algorithm]]), the following combinations (compositions) are best known: normal composition ( $  \mathfrak B \circ \mathfrak A $)  
 +
of two normal algorithms $  \mathfrak A $
 +
and $  \mathfrak B $,  
 +
normal union ( $  \mathfrak A \wedge \mathfrak B $)  
 +
of two normal algorithms $  \mathfrak A $
 +
and $  \mathfrak B $,  
 +
normal branching ( $  \mathfrak A \mathbf Y \mathfrak B \mid  \mathfrak C $)  
 +
of two normal algorithms $  \mathfrak A $
 +
and $  \mathfrak B $
 +
controlled by a normal algorithm $  \mathfrak C $,  
 +
and normal repetition $  \mathfrak A \rightarrow \mathfrak C $
 +
of a normal algorithm $  \mathfrak A $
 +
controlled by a normal algorithm $  \mathfrak C $.  
 +
If $  \mathfrak A , \mathfrak B $
 +
and $  \mathfrak C $
 +
are normal algorithms in some alphabet $  A $,  
 +
the above combinations are normal algorithms in a certain given extension of $  A $
 +
and satisfy the following conditions: a) for any word $  P $
 +
in $  A $,  
 +
$  ( \mathfrak B \circ \mathfrak A) \lfloor P \rfloor \simeq \mathfrak B \lfloor \mathfrak A \lfloor P \rfloor \rfloor $
 +
is true (the composition theorem); b) for any word $  P $
 +
in $  A $,  
 +
$  ( \mathfrak A \wedge \mathfrak B ) \lfloor P \rfloor \simeq \mathfrak A \lfloor P \rfloor \mathfrak B \lfloor P \rfloor $
 +
is true (the union theorem); c) for any word $  P $
 +
in $  A $
 +
 
 +
$$
 +
( \mathfrak A \mathbf Y \mathfrak B \mid  \mathfrak C ) \lfloor P \rfloor  \simeq \
 +
\left \{ \
 +
 
 +
\begin{array}{ll}
 +
\mathfrak A \lfloor P \rfloor  & \textrm{ if }  \mathfrak C \lfloor P \rfloor = F ,  \\
 +
\mathfrak B \lfloor P \rfloor  & \textrm{ if }  \mathfrak C \lfloor P \rfloor \neq F ,  \\
 +
\end{array}
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189026.png" /></td> </tr></table>
+
\right .$$
  
moreover, if <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189027.png" /> has been defined, then <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189028.png" /> is defined as well (the branching theorem); d) for any words <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189029.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189030.png" /> in <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189031.png" />, the [[Graphic equality|graphic equality]] <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189032.png" /> is true if and only if it is possible to indicate a sequence of words <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189033.png" /> (<img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189034.png" />) over the alphabet <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189035.png" /> such that
+
moreover, if $  ( \mathfrak A \mathbf Y \mathfrak B \mid  \mathfrak C ) \lfloor P \rfloor $
 +
has been defined, then $  \mathfrak C \lfloor P \rfloor $
 +
is defined as well (the branching theorem); d) for any words $  P $
 +
and $  Q $
 +
in $  A $,  
 +
the [[Graphic equality|graphic equality]] $  ( \mathfrak A {\stackrel{\circ}{=}} \mathfrak C ) \lfloor P \rfloor = Q $
 +
is true if and only if it is possible to indicate a sequence of words $  P _ {0} \dots P _ {k} $(
 +
$  k \geq  1 $)  
 +
over the alphabet $  A $
 +
such that
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189036.png" /></td> </tr></table>
+
$$
 +
P _ {0}  {\stackrel{\circ}{=}}  P ,\ \
 +
P _ {k}  {\stackrel{\circ}{=}}  Q ,
 +
$$
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189037.png" /></td> </tr></table>
+
$$
 +
P _ {i}  {\stackrel{\circ}{=}}  \mathfrak A \lfloor P _ {i-1} \rfloor \  ( i = 1 \dots k ) ,
 +
$$
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189038.png" /></td> </tr></table>
+
$$
 +
\mathfrak C \lfloor P _ {k} \rfloor  {\stackrel{\circ}{\not=}} F \  ( i = 1 \dots k - 1 ) ,
 +
$$
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189039.png" /></td> </tr></table>
+
$$
 +
\mathfrak C \lfloor P _ {k} \rfloor  {\stackrel{\circ}{=}}  F
 +
$$
  
(the repetition theorem). Similar theorems may also be obtained for Turing machines (cf. [[Turing machine|Turing machine]]). In the theory of recursive functions (cf. [[Recursive function|Recursive function]]), the combinations of these functions which are most frequently employed are those supplied by the substitution operator, the primitive [[Recursion|recursion]] operator and the <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/a/a011/a011890/a01189040.png" />-operator.
+
(the repetition theorem). Similar theorems may also be obtained for Turing machines (cf. [[Turing machine|Turing machine]]). In the theory of recursive functions (cf. [[Recursive function|Recursive function]]), the combinations of these functions which are most frequently employed are those supplied by the substitution operator, the primitive [[Recursion|recursion]] operator and the $  \mu $-
 +
operator.
  
 
Theorems on combinations of algorithms reveal an important feature of the existing formalizations of the general concept of an algorithm — to wit, their  "closure"  under the natural ways of combination of algorithms. This fact is one of the principal arguments in favour of the basic assumption about algorithms (the [[Church thesis|Church thesis]]). Theorems on compositions of algorithms are an important part of the general theory of algorithms. Having been demonstrated once, they make it possible to determine the realizability of complicated and cumbersome algorithms, without actually writing down their schemes.
 
Theorems on combinations of algorithms reveal an important feature of the existing formalizations of the general concept of an algorithm — to wit, their  "closure"  under the natural ways of combination of algorithms. This fact is one of the principal arguments in favour of the basic assumption about algorithms (the [[Church thesis|Church thesis]]). Theorems on compositions of algorithms are an important part of the general theory of algorithms. Having been demonstrated once, they make it possible to determine the realizability of complicated and cumbersome algorithms, without actually writing down their schemes.
Line 23: Line 87:
 
====References====
 
====References====
 
<table><TR><TD valign="top">[1]</TD> <TD valign="top">  A.A. Markov,  "Theory of algorithms" , Israel Program Sci. Transl.  (1961)  (Translated from Russian)  (Also: Trudy Mat. Inst. Steklov. 42 (1954))</TD></TR><TR><TD valign="top">[2]</TD> <TD valign="top">  S.C. Kleene,  "Introduction to metamathematics" , North-Holland  (1951)</TD></TR><TR><TD valign="top">[3]</TD> <TD valign="top">  V.A. [V.A. Uspenskii] Ouspenski,  "Leçons sur les fonctions calculables" , Hermann  (1966)  (Translated from Russian)</TD></TR><TR><TD valign="top">[4]</TD> <TD valign="top">  A.I. Mal'tsev,  "Algorithms and recursive functions" , Wolters-Noordhoff  (1970)  (Translated from Russian)</TD></TR></table>
 
<table><TR><TD valign="top">[1]</TD> <TD valign="top">  A.A. Markov,  "Theory of algorithms" , Israel Program Sci. Transl.  (1961)  (Translated from Russian)  (Also: Trudy Mat. Inst. Steklov. 42 (1954))</TD></TR><TR><TD valign="top">[2]</TD> <TD valign="top">  S.C. Kleene,  "Introduction to metamathematics" , North-Holland  (1951)</TD></TR><TR><TD valign="top">[3]</TD> <TD valign="top">  V.A. [V.A. Uspenskii] Ouspenski,  "Leçons sur les fonctions calculables" , Hermann  (1966)  (Translated from Russian)</TD></TR><TR><TD valign="top">[4]</TD> <TD valign="top">  A.I. Mal'tsev,  "Algorithms and recursive functions" , Wolters-Noordhoff  (1970)  (Translated from Russian)</TD></TR></table>
 
 
  
 
====Comments====
 
====Comments====

Latest revision as of 17:59, 1 April 2020


The name of several methods for constructing new algorithms (cf. Algorithm) from given algorithms.

As applied to normal algorithms (cf. Normal algorithm), the following combinations (compositions) are best known: normal composition ( $ \mathfrak B \circ \mathfrak A $) of two normal algorithms $ \mathfrak A $ and $ \mathfrak B $, normal union ( $ \mathfrak A \wedge \mathfrak B $) of two normal algorithms $ \mathfrak A $ and $ \mathfrak B $, normal branching ( $ \mathfrak A \mathbf Y \mathfrak B \mid \mathfrak C $) of two normal algorithms $ \mathfrak A $ and $ \mathfrak B $ controlled by a normal algorithm $ \mathfrak C $, and normal repetition $ \mathfrak A \rightarrow \mathfrak C $ of a normal algorithm $ \mathfrak A $ controlled by a normal algorithm $ \mathfrak C $. If $ \mathfrak A , \mathfrak B $ and $ \mathfrak C $ are normal algorithms in some alphabet $ A $, the above combinations are normal algorithms in a certain given extension of $ A $ and satisfy the following conditions: a) for any word $ P $ in $ A $, $ ( \mathfrak B \circ \mathfrak A) \lfloor P \rfloor \simeq \mathfrak B \lfloor \mathfrak A \lfloor P \rfloor \rfloor $ is true (the composition theorem); b) for any word $ P $ in $ A $, $ ( \mathfrak A \wedge \mathfrak B ) \lfloor P \rfloor \simeq \mathfrak A \lfloor P \rfloor \mathfrak B \lfloor P \rfloor $ is true (the union theorem); c) for any word $ P $ in $ A $

$$ ( \mathfrak A \mathbf Y \mathfrak B \mid \mathfrak C ) \lfloor P \rfloor \simeq \ \left \{ \ \begin{array}{ll} \mathfrak A \lfloor P \rfloor & \textrm{ if } \mathfrak C \lfloor P \rfloor = F , \\ \mathfrak B \lfloor P \rfloor & \textrm{ if } \mathfrak C \lfloor P \rfloor \neq F , \\ \end{array} \right .$$

moreover, if $ ( \mathfrak A \mathbf Y \mathfrak B \mid \mathfrak C ) \lfloor P \rfloor $ has been defined, then $ \mathfrak C \lfloor P \rfloor $ is defined as well (the branching theorem); d) for any words $ P $ and $ Q $ in $ A $, the graphic equality $ ( \mathfrak A {\stackrel{\circ}{=}} \mathfrak C ) \lfloor P \rfloor = Q $ is true if and only if it is possible to indicate a sequence of words $ P _ {0} \dots P _ {k} $( $ k \geq 1 $) over the alphabet $ A $ such that

$$ P _ {0} {\stackrel{\circ}{=}} P ,\ \ P _ {k} {\stackrel{\circ}{=}} Q , $$

$$ P _ {i} {\stackrel{\circ}{=}} \mathfrak A \lfloor P _ {i-1} \rfloor \ ( i = 1 \dots k ) , $$

$$ \mathfrak C \lfloor P _ {k} \rfloor {\stackrel{\circ}{\not=}} F \ ( i = 1 \dots k - 1 ) , $$

$$ \mathfrak C \lfloor P _ {k} \rfloor {\stackrel{\circ}{=}} F $$

(the repetition theorem). Similar theorems may also be obtained for Turing machines (cf. Turing machine). In the theory of recursive functions (cf. Recursive function), the combinations of these functions which are most frequently employed are those supplied by the substitution operator, the primitive recursion operator and the $ \mu $- operator.

Theorems on combinations of algorithms reveal an important feature of the existing formalizations of the general concept of an algorithm — to wit, their "closure" under the natural ways of combination of algorithms. This fact is one of the principal arguments in favour of the basic assumption about algorithms (the Church thesis). Theorems on compositions of algorithms are an important part of the general theory of algorithms. Having been demonstrated once, they make it possible to determine the realizability of complicated and cumbersome algorithms, without actually writing down their schemes.

Of major interest in the general theory of algorithms is the problem of synthesizing an arbitrary algorithm within some class of interest, using a pre-determined set of composition operators.

References

[1] A.A. Markov, "Theory of algorithms" , Israel Program Sci. Transl. (1961) (Translated from Russian) (Also: Trudy Mat. Inst. Steklov. 42 (1954))
[2] S.C. Kleene, "Introduction to metamathematics" , North-Holland (1951)
[3] V.A. [V.A. Uspenskii] Ouspenski, "Leçons sur les fonctions calculables" , Hermann (1966) (Translated from Russian)
[4] A.I. Mal'tsev, "Algorithms and recursive functions" , Wolters-Noordhoff (1970) (Translated from Russian)

Comments

The standard terminology for the above composition operators is in the West: "sequential composition of algorithmssequential composition" , "non-deterministic choice of algorithmsnon-deterministic choice" , "if-then-else algorithmif-then-else" and the "while-loop algorithmwhile loop" , in order of appearance. A representative result of the type indicated is the characterization of the power of structured programming: Every flowchart can be expressed as a flowchart obtained by sequential composition, if-then-else and while, from simple assignment statements [a1].

References

[a1] C. Böhm, G. Jacopini, "Flow diagrams, Turing machines and languages with only two formation rules" Comm. ACM , 9 (1966) pp. 366–371
How to Cite This Entry:
Algorithms, combinations of. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Algorithms,_combinations_of&oldid=16682
This article was adapted from an original article by N.M. Nagornyi (originator), which appeared in Encyclopedia of Mathematics - ISBN 1402006098. See original article