Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobry den, mam problem popsany nize a chtel bych Vas snazne poprosit o pomoc s dukazem mat. indukci.
Název problému: Výběr aktivit
Vstup: množina konečně mnoha aktivit {1, 2, . . . , n} s pevně určenými časovými
intervaly (s1, f1), (s2, f2), . . . , (sn, fn), kde (∀i, 1 ≤ i ≤ n) : si < fi
Výstup: množina obsahující největší možný počet vzájemně kompatibilních aktivit (tj. aktivit s vzájemně se nepřekrývajícími intervaly)
Jak dokazat tento pseudoalgoritmus?
Výběr-Aktivit(n, s, f)
předp., že poč. časy jsou již v poli s a konc. časy v poli f
dále předp. f[1] ≤ f[2] ≤ . . . f[n], kde n představuje počet aktivit
A ← {1}; j ← 1
for i ← 2 to n
do if s[i] ≥ f[j]
then A ← A ∪ {i}; j ← i
return A
V uvedeném případě je důkaz faktu, že hltavý přístup skutečně vede k opti-
málnímu řešení, celkem snadný. (Indukcí podle počtu aktivit n.)
Mockrat dekuji, Honza
Offline

Úvaha funguje asi takto:
Pro jednu aktivitu algoritmus zřejmě funguje (zařadí ji do A a pak provádí cyklus od 2 do n, cyklus tedy neproběhne nikdy).
Předpoládejme, že algoritmus funguje pro n od 1 do k a ukažme, že funguje pro k+1. Jako první můžeme vzít aktivitu, která pvní skončí. (Když vezmeme jakoukoliv jinou, která končí v čase f[i]>f[1], pak máme pro výběr následujících aktivit v nejlepším případě stejné možnosti). Následně nemůžeme vzít žádnou z aktivit, které začínají před f[1], všechny takové aktivity přeskočíme. Nyní nám zbývá nejvýše k aktivit, takže z indukčního předpokladu víme, je správné pro ně pokračovat hltavým postupem.
Offline
↑ BikerOnly:
Ahoj vřešil jsi tento problém? Mohl by jsi mi zaslat na email TomasTurcovsky@seznam.cz tvé konečné řešení tohoto problému?
Moc by mi pomohlo pro pochopení.
Dík moc.
Offline