University of Hawaii
ICS141:
Discrete Mathematics for
Computer Science I
Dept. Information & Computer Sci., University of Hawaii
Jan Stelovsky
based on slides by Dr. Baek and Dr. Still
Originals by Dr. M. P. Frank and Dr. J.L. Gross
Provided by McGraw-Hill
ICS 141: Discrete Mathematics I – Fall 2011 10-1
University of Hawaii
Lecture 10
Chapter 2. Basic Structures
2.3 Functions
ICS 141: Discrete Mathematics I – Fall 2011 10-2
2.3 Functions
University of Hawaii
n From calculus, you are familiar with the
concept of a real-valued function f,
which assigns to each number x∈R a value
y = f(x), where y∈R.
n But, the notion of a function can also be
naturally generalized to the concept of
assigning elements of any set to elements of
any set. (Also known as a map.)
ICS 141: Discrete Mathematics I – Fall 2011 10-3
Function: Formal Definition
University of Hawaii
n For any sets A and B, we say that a function
(or “mapping”) f from A to B (f : A → B) is a
particular assignment of exactly one element
f(x)∈B to each element x∈A.
n Functions can be represented graphically in
several ways:
f
A B
• • y
a• •b • •
f • •
•
A •
B • x
Like Venn diagrams Bipartite Graph Plot
ICS 141: Discrete Mathematics I – Fall 2011 10-4
Some Function Terminology
University of Hawaii
n If it is written that f : A → B, and f(a) = b
(where a∈A and b∈B), then we say:
n A is the domain of f
n B is the codomain of f
n b is the image of a under f
n a can not have more than 1 image
n a is a pre-image of b under f
n b may have more than 1 pre-image
n The range R⊆B of f is R = {b | ∃a f(a) = b }
ICS 141: Discrete Mathematics I – Fall 2011 10-5
Range versus Codomain
University of Hawaii
n The range of a function might not be its whole
codomain.
n The codomain is the set that the function is
declared to map all domain values into.
n The range is the particular set of values in the
codomain that the function actually maps
elements of the domain to.
ICS 141: Discrete Mathematics I – Fall 2011 10-6
Range vs. Codomain: Example
University of Hawaii
n Suppose I declare that: “f is a function
mapping students in this class to the set of
grades {A, B, C, D, F}.”
n At this point, you know f ’s codomain is:
unknown!
{A, B, C, D, F} and its range is _________
____________,
n Suppose the grades turn out all As and Bs.
n {A, B} but its
Then the range of f is ______,
still {A, B, C, D, F}!
codomain is ________________
ICS 141: Discrete Mathematics I – Fall 2011 10-7
Function Operators
University of Hawaii
n + , × (“plus”,“times”) are binary operators
over R. (Normal addition & multiplication.)
n Therefore, we can also add and multiply two
real-valued functions f,g: R → R:
n (f + g): R → R, where (f + g)(x) = f(x) + g(x)
n (fg): R → R, where (fg)(x) = f(x)g(x)
n Example 6:
Let f and g be functions from R to R
such that f(x) = x2 and g(x) = x – x2.
What are the functions f + g and fg?
ICS 141: Discrete Mathematics I – Fall 2011 10-8
Function Composition Operator
University of Hawaii
Note the match here. It’s necessary!
n For functions g: A → B and f : B → C, there is a
special operator called compose (“◦”).
n It composes (creates) a new function from f and
g by applying f to the result of applying g.
n We say (f ◦ g): A → C, where (f ◦ g)(a) = f(g(a)).
n Note: f ◦ g cannot be defined unless range of g
is a subset of the domain of f.
n Note g(a)∈B, so f(g(a)) is defined and ∈C.
n Note that ◦ is non-commuting. (Like Cartesian ×,
but unlike +, ∧, ∪) (Generally, f ◦ g ≠ g ◦ f.)
ICS 141: Discrete Mathematics I – Fall 2011 10-9
Function Composition University of Hawaii
Illustration
n g: A → B, f : B → C
ICS 141: Discrete Mathematics I – Fall 2011 10-10
Function Composition: University of Hawaii
Example
n g: A → B, f : B → C
ICS 141: Discrete Mathematics I – Fall 2011 10-11
Function Composition: University of Hawaii
Example
n Example 20: Let g: {a, b, c} → {a, b, c} such that
g(a) = b, g(b) = c, g(c) = a.
Let f : {a, b, c} → {1, 2, 3} such that
f(a) = 3, f(b) = 2, f(c) = 1.
What is the composition of f and g, and what
is the composition of g and f ?
n f◦g: {a, b, c} → {1, 2, 3} such that
(f◦g)(a) = 2, (f◦g)(b) = 1, (f◦g)(c) = 3.
(f◦g)(a) = f(g(a)) = f(b) = 2
(f◦g)(b) = f(g(b)) = f(c) = 1
(f◦g)(c) = f(g(c)) = f(a) = 3
n g◦f is not defined (why?)
ICS 141: Discrete Mathematics I – Fall 2011 10-12
Function Composition: University of Hawaii
Example
n If f(x) = x2 and g(x) = 2x + 1, then what is the
composition of f and g, and what is the
composition of g and f ?
n (f◦g)(x) = f(g(x))
= f(2x+1)
= (2x+1)2
(g◦f)(x) = g(f(x))
n
= g(x2)
= 2x2 + 1
Note that f◦g ≠ g◦f. (4x2+4x+1 ≠ 2x2+1)
ICS 141: Discrete Mathematics I – Fall 2011 10-13
Images of Sets under Functions
University of Hawaii
n Given f : A → B, and S⊆A,
n The image of S under f is simply the set of all
images (under f) of the elements of S.
f(S) = {f(t) | t∈S}
= {b | ∃t∈S: f(t) = b}.
n Note the range of f can be defined as simply
the image (under f) of f ’s domain.
ICS 141: Discrete Mathematics I – Fall 2011 10-14
One-to-One Functions
University of Hawaii
n A function f is one-to-one (1–1), or injective,
or an injection, iff f(a) = f(b) implies that a = b
for all a and b in the domain of f (i.e. every
element of its range has only 1 pre-image).
n Formally, given f : A→B,
“f is injective”: ∀a,b (f(a) = f(b) → a = b) or
equivalently ∀a,b (a ≠ b → f(a) ≠ f(b))
n Only one element of the domain is mapped to
any given one element of the range.
n Domain & range have the same cardinality.
What about codomain?
ICS 141: Discrete Mathematics I – Fall 2011 10-15
One-to-One Illustration
University of Hawaii
n Bipartite (2-part) graph representations of
functions that are (or not) one-to-one:
• • • • • •
• • • •
• •
• • •
• • •
• • •
• • •
• • •
One-to-one Not one-to-one Not even a function!
n Example 8:
Is the function f : {a, b, c, d} → {1, 2, 3, 4, 5} with
f(a) = 4, f(b) = 5, f(c) = 1, and f(d) = 3 one-to-one?
n Example 9:
Let f : Z → Z such that f(x) = x2. Is f one-to-one?
ICS 141: Discrete Mathematics I – Fall 2011 10-16
Sufficient Conditions for University of Hawaii
1–1ness
n For functions f over numbers, we say:
n f is strictly (or monotonically) increasing
iff x > y → f(x) > f(y) for all x, y in domain;
n f is strictly (or monotonically) decreasing
iff x > y → f(x) < f(y) for all x, y in domain;
n If f is either strictly increasing or strictly
decreasing, then f is one-to-one.
n E.g. x3
ICS 141: Discrete Mathematics I – Fall 2011 10-17
Onto (Surjective) Functions
University of Hawaii
n A function f : A → B is onto or surjective or a
surjection iff for every element b∈B there is
an element a∈A with f(a) = b (∀b∈B, ∃a∈A: f
(a) = b) (i.e. its range is equal to its
codomain).
n Think: An onto function maps the set A onto
(over, covering) the entirety of the set B, not
just over a piece of it.
n E.g., for domain & codomain R, x3 is onto,
whereas x2 isn’t. (Why not?)
ICS 141: Discrete Mathematics I – Fall 2011 10-18
Illustration of Onto
University of Hawaii
n Some functions that are, or are not, onto their
codomains:
n Example13: Is the function f(x) = x + 1 from
the set of integers to the set of integers onto?
ICS 141: Discrete Mathematics I – Fall 2011 10-19
Bijections and Inverse Function
University of Hawaii
n A function f is said to be a one-to-one
correspondence, or a bijection, or reversible, or
invertible, iff it is both one-to-one and onto.
n Let f : A → B be a bijection.
The inverse function of f is the function that
assigns to an element b∈B the unique element
a∈A such that f(a) = b.
The inverse function of f is denoted by f -1: B → A.
Hence, f -1(b) = a when f(a) = b.
ICS 141: Discrete Mathematics I – Fall 2011 10-20
Inverse Function Illustration
University of Hawaii
n Let f: A → B be a bijection
n Example 16: Let f : {a, b, c} → {1, 2, 3} such that
f(a) = 2, f(b) = 3, f(c) = 1. Is f invertible, and if it is,
what is its inverse? Yes. f–1(1) = c, f–1(2) = a, f–1(3) = b
n Example 18: Let f be the function from R to R with
f(x) = x2. Is f invertible? No. f is not a one-to-one
function. So it’s not invertible.
ICS 141: Discrete Mathematics I – Fall 2011 10-21
Mappings in Java
University of Hawaii
n A discrete function can be represented by a Map
interface or HashMap class in Java programming
language
n Map map<Integer,String>
= new HashMap<Integer,String>() ;
n Here, the domain is Integer, the codomain is String
n We can construct such a mapping by putting all pairs
{a, f(a)} into our map. (a is the key, f(a) is the value.)
n map.put(2,"Jan");"
n for (Kid kid:kids) {map.put(kid.id,kid.name);}"
n If we put another pair with the same key, it will overwrite
the previous pair – it’s not a function! (May be a bug…)
ICS 141: Discrete Mathematics I – Fall 2011 10-22
Image, Range, Bijection in Java
University of Hawaii
n Map.keys() returns the image
n it’s a Java Set!
n map.values() returns the range
n it’s a Java Set!
n Is a map a bijection?
Iff the cardinalities of the image and range are the same:
n if (map.keys().size()==map.values().size()) {
System.out.println("map is a bijection”);
}
ICS 141: Discrete Mathematics I – Fall 2011 10-23
Inverse Function in Java
University of Hawaii
n Let’s construct an inverse!
n Prepare the inverse function:
n Map inverse<String,Integer>
= new HashMap<String,Integer>() ;
n Here, the domain is String, the codomain is Integer"
n Go through all keys in map (all elements of the image) and
put each pair {value,key} into inverse:
n for (Integer id:map.keys()) {
String name = map.get(id);
inverse.put(id:name,id);
}
ICS 141: Discrete Mathematics I – Fall 2011 10-24