Tool um KV-Diagramme auszuwerten HILFE!

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Tool um KV-Diagramme auszuwerten HILFE!

Beitrag 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
Zuletzt geändert von Frogger am 10.06.2006 20:47, insgesamt 2-mal geändert.
[PB4.20]
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

re: KV-Diagramm

Beitrag 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:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

@ KG

Wolltest du das per PN schreiben, oder ist das etwas anderes?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag 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 :?
[PB4.20]
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

wobei noch zu bedenken ist, dass & und | zwei faktoren verknüpfen, aber ein ! einem einzigen vorausgeht....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag 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:
[PB4.20]
Benutzeravatar
Karl
Beiträge: 520
Registriert: 21.07.2005 13:57
Wohnort: zu Hause

Beitrag 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
The Kopyright Liberation Front also known as the justified ancients of Mumu!
PB 5.X
Antworten