AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Optimierungsproblem (Tabellen mit Baumstruktur)
Thema durchsuchen
Ansicht
Themen-Optionen

Optimierungsproblem (Tabellen mit Baumstruktur)

Offene Frage von "Zacherl"
Ein Thema von Zacherl · begonnen am 13. Apr 2016 · letzter Beitrag vom 15. Apr 2016
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Optimierungsproblem (Tabellen mit Baumstruktur)

  Alt 13. Apr 2016, 19:51
Hallo zusammen,

ich habe eine Menge von Objekten, welche alle die Eigenschaft A besitzen. Zudem kann jedes Objekt optional noch die Eigenschaften B, C, D und E definieren. Alle diese Eigenschaften geben den Index in einer dazugehörigen Filter-Tabelle an.

Die Filter-Tabellen haben unterschiedliche Kapazitäten:
Code:
A = 256
B =   3
C =   5
D =   5
E =   4
Aus diesen Filter Tabellen baue ich mir nun einen Baum. Kleines Beispiel:
Code:
OBJ1 = {A =  4, B = /, C = 5, D = 3, E = /}
OBJ2 = {A = 54, B = 2  C = 3, D = /, E = /}
OBJ3 = {A = 54, B = 1, C = 1, D = /, E = /}

FilterA
   | - 001
   | - 002
   | - 003
   | - 0004 = FilterC
   |             | - 1
   |             | - 2
   |             | - 3
   |             | - 4
   |             | - 5 = FilterD
   |                        | - 1
   |                        | - 2
   |                        | - 4 = OBJ1
   |                        | - 3
   |                        | ...
   | - 005
   | ...
   | - 053
   | - 054 = FilterB
   |            | - 1 = FilterC
   |            |          | - 1 = OBJ3
   |            |          | ...
   |            |          | - 5
   |            | - 2 = FilterC
   |            |          | - 1
   |            |          | - 2
   |            |          | - 3 = OBJ2
   |            |          | - 4
   |            |          | - 5
   |            | - 3
   | - 055
   | ...
Und hier sieht man bereits das Problem. Bisher ist die Reihenfolge der Filter Tabellen statisch von A nach E festgelegt. Im Falle von OBJ2 und OBJ3 benötige ich deshalb 1x FilterB (Kapazität 3) und 2x FilterC (Kapazität 5), womit ich auf eine Gesamtkapazität von 13 komme. Hätte ich die Tabellen aber anders angeordnet; sprich zuerst C und dann B, würde ich für diesen Ast 1x FilterC (Kapazität 5) und 2x FilterB (Kapazität 3) benötigen, was eine Gesamtkapazität von 11 zur Folge hätte.

Wie würdet ihr an dieses Problem rangehen, um für jeden Einzel-Ast (und somit letztlich auch für den kompletten Baum) die jeweils optimale Konfiguration zu ermitteln?
Gibt es eventuell schon effiziente Alogrithmen, die ich für meine Zwecke umbauen könnte (generell wird es wohl auf Bruteforce/Backtracking hinauslaufen, nehme ich an)?

Viele Grüße
Zacherl
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz