Maximalwert bestimmen: z = (a+b+c) / 3 und v = z + ( |z-a| + |z-b| + |z-c| ) / 3

+3 Daumen
144 Aufrufe
Hallo,

folgende verschachtelte Problemstellung:

a, b, c ∈ {0, ..., 100} natürliche Zahlen.

z = (a+b+c) / 3

v = z + ( | z - a | + | z - b | + | z - c | ) / 3

Welchen Maximalwert kann v annehmen (v auch natürliche Zahl)? Bitte auch allgemeine Lösung für v angeben.

Sorry falls meine Begriffsbezeichnungen mathematisch nicht ganz richtig sind, bin kein Mathematiker :-)

Viele Grüße

Stephan
Gefragt 27 Sep 2012 von Gast ih1555

1 Antwort

0 Daumen
 
Beste Antwort

Erstmal kann man v ja noch anders darstellen, wenn man die Definition von z einsetzt:

 

v = (a+b+c)/3 + (|b/3+c/3 - 2a/3| + |a/3+c/3 - 2b/3| + |a/3+b/3 - 2c/3|) /3

v = 1/3* (a+b+c + 1/3*(|b+c-2a| + |a+c-2b| + |a+b-2c|))

v = 1/9* (3a + 3b + 3c + |b+c-2a| + |a+c-2b| + |a+b-2c|)

Ohne Beschränkung der Allgemeinheit kann man davon ausgehen, dass die Zahlen der Größe nach geordnet sind, sodass a ≥ b ≥ c gilt.

Daraus folgt, dass der letzte Betrag in jedem Fall schonmal weggelassen werden kann, denn:

a+b-2c ≥ c + b -2c ≥ c+c-2c ≥ 0

v = 1/9*(3a+3b+3c + a + b - 2c + |b+c-2a| + |a+c-2b|)

v = 1/9*(4a+4b+c + |b+c-2a| + |a+c-2b|)

Außerdem muss beim ersten Betrag das Vorzeichen umgedreht werden, denn:

b+c-2a ≤ a+c-2a ≤ a+a-2a ≤ 0

v = 1/9*(4a+4b+c -(b+c-2a) + |a+c-2b|)

v = 1/9*(6a+3b + |a+c-2b|)

Jetzt muss eine Fallunterscheidung gemacht werden, da über den letzten verbleibenden Betrag keine Aussagen getroffen werden können:

Falls b≤(a+c)/2: v = 1/9*(6a+3b+a+c-2b) = 1/9*(7a+b+c)

Falls b≥(a+c)/2: v = 1/9*(6a+3b-(a+c-2b) = 1/9*(5a+5b-c)

In beiden Fällen steigt v also, wenn a oder b steigen. Falls außerdem b kleiner ist als der Mittelwert zwischen a und c, dann steigt v, wenn c steigt, ansonsten steigt v wenn c sinkt.


Also kann man die beiden maximalen Möglichkeiten herausfinden, indem man einfach mal die optimalen Werte einsetzt, also im ersten Fall für a, b und c 100: v(100,100,100) = 1/9*(7*100+100+100) = 100

Im zweiten Fall für a und b 100 und für c 0: 1/9*(5*100+5*100-0) = 1000/9 ≈ 111,111

Da v ebenfalls eine natürliche Zahl sein soll, muss man für c stattdessen 1 einsetzen. Dann erhält man

v = 999/9 = 111.

Beantwortet 27 Sep 2012 von Julian Mi Experte X

Hi Julian,

vielen Dank für deine superschnelle Antwort. Hätte ich selbst wahrscheinlich ziemlich lange für gebraucht. Irgendwie hatte ich diese Kombination (zwei optimale Werte und Null schon in Verdacht) aber man muß sich ja immer sicher sein und das geht eben nur mathematisch :-)

An zwei Stellen mußte ich zunächst ein wenig stutzen (bevor ich mir die folgenden Zeilen dann etwas genauer ansah bzw. mitgedacht habe), hier:

Zitat: ''Daraus folgt, dass der letzte Betrag in jedem Fall schonmal weggelassen werden kann''

die Betragstriche waren es, und das meinst du natürlich auch. Und hier:

