補集合とは?ほしゅうごう
補集合とは、全体集合として決めた範囲から、ある集合に属する要素を取り除いた残り全部の集合。条件Aの補集合は「Aを満たさないものすべて」を表し、論理演算のNOTやSQLのNOT INに対応する。ド・モルガンの法則を使うと、和集合の補集合は補集合どうしの積集合に置き換えられる。
最終更新:2026-10-09
この語が出る過去問を解く →背景
「当てはまるもの」を数え上げるより「当てはまらないもの」を数えるほうが速い場面は多く、確率でも「少なくとも1つ」は余事象から求めるのが定石になっている。ただしこの引き算は、どこまでを全部とみなすかを先に決めないと成り立たない。全体集合という約束を置いて初めて「残り」が定義できる、というのが補集合の考え方である。基本情報では集合と論理演算、ベン図の読み取りとして出る。
具体例
学内Wi-Fiの利用者名簿を全体集合とすると、「今月ログインした学生」の補集合は「今月一度もログインしていない学生」になる。SQLでは SELECT * FROM 学生 WHERE 学籍番号 NOT IN (SELECT 学籍番号 FROM 今月のログイン履歴) と書く。「学生の表から、今月のログイン履歴に学籍番号が載っていない学生をすべて取り出す」という意味で、この補集合を取り出す形に当たる。
試験での引っ掛け
全体集合を変えれば同じ集合の補集合も変わるので、問題文がどこまでを母集団としているかを先に確かめる。ベン図では「Aの補集合とBの積」=「Bだけの領域」であり、AとBの両方を除いた外側と取り違えやすい。SQLでは、NOT INで比べる相手の列にNULL(値が無いことを表す印)が含まれると、NULLとの比較は真にも偽にもならないため、1行も返らないことがある。
関連用語
出た過去問
出典:令和8年度 公開問題 基本情報技術者試験 科目B 問2(IPA)
次のプログラム中の に入れる正しい答えを、解答群の中から選べ。 関数complementは、引数として渡された8ビット型の値xについて、xに加算すると00000…
正解:x ▽ 11111111
要点:2の補数は全ビット反転+1、反転は1とのXOR
加算して0になる値とは2の補数のことで、求め方は「全ビットを反転して1を加える」です。プログラムは最後に 00000001 を加えているので、空欄では x の全ビット反転を作ればよいことになります。排他的論理和は 1 との演算でビットが反転するので、11111111 との排他的論理和が全ビット反転にあたります。よって x ▽ 11111111 が正解です。
出典・参考
公式シラバスの1 基礎理論 > 1. 離散数学 > (4) 集合と命題に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。