수학 여집합이란?

Posted by negabaro kim on Sunday, January 17, 2021 Tags: math   2 minute read

필요지식

  • 전체집합
  • 부분집합

여집합

전체집합U의 부분집합인 A에 대하여 속하지 않은 원소로 이루어진것을 여집합이라 한다.

전제집합U = 가수라는 집합이고

부분집합A = 블랙핑크라는 그룹이라 가정하면

여집합 = 블랙핑크에 소속되지 않는 가수를 말한다. (ex 아이유)

영어

complement set

일본어

ほしゅうごう(補集合)

동의어

보집합(일본에서 주로 사용)

기호

전체집합=U U의부분집합=A 로 가정

image

image

벤다이어그램

image

ruby코드

ruby에서 여집합을 구현하고 싶을때 -를 사용해 구현할 수 있다.

여집합(-)

[1,1,2,3,3] - [3,4,5]
=> [1, 1, 2]

["아이유"] - ["리아","량실","세화"]
=> ["아이유"]

["리아"] - ["리아","량실","세화"]
=> []
실무에서 사용한 코드

입력받은 권한이 현재 권한리스트에 없다면 invalid처리

  def attribute_invalid?(args)
     args.present? && (args.to_a - User.roles.keys).present?
  end

해설

입력받은 값이 권한리스트(집합) 에 없다 = 여집합이 존재하게된다.

그러므로 attribute_invalid?가 true라면 여집합이 존재하므로 권한리스트(집합)에 존재하지 않는 값이 입력값을 들어옴을 의미한다.

개인적으로 !include?가 심플해보이지만 이렇게 코드를 짜는 사람이 있기에 알아둬야 했다.

공식

여집합 관련 공식이다.

A∩Ac=∅

∅=공집합 ∩=교집합

AA여집합의 교집합은 공집합

ruby 코드
["지수","제니","로제","리사"] & ["아이유"] 
=> []

A∪Ac=U

∪=합집합

AA여집합의 합집합은 전체집합

ruby 코드
["지수","제니","로제","리사"] | ["아이유"] 
=> ["지수", "제니", "로제", "리사", "아이유"]

(Ac)c=A

A의 여집합의 여집합은 A

n(Ac)=n(U)-n(A)


메모

여집합의 C

Complementary의 앞자인 C를 따왔음

기호 일본어 정리

교집합 = せきしゅうごう(積集合) = ∩

여집합 = よしゅうごう(余集合) = -

합집합 = わしゅうごう(和集合) = ∪

부분집합 기호 = ∈