Rucksackproblem

Aus Stupidedia, der sinnfreien Enzyklopädie!
Version vom 19:58, 18. Apr. 2013 von 78.43.127.24

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Das Rucksackproblem gehört zu den typischen Problemen eines Mathematikers, der seine lange Studienzeit für etwas sinnvolles nutzen will. Natürlich hat Mathematik keinerlei Praktischen nutzen, denn Mathe ist ja bekanntermaßen ein Arschloch.

Was ist das Rucksackproblem? Das Rucksackproblem beschäftigt sich damit, in einen "Rucksack", eine Menge von "Wertgegenstände" zu packen, sodass der Rucksack später die nicht überfüllt ist und den maximalen Wert erreicht... Klingonisch, ist auch so. Dabei gehört das Rucksackproblem zu den NP-Vollständigen Problemen.

NP-Probleme sind warscheinlich nicht effizient, sondern in Polynomialzeit entscheidbare Probleme bzw. Algorithmen. Das bedeutet im Klartext, dass es totaler Schwachsinn ist, da irgendetwas zu berechnen, weils eh ewig dauert und jeder Normale mensch mit IQ über Zimmertemperatur die Lösung instinktiv finden kann. Typisch Mathematiker eben.

Szenario: Unser Mathematiker hat also erfolgreich sin Studium abgeschlossen. Nach 2 Jahren Arbeitslosigkeit (Was will man denn mit Mathematikern???) und einem Jahr an einer Schule als Mathematik und Sport Aushilflehrer, hat unser Guter kein Bock mehr (Klar kann man verstehn, aber hätt er halt was gscheides Studiert). Nach dem 5 Bier um 3 Uhr Mittags denkt er sich nun: "Ich hab ja Studiert, also kann ich da bestimmt etwas von anwenden". Und erinnert sich an das Rucksackproblem, er entschließt sich natülich Einbrecher zu werden, da er ja berechnen kann wie er seinen Rucksack am besten mit dem Diebesgut beladen kann... macht Sinn.

Dabei gibts aber folgende Probleme: 1) Zum berechen braucht man sehr viel Zeit (NP-Problem), also muss man vorher sich auskennen und alles zuhause berechnen, nochmals einbrechen und erst dann alles mitnehmen. Oder vor Ort die 3 Wochen berechnungszeit durchführen, aber wer kann schon solange ungesehen im Haus rumm rennen? 2) Es wird vergessen, dass er ja noch Hände hat, indenen er einfach ja noch das eine oder andere nette mitgehn lassen kann. Was die Berechnung voll zunichte macht. 3) Man geht davon aus, dass alles schön stabelbar ist. Jaaa sichi.

Rechnung: Ist man dennoch Wahnsinnig genug das alles zu berechen kann man folgenden Algorithmus verwenden: U: Die Objekte der bergierde B: Größe des Rucksacks (in kg, Litern, Scoville, Bier, nach der Richterskala, etc) w: Gewichtungsfunktion für die Objekte. z.B. w(Vulkan) = 600000 ; w(Atombombe) = 2; in Tonnen v: Wertfunktion der Objekte v(Vulkan) = 5 ; v(Atombombe) = 1 in der Richterskala.

   Eingabe: U, B, w, v
       R := [1…(n+1), 0…B]-Matrix, mit Einträgen 0
       FOR i = n … 1
           FOR j = 1 … B
               IF w(i) <= j
                   R[i,j] := max( v(i) + R[i+1, j-w(i)], R[i+1,j] )
               ELSE
                   R[i,j] := R[i+1,j]
   Ausgabe: R[1,B]

Linktipps: Faditiva und 3DPresso