随机算法 (Fall 2011) and Graham's number: Difference between pages

From TCS Wiki
(Difference between pages)
Jump to navigation Jump to search
imported>Etone
 
imported>Zabshk
(Reverted vandalism.)
 
Line 1: Line 1:
{{Infobox
{{Orphan|date=December 2010}}
|name        = Infobox
'''Graham's number''' is a very, very big [[natural number]] that was defined by a man named Ronald Graham. Graham was solving a problem in an area of mathematics called [[Ramsey theory]]. He proved that the answer to his problem was smaller than Graham's number.
|bodystyle    =  
|title        = <font size=3>随机算法
<br>Randomized Algorithms</font>
|titlestyle  =


|image        =
Graham's number is one of the biggest numbers ever used in a [[mathematical proof]]. Even if every digit in Graham's number were written in the tiniest writing possible, it would still be too big to fit in the [[observable universe]].
|imagestyle  =
|caption      =
|captionstyle =
|headerstyle  = background:#ccf;
|labelstyle  = background:#ddf;
|datastyle    =


|header1 =Instructor
==Context==
|label1  =  
|data1  =  
|header2 =  
|label2  =
|data2  = 尹一通
|header3 =
|label3  = Email
|data3  = yitong.yin@gmail.com  yinyt@nju.edu.cn 
|header4 =
|label4= office
|data4= 计算机系 804
|header5 = Class
|label5  =
|data5  =
|header6 =
|label6  = Class meetings
|data6  = Monday, 10am-12pm <br> 仙逸C-420
|header7 =
|label7  = Place
|data7  =
|header8 =
|label8  = Office hours
|data8  = Wednesday, 2-5pm <br>计算机系 804
|header9 = Textbooks
|label9  =
|data9  =
|header10 =
|label10  =
|data10  =
{{Infobox
|name        =
|bodystyle  =
|title        =
|titlestyle  =
|image        = [[File:MR-randomized-algorithms.png|border|100px]]
|imagestyle  =
|caption      = ''Randomized Algorithms'',<br>Motwani and Raghavan, Cambridge Univ Press, 1995.
|captionstyle =
}}
|header11 =
|label11  =
|data11  =
{{Infobox
|name        =
|bodystyle  =
|title        =
|titlestyle  =
|image        = [[File:Probability_and_Computing.png|border|100px]]
|imagestyle  =
|caption      = ''Probability and Computing: Randomized Algorithms and Probabilistic Analysis'', Mitzenmacher and Upfal, Cambridge Univ Press, 2005.
|captionstyle =
}}
|belowstyle = background:#ddf;
|below =
}}


This is the page for the class ''Randomized Algorithms'' for the Fall 2011 semester. Students who take this class should check this page periodically for content updates and new announcements.
Ramsey theory is an area of mathematics that asks questions like the following:


= Announcement =
{{quote|<p>Suppose we draw some number of points, and connect every pair of points by a line. Some lines are blue and some are red. Can we always find 3 points for which the 3 lines connecting them are all the same color?}}
* (09/19/2011) <font size=3 color=red>第一次作业发布,在Assignments部分。下周一9月26日上课时交。</font>
* 由于有事需要外出,9月14日星期三下午的office hour改在9月13日下午。
* 第一次课的slides已发布,见lecture notes部分。以后每节课slides的链接都会在那一课的题目后面。


= Course info =
It turns out that for this simple problem, the answer is "yes" when we have 6 or more points, no matter how the lines are colored. But when we have 5 points or fewer, we can color the lines so that the answer is "no".
* '''Instructor ''': 尹一通,
:*email: yitong.yin@gmail.com, yinyt@nju.edu.cn
:*office: 计算机系 804.
* '''Class meeting''': Monday 10am-12pm, 仙逸C-420.
* '''Office hour''': Wednesday 2-5pm, 计算机系 804.


= Syllabus =
Graham's number comes from a variation on this question.
随机化(randomization)是现代计算机科学最重要的方法之一,近二十年来被广泛的应用于计算机科学的各个领域。在这些应用的背后,是一些共通的随机化原理。在随机算法这门课程中,我们将用数学的语言描述这些原理,将会介绍以下内容:
* 一些重要的随机算法的设计思想和理论分析;
* 概率论工具及其在算法分析中的应用,包括常用的概率不等式,以及数学证明的概率方法 (the probabilistic method);
* 随机算法的概率模型,包括典型的随机算法模型,以及概率复杂度模型。
作为一门理论课程,这门课的内容偏重数学上的分析和证明。这么做的目的不单纯是为了追求严格性,而是因为用更聪明的方法去解决问题往往需要具备有一定深度的数学思维和数学洞察力。


=== 先修课程 Prerequisites ===
{{quote|<p>Once again, say we have some points, but now they are the corners of an ''n''-dimensional [[hypercube]]. They are still all connected by blue and red lines. For any 4 points, there are 6 lines connecting them. Can we find 4 points that all lie on one [[Plane (mathematics)|plane]], and the 6 lines connecting them are all the same color?}}
* 必须:离散数学,概率论,线性代数。
* 推荐:算法设计与分析。


=== Course materials ===
By asking that the 4 points lie on a plane, we have made the problem much harder. We would like to know: for what values of ''n'' is the answer "no" (for some way of coloring the lines), and for what values of ''n'' is it "yes" (for all ways of coloring the lines)? But this problem has not been completely solved yet.
* [[随机算法 (Fall 2011)/Course materials|教材和参考书]]


=== 成绩 Grades ===
In 1971, Ronald Graham and B. L. Rothschild found a partial answer to this problem. They showed that for ''n''=6, the answer is "no". But when ''n'' is very large, as large as Graham's number or larger, the answer is "yes".
* 课程成绩:本课程将会有六次作业和一次期末考试。最终成绩将由平时作业成绩和期末考试成绩综合得出。
* 迟交:如果有特殊的理由,无法按时完成作业,请提前联系授课老师,给出正当理由。否则迟交的作业将不被接受。


=== <font color=red> 学术诚信 Academic Integrity </font>===
One of the reasons this partial answer is important is that it means that the answer is eventually "yes" for at least some large ''n''. Before 1971, we didn't know even that much.
学术诚信是所有从事学术活动的学生和学者最基本的职业道德底线,本课程将不遗余力的维护学术诚信规范,违反这一底线的行为将不会被容忍。


作业完成的原则:署你名字的工作必须由你完成。允许讨论,但作业必须独立完成,并在作业中列出所有参与讨论的人。不允许其他任何形式的合作——尤其是与已经完成作业的同学“讨论”。
==Definition==


本课程将对剽窃行为采取零容忍的态度。在完成作业过程中,对他人工作(出版物、互联网资料、其他人的作业等)直接的文本抄袭和对关键思想、关键元素的抄袭,按照 [http://www.acm.org/publications/policies/plagiarism_policy ACM Policy on Plagiarism]的解释,都将视为剽窃。剽窃者成绩将被取消。如果发现互相抄袭行为,<font color=red> 抄袭和被抄袭双方的成绩都将被取消</font>。因此请主动防止自己的作业被他人抄袭。
Graham's number is not only too big to write down all of its digits, it is too big even to write in [[scientific notation]]. In order to be able to write it down, we have to use [[Knuth's up-arrow notation]].


学术诚信影响学生个人的品行,也关乎整个教育系统的正常运转。为了一点分数而做出学术不端的行为,不仅使自己沦为一个欺骗者,也使他人的诚实努力失去意义。让我们一起努力维护一个诚信的环境。
We will write down a [[sequence]] of numbers that we will call '''g1''', '''g2''', '''g3''', and so on. Each one will be used in an equation to find the next. '''g64 is''' Graham's number.


= Assignments =
First, here are some examples of up-arrows:
* (2011/09/19) [[随机算法 (Fall 2011)/Problem set 1|Problem set 1]] due on Sept 26, in class.


