이산수학(Discrete Mathematics)  집합 연산 (Set Operations)

Slides:



Advertisements
Similar presentations
Database Summarization Using Fuzzy ISA Hierarchies
Advertisements

Programming Languages Type Conversion Classifying Type Conversions According to the notation –Implicit Conversions (coercion) –Explicit Conversions (casting)
Lecture 9 프로그램 실행의 비용 computation cost – 시간 time, 메모리 memory – tractable vs intractable problems.
이산수학(Discrete Mathematics)
(Mathematical Induction)
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
Compiler Lecture Note, Inroduction to FL theory
DS020 오토마타형식언어 Chapter 3. Regular Languages and Regular Grammars
Chapter 7 ARP and RARP.
이산수학(Discrete Mathematics)  정수와 나눗셈 (The Integers and Division)
이산수학(Discrete Mathematics)  정수와 나눗셈 (The Integers and Division)
이산수학(Discrete Mathematics)
1.8 함수 (Functions) 이산수학 (Discrete Mathematics) 2006년 봄학기 문양세
이산수학(Discrete Mathematics)
제 6 장 데이터 타입 6.1 데이터 타입 및 타입 정보 6.2 타입의 용도 6.3 타입 구성자 6.4 사례 연구
이산수학(Discrete Mathematics)
이산수학(Discrete Mathematics)
Discrete Math II Howon Kim
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
Mathematics Review for Algorithm
재귀 혹은 귀납 Recursive or Inductive Definition 집합을 정의하는 방법
Chapter 2. Finite Automata Exercises
Discrete Math II Howon Kim
이산수학(Discrete Mathematics)
1. 관계 데이터 언어 관계 대수 1) 관계대수 정의 ① 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 인 방법 ② 주어진 관계로 부터 원하는 관계를 얻기 위해 연산자와 연산 규칙을 제공하는 언어 ③ 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가.
계수와 응용 (Counting and Its Applications)
이산수학(Discrete Mathematics)
이산수학 논리∙명제에서 알고리즘까지 √ 원리를 알면 IT가 맛있다 ehanbit.net.
Chapter 3: Introduction to SQL
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
이산수학(Discrete Mathematics)  증명 전략 (Proof Strategy)
Chapter 2 Lexical Elements, Operators, and the C System
(Relations and Its Properties)
제 4 장. Regular Language의 특성
Sequence Logic.
adopted from KNK C Programming : A Modern Approach
Introduction to Programming Language
Discrete Math II Howon Kim
이산수학(Discrete Mathematics)
이산수학(Discrete Mathematics)  증명 방법 (Methods of Proof)
이산수학 (Discrete Mathematics)
이산수학(Discrete Mathematics)
: 부정(negative)의 의미를 나타내는 접두사
이산수학(Discrete Mathematics)  명제의 동치 (Propositional Equivalence)
4.1 계수의 기본 원리 (Basics of Counting)
합집합과 교집합이란 무엇인가? 01 합집합 두 집합 A, B에 대하여 A에 속하거나 B에 속하는 모든 원소로 이루어진 집합을 A와 B의 합집합이라고 하며, 기호 A∪B로 나타낸다. A∪B ={x | x∈A 또는 x∈B}
6.1 점화 관계 (Recurrence Relations)
Discrete Math II Howon Kim
PHP 웹 프로그래밍 (PHP Web Programming) 미리 정의된 함수 문양세 강원대학교 IT대학 컴퓨터과학전공.
이산수학 (Discrete Mathematics)
이산수학(Discrete Mathematics) 비둘기 집 원리 (The Pigeonhole Principle)
이산수학(Discrete Mathematics)
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
점화와 응용 (Recurrence and Its Applications)
3. 반/전 가산기, 반/전 감산기 제작 컴퓨터 구조 실습 안내서.
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
2.7 행렬 (Matrices] 이산수학 (Discrete Mathematics) Matrix Reloaded
이산수학(Discrete Mathematics)
이산수학(Discrete Mathematics)  증명 전략 (Proof Strategy)
수학 10-가 단계 Ⅰ수와 연산> 1.집합과 명제 > 1. 집합 > 3/9 집합 수업계획 수업활동.
이산수학(Discrete Mathematics) 수열과 합 (Sequences and Summations)
엔화 대환/대출 자금용도 대상 이자 차액 효과 (A,B,C) 환율 리스크 헷징 (A,B) 엔화의 평균환율 (A,B,C)
퍼지 시스템 (요약).
이산수학(Discrete Mathematics)  술어와 한정기호 (Predicates and Quantifiers)
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
Chapter 2: Intro to Relational Model
(Permutations and Combinations)
Chapter 3. 집합론.
Sawasdee ka.
Presentation transcript:

