Algorithm für Summengenerierung |
| 10.04.2012, 08:56 | diaro | Auf diesen Beitrag antworten » |
| Algorithm für Summengenerierung kann mir jemand sagen ob für folgende Aufgabe einen Algorithmus gibt, bzw. wenn nicht wie könnte man es richtig angehen: es soll eine gültige Addition von bis zu 5 Termen generiert werden. Gegeben sind nur die Grenzen der Termen gegeben. Die Termen sind (vorerst) ganze Zahlen und können negativ oder positiv sein. Auch die Anzahl der Termen ist variabel, von 2 bis 5 T1 + T2 + T3 + T4 +T5 = Summe Bsp. T1min = 0 T1max = 40 T2min = -20 T2max = 30 T3min = -40 T3max = 100 T4min = 1 T4max = 2 T5min = -20 T5max = 30 SummeMin = -100 SummeMax = 200 vielen Dank für jeden Hinweis! |
||
| 10.04.2012, 09:50 | thk | Auf diesen Beitrag antworten » |
Hallo diaro, ich hab das mal so verstanden, dass ein 'Term' ein Intervall beschreibt, also ein 2Tupel von Zahlen (min;max). Zu interpretieren etwa als Fehler (max. Abweichung einer Größe nach beiden Seiten), die sich zu einem Gesamtfehler addieren. (Dein Beispiel ist dann wohl eine gewisse Abschätzunng). Ist das so weit richtig interpretiert? |
||
| 10.04.2012, 20:30 | diaro | Auf diesen Beitrag antworten » |
ja, es ist ein Intervall der aus 2 Tupel besteht, jedoch keine Abweichung. mein Beispiel ist so zu verstehen: wenn die Intervalle weiter oben gelten, dann kann ich zB (manuell) folgende gültige Addition generieren: T1=5 T2=17 T3= -1 T4= 2 T5=30 T1 + T2 + T3 + T4 +T5 = Summe 5 + 17 + (-1) + 2 + 30 = 53 welche Schritte, bzw. Überprüfungen muss ich durchführen und vor allem wo anfangen um eine gültige Addition zu generieren zu können um möglich viel von den Limits ausnutzen zu können... eine Bedingung von mir (weiss nicht ob notwendig und richtig) T1min + T2min + T3min + T4min + T5min <= SummeMin und T1max + T2max + T3max +T4max + T5max >= SummeMax wenn ich die Generierung von der Summe starte |
||
| 10.04.2012, 21:31 | thk | Auf diesen Beitrag antworten » |
Das Ziel der ganzen Übung ist mir noch etwas verworren, aber ich vermute mal, dass du aus irgend einem Grund die kleinst- und die größtmögliche Summe ermitteln musst. Deine Idee stimmt nur dann, wenn du genau 5 Summanden hast. Oben schreibst du aber, dass es maximal 5 sind. In dem Fall, dass es minimal 1 Summand sein darf, ist die minimale Summe das Minimum aller 5 Minima, also SummeMin=min(t1min, t2min,..,t5min); analog das Max.. Im Falle von mindestens 2 Summanden musst du das Mimimum und das Minimum der Restmenge bestimmen usw.. |
||
| 10.04.2012, 21:42 | diaro | Auf diesen Beitrag antworten » |
ein möglicher Start wäre aus meiner Sicht mit der Summe zu beginnen und (um bei den ersten Bsp. zu bleiben) eine ganze Zahl generieren welche sich zw. -100 und 200 befindet zb. Summe = -50 so, jetzt wie kann ich Term für Term generieren (Limits beachten!) um die Summe -50 zu erzeugen. Irgendwie müssen die Limits des nächsten zu generierenden Term eingeschränkt werden um nicht zu große od. nicht zu kleine Zahlen zu generieren sodass sich die Summe dann nicht mehr ausgeht...ich komme aber nicht dahinter
was für ein Zusammenhang zwischen den eigenen Limits (des zu generierenden Term) und alle anderen Limits der übrigen Termen.die Anzahl der Termen kann von 2 bis 5 variieren. |
||
| 10.04.2012, 22:00 | thk | Auf diesen Beitrag antworten » |
Hmmm also du hast 5 Intervalle vorgegeben (?) Das Programm soll nun 2..5 Zahlen generieren, die im jeweiligen Limit liegen. T1:=random(T1max-T1min)+T1min liefert z.B. die erste Zahl. |
||
| Anzeige | ||
|
|
||
| 10.04.2012, 22:01 | diaro | Auf diesen Beitrag antworten » |
yep, ganz genau |
||
| 10.04.2012, 22:07 | thk | Auf diesen Beitrag antworten » |
Eine Möglichkeit, max. 3 Zahlen ungültig werden zu lassen, findest du dann sicher auch noch (z.B. per Zufallszahl außerhalb des Limits schicken). |
||
|
|
Verwandte Themen
| Die Beliebtesten » |
| Die Größten » |
| Die Neuesten » |

was für ein Zusammenhang zwischen den eigenen Limits (des zu generierenden Term) und alle anderen Limits der übrigen Termen.