Java BDD Methode

Status
Nicht offen für weitere Antworten.

graciela

Mitglied
Hallo!
Ich hoffe man kann mir heute noch helfen-- es ist nämlich schon sehhhhhr wichtig!!

Ich soll jetzt für die Uni folgendes runterladen: Java BDD. Habe es versucht. aber leider verstehe ich nicht ganz was ich falsch mache, das Programm (?) will bei mir nicht laufen... :cry:

Wollte fragen, ob einer vielleicht weiß.. wie man folgende Aufgaben lösen kann:

1.) Schreiben Sie eine Methode boolean satOne (BDD x) mit JavaBDD, die true zurückgibnt, wenn x erfüllbar ist, ansonsten false. Wenn eine erfüllende Belegung existiert, soll diese ausgegeben werden, wobei Variablen, deren Wert keine Rolle spielt, weggelassen werden können. Beispiel: Für die Funktion x0 & x1 v ~x2 ist unter anderem x2=0, x0=0 eine gültige Ausgabe. (Testen Sie ihre Funktion an mehrerer Beispiele.)


2.) Sie arbeiten an der Entwicklung eines Prozessors mit und haben fü reine Teilaufgabe folgende Funktion aufgestellt:

f(x0,x1,x2,x3) = ~x0 & ~x1 & ~x2 v x3 & (x1 v x2) v x0 ~x2 & ~x3

Ein Kollege behauptet nun, dass man diese Funktion auch einfacher darstellen kann und sich dadurch Hardware einsparen lässt:

f' (x0,x1,x2,x3) = ~x0 & ~x1 v x3

a) Schreiben Sie ein Programm mit JavaBDD, mit dem Sie überprüfen können, ob ihr Kollege Recht hat. Das Programm soll, sofern die beiden Funktionen nicht äquivalente sind, ein Gegenbeispiel ausgeben. Verwenden Sie dazu die Funktion satOne aus der vorherigen Aufgabe.

b) Führen Sie das Programm aus. Setzen sie ggf. die Variablenbelegungen des Gegenbeispiels in f und f' ein und vergleichen Sie die Ergebnisse.


Das sind die für mich schier unlösbaren Aufgaben. Würde mich schon super freuen, wenn mir hier einer erklären könnte wie ich JavaBDD auf meinem Rechner funktionsfähig mache..... *verzweifelt*

Muss nämlich diese Übung schon morgen abgeben... 🙁

Viiiiiiiiiiiiiiiiiiiiiiielen Dank an alle die so nett sind und die Zeit haben mir zu helfen!!!!!!!!!!!!!!!

*jetzt geduldig warten wird*

gruß graciela
 
Ich weiß nicht genau, was Du vor hast, ist leider nicht mein Gebiet. Ich lade mir mal das BDD herunter und schaue mal, was ich damit anfangen kann. Kannst Du mir sagen, wobei Du bis jetzt Probleme hast?
 
http://javabdd.sourceforge.net/

mein problem ist, dass ich das programm runtergeladen habe, mit zip versucht habe zu öffnen. er nennt es wohl extrahieren oder sowas und jetzt sollte ich eigentlich eine datei namens: buddy.dll öffnen. diese allerdings will sich nicht öfnen lassen.
man hat mir gesasgt, dass da ein programm aufgehen sollte.. mit dem soll ich programmieren können (diese aufgaben)


...
 
Gib mir mal Deinen Link, ich vergleiche ihn erst mal mit dem, den ich hier bei Google gefunden habe.
OK, wie gehts dann weiter? Vermutlich kann ich Dir bei der Programmierung leider nicht helfen.
 
nun. sagen wir es mal so. soviel ich weiß, wie man es mir mal gesagt hat soll es super einfach sein, weil man nicht wirklich selber schreiben muss (das programm). ich bin im ersten semester. programmieren war absolut keine voraussetzung um diese lehrveranstaltung besuchen zu können. ... wenn du es schaffst diese zu öffnen weißt du vielleicht was damit gemeint ist.

wenn also java oder so kannst, dann dürft das nur zucker schlecken sein. wer weiß....
 
