Přejít k hlavnímu obsahu
DL 1
  • Titulní stránka
  • Kalendář
  • Podpora uživatelů
    Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
  • Další
Čeština ‎(cs)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
Momentálně na stránky přistupujete s právy hosta.
Přihlášení
DL 1
Titulní stránka Kalendář Podpora uživatelů Sbalit Rozbalit
Moodleoffice Moodle tutoriál Podpora uživatelů Návody GDPR
Rozbalit vše Sbalit vše
  1. Evoluční algoritmy I NAIL025
  2. Set partition I / Problém loupežníků I
  3. [SP] Assignment / Úkol

[SP] Assignment / Úkol

Požadavky na absolvování
Termín: úterý, 18. listopadu 2025, 23.55

[EN]

The default version of this implementation is in the partition.py file in the Github repository.

Part 1 [up to 10 points, including bonus]:

  1. Experiment with the fitness and selection and try to solve the partition problem as well as you can. Try at lest two different things.
  2. Compare your variants with the basic one in the source codes and submit the plot and a short commentary.
  3. Put the lowest difference you found directly in the text of the submission and attach the .best with the best solution. I am interested in the one best solution you found, it can be from one lucky run.

Bonus points - in order to obtain these points, you must not change the genetic operators, you can, however, change all the other settings (selection, population size, probabilities of crossover and mutation, number of generations, fitness function, elite size, …).

  • +3 points - Find a solution, where the difference between the lightest and heaviest bin is less than 50 (on the easy input).
  • +2 points - Find the optimum solution (difference = 0 on easy input).

Part 2 [up to 5 points] (based on the lesson in the week of Oct. 20)

  1. Create an informed mutation operator and compare the results with those from last time.
  2. Write a short text about what you tried, how it worked and submit a plot showing the difference.

Do not forget the general submission requirements - convergence plots should show some statistical evaluation of the runs (e.g. the quartiles as generated by the plotting.py script). You should always describe what you did, what were the results and why you think the results are what they are. Try to be as concise as possible. 

[CZ]

Výchozí verze implementace tohoto problému je v souboru partition.py na Githubu.

1. část [až 10 bodů včetně bonusů]

  1. Pohrajte si s fitness a selekcí a pokuste se co nejlépe vyřešit problém loupežníků. Zkuste alespoň dvě různé varianty.
  2. Porovnejte vámi vyzkoušené varianty s tou základní, která je ve zdrojácích, a pošlete graf a komentář.
  3. Napište přímo do textu nejmenší rozdíl, jaký jste našli a přiložte .best soubor s tímto výsledkem. Zajímá mě nejlepší řešení, jaké jste našli, může klidně být z jednoho šťastného běhu.

Bonusové body - pro získání těchto bonusů nesmíte měnit genetické operátory, ale smíte měnit všechny ostatní parametry algoritmu (selekce, počet jedinců, pravděpodobnosti křížení a mutace, počet generací, fitness funkce, velikost elity, …).

  • +3 bodů - Najděte řešení, kde rozdíl mezi nejtěžší a nejlehčí hromádkou je menší než 50 (na lehkém vstupu).
  • +2 bodů - Najděte optimální řešení (rozdíl je 0 na lehkém vstupu)

2. část [až 5 bodů] (založeno na hodině z týdne od 20. 10.)

  1. Zkuste napsat nějakou chytrou mutaci a porovnejte ji se svými výsledky z minulých cvičení.
  2. Napište mi, co jste zkusili, jak to dopadlo a pošlete obrázek s průběhy porovnávající první a druhou část.

Nezapomeňte na obecné požadavky na odevzdávání úkolů - grafy by měly obsahovat nějakou formu statistického vyhodnocení (např. kvartily jako v plotting.py). Napište co jste dělali, jak to dopadlo, a proč si myslíte, že to právě tak dopadlo. Snažte se být co možná nejstručnější.

◄ [CZ] Hromádky I - Fitness a selekce
[EN] Set Partition II - Genetic operators ►
Kontaktujte podporu stránek
Momentálně na stránky přistupujete s právy hosta. (Přihlášení)
Stáhněte si mobilní aplikaci
Používá Moodle