Seite 1 von 3

Tool um KV-Diagramme auszuwerten HILFE!

Verfasst: 10.06.2006 18:06
von Frogger
Hallo,
ich bin dabei ein Tool zu proggen, das ein KV-Diagramm auswertet und
als Ergebniss eine disjunktive Formel zurückgibt.

Infos zu KV-Diagramm: http://de.wikipedia.org/wiki/KV-Diagramm
Link zu meinem Tool: http://www.10000kb.de/user_web/frogger/Files/KV.exe

Das Problem dabei ist einen Algo zu machen, der zuverlässig seine Arbeit erfüllt (die Don't-Care Stellen sollen berücksichtigt werden).
Bis jetzt hab ich noch keinen Ansatz gefunden und hoffe auf eure Hilfe.
Vieleicht hat das schon jemand ausprobiert und eine akzeptable Lösung dafür gefunden!??


Einige Infos:

Die Rohdaten werden aus den Buttons ausgelesen und in ein Array gespeichert.
Das sieht dann so aus:

Array(0) --> wert x aus button 0
Array(1) --> wert x aus button 1
Array(2) --> wert x aus button 2
Array(3) --> wert x aus button 3

Der Wert x kann entweder eine '0', '1' oder Don't-Care (bei mir '2') sein.
Die Don't-Care Stellen werden in meinem Tool als "?" dargestellt.
Durch klicken auf einen Button werden die Werte geändert.


Ein Beispiel:

Array(0) = 1
Array(1) = 1
Array(2) = 0
Array(3) = 1

das ergibt als Formel wäre dann: f() = !B V A
also: f() = !B ODER A

V bedeutet ODER
^ bedeutet UND
! bedeutet NICHT (ein horizontaler Strich über dem Buchstaben hat die gleiche Bedeutung)


Das war jetzt das einfachste Beispiel mit nur 4 Felder.
Mein Ziel ist es auch eine Lösung für 8 und 16 Felder zu finden.


Hoffe das war verständlich genug erklärt. :?
Bin für jede Antwort Dankbar.


[EDIT]

Das System, das ich benutze, ist komfortabler als das bei Wikipedia aber als Ergebniss kommt das gleiche raus.

Im folgenden Bild ist das System Visualisiert, das ich verwende.
Die 1er Blöcke (grün u. blau) dürfen immer nur 2,4,8,16... Felder zusammenfassen.

Bild

re: KV-Diagramm

Verfasst: 10.06.2006 18:15
von Kaeru Gaman
mal fix danke, dass du die background-info mit verlinkt hast...

ich hab mich mit der problemstellung noch nicht beschäftigt, kann sein, dass mir was auffällt beim reinlesen, muss nicht sein...

deswegen antworte ich mal eben per PN, weil es angenehm ist, mal so eine spezifische anfrage mit genügend beckground zu lesen...

ansonsten: This PN is Spam... :roll:

Verfasst: 10.06.2006 19:13
von Alves
@ KG

Wolltest du das per PN schreiben, oder ist das etwas anderes?

Verfasst: 10.06.2006 19:35
von Kaeru Gaman
irgendwie schon... mist.. >__<

warum dieses so?

nuja,
tatsache bleibt bestehen: das thema ist hochinteressant und gut dargelegt...

ich hab bloss nich de kopp frei um mich reinzuknien, sonst würd ich mich mal mit auseinandersetzen...

Verfasst: 10.06.2006 19:45
von DarkDragon
V bedeutet ODER
^ bedeutet UND
Aber das auch nicht immer, außerdem solltest du NICHT noch erwähnen, das ist ein Horizontaler Strich obendrüber, sonst wären KV Tafeln zur hälfte nicht brauchbar.

Verfasst: 10.06.2006 20:13
von Frogger
...das ist ein Horizontaler Strich obendrüber
Da hast du recht. Der Stich bedeutet nur, dass die Variable nigiert ist.
Ich hab das kleine n genommen, weil ich für mein Tool keine einfache Möglichkeit gefunden hab um Striche über Buchstaben darzustellen und ImageGadgets wollte ich nicht verwenden.

Aber das auch nicht immer
Wieso nicht IMMER???
Ich kenn das nur so :?

Verfasst: 10.06.2006 20:26
von DarkDragon
Frogger hat geschrieben:
Aber das auch nicht immer
Wieso nicht IMMER???
Ich kenn das nur so :?
Es gibt 3 Arten, in allen kann man das beschreiben. Laut meinem IT Lehrer sehen die so aus:
Bild

Wobei das "!" Vor dem entsprechenden Wert steht und das "/" nichts anderes als das wie bei der ersten Spalte sein soll(So mussten wir es allerdings aufschreiben). Das "!" ist auch aus C/C++/PHP/Java bekannt.

[EDIT]
Außerdem ist dieses KV-Diagramm wie ein Level von "Asteroids" zu verstehen: Man kann auch über den Rand hinaus Gruppieren UND nicht gesetzte Werte(durch "X" gekennzeichnet) können beliebig genutzt werden.

Verfasst: 10.06.2006 20:32
von Kaeru Gaman
wobei noch zu bedenken ist, dass & und | zwei faktoren verknüpfen, aber ein ! einem einzigen vorausgeht....

Verfasst: 10.06.2006 20:56
von Frogger
So, habs wie gewünscht geändert um Missverständnisse zu vermeinden.
nicht gesetzte Werte(durch "X" gekennzeichnet) können beliebig genutzt werden.
Ich denke das kann man machen wie man will ist halt geschmackssache.
Wir mussten dafür ein "?" nehmen und die nennt man Don't-Care Stellen.

Das mit den 3 Arten hör ich zum ersten mal.
Unser Lehrer hat uns nur die 1. Möglichkeit beigebracht :shock:

Verfasst: 12.06.2006 09:53
von Karl
Warum nimmst du nur zwei Variablen. Es wird erst ab 6 unübersichtlich.

Ich würde noch die Option "konjunktive Normalform" einbauen.

Also gesetzte Werte am besten immer mit 1 angegeben - nicht gesetzte mit 0 und don´t-cares mit "-". Hat sich eigentlich so eingebürgert.

Gruß Karl