Um erst mal das Programm zum Laufen zu bekommen, rufst Du das Programm mit java -jar javabdd_0.6.jar N auf. Das kannst Du am besten von einer Batchdatei aus machen, die Du im Verzeichnis der entpackten Komponenten speicherst. N ist dabei "die Größe des Boards" (Beschreibung).
EDIT: Eine dll-Datei ist eine Bibliothek, die Funktionen enthält und nicht direkt ausführbar ist. Dazu wird immer eine EXE-Datei benötigt, die diese Bibliothek läd.
 
Hast Du Java installiert? Welche Version? Hast Du schon mal mit Java zu tun gehabt?
Ich habe das Programm hier am Laufen, weiß aber nicht so recht damit etwas anzufangen... ???:L
 
du hast es sogar am laufen. also .... du hast es programmieren können.. krass cool..

ja klar habe ich java. und zwar diesen sdk oder so ähnlich. version müsste 1.4 sein oder so... habe ich erst vor kurzem runtergeladen und dann nochmal vom "Java Handbuch der Programmierung" auf PC installiert... also ich habe es eigentlich auf jeden FAll!
 
Ich habe nichts programmiert. 🙂 Nur erst mal alles in ein Verzeichnis gelegt/entpackt, etwas in der Beschreibung zum JavaBDD geschmökert und probiert. Im jar-File ist ein Programm drin, (NQueens.class) welches mit dem obigen Befehl letztendlich ausgeführt wird. Mehr habe ich nicht gemacht. NQueens erwartet einen Parameter (Zahl).
Hmm ja, ich habe mal Deine letzten Postings nachgelesen. Dort kann man lesen, welches SDK zu installiert hast.Du hast so, wie es aussieht das SDK 1.4.2_04 installiert.
Sag mir mal bitte, wo Du es genau auf Deiner Platte C: hin installiert hast.
EDIT: Sorry, ist nicht nötig. Du schreibst einfach diese Batchdatei mit dem Befehl. Ich habe versucht, die Jar-Datei per Doppelklick zu starten, ging aber nicht. Nicht mal ne Fehlermeldung.
 
Okay. mache ich .. nur verstehe ich nicht was ich für n einsetzten soll... nicht wirklich. nein... :?:

... also geht das alles eh nicht?? ist ja sehr merkwürdig..
 
Also dieser Befehl startet diese NQueens.class. Das scheint aber nur ein einfaches Beispiel zu sein (wofür auch immer). N scheint eine Zahl zu bezeichnen. Ich habe mal einfach eine "5" eingegeben. Dann hat das Programm eine Menge Zeilen ausgespuckt. Etwa so:
Using BDD package: BuDDyFactory
Adding position 0,0
Adding position 0,1
Adding position 0,2
Adding position 0,3
Adding position 0,4
Adding position 1,0
Adding position 1,1
Adding position 1,2
Adding position 1,3
...
Garbage collection #1: 1009 nodes / 732 free / 0.0s / 0.0s total
Adding position 2,1
...
...
There are 10 solutions.
Here is 1 solution:
<0:0, 1:0, 2:0, 3:0, 4:1, 5:0, 6:0, 7:1, 8:0, 9:0, 10:1, 11:0, 12:0, 13:0, 14:0, 15:0, 16:0, 17:0, 18:1, 19:0, 20:0, 21:1, 22:0, 23:0, 24:0>
Time: 0.047 seconds
Keine Ahnung, was das soll. ???:L

The JavaBDD jar file conatins a simple example that solves an NxN queens problem. You can run this example by simply typing: java -jar javabdd_0.6.jar N.
Wie gesagt, das ist nicht mein Gebiet, ich kann damit nichts anfangen. Wenn Du so etwas damit programmieren sollst, musst Du doch irgendwelche Informationen (außer den obigen spärlichen) erhalten haben.

Wenigstens konnten wir das Programm in Betrieb nehmen, hoffe Du kommst damit weiter.
 
Tut mir leid dass ich nicht mehr zurück geschrieben habe... bin voll eingenickt vor müdigkeit und erst spät wieder aufgewacht... ich versuche es mal!!

danke vielmals!!
 
