35
Counting

Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Embed Size (px)

Citation preview

Page 1: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Counting

Page 2: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Counting in Algorithms

• How many comparisons are needed to sort n numbers?

• How many steps to compute the GCD of two numbers ?

• How many steps to factor an integer?

Page 3: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

• How many different configurations for a Rubik’s cube?

• How many weighings to find the one counterfeit among 12 coins?

• How many different chess positions after n moves?

Counting in Games

Page 4: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

If sets A and B are disjoint, then |A B| = |A| + |B|

A B

Sum Rule

• Class has 43 women, 54 men, so total enrollment = 43 + 54 = 97

• 26 lower case letters, 26 upper case letters, and 10 digits, so total characters = 26+26+10 = 62

Page 5: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Given two sets A and B, the Cartisean product

Product Rule

If |A| = m and |B| = n, then

|A B| = mn.

A = {a, b, c, d}, B = {1, 2, 3}

A B = {(a,1),(a,2),(a,3),

(b,1),(b,2),(b,3),

(c,1),(c,2),(c,3),

(d,1),(d,2),(d,3) }

If there are 4 men and 3 women, there are

possible married couples.4 13 2

Page 6: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Product Rule: Counting Strings

The number of length-4 strings from alphabet B ::= {0,1}

= |B B B B|

= 2 · 2 · 2 · 2 = 24

The number of length-n strings from an alphabet of size m ismn.

Page 7: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

• between 6 & 8 characters long

• starts with a letter

• case sensitive

• other characters: digits or letters

How many passwords satisfy the following requirements?

Example: Counting Passwords

L ::= {a,b,…,z,A,B,…,Z}

D ::= {0,1,…,9}

Page 8: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example: Counting Passwords

Page 9: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

At Least One Seven

How many # 4-digit numbers with at least one 7?

Page 10: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Defective Dollars

A dollar is defective if some digit appears

more than once in the 6-digit serial

number.

How common are nondefective dollars?

Page 11: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Defective Dollars

How common are nondefective dollars?

Page 12: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Generalized Product Rule

Q a set of length-k sequences. If there are:

n1 possible 1st elements in sequences,

n2 possible 2nd elements for each first entry,

n3 possible 3rd elements for each 1st & 2nd,

then,|Q| = n1 · n2 · n3 · … · nk

Page 13: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example

How many four-digit integers are divisible by 5?

Page 14: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Permutations

A permutation of a set S is a sequence that

contains every element of S exactly once.

For example, here are all six permutations of the set {a, b,

c}:

(a, b, c) (a, c, b) (b, a, c)

(b, c, a) (c, a, b) (c, b, a)

How many permutations of an n-element set are there?

Page 15: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

How many permutations of an n-element set are there?

Permutations

nn

n! 2πne

~Stirling’s formula:

Page 16: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

How many subsets of r elements of an n-element set?

Combinations

Page 17: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

How many subsets of r elements of an n-element set?

Combinations

Page 18: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Poker Hands

There are 52 cards in a deck.

Each card has a suit and a value.

4 suits (♠ ♥ ♦ ♣)

13 values (2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A)

Five-Card Draw is a card game in which each player

is initially dealt a hand, a subset of 5 cards.

How many different hands?

Page 19: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example 1: Four of a Kind

A Four-of-a-Kind is a set of four cards with the same value.

How many different hands contain a Four-of-a-Kind?

Page 20: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example 2: Full House

A Full House is a hand with three cards of one value and two cards of another value.

How many different hands contain a Full House?

Page 21: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example 3: Two Pairs

How many hands have Two Pairs; that is,

two cards of one value, two cards of another

value, and one card of a third value?

Page 22: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Example 4: Every Suit

How many hands contain at least one card from every suit?

Page 23: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Binomial Theorem

Page 24: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Binomial Theorem

Page 25: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Proving Identities

Page 26: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Finding a Combinatorial Proof

A combinatorial proof is an argument that establishes

an algebraic fact by relying on counting principles.

Many such proofs follow the same basic outline:

1. Define a set S.

2. Show that |S| = n by counting one way.

3. Show that |S| = m by counting another way.

4. Conclude that n = m.

Page 27: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Proving Identities

Pascal’s Formula

Page 28: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Combinatorial Proof

Page 29: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

More Combinatorial Proof

Page 30: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

If sets A and B are disjoint, then |A B| = |A| + |B|

A B

What if A and B are not disjoint?

Sum Rule

Page 31: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

For two arbitrary sets A and B

|||||||| BABABA

A B

Inclusion-Exclusion (2 sets)

Page 32: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Inclusion-Exclusion (2 sets)

How many integers from 1 through 1000 are multiples of 3 or multiples of 5?

Page 33: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

A B

C

|A B C| = |A| + |B| + |C|

– |A B| – |A C| – |B C|

+ |A B C|

Inclusion-Exclusion (3 sets)

Page 34: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

Inclusion-Exclusion (3 sets)

From a total of 50 students: 30 know Java 18 know C++26 know C#9 know both Java and C++16 know both Java and C#8 know both C++ and C#47 know at least one language.

How many know none?

How many know all?

Page 35: Counting. Counting in Algorithms How many comparisons are needed to sort n numbers? How many steps to compute the GCD of two numbers ? How many steps

sum of sizes of all single sets– sum of sizes of all 2-set intersections+ sum of sizes of all 3-set intersections– sum of sizes of all 4-set intersections…+ (–1)n+1 × sum of sizes of intersections of all n

sets

1 2 nA A A

1

1,2, ,1

( 1)n

ki

S nk i S

S k

A

Inclusion-Exclusion (n sets)