View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

Zadání projektů

Projekty SFC 2026/2027

Projekt je individuální práce, ve které student řeší zvolený problém pomocí některého z přístupů probíraných v předmětu Soft Computing nebo pomocí předem schváleného rozšiřujícího přístupu.
Výsledkem projektu je funkční program, reprodukovatelné vyhodnocení, stručná technická zpráva a ústní obhajoba.
Cílem projektu není pouze ukázat, že vybraný algoritmus lze spustit. Student by měl prokázat, že rozumí jeho principu, dokáže vhodně formulovat úlohu, navrhnout řešení, korektně vyhodnotit výsledek a vysvětlit jeho omezení.
Projekt je hodnocen maximálně 30 body.

Výběr zadání

Seznam témat je zveřejněn v informačním systému fakulty, kde se studenti na jednotlivá zadání registrují.
Část témat přímo navazuje na odpřednášenou problematiku. Některá témata jsou označena jako rozšiřující; u nich se předpokládá samostatné nastudování potřebných principů.
Je možné navrhnout také vlastní téma. Student v takovém případě zašle před registrací na standardní zadání stručný abstrakt obsahující:
Vlastní téma musí být předem odsouhlaseno vyučujícím.
Kvalitní zpracování rozšiřujícího tématu, zejména vznikne-li demonstrační program nebo jiný materiál použitelný ve výuce SFC, může být zohledněno prémiovými body.

Varianty zpracování

Pokud konkrétní zadání neurčuje způsob zpracování přímo, lze zvolit jednu z následujících variant.

1. Demonstrace a vlastní implementace principu

Cílem je názorně ukázat podstatný mechanismus vybraného algoritmu.
Podstatná část algoritmu musí být viditelná ve vlastním zdrojovém kódu. Program by měl umožnit zadání nebo načtení vhodných vstupních dat a parametrů a přehledné zobrazení průběhu a výsledků.
Tam, kde je to pro pochopení algoritmu užitečné, lze umožnit například:
Interaktivní uživatelské rozhraní není samo o sobě cílem projektu. Má smysl pouze tehdy, pomáhá-li pochopení nebo použití algoritmu.
Součástí musí být alespoň jednoduché ověření korektnosti implementace, například porovnáním s ručně spočítaným příkladem, známým výsledkem nebo referenční implementací.

2. Praktická aplikace metody

Vybraná metoda je použita k řešení konkrétního problému.
Důraz je kladen zejména na:
Je-li to smysluplné, musí být výsledek porovnán alespoň s jedním jednoduchým referenčním řešením.
U této varianty lze využít existující knihovny a frameworky ve větším rozsahu než u demonstrační varianty. Vlastním přínosem studenta pak musí být návrh a realizace aplikačního řešení a experimentu, nikoli pouze spuštění existující implementace.

3. Experimentální porovnání nebo hybridní řešení

Cílem je porovnat dva nebo několik přístupů použitelných na stejný problém nebo vytvořit řešení kombinující více metod.
Porovnávané metody musí být hodnoceny za srovnatelných podmínek a pomocí stejných metrik.
U stochastických metod nestačí prezentovat jeden vybraný nebo nejlepší běh.
U hybridního systému musí být pokud možno ověřeno, zda kombinace přináší výhodu proti jednoduššímu řešení nebo proti jednotlivým komponentám.
Není cílem vyzkoušet co největší počet algoritmů. Dobře provedené porovnání dvou nebo tří vhodně zvolených metod je cennější než povrchní test mnoha variant.

Společné požadavky na všechny projekty

Každý projekt musí mít jasně formulovaný cíl nebo otázku, na kterou má řešení odpovědět.
Kde to charakter úlohy umožňuje, očekává se:
Testovací data nesmí být používána k průběžnému výběru modelu nebo nastavování parametrů.
U stochastického algoritmu zpravidla nestačí uvést pouze nejlepší dosažený výsledek. Podle charakteru úlohy je vhodné uvést například průměr, medián, rozptyl, interval nebo alespoň výsledky několika nezávislých běhů.
Rozsah experimentů má odpovídat semestrálnímu projektu. Neočekává se rozsáhlá výzkumná studie.

Témata projektů

Témata navazující na přednášky

Rozšiřující témata se samostudiem

Následující témata mohou vyžadovat nastudování principů nad rámec povinného výkladu.

Programy

Programy se očekávají v jazycích C/C++ nebo Python. Použití jiného jazyka nebo prostředí je možné po předchozí dohodě.
Projekt musí být přeložitelný a spustitelný ve virtuálním prostředí založeném na Ubuntu určeném pro SFC v aktuálním akademickém roce. Ve stejném prostředí budou projekty také hodnoceny.
Projekt musí obsahovat soubor README s přesným postupem:
Je-li nutné instalovat další knihovny, nástroje nebo stáhnout data, musí být postup automatizován instalačním skriptem, pokud možno bez potřeby administrátorského oprávnění.
Jsou-li při spuštění nutné parametry, musí být přiložen alespoň jeden přímo spustitelný skript nebo příkaz připravený pro demonstrační běh.
U stochastických metod musí být možné určit nebo zaznamenat seed generátoru náhodných čísel, pokud to použité prostředí umožňuje.

Knihovny a frameworky