이산수학(Discrete Mathematics)  집합 연산 (Set Operations) 2013년 봄학기 강원대학교 컴퓨터과학전공 문양세

Union Operator (합집합) 1.7 Set Operations For sets A, B, their union AB is the set containing all elements that are either in A, or (“”) in B (or, of course, in both). (A 또는 B에 속하거나 양쪽에 모두 속하는 원소들의 집합) Formally, AB = {x | xA  xB}. Note that AB contains all the elements of A and it contains all the elements of B: A, B: (AB  A)  (AB  B) 예제: {a,b,c}{2,3} = {a,b,c,2,3} {2,3,5}{3,5,7} = {2,3,5,3,5,7} ={2,3,5,7} 2 3 5 7

2 3 5 6 4 Intersection Operator (교집합) 1.7 Set Operations For sets A, B, their intersection AB is the set containing all elements that are simultaneously in A and (“”) in B. (A와 B 양쪽 모두에 속하는 원소들의 집합) Formally, AB = {x | xA  xB}. Note that AB is a subset of A and it is a subset of B: A, B: (AB  A)  (AB  B) 예제: {a,b,c}{2,3} =  {2,4,6}{3,4,5} = {4} 2 3 5 6 4

Disjointedness (서로 소) 1.7 Set Operations Two sets A, B are called disjoint (i.e., unjoined) iff their intersection is empty. (AB=) (교집합이 공집합이면 이들 두 집합은 서로 소라 한다.) Example: the set of even integers is disjoint with the set of odd integers.

Inclusion-Exclusion Principle (포함-배제 원리) 1.7 Set Operations How many elements are in AB? |AB| = |A|  |B|  |AB| Example: How many students are on our class email list? Consider set E  I  M, I = {s | s turned in an information sheet} M = {s | s sent the TAs their email address} Some students did both! |E| = |IM| = |I|  |M|  |IM| 중복 제거

Formally, A  B = x  xA  xB 예제: Set Difference (차집합) 1.7 Set Operations For sets A, B, the difference of A and B, written AB, is the set of all elements that are in A but not B. (A에는 속하나 B에는 속하지 않는 원소들의 집합) Formally, A  B = x  xA  xB 예제: {1, 2, 3, 4, 5, 6}  {2, 3, 5, 7, 11} = {1, 4, 6} Z  N  {… , -1, 0, 1, 2, … }  {0, 1, … } = {x | x is an integer but not a natural number} = {x | x is a negative integer} = {… , -3, -2, -1}

Set AB Set A Set B Chomp! Set Difference – Venn Diagram 1.7 Set Operations AB is what’s left after B “takes a bite out of A” Chomp! (갉아먹어!) Set AB Set A Set B

A A U Set Complements (여집합) 1.7 Set Operations The domain can itself be considered a set, call it U. (정의역 자체도 집합이다.) We say that for any set AU, the complement of A, written A, is the complement of A w.r.t. U, i.e., it is UA. 예제: If U=N, {3, 5} = {0, 1, 2, 4, 6, 7, …} An equivalent definition, when U is clear: A = x  xA A A U

Set Identities (집합의 항등) (1/2) 1.7 Set Operations Identity Name A   = A A  U = A Identity laws A  U = U A   =  Domination laws A  A = A A  A = A Idempotent laws A = A Double complement law A  B = B  A A  B = B  A Commutative laws A  (B  C) = (A  B)  C A  (B  C) = (A  B)  C Associative laws

