- 68 Views
- Uploaded on
- Presentation posted in: General

CS1022 Computer Programming & Principles

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

CS1022Computer Programming & Principles

Lecture 3.1

Set Theory (1)

- Why set theory?
- Sets and their properties
- Membership and definition of sets
- “Famous” sets
- Types of variables and sets
- Sets and subsets
- Venn diagrams
- Set operations

CS1022

- Set theory is a cornerstone of mathematics
- Provides a convenient notation for many concepts in computing such as lists, arrays, etc. and how to process these

CS1022

- A set is
- A collection of objects
- Separated by a comma
- Enclosed in {...} (curly brackets)

- Examples:
- {Edinburgh, Perth, Dundee, Aberdeen, Glasgow}
- {2, 3, 11, 7, 0}
- {CS1015, CS1022, CS1019, SX1009}

- Each object in a set is called an element of the set
- We use italic capital letters to refer to sets:
- C = {2, 3, 11} is the set C containing elements 2, 3 and 11

CS1022

- Talk about arbitrary elements, where each subscript is a different integer:
- {ai, aj, ..., an}

- Talk about systematically going through the set, where each superscript is a different integer:
- {a1i, a2j, ..., a7n}
- {Edinburgh1, Perth2, Dundee3, Aberdeen4, Glasgow5}

CS1022

- The order of elements is irrelevant
- {1, 2, 3} = {3, 2, 1} = {1, 3, 2} = {2, 3, 1}

- There are no repeated elements
- {1, 2, 2, 1, 3, 3} = {1, 2, 3}

- Sets may have an infinite number of elements
- {1, 2, 3, 4, ...} (the “...” means it goes on and on...)
- What about {0, 4, 3, 2, ...}?

CS1022

- Membership of a set
- a S– represents that ais an element of set S
- a S – represents that ais not an element of set S

- For large sets we can use a property (a predicate!) to define its members:
- S = {x : P(x)} – S contains those values for x which satisfy property P
- N = { x : x is an odd positive integer} = {1, 3, 5, ...}

CS1022

- Example: check if an element occurs in a collection

search though

collection by

superscript.

CS1022

- Some sets have a special name and symbol:
- Empty set: has no element, represented as { } or
- Natural numbers: N = {1, 2, 3, ...}
- Integers: Z = {..., -3, -2, -1, 0, 1, 2, 3, ...}
- Rational numbers: Q = {p/q : p, q Z, q 0}
- Real numbers: R = {all decimals}

- N.B.: in some texts/books 0 N

CS1022

- Many modern programming languages require that variables be declared as belonging to a data type
- A data type is a set with a selection of operations on that set
- Example: type “int” in Java has operations +, *, div, etc.

- When we declare the type of a variable we state what set the value of the variable belongs to and the operations that can be applied to it.

CS1022

- Some sets are contained in other sets
- {1, 2, 3} is contained in {1, 2, 3, 4, 5}
- N (natural numbers) is contained in Z (integers)

- Set A is a subset of set B if every element of A is in B
- We represent this as A B
- Formally,
A B if, and only if, x ((x A) (x B))

CS1022

- A diagram to represent sets and how they relate
- A set is represented as an oval, a circle or rectangle
- With or without elements in them

- Venn diagrams show area of interest in grey
- Venn diagram showing a set and a subset

D

C

A

B

3

1

472

2

John Venn

D C

CS1022

- Two sets are equal if they have the same elements
- Formally, A and B are equal if A Band B A
- That is,
x ((x A) (x B)) and y ((y B) (y A))

- We represent this as
A = B

CS1022

- Let A = {n : n2 is an odd integer}
- Let B = {n : n is an odd integer}
- Show that A = B

CS1022

Proof has two parts

- Part 1: all elements of A are elements of B
- Part 2: all elements of B are elements of A

CS1022

- The union of sets A and B is
A B = {x : x Aorx B}

- That is,
- Those elements belonging to Atogether with
- Those elements belonging to Band
- (Possibly) those elements belonging to both A and B
- N.B.: no repeated elements in sets!!

- Examples:
{1, 2, 3, 4} {4, 3, 2, 1} = {1, 2, 3, 4}

