410 likes | 450 Views
Set Theory. Jim Williams HONP-112 Week 3. Set Theory. Set Theory is a practical implementation of Boolean logic that examines the relationships between groups of objects .
E N D
Set Theory Jim Williams HONP-112 Week 3
Set Theory • Set Theory is a practical implementation of Boolean logic that examines the relationships between groups of objects. • Set theory has numerous real-life applications in computer systems design, as well as database searching (we will learn more about databases later, but will touch on search concepts today)
Definitions and Conventions • A set consists of individual elements. • A set is denoted by curly brackets and elements are separated by commas: • {A,E,I,O,U} • A set that has no elements is called the empty set, AKA the null set. • {}
Universal Set • The Universal Set (or “Universe”) contains all possible values of whatever type of objects we are studying. • Sets can be infinite (i.e. {all real numbers}), or finite (i.e. {all letters of the alphabet}). • We will only be studying finite (AKA "discrete") sets. • We will use Uto denote the universal set. Do not confuse this with the UNION symbol (later).
Subsets • Lets assume we have 2 sets A and B. • B is a subset of A if and only if all the elements in B are also in A. • Every set is a subset of the Universal Set. • Example: {1,2,6} is a subset of {1,2,3,4,5,6}
Venn Diagram UNIVERSE SET A SET B A Venn Diagram can be used to graphically illustrate the relationship between sets.
Union UNIVERSE SET A SET A SET B SET B SET A UNIONSET B contains all the elements that are either in A or B. The shaded areas illustrate the union.
Intersection UNIVERSE SET A SET B SET A INTERSECTSET B contains only the elements that are in A and also in B. The shaded area illustrates the intersection.
Compliment UNIVERSE SET A SET B SET A COMPLIMENT contains only the elements that are not in a given set. The shaded areas illustrate the compliment of A.
Symbols for Set Operators • Union: ⋃ • Example: A ⋃ B • Intersection: ⋂ • Example: A ⋂ B • Compliment: ' • Example: A'
Set Example for next 3 slides • Define Universal Set = All U.S. Coins • U={penny, nickel, dime, quarter, half-dollar, dollar} • Set A = {penny, nickel} • Set B = {nickel, dime, dollar}
Set Union - Example • U={penny, nickel, dime, quarter, half-dollar, dollar} • Set A = {penny, nickel} • Set B = {nickel, dime, dollar} • A ⋃ B = {penny, nickel, dime, dollar} • IMPORTANT: Notice that the set elements never repeat within a single set of any kind (see there is only one “nickel” element in the result set!) Do not forget this!
Set Intersection - Example • U={penny, nickel, dime, quarter, half-dollar, dollar} • Set A = {penny, nickel} • Set B = {nickel, dime, dollar} • A ⋂ B = {nickel}
Set Compliment - Example • U={penny, nickel, dime, quarter, half-dollar, dollar} • Set A = {penny, nickel} • Set B = {nickel, dime, dollar} • A' = {dime, quarter, half-dollar, dollar}
Work out some examples • U={penny, nickel, dime, quarter, half-dollar, dollar} • Set A = {all denominations over 10 cents.} • Set B = {all coins not silver in color} • What is A ⋃ B? A ⋂ B? • Try some more examples.
Set Theory Vis-à-vis Boolean logic • The UNION set operator functions in a similar manner to the Boolean OR logical operator. • The INTERSECTION set operator functions in a similar manner to the Boolean AND logical operator. • The COMPLIMENT set operator functions in a similar manner to the Boolean NOT logical operator.
The UNION operator as OR • Given Set A , Set B • The UNION applies a boolean OR to each element of each set. • A result of True (1) for any of these cases qualifies the element to be included in the result set. • Let’s Look at an example…
The UNION operator as OR • Set A = {penny, nickel} • Set B = {nickel, dime, dollar} • The OR is applied to each element in set A and the corresponding element in set B • Results with 1 are included in the result set. • A ⋃ B = {penny, nickel, dime, dollar}
The INTERSECT operator as AND • Given Set A , Set B • The INTERSECT applies a boolean AND to each element of each set. • A result of True (1) for any of these cases qualifies the element to be included in the result set. • Let’s Look at an example…
The INTERSECT operator as AND • Set A = {penny, nickel} • Set B = {nickel, dime, dollar} • The AND is applied to each element in set A and the corresponding element in set B • Results with 1 are included in the result set. • A ⋂ B = {nickel}
The COMPLIMENT as NOT • Given Set A • The COMPLIMENT applies a boolean NOT to each element of the set. • But, remember, that we also have to consider the entire universal set. • This is because a NOT is a unary operator. In this context, it only operates on the elements of a single set. But there are elements in the universal set that are still NOT in A. • (This type of compliment is the “absolute compliment” - which is the only type we are concerned with here). • Let’s look at an example…
The COMPLIMENT operator as NOT • Set A = {penny, nickel} • The NOT is applied to each element in the set we are taking the compliment of. Remember we are still doing this in relation to the universal set! • Results with 1 are included in the result set. • A' = {dime, quarter, half-dollar, dollar}
Alternate way of thinking about the Set Compliment (advanced)… • The COMPLIMENT applies a NAND against each element of the universal set and the corresponding elements of the set we are taking the compliment of. • Set A = {penny, nickel}
Set theory and bit-wise mathematics • The concept we have illustrated in our previous tables is also used in various other computer circuits, and is called BIT-MASKING. • Given a sequence of bits, and a mask (also made up of some chosen sequence of bits), we can apply an AND mask, an OR mask, etc. • We need not worry about what bit-masking is used for right now – or why certain bit sequences may be chosen as a mask. • But we should know HOW to apply a mask to a bit sequence.
The AND mask • The resulting bit sequence results from applying an AND against each bit in the sequence, and the corresponding bit in the mask. Result is 00110000. • Given a BIT sequence 00110110, and a MASK of 11110000:
The OR mask • The resulting bit sequence results from applying an OR against each bit in the sequence, and the corresponding bit in the mask. Result is 11110110. • Given a BIT sequence 00110110, and a MASK of 11110000:
Bitwise Masks: Observation • Given a BIT sequence 00110110, and a MASK of 11110000: • The AND mask results in 00110000 • The OR mask results in 11110110 • So, which type of MASK results in having more 1s in the resulting sequence?
Set Theory applied to Databases • We can better understand the relationship between Boolean Logic and Set Theory by using a database example. • We will study databases in more depth later – but just keep the concept in mind. • Boolean searches are done against large databases in many situations (think of some).
Search Operators • Databases usually use search operators that correspond with the standard Boolean operators of AND, OR, and NOT. • BUT – in the case of searches, they are applied to whether an item being searched for meets certain criteria.
Search Operators and Set Theory • To understand this better, we need to think of search criteria in a different way. • Keep in mind that each search criterion will really be creating a separate SUBSET that meets the criterion. • When we search, we can apply boolean operators to connect criteria together in different ways. • So what we are really doing is creating different subsets and applying set operators to them.
The OR (Union) Database Search Operator: Example • The OR search operator combines 2 or more subsetsinto a single largersubset. • Example: Criterion 1: Customers from the 07463 zipcode. Criterion 2: Customers who have made a purchase within the past month. • (Criterion 1) OR (Criterion 2) will create a single subset containing all customers from 07463, along with all the customers who have made a purchase within the past month, regardless of their zip code.
The AND (Intersection) Database Search Operator: Example • The AND search operator selects the records that 2 or more subsets have in common into a single smaller subset. • Example: Criterion 1: Customers from the 07463 zipcode. Criterion 2: Customers who have made a purchase within the past month. • (Criterion 1) AND (Criterion 2) will create a single subset containing the customers from 07463, who also have made a purchase within the past month.
The NOT (Compliment) Database Search Operator: Example • The NOT search operator gives us all the records in a set that do not belong to a particular subset. • Example: Criteria 1: Customers from the 07463 zip code. • NOT (Criteria 1) will create a single subset containing the customers who are NOT from 07463.
More practical examples: Library Searching • In your college studies you will frequently need to look up books and articles in the library catalog, based on certain criteria (conditions). • The following slides will illustrate some examples of this and hopefully clarify the relationship between boolean search operators and their corresponding “behind the scenes” set operations. • Remember that in these examples the Universal Set is the entire library collection.
Library search example - AND • Consider this: we want to find all books written by Stephen King within the past 5 years. • What we are really doing: Set A: Books written by Stephen King. Set B: All books written within the past 5 years. • If we want books that meet BOTH criteria, what we are looking for is the INTERSECTION between sets A and B. • A library system may allow us to say something like: Author=Stephen King AND date >= 2007.
Library search example - OR • But what if we wanted any book written by Stephen King, or any book (regardless of author) written within the past 5 years. • What we are really doing: Set A: Books written by Stephen King. Set B: All books written within the past 5 years. • If we want books that meet EITHER criteria, what we am looking for is the UNION of sets A and B. • A library system may allow us to say something like: Author=Stephen King OR date >= 2007.
Library search example - NOT • But what if we didn’t care for Stephen King’s writing? So, we wanted to find any book NOT written by him. • What we are really doing: Set A: Books written by Stephen King. • If we want books that are NOT in set A, what we are looking for is the COMPLIMENT of set A. • A library system may allow us to say something like: Author IS NOT Stephen King
Library search example - complex • In real life most library searches are more complex. • Example: Mystery books written in the past 5 years, but not by Stephen King. • Set A: All Mystery Books. Set B: All Books written during the past 5 years. Set C: All Books written by Stephen King. • A library system might let us do something like this: Category=Mystery AND Date >= 2007 AND Author IS NOT Stephen King. • In set theory terms, this means: (A ⋂ B) ⋂ C'
Review • Know the three set operators • Know how these are related to the three basic boolean operators. • Use these concepts to solve set theory problems. • Use these concepts to apply a given mask to a given bit sequence. • Understand how these concepts are applied to boolean searching of databases.