Set Identities (집합의 항등) (2/2) 1.7 Set Operations Identity Name A  (B  C) = (A  B)  (A  C) A  (B  C) = (A  B)  (A  C) Distributive laws A  B = A  B A  B = A  B De Morgan’s laws A  (A  B) = A A  (A  B) = A Absorption laws A  A = U A  A =  Complement laws

Proving Identity Sets (항등의 증명) 1.7 Set Operations To prove statements about sets, of the form A = B, here are three useful techniques: (집합의 항등 증명 방법에는 …) Method 1: Prove A  B and B  A separately. Method 2: Use set builder notation & logical equivalences. (조건 제시법과 논리적 동치 관계 활용) Method 3: Use a membership table. (구성원 표를 사용)

Proving Identity Sets (Example of Method 1) 1.7 Set Operations Example: Show A(BC)=(AB)(AC). Show A(BC)(AB)(AC). Assume xA(BC), & show x(AB)(AC). We know that xA, and either xB or xC. (by assumption) Case 1: xB. Then xAB, so x(AB)(AC). Case 2: xC. Then xAC , so x(AB)(AC). Therefore, x(AB)(AC). Therefore, A(BC)(AB)(AC). Show (AB)(AC)  A(BC). …

Proving Identity Sets (Example of Method 2) 1.7 Set Operations Example: Show (AB)=A  B. (AB) = {x | x  AB} = {x | ¬(x  AB)} = {x | ¬(xA  xB)} = {x | xA  xB} = {x | xA  xB} = {x | x  A  B} = A  B

Proving Identity Sets (Example of Method 3) 1.7 Set Operations Membership tables (구성원 표) Just like truth tables for propositional logic. (명제의 진리표와 유사) Columns for different set expressions. (열은 집합 표현을 나타냄) Rows for all combinations of memberships in constituent sets. Use “1” to indicate membership in the derived set, “0” for non-membership. (행에는 집합의 원소이면 1, 아니면 0을 표시) Prove equivalence with identical columns. (두 컬럼이 동일함을 보임) Example: Prove (AB)B = AB.

Generalized Unions and Intersections 1.7 Set Operations Since union & intersection are commutative and associative, we can extend them from operating on ordered pairs of sets (A, B) to operating on sequences of sets (A1, …, An) (합집합 및 교집합은 교환 및 결합법칙이 성립하므로, 두 집합에 대한 연산을 확장하여 세 개 이상의 집합에 대해서도 연산 적용이 가능하다.) Examples of generalized unions & intersections A = {0, 2, 4, 6, 8}, B = {0, 1, 2, 3, 4}, C = {0, 3, 6, 9} ABC = {0, 1, 2, 3, 4, 6, 8, 9} ABC = {0}

Generalized Union (합집합의 일반화) 1.7 Set Operations Binary union operator: AB n-ary union: A1A2…An = ((…((A1 A2) …) An) (grouping & order is irrelevant) “Big U” notation: Or for infinite sets of sets:

Generalized Intersection (교집합의 일반화) 1.7 Set Operations Binary intersection operator: AB n-ary intersection: A1A2…An((…((A1A2)…)An) (grouping & order is irrelevant) “Big Arch” notation: Or for infinite sets of sets:

컴퓨터에서 집합의 표현 표현 방법 예제: 집합 연산과 컴퓨터 연산의 관계 1.7 Set Operations 표현 방법 전체 집합 U가 유한집합이라 가정하고, U의 원소들을 a1, a2, …, an과 같이 순서를 매긴다. U의 부분집합 A를 길이 n의 비트열(bit string)로 표현한다. ith bit = 1 if aiA, 0 otherwise 예제: U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 홀수 정수를 포함하는 부분집합을 표현하는 비트열 = 1010101010 짝수 정수를 포함하는 부분집합을 나타내는 비트열 = 0101010101 집합 연산과 컴퓨터 연산의 관계 합집합(union) = Bitwise OR 교집합(intersection) = Bitwise AND 여집합(complement) = Bitwise NOT