⚾ Genetsko programiranje u planiranju bejzbolske sezone

👋 Dobrodošli u aplikaciju!

Ovaj interaktivni sustav nastoji optimalno riješiti organizaciju i logistiku kalendara za punu bejzbolsku sezonu. Kako bismo to postigli, implementirali smo naprednu tehniku umjetne inteligencije izravno inspiriranu prirodnom evolucijom vrsta. 🌿

Genetsko programiranje uključuje automatsko stvaranje, evaluaciju i izmjenu rješenja iz početne populacije programa. To se postiže izvođenjem bioinspiriranih operacija poput prirodne selekcije, križanja i mutacije. U ovom okruženju, svaki generirani program interno je strukturiran kao stablo izraza koje predstavlja potencijalno rješenje našeg kalendara.

Algoritam kontinuirano evaluira svako stablo koristeći strogi kriterij kvalitete (funkciju prilagodbe ) s ciljem nasljeđivanja ključnih karakteristika i generiranja novih stabala koja su sve obećavajuća. 📈 Ovaj se proces ponavlja u evolucijskoj petlji dok se ne pronađe optimalno i najučinkovitije rješenje!

🛠️ Kontrolna ploča: Aktivne postavke (ID: 4)

⚙️ Postavke algoritma

100
20
0,8
0,2

📅 Aktivni kalendar: 4T2S6G (ID: 4)

Datum Lokalno Odlazite
11/05/2026 WAS PIT
11/05/2026 CHA ARI
12/05/2026 WAS PIT
12/05/2026 CHA ARI
13/05/2026 WAS PIT
13/05/2026 CHA ARI
14/05/2026 CHA PIT
14/05/2026 ARI WAS
16/05/2026 CHA PIT
16/05/2026 ARI WAS
18/05/2026 CHA PIT
18/05/2026 ARI WAS

🏆 Rezultati optimizacije

0 obtener_calendario 1 crear_juego 0--1 36 [] 0--36 2 2026-05-11 1--2 3 PIT 1--3 4 WAS 1--4 5 obtener_calendario 1--5 6 crear_juego 5--6 35 [] 5--35 7 2026-05-11 6--7 8 CHA 6--8 9 ARI 6--9 10 obtener_calendario 6--10 11 crear_juego 10--11 34 [] 10--34 12 2026-05-12 11--12 13 PIT 11--13 14 WAS 11--14 15 obtener_calendario 11--15 16 crear_juego 15--16 33 [] 15--33 17 2026-05-12 16--17 18 CHA 16--18 19 ARI 16--19 20 obtener_calendario 16--20 21 crear_juego 20--21 32 [] 20--32 22 2026-05-18 21--22 23 CHA 21--23 24 ARI 21--24 25 obtener_calendario 21--25 26 crear_juego 25--26 31 [] 25--31 27 2026-05-18 26--27 28 PIT 26--28 29 WAS 26--29 30 [] 26--30

🔍 Kliknite na stablo za proširenje

Ukupni trošak putovanja: 7934,38 km
Kršenja pravila: 0
🚀 Optimizacija pokretanja

📖 Vodič za operativne operacije sustava

🔹 Upute za brzi početak

Da biste uspješno započeli interakciju s demoom, slijedite ove sekvencijalne korake:

  1. Kreirajte momčad, ligu i turnir u svojim administrativnim panelima. Važna napomena: Ukupan broj sudjelujućih timova mora biti paran. 👥
  2. Kada definirate sudionike, idite na gornji panel, odaberite aktivni turnir i kliknite na zeleni gumb "Optimizacija trčanja" kako biste strukturirali automatizirani raspored.

⚙️ Unutarnja logika i algoritamski tijek umjetne inteligencije

Što se događa interno kada softver postane aktivan? Evo korak-po-korak pregleda izbjegavajućeg životnog ciklusa temeljenog na genetskom programiranju:

1. Osnovna konfiguracija i hiperparametri

Učitavaju se varijable u panelu koje će definirati generacije, početnu veličinu populacije, kao i stope vjerojatnosti povezane s crossoverom i genomskom mutacijom.

2. Definicija operatora i strukturnih blokova (gramatika)

3. Inicijalizacija, evolucijski ciklus i konvergencija

📍 Faza izvršenja uživo: Sustav generira nasumičnu početnu populaciju i pretvara svaki prijedlog u hijerarhijsku strukturu stabla (sintaksno stablo). Tu se događa računalna magija! ✨
  1. Vizualizacija i uzorkovanje: Početna populacija se obrađuje, a stabla se renderiraju pomoću generatora sintakse.
  2. Procjena sposobnosti: Vrijednost prilagođenosti svakog pojedinca izračunava se na temelju kumulativne udaljenosti u kilometrima i usklađenosti s propisima.
  3. Prirodna selekcija: Najbolji pojedinci iz prethodnog kruga biraju se da budu biološki roditelji nove generacije.
  4. Križanje, mutacije i nasljeđivanje: Nove jedinke stvaraju se miješanjem grana istaknutih stabala i primjenom mutacija u nasumičnim čvorovima.
  5. Iterativna petlja: Koraci evaluacije, odabira i reprodukcije ponavljaju se sekvencijalno dok se ne dovrši ukupan broj generacija konfiguriranih u sučelju.
  6. Službeni rezultati: Najbolji pojedinac dobiven u posljednjoj iteraciji se potvrđuje, a njegova interna struktura pohranjuje se kao konačni raspored bejzbolskih turnira. 🏆🎉