Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 14. Apr 2016, 08:38
Bin mir nicht sicher, ob ich es ganz richtig verstanden habe, aber ich versuche es mal in eigenen Worten wiederzugeben:

Code:
FilterA
   | - 0004 = FilterC
   |            | - 5 = FilterD
   |                       | - 4 = OBJ1
   | - 054 = FilterB
   |            | - 1 = FilterC
   |            |          | - 1 = OBJ3
   |            | - 2 = FilterC
   |            |          | - 3 = OBJ2
Das Problem bei der gezeigten Anordnung ist, dass da einmal FilterC direkt unter /FilterA auftaucht und einmal unter /FilterA/FilterB, was unnötig kompliziert ist, weil man es auch so gliedern könnte:

Code:
FilterA
   | - 0004- FilterC
   |            | - 1 = FilterB
   |                       | - 1 = OBJ 3
   |                       | - 2 = OBJ 2
   |            | - 5 = FilterD
   |                       | - 4 = OBJ1
Verstehe ich das richtig?

Also um noch mal zum ersten Baum zurückzukommen, eigentlich steht da ja implizit:
Code:
FilterA
   | - nicht Filter B
   |            | - 0004 = FilterC
   |            |            | - 5 = FilterD
   |            |                       | - 4 = OBJ1
   | - 054 = FilterB
   |            | - 1 = FilterC
   |            |          | - 1 = OBJ3
   |            | - 2 = FilterC
   |            |          | - 3 = OBJ2
Du hast bloß das "nicht Filter B" gleich weggelassen. Aber wenn ich mir das so hingeschrieben mal ansehe und die Kapazitäten mal ignoriere, dann erinnert mich das stark an das Problem der Minimierung von Schaltungen. Dieses "(Filter B) oder (nicht Filter B)" wäre genau so ein Block, denn man z.B. im KV-Diagramm finden und wegoptimieren würde. Für die algorithmische Umsetzung eignen sich natürlich andere Verfahren wie Quine-McCluskey besser. Dein Problem ist leider wohl NP-vollständig.

Geändert von Namenloser (14. Apr 2016 um 08:43 Uhr)
  Mit Zitat antworten Zitat