# 5. Зміст звіту Звіт здають разом із вихідним кодом програми. Він має містити такі розділи. 1. **Титульна сторінка** — назва дисципліни, номер і тема лабораторної роботи («Алгоритм FP-Growth. Пошук частих наборів без генерації кандидатів»), прізвище та група студента, дата. 2. **Мета роботи** — стисле формулювання (див. [1purpose.md](1purpose.md)). 3. **Коротка теорія** — своїми словами: обмеження Apriori (вартість кандидатів, багаторазові проходи); ідея FP-Growth (стиснення бази у дерево, видобуток без кандидатів); **FP-дерево** та його побудова за два проходи ($F$-список, заголовна таблиця, node-links); **умовна база образів** та **умовне FP-дерево**; рекурсивний видобуток (псевдокод); коротке порівняння Apriori / Eclat / FP-Growth. 4. **Аудиторна частина** — розв'язання задач із [3classroom.md](3classroom.md) з проміжними кроками: $F$-список, упорядковані транзакції, побудова FP-дерева й заголовна таблиця (Задача 1); умовна база образів та умовне FP-дерево окремого елемента (Задача 2); повний видобуток частих наборів і **звірка з Apriori** з Лабораторної 11 (Задача 3). 5. **Опис програми** — обрана мова та бібліотеки; формат вхідного файлу; як реалізовано читання транзакцій, 1-й прохід ($F$-список), побудову FP-дерева (вузли, лічильники, заголовна таблиця), утворення умовної бази образів та умовного дерева й рекурсивний видобуток; який рівень складності виконано. 6. **Результати роботи програми** — знімок або лістинг виводу на **тестовому** файлі; обов'язково — перевірка на даних [Задач 1–3](3classroom.md) (фруктова лавка, $s_{\min} = 0.5$): три часті 1-набори й три часті 2-набори (усі пари з підтримкою $0.5$), а також на власному наборі транзакцій. 7. **Перевірка правильності** — порівняння виводу програми з обчисленням «руками» (побудова дерева й видобуток); **звірка результату FP-Growth із Apriori** — множини частих наборів мають збігатися; для високого рівня — таблиця/графік порівняння **часу** роботи FP-Growth та Apriori і коментар про те, який алгоритм на яких даних швидший. 8. **Досягнутий рівень** — базовий / середній / високий і які пункти охоплено. 9. **Висновки** — що реалізовано, які труднощі виникли (напр., упорядкування за $F$-списком, побудова заголовної таблиці й node-links, коректне повторне застосування порога в умовних деревах, рекурсія) і чого ви навчилися; чому FP-Growth уникає генерації кандидатів. **Вимоги до здавання.** Програма має бути **працездатною** й давати результат, що збігається з обчисленням «руками» на контрольних даних **і** з результатом Apriori з Лабораторної 11. Кожен частий набір супроводжуйте його підтримкою; завжди зазначайте, за якого порога $s_{\min}$ (і, для правил, $c_{\min}$) отримано результат.