kenne JavaBDD nicht, aber NQueens klingt ganz nach dem N - Damen - Problem (ich kenn es im Speziallfall 8-Damen-Problem)
Es ist eine alte, sicher nicht aus dem Leben gegriffene Spielerei, acht Damen so auf einem Schachbrett zu plazieren, dass sie sich nicht gegenseitig bedrohen. Mit weniger Damen auf einem kleineren "Schachbrett" ist das noch leicht. Bei acht Damen gibt es schon recht viele Möglichkeiten (natürlich treten dabei viele Symmetrien auf).
 
keiner kennt das...... ist ja mal echt zum närrisch werden....
aber ich weiß nicht so recht... das was eben zitiert hast... denkst wirklich damit das was mit meinen aufgaben zu tun hat??
 
nein - deine aufgabe scheint generell zu sein - also etwas logisch zu beweisen.

Soviel ich das N-Damen-Problem kenne kann man das u.a. per Logik beweisen - aber das nichts mit deiner aufgabe zu tun....
 
hilfe. bin ich hier denn die einzige studentin die diesen kram nicht laden kann. ich verstehe es nicht.... sonst klappt doch immer alles, selbst wenn ich stunden lang daran rumbasteln muss.......................
 
Was hast Du denn bisher versucht?
Zip-Datei entpacken und den o.g. Befehl ausführen. Notfalls mit einer Batchdatei.
 
also ich habe mir mal den Code runtergeladen - gut da gibt es keine Probleme.
Dann habe ich mal das binary file für windows runtergeladen in ein Verzeichnis gepackt und dort über die Konsole es mit java -jar javabdd_0.6.jar 5 gestartet - und es ging...
 
Wenn Du das Programm entpackt hast (in irgendein Verzeichnis) fügst Du mal bitte eine Batchdatei (z.B. javabdd.bat) in dem Verzeichnis hinzu, in dem auch die jar-Datei zu finden ist. In die Batch-Datei schreibst Du folgendes:
java -jar javabdd_0.6.jar 5
pause
Die führst Du dann mit Doppelklick darauf einfach mal aus. Das muss funktionieren. Versuche das bitte mal.
Wenn nicht brauche ich Fehlermeldungen.
 
langsam komme ich mir ja echt blöd vor 😳

woher bekomme ich diese javabdd.bat her?? meinst du ich soll einfach mal editor öffnen und das reinschreiben was du sagst und unter .bat speichern? *hofft*
 
L-ectron-X hat gesagt.:
Wenn Du das Programm entpackt hast (in irgendein Verzeichnis) fügst Du mal bitte eine Batchdatei (z.B. javabdd.bat) in dem Verzeichnis hinzu, in dem auch die jar-Datei zu finden ist. In die Batch-Datei schreibst Du folgendes:
java -jar javabdd_0.6.jar 5
pause
Die führst Du dann mit Doppelklick darauf einfach mal aus. Das muss funktionieren. Versuche das bitte mal.
Wenn nicht brauche ich Fehlermeldungen.

hat alles funktioniert. nur weiß ich nicht so recht was ich damit anfangen soll.... verstehe nicht wie es mir weiterhelfen soll die aufgaben zu lösen??
Wie soll ich damit ein Programm schreiben können?
aber schon mal viiiiiiiiiiiiiiiielen Dank!!
super nett von euch!
 
Naja, wenigstens etwas!
Leider endet an dieser Stelle mein Latain. Was Du mit JavaBDD nun anstellen sollst und ob/wie Du es zum Lösen Deiner Aufgabe verwenden sollst, kann ich Dir leider nicht mehr sagen.
Viel Glück!
 
@L-ectron-X:
Ja ich hatte eine ähnliche Ausgabe - ich habe glaub ich mit Paramter 6 gestartet.

@graciela:
Die Implementierung von NQueens demonstriert dir wie man das Package JavaBDD nutzen kann. Direkt hilft es für deine Aufgabe nicht, aber du kannst sehen wie man mit den Klassen des Packages umgehen kann....

Das Package ist eine Art Logik-Programmierung mit dem man bestehende Aussagenketten beweisen kann bzw. deren richtige Belegungen rausfinden kann.... mehr kann ich aber auch nicht sagen - sorry - versuch doch mal mehr im Netz darüber zu suchen vielleicht findet sich was ...

oder ein paar Informatik - Geeks gibt es bei euch im Studium doch sicher auch die man mit einem Lächeln zur Hilfe überreden kann :roll:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben