WisFaq!

\require{AMSmath} geprint op zondag 24 november 2024

Re: Systeem bestaande uit samenhangende formule`s

Dank u wel voor uw reactie,

Eu en Du zijn vrij te kiezen waarden. Waar de u voor staat ben ik inmiddels vergeten. Als er een bepaalde waar gekozen wordt voor Eu moet E wel worden bijgewerkt volgens: E=E-Eu. Eu mag dus ook niet groter zijn dan E op dat moment in de tijd.

Dan voor de berekening van C:
Het is vrij te kiezen hoeveel er bij C opgeteld wordt. Dit kan dus 1, 2 of meer zijn (laten we dit X noemen). Echter er MOET gelden:
floor( Eu /(50/F) )=X en floor(Du/100000)=X
Eu en Du (hebben dus de maximale waardes van E en D). En er is dus ook een maximum voor X. Er is vrij te kiezen wanneer dit wordt gedaan in tijd (vaak zal het niet mogelijk zijn) en met hoeveel X.

Naast dat ik het gewoon intressant vind om te weten hoe zoiets opgelost kan worden. Ben ik aan het proberen te berekenen hoe een (strategisch) spel zo goed mogelijk gespeeld kan worden. In het spel staat D voor geld en E voor beurten. Dan kunnen bepaalde dingen verbetered worden aan de hand van de bovenstaande formule's.

Het klopt dat E ook geschreven kan worden als: E=100+4t.
Dit is denk ik een andere aanpak. Ik heb het probleem zelf proberen op te lossen om twee verschillende manieren.
Eerst ben ik uitgegaan van formules om uit te rekenen hoe alles zich verhoud in de tijd. Bijvoorbeeld om E te weten bij 24 uur zal het worden: 100 + (24 * 4). Toen ik hiermee echter zo in de knoop ben geraakt ben ik van formules uitgegaan die alles stap voor stap (per t) berekenen dit zijn de bovenstaande geworden.

Het klopt dat A en C eigenlijk vereenvoudigd kunnen worden door een formule. Dit stond echter apart omdat deze in het spel twee verschillende waardes representeren (waarbij de eene waarde dus eigenlijk alleen wat zegt over de andere).

De formule voor A is misschien niet juist genoteerd. Het is in het begin 1 en daarbij komt floor(C / 50). Dus eigenlijk A = Astart + floor(C / 50) of iets dergelijks.
C zal in het begin 0 zijn. En kan dan vermeerderd worden met minimaal 1 of meer. (zie de alinea over de berekening van C).

Een kant en klare oplossing zou natuurlijk mooi zijn, maar ik denk dat dit wat teveel is gevraagd. Een methode / theorie om dit 1. gestructureerd te krijgen en 2. op te lossen zou daarom fijn zijn.

Flip
14-11-2007

Antwoord

Beste Flip,

Ik probeer de spelregels om te zetten in een berekening. Maar, het is nog niet helemaal duidelijk. Wanneer wordt G ge-update? Wanneer moet je Eu en Du kiezen. Blijven die de hele ronde hetzelfde of moet je voor B, C, F en G steeds weer een nieuwe waarde kiezen? En, welke waardes mag je voor Eu en Du kiezen? Moet het een heel getal zijn?

Het is natuurlijk wel belangrijk om de juiste formules te krijgen. Waarom moet er steeds afgerond worden? En, waarom soms naar beneden? Maar goed, daar komen we wel achter. Kun je niet een getallenvoorbeeld geven voor een paar rondes?

Dan over het optimaliseren. De strategie bestaat uit een aantal keuzes per ronde (B, C, F wel of niet updaten, en met hoeveel). Die kun je bij voorbeeld vastleggen in arrays.
Je wilt weten voor welke waarden in de arrays G het snelste bij 10000 is.
Je kunt dat in principe doen door alle mogelijke waarden van alle mogelijk parameters af te gaan. Maar doordat je veel parameters heb (voor iedere ronde 6 of meer) is dat in de praktijk niet te doen.
Dit is ook de reden dat ik probeer de berekeningen te vereenvoudigen. Als het effect van één of meer paramters eenvoudig te begrijpen is, kun je voor die parameters alvast bepalen wat de optimale keus is, zodat er minder overblijven. Om eerlijk te zijn schat ik dat de kans dat dit lukt heel klein is. Maar, daarvoor moet ik eerst weten hoe de regels precies werken.
Als dit alles niet lukt heb je intelligente zoekalgoritmes nodig om de optimale oplossing te zoeken. In dit geval heb je heel veel parameters met waarschijnlijk een vergelijkbaar effect (het maakt wellicht niet zo veel uit of je een beslissing in deze ronde neemt of in de volgende) denk ik dat een genetisch algoritme het beste zal werken. Maar ja, dat is een hoop werk. En, of je dat er voor overhebt?

Groet. Oscar

os
16-11-2007


© 2001-2024 WisFaq
WisFaq - de digitale vraagbaak voor het wiskunde onderwijs - http://www.wisfaq.nl

#53047 - Lineair programmeren - Student hbo