Zitat: ''für z stattdessen 1 einsetzen''

sicher meinst du ''für c''.

und in dieser Zeile:

v = 1/3* (a+b+c) + 1/3*(|b+c-2a| + |a+c-2b| + |a+b-2c|)

fehlte glaub ich noch die Klammer. Letzteres ist klar, die beiden ersten Punkte erwähne ich nur, damit andere, die dieses Fallbeispiel auch nachvollziehen wollen den Text flüssiger lesen können, falls sie so wie ich immer etwas länger brauchen :D

nochmals vielen Dank und viele Grüße

Stephan

ps.: sorry für die späte Rückmeldung, hatte bei der Anmeldung versehentlich einen Rechtschreibfehler in der Email und mußte dann noch 'ne Stunde warten

Vielen Dank für deine Korrekturen, ich habe das verbessert. :-)

 

An einer Stelle allerdings, meine ich tatsächlich etwas anderes, vermutlich habe ich da zuviel auf einmal gemacht:

v = (a+b+c)/3 + (|b/3+c/3 - 2a/3| + |a/3+c/3 - 2b/3| + |a/3+b/3 - 2c/3|) /3

v = 1/3* (a+b+c + 1/3*(|b+c-2a| + |a+c-2b| + |a+b-2c|))

(nebenbei fehlte da wirklich eine Klammer, aber die ganz hinten).

 

Denn ich klammere einerseits aus der gesamten Summe 1/3 aus und andererseits aus den Beträgen noch 1/3. Das kann man machen, weil

|x*y| = |x|*|y|

gilt.

 

Mit Zwischenschritten sähe das folgendermaßen aus:

v = (a+b+c)/3 + (|b/3+c/3 - 2a/3| + |a/3+c/3 - 2b/3| + |a/3+b/3 - 2c/3|) /3

v = 1/3*(a+b+c+|b/3+c/3 - 2a/3| + |a/3+c/3 - 2b/3| + |a/3+b/3 - 2c/3|)

v = 1/3*(a+b+c+1/3*|b+c - 2a| + 1/3*|a+c - 2b| + 1/3*|a+b - 2c|)

v = 1/3*(a+b+c+1/3*(|b+c - 2a| + 1/3*|a+c - 2b| + 1/3*|a+b - 2c|))

 

Und dann weiter wie bisher.

perfekt :-)

das ganze hat übrigens eine programmiertechnische Anwendung. Setzt man statt der 100 die Zahl 255 als Maximalwert für a,b,c ein und betrachtet a,b,c als R G B Werte (Farben Rot, Grün, Blau) so bedeutet z die Helligkeit und der andere Summand stellt den Farbsättigungsgrad dar. Der Maximalwert beträgt dann 283. Um ihn wieder auf 255 runter zu schrauben muß dann noch 0.9 multipliziert werden. Denn alles was über 255 geht erzeugt einen 'out of range' Fehler. Es ist immer erstaunlich, wie sich die Probleme in der Mathematik grade so reduzieren wie man sie benötigt. Daß bei 100 so'ne Schnappszahl rauskommt hätte ich auch nicht gedacht. Mathe eben :D
Das ist wirklich interessant... und jetzt funktioniert alles so wie es soll?
Oder ging es nur um den theoretischen Hintergrund?

es ging sich um den Wert 0.9. Ich wollte sicher sein, daß das auch der richtige ist. Rein gefühlsmäßig dachte ich mir schon, daß es zwei Max. Werte und eine Null ist. Nur raten ist ja immer so eine Sache...

jetzt funktioniert es nicht nur sondern ich habe auch die Gewissheit, daß das Programm nicht abstürzt unter ''ungünstigen'' Umständen, also wenn der Wert 255 überschritten werden sollte. Der Fehler fiel mir erst nach Stunden des Experimentierens auf als ich ein Bild invertierte und sich die Werte so ergaben, daß 255 überschritten wurde.

hier ist ein Beispiel aus der Praxis:

Anwendungsbeispiel

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort

Willkommen bei der Mathelounge! Stell deine Frage sofort und ohne Registrierung

x
Made by Memelpower
...