Tip na algoritmus – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Tip na algoritmus – Pascal – Fórum – Programujte.comTip na algoritmus – Pascal – Fórum – Programujte.com

 

JanK
~ Anonymní uživatel
2 příspěvky
1. 2. 2008   #1
-
0
-

Pěkný podvečer,
kamarád mě prosil o pomoc a já zjistil, že toho moc nezmůžu. Tak se ptám tady. Vymýšlí program, který by doplnil následující člen zadané posloupnosti - jistě to znáte z IQ testů, zadají vám řadu čísel a domyslete to poslední. Nenapadá mě efektivní algoritmus.
Jediné, co mě napadlo, je postupně testovat typy posloupností (např. jedná-li se o přičítání čísla, násobení atp.). kombinací je ovšem mnoho - nenapadá někoho něco efektivnějšího?
Nejde mi o vlastní kód, sháním nápad, Děkuji.

Nahlásit jako SPAM
IP: 147.251.55.–
Osiris0
Stálý člen
1. 2. 2008   #2
-
0
-
Nahlásit jako SPAM
IP: 85.70.130.–
Laaca
~ Anonymní uživatel
225 příspěvků
3. 2. 2008   #3
-
0
-

Tahle úloha už z principu na počítači řešit nejde. Vždyť v IQ testech jde právě o to - rozpoznat pravidla posloupnosti. Tedy potřeba najít algorimus. Počítače nejsou od toho, aby nacházely algoritmy, ale aby prováděly algoritmy. Samozřejmě bys mohl zkusit udělat jakousi kuchařku, program, který dokáže identifikovat několik typů posloupností, ale v praxi by to bylo na nic, protože možností, podle kterých může být posloupnost sestavena, je nekonečně mnoho.
Není ale naopak problém napsat program, jestli zadané číslo může být členem nějaké dříve definované posloupnosti. Např. program, který zjistí, zda je zadaná hodnota členem Fibonacciho posloupnosti, zda je to prvočíslo, zda je to součet dvou předchozích prvočísel, atd.

Nahlásit jako SPAM
IP: 81.0.253.–
JanK
~ Anonymní uživatel
2 příspěvky
3. 2. 2008   #4
-
0
-

To Laaca : No počkat počkat, kamarád si to vybral z nějakého seznamu úloh, a ten program má obtížnost asi 7 z dvanácti, to by nemusel být tak složitý? Pravda je, že na všechny posloupnosti to opravdu napasovat asi nepůjde... Takže říkáte udělat několik testovacích procedur?

Nahlásit jako SPAM
IP: 88.103.249.–
tmi0
Věrný člen
3. 2. 2008   #5
-
0
-

pokud se nemylim tak toto je uloha z nejake nedavne sady korespondencniho seminare z informatiky - KSI.
zadani ulohy vicemene vybizelo k heuristickemu reseni ulohy, tedy zavest do programu co nejvice predpisu a podle tech pak doplnovat (To Laaca : takhle velice casto postupuje clovek. a kdyz jsme u ulohy pocitacu, rika ti neco termin geneticke algoritmy?). ovsem je taky treba rict ze pokud je rada zadana vyctem prvku, pak jeji predpis nemusi byt jednoznacny.

teoreticky se da podle jednoducheho pravidla k jakekoli rade vygenerovat predpis ktery ji pasuje - napr. pro radu {3,5,7}, ktera by mela odpovidat prepisu n=2*x + 1, se da pouzit i predpis n=||sgn(x-1)|-1|*3 + ||sgn(x-2)|-1|*5 + ||sgn(x-3)|-1|*7. ten viditelne pasuje jen teto casti rady - ale to je presne to o co nam jde. reseni je to sice nechutne, ale teoreticky zadani odpovida - ovsem podle techto predpisu jsou vsechny nasledujici cleny 0).

ale jinak bych jako smysluplne reseni videl ony usirevem navrhnute generujici funkce).

To Garret Raziel : podle me je nadavka se spenatem docela originalni a dobra).

a proc je tohle vlastne v sekci pascal?

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Osiris0
Stálý člen
3. 2. 2008   #6
-
0
-

To tmi : jj, ty generující funkce jsou myslím nejlepší. Ony ty posloupnosti v IQ testech nikdy nejsou náhodné, vždy to má nějaký jednoduchý/složitý řád.

Nahlásit jako SPAM
IP: 85.70.130.–
tmi0
Věrný člen
3. 2. 2008   #7
-
0
-

To Osiris : ale cela ta uloha je z principu dost spatna - totiz pokud je posloupnost zadana konecnym poctem prvku, tak teoreticky pro ni muze byt vice navzajem ruznych predpisu (a tim nemyslim jen ten psychoidni kterej sem popsal ja))...

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Osiris0
Stálý člen
3. 2. 2008   #8
-
0
-

tmi napsal:
To Osiris : ale cela ta uloha je z principu dost spatna - totiz pokud je posloupnost zadana konecnym poctem prvku, tak teoreticky pro ni muze byt vice navzajem ruznych predpisu (a tim nemyslim jen ten psychoidni kterej sem popsal ja))...



Jistě, nicméně já bych to chápal tak, že jsou ty řešení v IQ testech omezené na nějakou podmnožinu různých základních posloupností (například a_1n = n*n, a_2n = n, a_3n = n-te prvocislo ...) a jejich různé součty a násobky. Když to omezíme takto, tak máme vyhráno.

Nahlásit jako SPAM
IP: 85.70.130.–
tmi0
Věrný člen
3. 2. 2008   #9
-
0
-

To Osiris : jasne -> ale pak uz je mozna lepsi pouzit heuristiku zalozenou na prave ty podmnozine ruznych zakladnich posloupnosti (a ten predpis najit treba metodou nejmensich ctvercu nebo nejak podobne)

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Osiris0
Stálý člen
3. 2. 2008   #10
-
0
-

tmi napsal:
To Osiris : jasne -> ale pak uz je mozna lepsi pouzit heuristiku zalozenou na prave ty podmnozine ruznych zakladnich posloupnosti (a ten predpis najit treba metodou nejmensich ctvercu nebo nejak podobne)



jj, to bude asi nejlepší řešení.

Nahlásit jako SPAM
IP: 85.70.130.–
minox40
Duch
4. 2. 2008   #11
-
0
-

to all.......................dekuji za oslobodeni mysle!off

Nahlásit jako SPAM
IP: 77.48.69.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

Tip k češtině v C++ — založil hybridfusion

Tip: python online — založil peter

Tip na zajímavé algoritmy — založil beachboy

Tip pro další studium — založil flanopal

Tip ako na char pole — založil XANI

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý