/ / Algoritmus na rozdelenie množiny symbolov s obmedzeniami na minimálny počet podmnožín - algoritmus, kombinácie

Algoritmus na rozdelenie množiny symbolov s obmedzeniami na minimálny počet podmnožín - algoritmus, kombinácie

Mám súbor S={a,c,d,e,f,j,m,q,s,t} s obmedzením C={am,cm,de,df,dm,ds,ef,em,eq,es,et,fj,fm,fs,jm,js}, xy v C znamená, že x a y nemôžu byť v tej istej podskupine. Chcel by som, aby algoritmus rozdelil súbor S na podsúbory Sj tak, že:

1. Počet Sj je minimalizovaný

2. Rozdiel medzi veľkosťou každej podskupiny je čo najväčší

Napríklad v tomto prípade oboje {{q,a,c,d,j,t},{m,s},{f},{e}} a {{a,c,e,j},{m,s,q,t},{d},{f}} vyhovujú 1, ale prvý je optimálny.

Prišiel som z pozície počítačovej vedy a som zvedavý, či matematici vytvorili algoritmus pre tento problém.

odpovede:

1 pre odpoveď č. 1

Ako som pochopil, vaša úloha môže byť prepísaná ako: nájsť najväčšiu nezávislú podmnožinu vrcholov S "grafu G = (S, C), opakovať krok pre graf G" = GS ".

Je to dobre známe (tiež označené @tobias_k vo svojom komentári), že najväčší nezávislý súbor grafu je NP-ťažký problém (pretože je to ekvivalent slávneho problému s klikou).


0 pre odpoveď č. 2

Myslím, že je to veľmi ťažký problém, a to jeprečo. Pri hľadaní minimálneho počtu podmnožín musíte vyriešiť problém s minimálnym chromatickým číslom grafu. Tento problém je vo všeobecnosti riešený hrubou silou.