Перейти до вмісту
coden

Множини й відношення: конструктор, з якого складаються означення в ШІ

Множини, підмножини, операції, декартів добуток, відношення, еквівалентність і порядок — з діаграмами Венна, матрицею відношення і тим, навіщо все це потрібно у штучному інтелекті.

13 хвилин Matěj Žalmánek 2026-10-15

Серія Основи ШІ Частина 5 з 52
  1. Мапа штучного інтелекту: що є що і як усе це пов’язано
  2. Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
  3. Дані, модель, тренування, інференс: основні поняття на одному прикладі
  4. Як читати математичний запис: символи, індекси, суми та квантори
  5. Множини й відношення: конструктор, з якого складаються означення в ШІ
  6. Функції й відображення: чому кожна модель у ШІ — це функція
  7. Логіка й доведення: правила, за якими міркують у ШІ
  8. Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
  9. Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
  10. Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
  11. Градієнтний спуск: як навчається модель
  12. Що таке ймовірність: від кидка кубика до аксіом Колмогорова
  13. Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
  14. Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
  15. Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
  16. Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
  17. Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
  18. Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
  19. Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
  20. Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
  21. Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
  22. Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
  23. Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
  24. Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
  25. Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
  26. Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
  27. Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
  28. Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
  29. Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
  30. Оптимізація роєм частинок: інерція, власний досвід і досвід рою
  31. Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
  32. Нечіткі множини й функції належності: як записати «трохи тепло»
  33. Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
  34. Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
  35. Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
  36. Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
  37. Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
  38. Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
  39. Приховані марковські моделі: алгоритм Вітербі й нечесне казино
  40. Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
  41. Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
  42. Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
  43. Промпти, контекст і RAG: як дати моделі правильну інформацію
  44. Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
  45. Генеративні змагальні мережі (GAN): фальшувальник проти детектива
  46. Дифузійні моделі: як із чистого шуму постає зображення
  47. Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
  48. Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
  49. Policy gradient і PPO: навчання безпосередньо політики
  50. Як працює ШІ-агент: мовна модель у циклі з інструментами
  51. Програмування з AI-агентами: завдання, тести й перевірка
  52. Оцінювання і безпека систем ШІ: як вимірювати і як стежити

Повна програма серії Готово: 52 з 83 тем

Що ви винесете
  • Що таке множина, підмножина й декартів добуток — і чому кількість підмножин зростає експоненційно.
  • Що таке відношення, які в нього властивості і як його намалювати як матрицю та як граф.
  • Чому класифікація — це розбиття на класи еквівалентності, а модель — функція, тобто особливе відношення.

Що варто знати заздалегідь: Як читати математичний запис: символи, індекси, суми та квантори

Множини й відношення — це конструктор, з якого складається майже кожне означення в ШІ. Простір станів — це множина станів, переходи між ними — відношення, навчальні дані — множина пар, а класифікація розподіляє входи на класи. Хто розуміє ці два поняття, читає означення в наступних частинах як звичайний текст.

Запис символів (∈, ⊆, ∪, ×) ми розібрали в попередній частині. Тут зазирнемо глибше: що саме вони означають, які мають властивості й навіщо вони потрібні у штучному інтелекті.

1. Що таке множина

Означення — множина й елемент

Множина — це сукупність попарно різних об’єктів. Ці об’єкти називаємо елементами множини.

Запис x ∈ A означає «x є елементом множини A», запис x ∉ A — «x не є елементом A».

Простими словами

Множина — це мішок, у який ви щось кладете. Нас цікавить лише те, що в мішку є, — а не в якому порядку ви це туди поклали і скільки разів. Дві кульки одного кольору для множини — це один колір.

Множину записуємо або переліком елементів у фігурних дужках — A = {1, 2, 3} або {↑, →, ↓, ←}, — або властивістю, яку елементи задовольняють: {x ∈ ℕ : x парне}. Для A = {1, 2, 3} маємо 2 ∈ A і 5 ∉ A. Запис властивістю вміє описати й нескінченні множини, і в ШІ його використовують майже завжди: «множина всіх станів, з яких можна дістатися до мети».

