posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Catalan 數(shù)

          Posted on 2007-09-17 19:55 ZelluX 閱讀(1491) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): Mathematics

          n個(gè)不同的物體按固定次序入棧,隨時(shí)可以出棧,求最后可能的出棧序列的總數(shù)。
          只想到這個(gè)問(wèn)題等價(jià)于把n個(gè)push和n個(gè)pop操作排列,要求任意前幾個(gè)操作中push數(shù)都不能少于pop數(shù),至于這個(gè)排列數(shù)怎么求就不知道了。請(qǐng)教了peter大牛后,原來(lái)這就是一個(gè)Catalan數(shù)的應(yīng)用。

          Wikipedia上的Catalan numbers:

          In combinatorial mathematics, the Catalan numbers form a sequence of natural numbers that occur in various counting problems, often involving recursively defined objects. They are named for the Belgian mathematician Eugène Charles Catalan (1814–1894).

          The nth Catalan number is given directly in terms of binomial coefficients by

          C_n = \frac{1}{n+1}{2n\choose n} = \frac{(2n)!}{(n+1)!\,n!} \qquad\mbox{ for }n\ge 0.

          The first Catalan numbers (sequence A000108 in OEIS) for n = 0, 1, 2, 3, … are

          1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 4861946401452, …

          Properties

          An alternative expression for Cn is

          C_n = {2n\choose n} - {2n\choose n-1} \quad\mbox{ for }n\ge 1.

          This shows that Cn is a natural number, which is not a priori obvious from the first formula given. This expression forms the basis for André's proof of the correctness of the formula (see below under second proof).

          The Catalan numbers satisfy the recurrence relation

          C_0 = 1 \quad \mbox{and} \quad C_{n+1}=\sum_{i=0}^{n}C_i\,C_{n-i}\quad\mbox{for }n\ge 0.

          They also satisfy:

          C_0 = 1 \quad \mbox{and} \quad C_{n+1}=\frac{2(2n+1)}{n+2}C_n,

          which can be a more efficient way to calculate them.

          Asymptotically, the Catalan numbers grow as

          C_n \sim \frac{4^n}{n^{3/2}\sqrt{\pi}}

          in the sense that the quotient of the nth Catalan number and the expression on the right tends towards 1 for n → ∞. (This can be proved by using for n!.)

           

          Applications in combinatorics

          There are many counting problems in combinatorics whose solution is given by the Catalan numbers. The book Enumerative Combinatorics: Volume 2 by combinatorialist Richard P. Stanley contains a set of exercises which describe 66 different interpretations of the Catalan numbers. Following are some examples, with illustrations of the case C3 = 5.

          • Cn is the number of Dyck words of length 2n. A Dyck word is a string consisting of n X's and n Y's such that no initial segment of the string has more Y's than X's (see also Dyck language). For example, the following are the Dyck words of length 6:
          XXXYYY     XYXXYY     XYXYXY     XXYYXY     XXYXYY.
          • Re-interpreting the symbol X as an open parenthesis and Y as a close parenthesis, Cn counts the number of expressions containing n pairs of parentheses which are correctly matched:
          ((()))     ()(())     ()()()     (())()     (()())
          • Cn is the number of different ways n + 1 factors can be completely parenthesized (or the number of ways of associating n applications of a binary operator). For n = 3 for example, we have the following five different parenthesizations of four factors:
          ((ab)c)d \quad (a(bc))d \quad(ab)(cd) \quad a((bc)d) \quad a(b(cd))
          • Successive applications of a binary operator can be represented in terms of a binary tree. It follows that Cn is the number of rooted ordered binary trees with n + 1 leaves:

          If the leaves are labelled, we have the quadruple factorial numbers.

          • Cn is the number of non-isomorphic full binary trees with n vertices that have children, usually called internal vertices or branches. (A rooted binary tree is full if every vertex has either two children or no children.)
          • Cn is the number of monotonic paths along the edges of a grid with n × n square cells, which do not cross the diagonal. A monotonic path is one which starts in the lower left corner, finishes in the upper right corner, and consists entirely of edges pointing rightwards or upwards. Counting such paths is equivalent to counting Dyck words: X stands for "move right" and Y stands for "move up". The following diagrams show the case n = 4:
          • Cn is the number of different ways a convex polygon with n + 2 sides can be cut into triangles by connecting vertices with straight lines. The following hexagons illustrate the case n = 4:
          Error creating thumbnail:
          • Cn is the number of stack-sortable permutations of {1, ..., n}. A permutation w is called stack-sortable if S(w) = (1, ..., n), where S(w) is defined recursively as follows: write w = unv where n is the largest element in w and u and v are shorter sequences, and set S(w) = S(u)S(v)n, with S being the identity for one-element sequences.

           

          Proof of the formula

          There are several ways of explaining why the formula

          C_n = \frac{1}{n+1}{2n\choose n}

          solves the combinatorial problems listed above. The first proof below uses a generating function. The second and third proofs are examples of bijective proofs; they involve literally counting a collection of some kind of object to arrive at the correct formula.

           

          First proof

          We start with the observation that several of the combinatorial problems listed above can easily be seen to satisfy the recurrence relation

          C_0 = 1 \quad \mbox{and} \quad C_{n+1}=\sum_{i=0}^{n}C_i\,C_{n-i}\quad\mbox{for }n\ge 0.

          For example, every Dyck word w of length ≥ 2 can be written in a unique way in the form

          w = Xw1Yw2

          with (possibly empty) Dyck words w1 and w2.

          The generating function for the Catalan numbers is defined by

          c(x)=\sum_{n=0}^\infty C_n x^n.

          As explained in the article titled Cauchy product, the sum on the right side of the above recurrence relation is the coefficient of xn in the product

          \left(\sum_{i=0}^\infty C_i x^i\right)^2.

          Therefore

          \left(\sum_{i=0}^\infty C_i x^i\right)^2 = \sum_{n=0}^\infty C_{n+1} x^n.

          Multiplying both sides by x, we get

          x\left(\sum_{i=0}^\infty C_i x^i\right)^2 = \sum_{n=0}^\infty C_{n+1} x^{n+1} = \sum_{n=1}^\infty C_n x^n = -1 + \sum_{n=0}^\infty C_n x^n.

          So we have

          c(x)=1+xc(x)^2,\,

          and hence

          c(x) = \frac{1-\sqrt{1-4x}}{2x}.

          The square root term can be expanded as a power series using the identity

          \sqrt{1+y} = 1 - 2\sum_{n=1}^\infty {2n-2 \choose n-1} \left(\frac{-1}{4}\right)^n  \frac{y^n}{n} ,

          which can be proved, for example, by the binomial theorem, (or else directly by considering repeated derivatives of \sqrt{1+y}) together with judicious juggling of factorials. Substituting this into the above expression for c(x) produces, after further manipulation,

          c(x) = \sum_{n=0}^\infty {2n \choose n} \frac{x^n}{n+1.}

          Equating coefficients yields the desired formula for Cn.

           

          Second proof

          This proof depends on a trick due to D. André, which is now more generally known as the reflection principle (not to be confused with the Schwarz reflection theorem in complex analysis). It is most easily expressed in terms of the "monotonic paths which do not cross the diagonal" problem (see above).

          Figure 1. The green portion of the path is being flipped.
          Figure 1. The green portion of the path is being flipped.

          Suppose we are given a monotonic path in an n × n grid that does cross the diagonal. Find the first edge in the path that lies above the diagonal, and flip the portion of the path occurring after that edge, along a line parallel to the diagonal. (In terms of Dyck words, we are starting with a sequence of n X's and n Y's which is not a Dyck word, and exchanging all X's with Y's after the first Y that violates the Dyck condition.) The resulting path is a monotonic path in an (n − 1) × (n + 1) grid. Figure 1 illustrates this procedure; the green portion of the path is the portion being flipped.

          Since every monotonic path in the (n − 1) × (n + 1) grid must cross the diagonal at some point, every such path can be obtained in this fashion in precisely one way. The number of these paths is equal to

          {2n\choose n-1}.

          Therefore, to calculate the number of monotonic n × n paths which do not cross the diagonal, we need to subtract this from the total number of monotonic n × n paths, so we finally obtain

          {2n\choose n}-{2n\choose n-1}

          which is the nth Catalan number Cn.

           

          Third proof

          The following bijective proof, while being more involved than the previous one, provides a more natural explanation for the term n + 1 appearing in the denominator of the formula for Cn.

          Figure 2. A path with exceedance 5.
          Figure 2. A path with exceedance 5.

          Suppose we are given a monotonic path, which may happen to cross the diagonal. The exceedance of the path is defined to be the number of pairs of edges which lie above the diagonal. For example, in Figure 2, the edges lying above the diagonal are marked in red, so the exceedance of the path is 5.

          Now, if we are given a monotonic path whose exceedance is not zero, then we may apply the following algorithm to construct a new path whose exceedance is one less than the one we started with.

          • Starting from the bottom left, follow the path until it first travels above the diagonal.
          • Continue to follow the path until it touches the diagonal again. Denote by X the first such edge that is reached.
          • Swap the portion of the path occurring before X with the portion occurring after X.

          The following example should make this clearer. In Figure 3, the black circle indicates the point where the path first crosses the diagonal. The black edge is X, and we swap the red portion with the green portion to make a new path, shown in the second diagram.

          Figure 3. The green and red portions are being exchanged.
          Figure 3. The green and red portions are being exchanged.

          Notice that the exceedance has dropped from three to two. In fact, the algorithm will cause the exceedance to decrease by one, for any path that we feed it.

          Figure 4. All monotonic paths in a 3×3 grid, illustrating the exceedance-decreasing algorithm.
          Figure 4. All monotonic paths in a 3×3 grid, illustrating the exceedance-decreasing algorithm.

          It is also not difficult to see that this process is reversible: given any path P whose exceedance is less than n, there is exactly one path which yields P when the algorithm is applied to it.

          This implies that the number of paths of exceedance n is equal to the number of paths of exceedance n − 1, which is equal to the number of paths of exceedance n − 2, and so on, down to zero. In other words, we have split up the set of all monotonic paths into n + 1 equally sized classes, corresponding to the possible exceedances between 0 and n. Since there are

          {2n\choose n}

          monotonic paths, we obtain the desired formula

          C_n = \frac{1}{n+1}{2n\choose n}.

          Figure 4 illustrates the situation for n = 3. Each of the 20 possible monotonic paths appears somewhere in the table. The first column shows all paths of exceedance three, which lie entirely above the diagonal. The columns to the right show the result of successive applications of the algorithm, with the exceedance decreasing one unit at a time. Since there are five rows, C3 = 5.

           

          Hankel matrix

          The n×n Hankel matrix whose (ij) entry is the Catalan number Ci+j has determinant 1, regardless of the value of n. For example, for n = 4 we have

          \det\begin{bmatrix}1 & 1 & 2 & 5 \\ 1 & 2 & 5 & 14 \\ 2 & 5 & 14 & 42 \\ 5 & 14 & 42 & 132\end{bmatrix} = 1

          Note that if the entries are ``shifted", namely the Catalan numbers Ci+j+1, the determinant is still 1, regardless of the size of n. For example, for n = 4 we have

          \det\begin{bmatrix}1 & 2 & 5 & 14 \\ 2 & 5 & 14 & 42 \\ 5 & 14 & 42 & 132 \\ 14 & 42 & 132 & 429 \end{bmatrix} = 1.

          The Catalan numbers is the unique sequence with this property.

           

          Quadruple factorial

          The quadruple factorial is given by \frac{2n!}{n!}, or \left(n+1\right)! C_n. This is the solution to labelled variants of the above combinatorics problems. It is entirely distinct from the multifactorials.

           

          History

          The Catalan sequence was first described in the 18th century by Leonhard Euler, who was interested in the number of different ways of dividing a polygon into triangles. The sequence is named after Eugène Charles Catalan, who discovered the connection to parenthesized expressions. The counting trick for Dyck words was found by D. André in 1887.


          評(píng)論

          # re: Catalan 數(shù)  回復(fù)  更多評(píng)論   

          2007-09-21 12:00 by FreePeter
          好吧。。。你居然還能上wiki。。。T_T

          # re: Catalan 數(shù)  回復(fù)  更多評(píng)論   

          2007-09-23 15:42 by ZelluX
          @FreePeter
          現(xiàn)在試了下,還是能上的,而且用的是教育網(wǎng)代理 ^_^
          主站蜘蛛池模板: 英超| 城步| 咸阳市| 松江区| 沙雅县| 比如县| 大埔县| 云梦县| 蕲春县| 嘉定区| 萨迦县| 余庆县| 鸡西市| 榆社县| 若尔盖县| 洪湖市| 巨野县| 科技| 池州市| 牟定县| 蓝山县| 伊通| 朝阳市| 天峨县| 孟连| 浙江省| 元谋县| 东乡族自治县| 大渡口区| 晋州市| 仙游县| 海宁市| 平度市| 宣恩县| 长顺县| 东方市| 章丘市| 竹北市| 盐津县| 辰溪县| 东光县|