{a, b, c} {1, 2} = {a, 1, b, 2, c}

CS1022

- Venn diagram (area of interest in grey)

B

A

A B

CS1022

- The intersection of sets A and B is
A B = {x : x Aandx B}

- That is,
- Only those elements belonging to both AandB

- Examples:
{1, 2, 3, 4} {4, 3, 2, 1} = {1, 2, 3, 4}

{a, b, c} {1, 2} = { } = (empty set)

CS1022

- Venn diagram (area of intersection in darker grey)

A

B

A B

CS1022

- The complement of a set B relative to a set A is
A – B = A \ B = {x : x Aandx B}

- That is,
- Those elements belonging to Aandnot belonging to B

- Examples:
{1, 2, 3, 4} – {4, 3, 2, 1} = { } = (empty set)

{a, b, c} – {1, 2} = {a, b, c}

{1, 2, 3} – {1, 2} = {3}

CS1022

- Venn diagram (area of interest in darker grey)

B

A

A– B

CS1022

- Sometimes we deal with subsets of a large set U
- U is the universal set for a problem

- In our previous Venn diagrams, the outer rectangle is the universal set
- Suppose A is a subset of the universal set U
- Its complement relative to U is U – A
- We represent as U – A = A = {x : x A}

A

CS1022

- Symmetric difference of two sets A and B is
AB = {x : (x Aandx B)or(x Bandx A)}

That is:

- Elements in A and not in Bor
- Elements in B and not in A
Or: elements in A or B, but not in both (grey area)

A

B

CS1022

Let

A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}

Find

- A C
- B C
- A – C
- B C

CS1022

Let

A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}

Find

- A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7}
- B C
- A – C
- B C

CS1022

Let

A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}

Find

- A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7}
- B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4}
- A – C
- B C

CS1022

Let

A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}

Find

- A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7}
- B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4}
- A – C = {1, 3, 5, 7} – {1, 2, 3, 4, 5} = {7}
- B C

CS1022

Let

A = {1, 3, 5, 7} B = {2, 4, 6, 8} C = {1, 2, 3, 4, 5}

Find

- A C = {1, 3, 5, 7} {1, 2, 3, 4, 5} = {1, 2, 3, 4, 5, 7}
- B C = {2, 4, 6, 8} {1, 2, 3, 4, 5} = {2, 4}
- A – C = {1, 3, 5, 7} – {1, 2, 3, 4, 5} = {7}
- B C = (B – C) (C – B) = ({2, 4, 6, 8} – {1, 2, 3, 4, 5}) ({1, 2, 3, 4, 5} – {2, 4, 6, 8}) = {6, 8} {1, 3, 5} = {1, 3, 5, 6, 8}
- N.B.: ordering for better visualisation!

CS1022

- We can build an information model with sets
- “Model” means we don’t care how it is implemented
- Essence: what information is needed

- Example: information model for student record
- NAME = {namei, ...., namen}
- ID = {idi, ...., idn}
- COURSE= {coursei, ...., coursen}
- Student Info:
(namej, idk, courses), where namej NAME, idk ID,and

courses COURSE.

- Student Database is a set of student info:
R = {(bob,345,{CS1022,CS1015}),

(mary,222,{SX1009,CS1022,MA1004}),

(jill,246,{SX1009,CS2013,MA1004}),

(mary,247,{SX1009,CS1022,MA1004}), ...}

CS1022

- R = {(bob,345,{CS1022,CS1015}),
(mary,222,{SX1009,CS1022,MA1004}),

(jill,246,{SX1009,CS2013,MA1004}),

(mary,247,{SX1009,CS1022,MA1004}), ...}

- Query to obtain a class list. Give set C, where:
C= {(N,I) : (N,I,Courses) Rand CS1022 Courses}

= {(bob,345), (mary,222), (mary,247), ...}

CS1022

You should now know:

- What sets are and how to represent them
- Venn diagrams
- Operations with sets
- How to build information models with sets and how to operate with this model

CS1022

- R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd. 2002. (Chapter 3)
- Wikipedia’s entry
- Wikibooks entry

CS1022