Означення — рівність множин

Множини A і B рівні, A = B, якщо мають точно ті самі елементи: ∀x : (x ∈ A ⇔ x ∈ B).

Простими словами

Два мішки однакові, якщо в них те саме. Тому {1, 2, 2} = {2, 1} = {1, 2}: ні порядок, ні повторення не мають значення.

Означення — потужність і порожня множина

Потужність |A| скінченної множини A — це кількість її елементів.

Порожня множина ∅ — це множина, яка не має жодного елемента; |∅| = 0.

Простими словами

Потужність — це відповідь на запитання «скільки всього в мішку»: |{1, 2, 3}| = 3. Порожня множина — це порожній мішок: це все одно множина, тільки в ній нічого немає.

2. Підмножини й булеан

З однієї множини можна вибирати менші. Для цього потрібні три поняття, що спираються одне на одне: підмножина, власна підмножина і булеан.

Означення — підмножина

Множина A є підмножиною множини B, пишемо A ⊆ B, якщо кожен елемент A є й елементом B: ∀x : x ∈ A ⇒ x ∈ B.

Простими словами

Підмножина — це вибірка з мішка: ви берете деякі речі з B і кладете їх у менший мішок A. Нічого, чого немає в B, додавати до A не можна. Тож {1, 3} ⊆ {1, 2, 3}, але {1, 4} ⊄ {1, 2, 3}, бо 4 у початковій множині немає. Кожна множина є підмножиною самої себе, а порожня множина є підмножиною будь-якої множини.

Означення — власна підмножина

A є власною підмножиною B, пишемо A ⊂ B, якщо A ⊆ B і водночас A ≠ B.

Простими словами

Власна підмножина — це вибірка, у якій хоч чогось бракує. {1, 3} ⊂ {1, 2, 3}, але {1, 2, 3} не є власною підмножиною самої себе — ви взяли геть усе.

Означення — булеан

Булеан (множина підмножин) 𝒫(A) — це множина, елементами якої є всі підмножини A: 𝒫(A) = {S : S ⊆ A}.

Теорема. Для скінченної множини A маємо |𝒫(A)| = 2|A|.

Простими словами

Булеан — це перелік усіх вибірок, які можна зробити з мішка, — включно з порожньою вибіркою та вибіркою всього. Чому їх 2n: щодо кожного елемента ви вирішуєте, класти його до вибірки чи ні. Це дві можливості для кожного елемента; для трьох елементів 2 · 2 · 2 = 8, для десяти елементів уже 1024.

Для A = {a, b, c} маємо 𝒫(A) = {∅, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} — разом 8 підмножин. З таким експоненційним зростанням ви в ШІ стикатиметеся на кожному кроці. Модель, яка має вибрати, які з 50 ознак використати, має 250 варіантів — понад квадрильйон можливостей. Тому відбір ознак не роблять перебором усіх комбінацій.

3. Операції з множинами

Означення — об’єднання, перетин, різниця, доповнення

A ∪ B = {x : x ∈ A ∨ x ∈ B} — об’єднання,

A ∩ B = {x : x ∈ A ∧ x ∈ B} — перетин,

A ∖ B = {x : x ∈ A ∧ x ∉ B} — різниця,

Ac = U ∖ A — доповнення відносно універсальної множини U («всесвіту»).

Закони де Моргана: (A ∪ B)c = Ac ∩ Bc і (A ∩ B)c = Ac ∪ Bc.

Простими словами

Об’єднання — це «або те, або те, або обидва», перетин — «обидва водночас», різниця — «це, але не те», а доповнення — «усе інше». Закон де Моргана каже, що «неправда, що йде дощ або сніг» — це те саме, що «не йде дощ і не йде сніг».

