Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jan Barášek
Tvůrce
Avatar
Jan Barášek:11.7.2013 21:21

Mějme řadu čísel:

1, 2, 3, 4, 5, ....

řada má dalších 5 hodnot a já vám neřeknu jaké. Chci, aby jste mi napsali zbývající část. Z nějakého důvodu očekávám, že většina z vás napíše něco jako:

6, 7, 8, 9, 10.

Proč? Protože tomu zhruba odpovídá matematický předpis (který ale neznáte). Co když ale řada čísel pokračuje:

9, 15, 21, 26, 34.

Tato verze je vytvořena naprosto nelogicky a náhodně. Nemá to žádný vzorec (nebo jsem aspoň žádný nevytvářel).

Jak tedy tady k tomu problému přistupovat? Dá se vůbec nějakým způsobem univerzálně zjistit, jak bude jakákoli řada čísel pokračovat? Lámu si nad tím už 3 dny hlavu.


V tomto případě to byl celkem jednoduchý příklad. Stačil by vypočítat rozdíl všech sousedících čísel a pokud by byl výsledek vždy stejný, tak by ho stačilo jen periodicky přičítat. Dá se toto ale udělat nějak univerzálně?
Řada nemusí být totiž tvořena jen sčítáním. Může být tvořena třeba násobením nebo mocninou.

Pokud by byl předpis na př: n = n^(2-3n), tak už by se to zjišťovalo hůře. Prozkoušet všechny kombinace je moc náročné.

Napadá vás něco?

Odpovědět
11.7.2013 21:21
Chci naučit počítače přemýšlet a změnit tak svět vyhledávání.
Avatar
Homo
Člen
Avatar
Odpovídá na Jan Barášek
Homo:11.7.2013 21:58

Je na to vzorec

an = a1 + (n – 1)*d

ale funguje jen pokud je mezi jednotlivymi prvky konstantni rozdil.

an - a s indexem n, kde n je poradi prvku, ktere chces ziskat
a1 - prvni prvek ze sekvence
n - poradi prvku
d - rozdil mezi prvky

Se slozitejsimi posloupnosti bohuzel neporadim :-)

Nahoru Odpovědět
11.7.2013 21:58
1010011 1000101 1011000
Avatar
Martin Dráb
Tvůrce
Avatar
Martin Dráb:11.7.2013 22:00

Ahoj,

myslím si, že nějaké obecné řešení neexistuje. Ono totiž ta řada nemusí mít žádný rozumný předpis. Definujme si funkci f: N ---> N, která nám řadu popisuje.Definujme f(n) = n-tý člen řady. Takže například pro tvoji řadu 1, 2, 3, 4, 5 by funkce f byla definována takto:

f(1) = 1
f(2) = 2
f(3) = 3
f(4) = 4
f(5) = 5

Jak je definována pro další hodnoty, nám není známo. Existuje nekonečno (řekl bych, že nespočetně) takových f, které se s tou naší shodují v prvních pěti hodnotách a v ostatních se od sebe liší.

Pokud předpokládáme, že pro řadu bude tato funkce vždy rostoucí (následující člen řady je vždy > než předchozí) a bude všude definovaná, tak pokud ti dá někdo předpis této funkce a nějaké číslo, dokážeš mu říci, zda-li jej výsledná řada obsahuje či nikoliv. Myslím, že více asi ne.

Pokud navíc za řady budeš považovat i funkce nerostoucí, tak ani nedokážeš říci, zda-li do výsledné řady nějaké číslo patří či ne.

Existují také přibližné metody, jak najít funkci, které prochází zadanými body. Například pro dva body vždy najdeš přímku, která nimi prochází. Pro tři body je to parabola, pro více bodů něco trochu horšího – obecný polynom. Metoda vytvoření funkce-polynomu, která prochází zadanými body, se nazývá Lagrangeova interpolace. Určitě ale budou existovat i jiné možnosti.

Myslím, že se obvykle u těchto úloh volí relativně jednoduchý vzorec, nebo zákonitost, kterou lze při troše štěstí v řadě vysledovat. Ale neznám způsob, jak na něj přijít. Ono teoreticky bys tyhle řady mohl doplnit libovolnými čísly, protože prostě existují. Že předpis pro takovou řadu neumíme rozumně napsat neznamená, že taková řada neexistuje.

Nahoru Odpovědět
11.7.2013 22:00
2 + 2 = 5 for extremely large values of 2
Avatar
Homo
Člen
Avatar
Odpovídá na Jan Barášek
Homo:11.7.2013 22:07

Nebo jeste se muzes pokusit sehnat databazi sekvenci odtud:
http://oeis.org/
WolframAlpha tu databazi vyuziva.

Nahoru Odpovědět
11.7.2013 22:07
1010011 1000101 1011000
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:11.7.2013 22:11

Řešil bych to podobným způsobem jako když děláš matematický rozklad kvadratické rovnice, já si teda vždycky vezmu to číslo a hledám jakým způsobem jde to čislo vyjádřit. Pak jen najdeš schodu... Ovšem najít schodu s čísly jako jsi zadal ve vzorci je asi jako ta japonská soutěž, kde borec říká z hlavy z hlavy příklady jako 7768 atd :D

 
Nahoru Odpovědět
11.7.2013 22:11
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.