= Lecture Notes =
* <math>3\uparrow3</math> is 3x3x3 which equals 27. An arrow between two numbers just means the first number multiplied by itself the second number of times.
# Introduction  | [ftp://tcs.nju.edu.cn/slides/random2011/random1.pdf slides]
* You can think of <math>3 \uparrow \uparrow 3</math> as <math>3 \uparrow (3 \uparrow 3)</math> because two arrows between numbers A and B just means A written down a B number of times with an arrow in between each A. Because we know what single arrows are, <math>3\uparrow(3\uparrow3)</math> is 3 multiplied by itself <math>3\uparrow3</math> times and we know <math>3\uparrow3
#* [[随机算法 (Fall 2011)/Randomized Algorithms: an Introduction|Randomized Algorithms: an Introduction]]
</math> is twenty-seven. So <math>3\uparrow\uparrow3</math> is 3x3x3x3x....x3x3, in total 27 times. That equals 7625597484987.  
#*[[随机算法 (Fall 2011)/Complexity Classes|Complexity Classes]]
* <math>3 \uparrow \uparrow \uparrow 3</math> is <math>3 \uparrow \uparrow (3 \uparrow \uparrow 3)</math> and we know <math>3\uparrow\uparrow3</math> is 7625597484987. So <math>3\uparrow\uparrow(3\uparrow\uparrow3)</math> is <math>3\uparrow \uparrow 7625597484987</math>. That can also be written as <math>3\uparrow(3\uparrow(3\uparrow(3\uparrow . . .(3\uparrow(3\uparrow(3\uparrow3)</math> with a total of 7625597484987 3s. This number is so huge, its digits, even written very small, could fill up the observable universe and beyond.
# Probability Basics |  [ftp://tcs.nju.edu.cn/slides/random2011/random2.pdf slides]
** Although this number may already be beyond comprehension, this is barely the start of  this giant number.
#* [[随机算法 (Fall 2011)/Probability Space|Probability Space]]
* The next step like this is <math>3 \uparrow \uparrow \uparrow \uparrow 3</math> or <math>3 \uparrow \uparrow \uparrow (3 \uparrow \uparrow \uparrow 3)</math>. This is the number we will call '''g1'''.
#* [[随机算法 (Fall 2011)/Verifying Matrix Multiplication|Verifying Matrix Multiplication]]
#* [[随机算法 (Fall 2011)/Conditional Probability|Conditional Probability]]
#* [[随机算法 (Fall 2011)/Randomized Min-Cut|Randomized Min-Cut]]
#* [[随机算法 (Fall 2011)/Random Variables and Expectations|Random Variables and Expectations]]
#* [[随机算法 (Fall 2011)/Randomized Quicksort|Randomized Quicksort]]
# Balls and Bins  [ftp://tcs.nju.edu.cn/slides/random2011/random3.pdf slides]
#* [[随机算法 (Fall 2011)/Distributions of Coin Flipping|Distributions of Coin Flipping]]
#* [[随机算法 (Fall 2011)/Birthday Problem|Birthday Problem]]
#* [[随机算法 (Fall 2011)/Coupon Collector|Coupon Collector]]
#* [[随机算法 (Fall 2011)/Balls-into-balls Occupancy Problem|Balls-into-balls Occupancy Problem]]
#* [[随机算法 (Fall 2011)/Bloom Filter|Bloom Filter]]
#* [[随机算法 (Fall 2011)/Stable Marriage|Stable Marriage]]
# Moment and Deviation [ftp://tcs.nju.edu.cn/slides/random2011/random4.pdf slides]
#* [[随机算法 (Fall 2011)/Markov's Inequality|Markov's Inequality]]
#* [[随机算法 (Fall 2011)/Chebyshev's Inequality|Chebyshev's Inequality]]
#* [[随机算法 (Fall 2011)/Median Selection|Median Selection]]
#* [[随机算法 (Fall 2011)/Random Graphs|Random Graphs]]
# Chernoff Bound
#* [[随机算法 (Fall 2011)/Chernoff Bound|Chernoff Bound]]
#* [[随机算法 (Fall 2011)/Set Balancing|Set Balancing]]
#* [[随机算法 (Fall 2011)/DNF Counting|DNF Counting]]
#* [[随机算法 (Fall 2011)/Routing in a Parallel Network|Routing in a Parallel Network]]
# Concentration of Measure
#* [[随机算法 (Fall 2011)/Martingales|Martingales]]
#* [[随机算法 (Fall 2011)/Azuma's Inequality|Azuma's Inequality]]
#* [[随机算法 (Fall 2011)/The Method of Bounded Differences|The Method of Bounded Differences]]
# Dimension Reduction
#* [[随机算法 (Fall 2011)/Johnson-Lindenstrauss Theorem|Johnson-Lindenstrauss Theorem]]
#* [[随机算法 (Fall 2011)/Locality Sensitive Hashing|Locality Sensitive Hashing]]
# The Probabilistic Method
#* [[随机算法 (Fall 2011)/The Probabilistic Method|The Probabilistic Method]]
#* [[随机算法 (Fall 2011)/Derandomization: Conditional Expectation|Derandomization: Conditional Expectation]]
#* [[随机算法 (Fall 2011)/Lovász Local Lemma|Lovász Local Lemma]]
#* [[随机算法 (Fall 2011)/Derandomization: Color-coding|Derandomization: Color-coding]]
# Approximation Algorithms, On-line Algorithms
#* [[随机算法 (Fall 2011)/Max-SAT|Max-SAT]]
#* [[随机算法 (Fall 2011)/Linear Programming|Linear Programming]]
#* [[随机算法 (Fall 2011)/Randomized Rounding|Randomized Rounding]]
#* [[随机算法 (Fall 2011)/On-line Algorithms|On-line Algorithms]]
# Markov Chain and Random Walk
#* [[随机算法 (Fall 2011)/Markov Chains|Markov Chains]]
#* [[随机算法 (Fall 2011)/Random Walks on Undirected Graphs|Random Walks on Undirected Graphs]]
#* [[随机算法 (Fall 2011)/Electrical Network|Electrical Network]]
#* [[随机算法 (Fall 2011)/Cover Time|Cover Time]]
#* [[随机算法 (Fall 2011)/Graph Connectivity|Graph Connectivity]]
# Random Walk Algorithms
#* [[随机算法 (Fall 2011)/Randomized 2SAT|Randomized 2SAT]]
#* [[随机算法 (Fall 2011)/Randomized 3SAT|Randomized 3SAT]]
#* [[随机算法 (Fall 2011)/Perfect Matching in Regular Bipartite Graph|Perfect Matching in Regular Bipartite Graph]]
#* [[随机算法 (Fall 2011)/The Metropolis Algorithm|The Metropolis Algorithm]]
#* [[随机算法 (Fall 2011)/Dynamics on Spins|Dynamics on Spins]]
# Coupling and Mixing Time
#* [[随机算法 (Fall 2011)/Mixing Time|Mixing Time]]
#* [[随机算法 (Fall 2011)/Coupling|Coupling]]
#* [[随机算法 (Fall 2011)/Card Shuffling|Card Shuffling]]
#* [[随机算法 (Fall 2011)/Path Coupling|Path Coupling]]
#* [[随机算法 (Fall 2011)/Graph Coloring|Graph Coloring]]
# Expander Graphs I
#* [[随机算法 (Fall 2011)/Expander Graphs|Expander Graphs]]
#* [[随机算法 (Fall 2011)/Graph Spectrum|Graph Spectrum]]
#* [[随机算法 (Fall 2011)/The Spectral Gap|The Spectral Gap]]
#* [[随机算法 (Fall 2011)/Random Walk on Expander Graph|Random Walk on Expander Graph]]
# Expander Graphs II
#* [[随机算法 (Fall 2011)/Expander Mixing Lemma|Expander Mixing Lemma]]
#* [[随机算法 (Fall 2011)/Chernoff Bound for Expander Walks|Chernoff Bound for Expander Walks]]
#* [[随机算法 (Fall 2011)/The Zig-Zag Product|The Zig-Zag Product]]
#* [[随机算法 (Fall 2011)/USTCON in LOGSPACE|USTCON in LOGSPACE]]
# Sampling and Counting
#* [[随机算法 (Fall 2011)/The #P Class and Approximation|The #P Class and Approximation]]
#* [[随机算法 (Fall 2011)/DNF Counting|DNF Counting]]
#* [[随机算法 (Fall 2011)/Canonical Paths|Canonical Paths]]
#* [[随机算法 (Fall 2011)/Count Matchings|Count Matchings]]
#* [[随机算法 (Fall 2011)/Sampling and Counting|Sampling and Counting]]
# Markov Chain Monte Carlo (MCMC)
#* [[随机算法 (Fall 2011)/Spin Systems|Spin Systems]]
#* [[随机算法 (Fall 2011)/Simulated Annealing|Simulated Annealing]]
#* [[随机算法 (Fall 2011)/Volume Estimation|Volume Estimation]]
# Complexity


= The Probability Theory Toolkit =
After that, '''g2''' is equal to <math>3\uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow 3</math>; the number of arrows in this number is '''g1'''.
* [http://en.wikipedia.org/wiki/Expected_value#Linearity Linearity of expectation]
 
* [http://en.wikipedia.org/wiki/Independence_(probability_theory)#Independent_events Independent events] and [http://en.wikipedia.org/wiki/Conditional_independence conditional independence]
'''g3''' is equal to <math>3\uparrow \uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow \uparrow 3</math>, where the number of arrows is '''g2'''.
* [http://en.wikipedia.org/wiki/Conditional_probability Conditional probability] and [http://en.wikipedia.org/wiki/Conditional_expectation conditional expectation]
 
* The [http://en.wikipedia.org/wiki/Law_of_total_probability law of total probability] and the [http://en.wikipedia.org/wiki/Law_of_total_expectation law of total expectation]
We keep going in this way. We stop when we define '''g64''' to be <math>3\uparrow \uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow \uparrow 3</math>, where the number of arrows is '''g63'''.
* The [http://en.wikipedia.org/wiki/Boole's_inequality union bound]
 
* [http://en.wikipedia.org/wiki/Bernoulli_trial Bernoulli trials]
This is Graham's number.
* [http://en.wikipedia.org/wiki/Geometric_distribution Geometric distribution]
 
* [http://en.wikipedia.org/wiki/Binomial_distribution Binomial distribution]
==Related pages==
* [http://en.wikipedia.org/wiki/Markov's_inequality Markov's inequality]
* [[Knuth's up-arrow notation]]
* [http://en.wikipedia.org/wiki/Chebyshev's_inequality Chebyshev's inequality]
 
* [http://en.wikipedia.org/wiki/Chernoff_bound Chernoff bound]
[[Category:Mathematics]]
* [http://en.wikipedia.org/wiki/Pairwise_independence k-wise independence]
[[Category:Hyperoperations]]
* [http://en.wikipedia.org/wiki/Martingale_(probability_theory) Martingale]
[[Category:Integers]]
* [http://en.wikipedia.org/wiki/Azuma's_inequality Azuma's inequality] and [http://en.wikipedia.org/wiki/Hoeffding's_inequality Hoeffding's inequality]
* [http://en.wikipedia.org/wiki/Doob_martingale Doob martingale]  
* The [http://en.wikipedia.org/wiki/Probabilistic_method  probabilistic method]
* The [http://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma  Lovász local lemma]  and the [http://en.wikipedia.org/wiki/Algorithmic_Lov%C3%A1sz_local_lemma algorithmic Lovász local lemma]  
* [http://en.wikipedia.org/wiki/Markov_chain Markov chain]:
::[http://en.wikipedia.org/wiki/Markov_chain#Reducibility reducibility], [http://en.wikipedia.org/wiki/Markov_chain#Periodicity Periodicity], [http://en.wikipedia.org/wiki/Markov_chain#Steady-state_analysis_and_limiting_distributions stationary distribution], [http://en.wikipedia.org/wiki/Hitting_time hitting time], cover time;
::[http://en.wikipedia.org/wiki/Markov_chain_mixing_time mixing time], [http://en.wikipedia.org/wiki/Conductance_(probability) conductance]

Latest revision as of 20:06, 6 April 2017

Template:Orphan Graham's number is a very, very big natural number that was defined by a man named Ronald Graham. Graham was solving a problem in an area of mathematics called Ramsey theory. He proved that the answer to his problem was smaller than Graham's number.

Graham's number is one of the biggest numbers ever used in a mathematical proof. Even if every digit in Graham's number were written in the tiniest writing possible, it would still be too big to fit in the observable universe.

Context

Ramsey theory is an area of mathematics that asks questions like the following:

Template:Quote

It turns out that for this simple problem, the answer is "yes" when we have 6 or more points, no matter how the lines are colored. But when we have 5 points or fewer, we can color the lines so that the answer is "no".

Graham's number comes from a variation on this question.

Template:Quote

By asking that the 4 points lie on a plane, we have made the problem much harder. We would like to know: for what values of n is the answer "no" (for some way of coloring the lines), and for what values of n is it "yes" (for all ways of coloring the lines)? But this problem has not been completely solved yet.

In 1971, Ronald Graham and B. L. Rothschild found a partial answer to this problem. They showed that for n=6, the answer is "no". But when n is very large, as large as Graham's number or larger, the answer is "yes".

One of the reasons this partial answer is important is that it means that the answer is eventually "yes" for at least some large n. Before 1971, we didn't know even that much.

Definition

Graham's number is not only too big to write down all of its digits, it is too big even to write in scientific notation. In order to be able to write it down, we have to use Knuth's up-arrow notation.

We will write down a sequence of numbers that we will call g1, g2, g3, and so on. Each one will be used in an equation to find the next. g64 is Graham's number.

First, here are some examples of up-arrows:

  • [math]\displaystyle{ 3\uparrow3 }[/math] is 3x3x3 which equals 27. An arrow between two numbers just means the first number multiplied by itself the second number of times.
  • You can think of [math]\displaystyle{ 3 \uparrow \uparrow 3 }[/math] as [math]\displaystyle{ 3 \uparrow (3 \uparrow 3) }[/math] because two arrows between numbers A and B just means A written down a B number of times with an arrow in between each A. Because we know what single arrows are, [math]\displaystyle{ 3\uparrow(3\uparrow3) }[/math] is 3 multiplied by itself [math]\displaystyle{ 3\uparrow3 }[/math] times and we know [math]\displaystyle{ 3\uparrow3 }[/math] is twenty-seven. So [math]\displaystyle{ 3\uparrow\uparrow3 }[/math] is 3x3x3x3x....x3x3, in total 27 times. That equals 7625597484987.
  • [math]\displaystyle{ 3 \uparrow \uparrow \uparrow 3 }[/math] is [math]\displaystyle{ 3 \uparrow \uparrow (3 \uparrow \uparrow 3) }[/math] and we know [math]\displaystyle{ 3\uparrow\uparrow3 }[/math] is 7625597484987. So [math]\displaystyle{ 3\uparrow\uparrow(3\uparrow\uparrow3) }[/math] is [math]\displaystyle{ 3\uparrow \uparrow 7625597484987 }[/math]. That can also be written as [math]\displaystyle{ 3\uparrow(3\uparrow(3\uparrow(3\uparrow . . .(3\uparrow(3\uparrow(3\uparrow3) }[/math] with a total of 7625597484987 3s. This number is so huge, its digits, even written very small, could fill up the observable universe and beyond.
    • Although this number may already be beyond comprehension, this is barely the start of this giant number.
  • The next step like this is [math]\displaystyle{ 3 \uparrow \uparrow \uparrow \uparrow 3 }[/math] or [math]\displaystyle{ 3 \uparrow \uparrow \uparrow (3 \uparrow \uparrow \uparrow 3) }[/math]. This is the number we will call g1.

After that, g2 is equal to [math]\displaystyle{ 3\uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow 3 }[/math]; the number of arrows in this number is g1.

g3 is equal to [math]\displaystyle{ 3\uparrow \uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow \uparrow 3 }[/math], where the number of arrows is g2.

We keep going in this way. We stop when we define g64 to be [math]\displaystyle{ 3\uparrow \uparrow \uparrow \uparrow \uparrow \ldots \uparrow \uparrow \uparrow \uparrow \uparrow 3 }[/math], where the number of arrows is g63.

This is Graham's number.

Related pages