Problemele vânzătorului ambulant se supun unui vânzător și un set de orașe. Vânzătorul trebuie să viziteze fiecare dintre orașele începând de la unul anume (de exemplu, orașul natal) și să se întoarcă în același oraș. Provocarea problemei este că vânzătorul ambulant trebuie să minimizeze durata totală a călătoriei.
Să presupunem că orașele sunt x1X2..... Xnunde costă cijdenotă costul călătoriei din orașul xila xj. Problema agentului de vânzări ambulant este de a găsi o rută care începe și se termină la x1care va lua în toate orașele cu costul minim.
Exemplu: Un agent de ziar aruncă zilnic ziarul în zona alocată în așa fel încât trebuie să acopere toate casele din zona respectivă cu cost minim de călătorie. Calculați costul minim de călătorie.
dormi in js
Zona alocată agentului în care trebuie să arunce ziarul este prezentată în fig:
Rezolvare: Matricea cost-adiacență a graficului G este următoarea:
costij=
Turul începe din zona H1și apoi selectați zona de cost minim accesibilă din H1.
sortare matrice java
Marcați zona H6deoarece este zona de cost minim accesibilă de la H1și apoi selectați zona de cost minim accesibilă din H6.
Marcați zona H7deoarece este zona de cost minim accesibilă de la H6și apoi selectați zona de cost minim accesibilă din H7.
câte filme cu misiune imposibilă sunt acolo
Marcați zona H8deoarece este zona de cost minim accesibilă de la H8.
Marcați zona H5deoarece este zona de cost minim accesibilă de la H5.
Marcați zona H2deoarece este zona de cost minim accesibilă de la H2.
Marcați zona H3deoarece este zona de cost minim accesibilă de la H3.
Marcați zona H4și apoi selectați zona de cost minim accesibilă din H4este H1.Deci, folosind strategia lacomă, obținem următoarele.
4 3 2 4 3 2 1 6 H<sub>1</sub> → H<sub>6</sub> → H<sub>7</sub> → H<sub>8</sub> → H<sub>5</sub> → H<sub>2</sub> → H<sub>3</sub> → H<sub>4</sub> → <sub>H<sub>1</sub></sub>.
Astfel costul minim de călătorie = 4 + 3 + 2 + 4 + 3 + 2 + 1 + 6 = 25
Matroizi:
Un matroid este o pereche ordonată M(S, I) care îndeplinește următoarele condiții:
algoritm de sortare prin inserare
- S este o mulțime finită.
- I este o familie nevidă de submulțimi ale lui S, numite submulțimi independente ale lui S, astfel încât dacă B ∈ I și A ∈ I. Spunem că I este ereditar dacă îndeplinește această proprietate. Rețineți că mulțimea goală ∅ este în mod necesar un membru al lui I.
- Dacă A ∈ I, B ∈ I și |A|<|b|, then there is some element x ∈ b ? a such that a∪{x}∈i. we say m satisfies the exchange property.< li> |b|,>
Spunem că o matroida M (S, I) este ponderată dacă există o funcție de greutate asociată w care atribuie o pondere strict pozitivă w (x) fiecărui element x ∈ S. Funcția de greutate w se extinde la o submulțime a lui S prin însumare. :
w (A) = ∑<sub>x∈A</sub> w(x)
pentru orice A ∈ S.