CSCE 235
Homework
Assignment 4 (with Programming)
Assigned: February 11, 2008
Due: 12:30 p.m. February 18,
2008
(Homework 5
minutes late will not be accepted)
Set Basics
1. (10 points) List all members of the following sets.
(a) ![]()
(b) ![]()
(c)
where
is the set of all
positive numbers
(d)
where
is the set of all
positive numbers
(e)
where
is the set of all
positive numbers
2. (10 points)
Consider the following six subsets of Z. (Definition:
Z = the set of all integers = ( …, -3, -2, -1, 0, 1, 2, 3, …}.)
A = { 2m + 1 | m Î Z }
B = { 2n + 3 | n Î Z }
C = { 2p -3 | p Î Z }
D = { 3r + 1 | r Î Z }
E = { 3s + 2 | s Î Z }
F
= { 3t - 2 | t Î Z }
Which
of the following statements are true and which are false? Show your reasons.
(a) A = B
(b) A = C
(c) B = C
(d) D = E
(e) D = F
(f) E = F
Set Operations
3. Application of
Knowledge (14 points) Consider an alphabet Σ = { a, b
}. It has only two letters. A word (or w) is any finite
string of letters that you can form out of the alphabet. For example, abba is a word formed
using only the letters from the alphabet Σ. The collection of all words is called a language,
and is denoted as
. For example,
= { ε, a, aa, ab,
ba, bb, aaa, aab, abb, bbb, bba, baa, …}.
And
is an infinite
set! The symbol ε denotes the empty
word or null word.
Now, suppose Σ = { a, b }; A
= {a, b, aa, bb, aaa, bbb }; B = {
: length(w) ≥ 2}; and C = {
: length(w) ≤ 2}. (Hint: Don’t forget the empty word ε,
which has a length of zero!) List all
members of the following:
(a) ![]()
(b) ![]()
(c) ![]()
(d) ![]()
(e) ![]()
(f) ![]()
(g) power set of Σ
4. (10 points) True or False (if false, show an example; if true, show a proof):
(a)
for all A, B,
and C.
(b) If
A = B, then
is
.
(c)
for all A and
B.
(d)
whenever
.
(e)
for all A and
B.
5. (7 points) Prove the following formally, without using Venn diagrams:
(a)
for any sets of A,
B, and C. (Hint: Use the fact that
.)
(b) If
and
, then
.
Binary Relations
6. (18 points)
Determine whether or not each of the binary relations
defined on the given
sets A are reflexive, symmetric, or transitive. If a relation has a certain property, prove
this is so; otherwise, provide a counterexample to show that it does not. Determine also whether a relation is equivalence.
(a)
A = { 3, 4 };
= { (3, 3), (4, 4)}
(b)
A is the set of all humans;
if and only if
where
means “a is the
parent of b.”
(c)
A is the set of integers, Z;
if and only if
is odd.
(d)
A is the set of cross products of integers, Z×Z;
if and only if
.
(e)
A is the set of all humans;
if and only if
where
means “a and b
are both fans of the same musician.”
Assume that a human may be a fan of more than one musician.
(f)
A is the set of natural numbers, N;
if and only if
is an integer.
7. (8 points) Given the following relations:
.
.
.
.
List 4 members for each of the following sets; if not possible, explain.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Equivalence Relations and Partitions
8. (5 points)
Let A be the set of all students in the CSCE235 class. For
, define
when a and b
are sophomores. Is
an equivalence
relation? Why?
9. (5 points) A partition of a set A is a collection of disjoint nonempty subsets of A whose union is A. These disjoint sets are called cells (or blocks). Suppose that A has the following cells: m, n, o, and p.
(a) What
is
?
(b) What
is
?
(c) Is
? Why?
(d) What
is
?
(e) What
is
?
* Based on (Goodaire and
Parmenter 2002), (Grimaldi 2003), and
(Ross and Wright 1988).
Programming
10. (50 points) Toolbox.
Implement a relation-based toolbox to determine whether a binary
relation is reflexive, symmetric, or transitive.
Your
program should be able to read in a text file similar to the following:
5 a a b c c b b b c
c
6 a b b c c d d c b
d d d
8 j m m j g b a m m
a b g g l l g
END
Each
line represents the members of one binary relation. So, in the above example, the binary relation
R1 has 5 members, i.e., { (a,a), (b,c), (c,b), (b,b), (c,c) }. Thus, for R1, it is reflexive, symmetric, and
transitive.
Your
output should look like this:
reflexive symmetric
transitive
n-reflexive
n-symmetric n-transitive
n-reflexive
symmetric n-transitive
END
Your program will be tested with an
input file with the specified format but with different data. Write your program with good documentation
and style. Hand in your program before 12:30
p.m., February 18 to our class Handin account.
If your program is complicated and
involves multiple files, please also include a README file on how to run
it. I expect that a single program file
will be sufficient for this problem.
Check out our class website for a
sample program on how to read and parse lines from an input file.
CSE
Web Handin
Registration
You have to register with Handin before you use it for the first time. To
register, choose the "Register" link from the menu on the left. Input
your CSE username along with a password (NOT your CSE password) on the registration
page, and click the "Register" button at the bottom of the page to
finish the process. You will then receive mail on CSE to confirm your
registration.
Handing In
To hand in an assignment, go to CSE235 class's handin web page (http://cse.unl.edu/~cse235/handin)
and fill out the form on that page. Use the your CSE username and your Handin
password. Be sure to choose the correct assignment to hand the files in under,
and choose the files you wish to hand in with the file choosers at the bottom.
If you need to hand in more files than there are selection boxes, hand them in
two (or more) separate batches. For example, if you need to hand in the files file1.c, file2.c, file3.c, file4.c, file5.c, and file6.c, but
handin only lets you hand in five files at a time, hand in file1.c through file5.c
as one group and file6.c by itself.
After each handin you will be shown a list of all of the files you have handed
in up to that point.
Checking a previous handin
If ever you want to check the status of a previous handin ("Did I really
hand in those files?"), you can go to your class's handin page and choose
"Check Status" from the handin choices. After making that choice,
filling in your username and password, and choosing an assignment to check up
on, click the Submit button at the bottom of the page. You will then be
presented with a list of all of the files you have handed in for that
particular assignment, along with their sizes and the time/day you handed them
in.
Changing your password
Changing your password on occasion can be a good idea. To change your password,
choose the "Password" link from the menu on the left. Fill out the
"Change user password" form with your username, current password, and
the new password you would like. The change will take effect immediately after
you submit it, and you will also be sent a piece of email on CSE confirming the
change.
Forgotten password
If you forget your password, Handin can send it to you at your CSE email
address. To receive your password, choose the "Password" link from
the menu on the left and fill out the "Send user password" form with
your username. After you submit the form you will receive mail on CSE with your
Handin password.