Použití knihoven a frameworků je povoleno. Rozsah jejich použití musí odpovídat cíli projektu.
U demonstrační varianty musí být podstatný mechanismus zkoumaného algoritmu implementován tak, aby byl viditelný ve vlastním kódu studenta. Existující implementaci lze použít například jako referenční řešení.
U aplikačních a porovnávacích projektů je možné použít běžnou implementaci algoritmu z existující knihovny nebo frameworku. Vlastním přínosem pak musí být zejména návrh řešení, příprava dat nebo prostředí, návrh experimentu, implementace aplikační části a vyhodnocení výsledků.
Pouhé zavolání hotového modelu nebo algoritmu nad standardními daty s výchozími parametry není samo o sobě dostatečným řešením projektu.
Veškerý převzatý zdrojový kód nebo významně upravené cizí řešení musí být jasně označeno a musí být uveden jeho zdroj.
V případě pochybností o tom, zda použití konkrétní knihovny ponechává dostatečný prostor pro vlastní přínos, doporučujeme postup předem konzultovat.

Data a naučené modely

Pokud učení nebo optimalizace trvá dlouho, odevzdejte také naučený model nebo jiný výsledek dlouhého výpočtu.
Současně musí být uvedeno:
Je vhodné připravit také zkrácenou variantu experimentu, na které lze ověřit funkčnost programu bez nutnosti opakovat několikahodinové nebo několikadenní učení.
Velké datové sady nebo modely není nutné vkládat přímo do odevzdávaného archivu. Mohou být automaticky staženy z vhodného stabilního úložiště.

Technická zpráva

Součástí projektu je technická zpráva v PDF.
Rozsah hlavního textu je 4 až 6 stran. Samostatná titulní strana není nutná; identifikační údaje lze uvést v záhlaví první stránky. Seznam použité literatury se do stanoveného rozsahu nepočítá.
Zpráva má být stručná a zaměřená na podstatné informace. Typicky by měla obsahovat:
Podrobný návod k instalaci a spouštění programu patří především do souboru README, nikoli do hlavního textu zprávy.
Zpráva může být vypracována v českém, slovenském nebo anglickém jazyce.
Převzaté myšlenky, texty, obrázky, data a zdrojové kódy musí být odpovídajícím způsobem citovány.

Použití generativní AI a programovacích asistentů

Použití generativní AI, nástrojů pro doplňování programu a podobných pomocných prostředků je možné.
Ve zprávě stručně uveďte, zda a k čemu byly takové nástroje použity, například při:
Student odpovídá za korektnost celého odevzdaného řešení bez ohledu na použitý nástroj.
Při obhajobě musí být schopen vysvětlit libovolnou podstatnou část svého programu, použitých algoritmů, experimentu a výsledků.
Rozsáhlý převzatý nebo automaticky generovaný kód, kterému student nerozumí a který netvoří jeho vlastní přínos, nemůže být hodnocen jako vlastní řešení projektu.

Originalita projektu

Projekt musí být individuálním dílem studenta.
Není přípustné odevzdávat:
Použití existujících knihoven, veřejných dat, referenčních implementací a odborných zdrojů je naopak přirozenou součástí práce, pokud je jejich použití transparentní a je zřejmý vlastní přínos studenta.

Odevzdání projektu

Projekt se odevzdává standardním způsobem do informačního systému fakulty.
Odevzdávaný archiv má název
n-login.zip

kde
n
je číslo varianty zadání a
login
je školní login studenta.
Archiv musí obsahovat především:
Do archivu nevkládejte zbytečně objemné datové sady, virtuální prostředí, cache knihoven ani jiné automaticky obnovitelné soubory.
Je-li pro projekt nutný větší externí soubor, například datová sada nebo naučený model, připravte jeho automatické stažení a uveďte zdroj v dokumentaci.
Dodržte aktuální limit velikosti souboru nastavený informačním systémem.

Obhajoba projektu

Obhajoba projektu je povinná. Bez obhajoby nebude projekt hodnocen.
Na jeden projekt je vyhrazeno přibližně 10 minut:
Pro prezentaci doporučujeme 3 až 5 snímků.
Krátká prezentace by se měla soustředit zejména na:
Není vhodné spotřebovat většinu času obecným teoretickým výkladem algoritmu.
Během diskuse může být student požádán o vysvětlení principu metody, implementačních rozhodnutí, zdrojového kódu, použitých metrik nebo interpretace výsledků.
Je vhodné mít připraven vlastní notebook s funkčním projektem a PDF prezentací. Krátká demonstrace programu může být součástí obhajoby, je-li pro projekt přínosná.

Hodnocení projektu

Celkem lze získat maximálně 30 bodů.
OblastBody
Formulace problému, volba metody a vlastní přínos5
Implementace, funkčnost a reprodukovatelnost6
Experimentální vyhodnocení a porovnání7
Technická zpráva5
Ústní obhajoba a prokázané porozumění7
Celkem30

Formulace problému, volba metody a vlastní přínos — 5 bodů

Hodnotí se především:
Samotná složitost použité metody není cílem. Jednodušší, ale promyšlené a dobře vyhodnocené řešení může být hodnotnější než složitá architektura použitá bez hlubšího porozumění.

Implementace, funkčnost a reprodukovatelnost — 6 bodů

Hodnotí se například:

Experimentální vyhodnocení a porovnání — 7 bodů

Hodnotí se především:
U čistě demonstračního projektu se místo rozsáhlého experimentu hodnotí odpovídající ověření správnosti a názorné prozkoumání chování algoritmu.

Technická zpráva — 5 bodů

Hodnotí se obsahová, odborná, formální a jazyková kvalita zprávy, vhodné použití grafů a tabulek, práce se zdroji a schopnost stručně a přesně popsat podstatné aspekty projektu.

Ústní obhajoba a prokázané porozumění — 7 bodů

Hodnotí se:
Výrazně nadstandardní projekty mohou být oceněny prémiovými body. Prémiové body nenahrazují chybějící základní požadavky projektu.