Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation

(1)
Fn+2 = Fn+1 + Fn,

along with the initial conditions F1 = 1 and F0 = 0.

The Fibonacci name has been attached to the sequence 0, 1, 1, 2, 3, 5, ... due to the inclusion in his 1202 book Liber Abaci of a rabbit reproduction puzzle: under certain constraints the rabbit population at discrete times is given exactly by that sequence. As naturally, the sequence is simulated by counting the tilings with dominoes of a 2×n board:

A tiling of a 2×n board may end with two horizontal dominoes or a single vertical domino:

In the former case, it's an extension of a tiling of a 2×(n-2) board; in the latter case, it's an extension of a tiling of a 2×(n-1). If Tn denotes the number of domino tilings of a 2×n board, then clearly

Tn = Tn-2 + Tn-1

which is the same recurrence relation that is satisfied by the Fibonacci sequence. By a direct verification, T1 = 1, T2 = 2, T3 = 3, T4 = 5, etc., which shows that {Tn} is nothing but a shifted Fibonacci sequence. If we define, T0 = 1, as there is only 1 way to do nothing; and T-1 = 0, because there are no boards with negative side lengths, then Fn = Tn-1, for n ≥ 0.

The domino tilings are extensively used in Graham, Knuth, Patashnik and by ZeitzBenjamin & Quinn economize by considering only an upper 1×n portion of the board (and its tilings). This means tiling a 1×n board with 1×1 and 1×2 pieces.

I'll use Benjamin & Quinn's frugal tilings to prove Cassini's Identity

Fn+1·Fn+1 - Fn·Fn+2 = (-1)n

In terms of the tilings, I want to prove that Tn·Tn - Tn-1·Tn+1 = (-1)n.

The meaning of the term Tn·Tn is obvious: this is the number of ways to tile two 1×n boards where the tilings of the two boards are independent of each other. Similarly, Tn-1Tn+1 is the number of ways to tile two boards: one 1×(n-1) and one 1×(n+1). Now, the task is to retrieve the relation between the two numbers annunciated by Cassini's identity.

Our setup consists of two 1×n boards:

with the bottom board shifted one square to the right:

The tilings of the two boards may or may not have a fault line. A fault line is a line on the two boards at which the two tilings are breakable. For example, the tilings below have three fault lines:

The trick is now to swap tails: the pieces of the two tilings (along with the boards) after the last fault line:

Since the bottom board has been shifted just one square, the swap produces one tiling of a 1×(n+1) - the top board in the diagram - and one tiling of a 1×(n-1) board - the bottom board in the diagram. Note that the old faults have been preserved and no new faults have been introduced.

Thus, in the presence of faults, there is a 1-1 correspondence between two n-tilings (Tn) and a pair of (n-1)- and (n+1)-tilings. The time is to account for the faultless combinations, if any.

But there are. Any 1×1 square induces a fault. This leaves exactly two faultless tilings. If n is odd, both n-1 and n+1 are even, there is a unique pair of (n-1)- and (n+1)-tilings:

If n is even, there is a unique n-tiling that, when shifted, generates no fault lines:

References

  1. A. T. Benjamin, J. J. Quinn, Proofs That Really Count: The Art of Combinatorial Proof, MAA, 2003
  2. R. Graham, D. Knuth, O. Patashnik, Concrete Mathematics, 2nd edition, Addison-Wesley, 1994.
  3. P. Zeitz, The Art and Craft of Problem Solving, John Wiley & Sons, 1999

Related material
Read more...

 
   
 
 
 
 
 
 
 
 
   

|Contact| |Front page| |Contents| |Algebra| |Store|

Copyright © 1996-2011 Alexander Bogomolny

本文转自:

http://www.cut-the-knot.org/arithmetic/combinatorics/FibonacciTilings.shtml

(转)Fibonacci Tilings的更多相关文章

  1. 算法与数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找

    今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找 ...

  2. #26 fibonacci seqs

    Difficulty: Easy Topic: Fibonacci seqs Write a function which returns the first X fibonacci numbers. ...

  3. 关于java的递归写法,经典的Fibonacci数的问题

    经典的Fibonacci数的问题 主要想展示一下迭代与递归,以及尾递归的三种写法,以及他们各自的时间性能. public class Fibonacci { /*迭代*/ public static ...

  4. 斐波拉契数列(Fibonacci) 的python实现方式

    第一种:利用for循环 利用for循环时,不涉及到函数,但是这种方法对我种小小白来说比较好理解,一涉及到函数就比较抽象了... >>> fibs = [0,1] >>&g ...

  5. fibonacci数列(五种)

    自己没动脑子,大部分内容转自:http://www.jb51.net/article/37286.htm 斐波拉契数列,看起来好像谁都会写,不过它写的方式却有好多种,不管用不用的上,先留下来再说. 1 ...

  6. POJ3070 Fibonacci[矩阵乘法]

    Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13677   Accepted: 9697 Descri ...

  7. Fibonacci 数列算法分析

    /************************************************* * Fibonacci 数列算法分析 ****************************** ...

  8. 算法系列:Fibonacci

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  9. 2016 Multi-University Training Contest 1 I. Solid Dominoes Tilings

    Solid Dominoes Tilings Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

随机推荐

  1. Linux环境PostgreSQL源码编译安装

    Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...

  2. [转]va_start和va_end使用详解

    转载地址:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html  本文主要介绍va_start和va_end的使用及原理. ...

  3. Iframe跨域Session丢失的问题

    很久之前做的一个使用插件实现了图片批量上传,是通过IFrame加载上传面板的,使用google的chrome上传成功了就没怎么理了,最近同事测试时(使用的是360安全浏览器)老是出现上传不了图片的问题 ...

  4. Entity Framework 学习第一天 续

    改写第一天的增删改查方法,观察增删改查的本质 using System; using System.Collections.Generic; using System.Data.Entity.Infr ...

  5. Hibernate从入门到精通(十)多对多单向关联映射

    上一篇文章Hibernate从入门到精通(九)一对多双向关联映射中我们讲解了一下关于一对多关联映射的相关内容,这次我们继续多对多单向关联映射. 多对多单向关联映射 在讲解多对多单向关联映射之前,首先看 ...

  6. JAVA类与对象(九)------多态

    多态是同一个行为具有多个不同表现形式或形态的能力.多态性是对象多种表现形式的体现. 多态存在的三个必要条件: 继承 重写 父类引用指向子类对象 例:Parent p = new Child(); 当使 ...

  7. 立即执行函数(IIFE)的理解与运用

    作为JavaScript的常用语法,立即执行函数IIFE(Immediately-Invoked Function Expression)是值得我们认真去学习探究的. 一.创建函数的两种方式 我们先从 ...

  8. 四则运算2+psp0级表格

    四则运算2 一.题目和要求 题目:写一个能自动生成小学四则运算题目的程序,要求一次输出不少于30道,只能是整数100以内的四则运算(四则运算1升级版) 要求: 1.题目避免重复 2.可定制(数量/打印 ...

  9. Kibana4学习<三>

    discover 功能 Discover 标签页用于交互式探索你的数据.你可以访问到匹配得上你选择的索引模式的每个索引的每条记录.你可以提交搜索请求,过滤搜索结果,然后查看文档数据.你还可以看到匹配搜 ...

  10. VS2013 IIS Express 添加MIME映射

    VS2013,则可以直接在IIS Express中添加MIME映射.操作如下: 1.在DOS窗口下进入IIS Express安装目录,默认是“C:\Program Files\IIS Express” ...