Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

07.08.2015, 13:08

Knobelaufgabe

Hallo liebe Leute,

ich habe hier eine Aufgabe, die gelöst werden möchte, habe aber auch selber die Lösung leider nicht. Es geht darum, eine Berechnungsvorschrift für folgende Zahlenfolge zu bestimmen:

1, 2, 2, 4, 8, 14, 23, 36, 53, 74, 102, 135, 174, 221, 276, 339

Bei Bedarf kann ich auch noch beliebig mehr Zahlen angeben. Ich vermute, dass es sich um eine rekursive Definition, ähnlich den Fibonnacci-Zahlen handelt.

Was ich bis jetzt rausgefunden habe:
1) Jede Zahl lässt sich als Summe von Vorgängern darstellen, ohne eine Zahl doppelt zu verwenden (außer die ersten zwei natürlich)
2) In dieser Summe kommt auf jeden Fall der direkte Vorgänger vor
3) Eine Zahl ist niemals mehr als doppelt so groß wie ihr Vorgänger

Ich habe hier schon einige Zettel voll geschmiert, habe aber langsam keine Ideen mehr. Für Vorschläge oder Anregungen wäre ich sehr dankbar, vielleicht gibt es ja hier einige, denen diese Aufgabe Spaß macht ;)

Viele Grüße
newby

2

07.08.2015, 17:18

Wenn du beliebig viele erzeugen kannst, warum dann so wenige?
Zeig doch gleich mal 1000 Werte oder so...

MfG
Check

3

07.08.2015, 17:35

Müsste die erst per Hand errechnen und dann aufschreiben, bin ich zu faul für ;)
Es geht um ein Spiel, bei dem man Gebäude ausbauen kann, wobei jede Ausbaustufe mehr Rohstoffe kostet. Ich versuche die Formel für die Kosten rauszufinden. Ich vermute mittlerweile, dass es doch eine geschlossene Formel und keine Rekursion ist, da auch der 1000. Wert genauso schnell anzegeigt wird, wie alle davor.

4

07.08.2015, 18:03

Langsam wirds erst weit später...
Wenn du zu faul dafür bist, habe ich keine Lust dazu, nachdem du meintest, dass du beliebig mehr Zahlen angeben könntest.

MfG
Check

Hello_Kitty!

unregistriert

5

07.08.2015, 18:45

Es geht um ein Spiel, bei dem man Gebäude ausbauen kann, wobei jede Ausbaustufe mehr Rohstoffe kostet.
Das ist natürlich ein interessanter Hinweis und ich verstehe nicht, wie der im Ausgangspost fehlen kann. Dann wird es sich wahrscheinlich einfach um gerundete Werte eines Polynoms handeln.

6

08.08.2015, 11:21

An ein Polynom habe ich auch gedacht, habe ich aber verworfen, da ich ja jedes Polynom vom Grad n mit n+1 Punkten eindeutig bestimmen könnte. Rundung wäre natürlich möglich, da könnte ich das auch wohl nicht rausfinden, glaube ich aber nicht dran. Ich glaube an eine "sauberere" Lösung ;)

Ich habe auch nicht die "echten"-Werte angegeben, sondern die Kosten auf den ggT normiert. Falls sich jemand für die echten Werte interessiert (die Formel für Eisen, Lutinum und Bauzeit sind identisch):

(Link)


Viele Grüße

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »newby« (08.08.2015, 11:30)


Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

7

08.08.2015, 12:49

Die Begründung warum das nicht der Fall sein kann, ist jedenfalls Blödsinn weil die Logik jede Lösung ausschließt, denn es sind ja zum Beispiel auch unendlich viele rekursive Definitionen möglich sind. Dadurch das die Zahlen aus einem Spiel kommen, würde ich mit an Sicherheit grenzender Wahrscheinlichkeit sagen, dass die Zahlen nicht rekursiv definiert sind sondern durch einen mathematischen Ausdruck.

Hast du die verlinkte Lösung von Hello_Kitty überhaupt angeschaut?
Dort geht hervor, dass es sich wahrscheinlich um ein Polynom vom Grad 3 handelt, weil der Koeffizient für die 4. Potenz sehr sehr gering ist und wie du unten bei den Fehlervergleich siehst auch keine Verbesserung mehr bringt. Nur durch die Rundung ist es etwas schwierig exakt die richtigen Werte zu bestimmen. Ich habe mir mal die Mühe gemacht die ganze erste Spalte von deinen Daten direkt einzutragen: Link
Es ergibt sich ein sehr ähnliches Bild. Der 4. Grad kann den eher zufällig verteilten Rundungsfehler nicht reduzieren. Außerdem finde ich auffällig, dass die Koeeffizienten erstaunlich gerade Zahlen darstellen. Außer beim 29. Wert ganz knapp, stimmen alle anderen Werte sogar exakt überein, wenn man sie auf 50er rundet. Es ist sehr wahrscheinlich, dass es sich um ein kubisches Polynom handelt. Mit noch höheren und weniger gerundeten Werten kann man die Koeeffizienten noch genauer bestimmen und auch noch den 29er in die Reihe bekommen.

EDIT: Eine sehr gute und zugleich einfache Formel ist auch 5x³+79
Damit stimmt sogar der 29er überein.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Spiele Programmierer« (08.08.2015, 12:55)


8

08.08.2015, 13:10

Vielen Dank! Ihr habt mir extrem geholfen, hab deine Formel noch für deutlich mehr, teils auch deutlich größere Zahlen getestet und hat immer funktioniert :thumbsup: Tausend Dank!

Die Lösung von Kitty hatte ich mir schon angeschaut, bevor sie gepostet wurde. Habe selber schon mit Wolframalpha rumgespielt, aber habe zum einen die falschen Zahlen genommen, zum anderen konnte ich die Ergebnisse nicht ausreichend gut interpretieren. Auch dafür nochmal vielen Dank.

9

10.08.2015, 11:31

Ich bräuchte nochmal eure Hilfe. Es geht um dasselbe Spiel. Man hat die Möglichkeit seine Kommandozentrale auszubauen, was die Bauzeit von Gebäuden reduziert. Ich versuche, auch diese Formel rauszufinden. Ich habe die Bauzeit des Bohrturms (Stufe 10) mal für Kommandozentrale Stufe 1-15 bestimmt (in Sekunden): Link. Hier scheint mir keine Formel wirklich passend. Ich vermute, die ursprüngliche Bauzeit wird um einen Faktor abhängig von der Stufe der Kommandozentrale verringert. Deswegen habe ich mal die relative Verbesserung zur Vorstufe betrachtet: Link. Hier ist die Logarithmische Formel garnicht so schlecht,ich habe aber keine Idee wie man auf so eine perfekte Formel wie Spiele_Programmierer vorher kommen kann. Bräuchte eure Hilfe beim Interpretieren der Ergebnisse. Das wäre echt Klasse :thumbsup:

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

10

10.08.2015, 12:33

Mein erster Gedanken war eine "1/x" Funktion, weil der 2. Wert in etwa halb so groß ist wie der erste, der dritte ungefähr drittelt so groß wie der erste und so weiter. Die Auswertung bei Wolfram Alpha schien mir relativ vielversprechend: Link

Bereits die quadratische Approximation ist hier relativ gut und bei der Kubischen ist der Leitkoeffizient wieder sehr gering. Bei der Quadratischen liegen die ersten 2 Ziffern meistens nah dran: Link
Leider scheint mir die exakte Formel noch leicht anders zu lauten.

EDIT: Link korrigiert.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Spiele Programmierer« (10.08.2015, 16:04)


Werbeanzeige