A B A ∪ B — об’єднання
A B A ∩ B — перетин
A B A ∖ B — різниця
A B Ac — доповнення

У практиці ШІ з перетинами рахують, наприклад, під час оцінювання моделі. Якщо P — множина листів, які модель позначила як спам, а S — множина листів, які справді є спамом, то точність (precision) — це |P ∩ S| / |P| — скільки з позначених справді було спамом, — а повнота (recall) — |P ∩ S| / |S| — скільки спаму модель виловила.

4. Декартів добуток і кортежі

Означення — упорядкована пара й декартів добуток

Упорядкована пара (a, b) відрізняється від множини {a, b} тим, що порядок має значення: (a, b) = (c, d) ⇔ a = c ∧ b = d.

Декартів добуток A × B = {(a, b) : a ∈ A, b ∈ B}. Для скінченних множин |A × B| = |A| · |B|.

Загалом A1 × … × An — це множина кортежів довжини n; An = A × … × A (n разів).

Простими словами

Декартів добуток — це таблиця всіх комбінацій. Три футболки й двоє штанів дають 3 · 2 = 6 комплектів одягу. Координати точки на площині — це пари з ℝ × ℝ = ℝ2.

Декартів добуток у ШІ всюди. Навчальні дані з учителем — це підмножина X × Y: пари (вхід, правильна відповідь). Фото 28 × 28 пікселів — це точка в ℝ784. А в задачі пошуку функція переходів визначена на S × A — на парах (стан, дія).

5. Відношення

Означення — відношення

Бінарне відношення між множинами A і B — це довільна підмножина R ⊆ A × B. Замість (a, b) ∈ R пишуть a R b і читають «a перебуває у відношенні з b».

Якщо A = B, говоримо про відношення на множині A.

Простими словами

Відношення — це список пар, які «належать одна одній». Хто чий батько, яке місто має пряме сполучення з яким, який стан веде до якого. Нічого більше — лише список пар.

Відношення на малій множині можна намалювати двома способами. Візьмімо відношення «a ділить b» (b кратне a) на множині {1, …, 6}. Як матрицю: у рядку a і стовпці b стоїть крапка, якщо a ділить b. І як орієнтований граф: стрілка з a до b.

стовпець b (елемент 1–6) рядок a (елемент 1–6) 123456 1 2 3 4 5 6

матриця: рядок a, стовпець b

1 2 3 4 5 6

граф: стрілка a → b (без петель a → a)

Відношення «a ділить b» на множині {1, …, 6} пар у відношенні: 14

Відношення має 14 пар. У ШІ ви зустрінете обидві форми: матриця відношення — це те, з чим рахує комп’ютер (матриця суміжності графа, матриця подібності), а граф — те, що малює людина. Переходи між станами в пошуку — це відношення на множині станів, а граф k найближчих сусідів з поширення міток — це відношення «є серед найближчих».

6. Властивості відношень

Означення — властивості відношення на множині

Відношення R на множині A є

  • рефлексивним, якщо ∀a ∈ A : a R a,
  • симетричним, якщо ∀a, b : a R b ⇒ b R a,
  • антисиметричним, якщо ∀a, b : (a R b ∧ b R a) ⇒ a = b,
  • транзитивним, якщо ∀a, b, c : (a R b ∧ b R c) ⇒ a R c.
Простими словами

Рефлексивне: кожен перебуває у відношенні сам із собою. Симетричне: працює в обидва боки. Антисиметричне: в обидва боки лише тоді, коли йдеться про те саме. Транзитивне: якщо веде шлях з a до b і з b до c, веде й прямо з a до c.

Для відношень на множині {1, …, 6} це виглядає так — і з поєднання властивостей видно, про який різновид відношення йдеться:

ВідношенняРефлексивнеСиметричнеАнтисиметричнеТранзитивне
a ≤ bтакнітактак
a ділить bтакнітактак
однакова остача від ділення на 3тактакнітак
|a − b| = 1 («сусіди»)нітакніні

7. Еквівалентність і розбиття на класи

Означення — еквівалентність і розбиття

Відношення, яке є рефлексивним, симетричним і транзитивним, — це відношення еквівалентності. Клас еквівалентності елемента a — це [a] = {x ∈ A : x R a}.

Розбиття множини A — це сукупність непорожніх попарно неперетинних підмножин, об’єднання яких дорівнює A.

Теорема. Класи будь-якої еквівалентності утворюють розбиття A — і навпаки, кожне розбиття задає еквівалентність «належить до тієї самої частини».

Простими словами

Еквівалентність — це «у чомусь такий самий, як»: той самий колір, та сама остача, той самий клас. Таке відношення завжди поділяє множину на шухлядки, які не перетинаються і разом покривають усе. Кожен елемент лежить рівно в одній шухлядці.

клас [0] {0, 3, 6}
клас [1] {1, 4, 7}
клас [2] {2, 5, 8}
Розбиття {0, …, 8} за остачею від ділення на 3

Саме це робить класифікація: поділяє множину всіх можливих входів на класи — спам і не спам, пес, кіт і папуга. А кластеризація шукає розбиття даних, хоча ніхто їй не каже, які є класи. Результат k-means із частини про види навчання — це розбиття точок на три класи.

8. Порядок

Означення — частковий і лінійний порядок

Відношення, яке є рефлексивним, антисиметричним і транзитивним, — це частковий порядок.

Якщо до того ж будь-які два елементи порівнянні (∀a, b : a R b ∨ b R a), це лінійний (повний) порядок.

Простими словами

Порядок каже, що стоїть «перед» чим. Числа за величиною можна порівняти будь-які з будь-якими. У частковому порядку — не завжди: 4 і 6 не ділять одне одного, тож за подільністю ми не знаємо, яке з них «менше».

Частковий порядок зображують діаграмою Гассе: менші елементи внизу, більші вгорі, а лінія лише між безпосередніми сусідами — решта випливає з транзитивності. Ось дільники числа 12, упорядковані за подільністю:

1234612
Дільники числа 12, упорядковані за подільністю

З діаграми видно, що 1 ділить усе, а 12 ділиться на все, — але 4 і 6 чи 2 і 3 порівняти не можна. У ШІ порядки з’являються всюди, де щось упорядковують чи планують: порядок результатів пошуку, пріоритети на межі в алгоритмі A* чи залежності між кроками плану («спершу відчини двері, потім пройди»). Граф залежностей модулів у програмі цієї серії, до речі, теж є частковим порядком.

9. Функція як особливе відношення

Означення — функція

Функція з A в B — це відношення f ⊆ A × B, у якому кожен елемент a ∈ A має рівно один елемент b ∈ B з (a, b) ∈ f. Його позначають f(a).

Простими словами

Функція — це відношення, яке на кожне запитання дає рівно одну відповідь. «Є батьком» — не функція: людина може мати кількох дітей. «Має матір» — функція: кожен має рівно одну.

Так коло замикається: модель у машинному навчанні — це функція f : X → Y, тобто особливе відношення між входами й виходами. Функціям та їхнім властивостям присвячена наступна частина програми.

10. Підсумок

  • Множина — це сукупність елементів без порядку й без повторень; n-елементна множина має 2n підмножин.
  • Об’єднання, перетин, різниця й доповнення — це «або», «і», «але не» та «все інше»; на перетинах тримаються точність і повнота моделі.
  • Декартів добуток утворює пари — з них складаються дані (вхід, відповідь) і переходи (стан, дія).
  • Відношення — це множина пар. Еквівалентність розбиває множину на класи (класифікація, кластеризація), порядок визначає, що перед чим.
  • Функція — це відношення з рівно однією відповіддю, а модель — це функція.

Маєте іншу думку? Напишіть на support@coden-app.com.

Агент на вашому комп’ютері, керований з телефона