Hinweis auf die DSGVO: Auf unserer Seite werden keine Dritt-Anbieter-Cookies verwendet und nur Daten erfasst, welche für das Minimum an Board-Funktionalität notwendig sind.
Bevor Sie sich registrieren oder das Board verwenden, lesen Sie bitte zusätzlich die DSGVO-Erklärung, welche in der Navigationsleiste verlinkt ist.

Kurzfassung der unserer Meinung nach wichtigsten DSGVO-Punkte:
Es kann vorkommen, dass Benutzer eigenverantwortlich Videos oder sonstige Medien in ihren Beiträgen verlinken, welche beim Aufruf der Forenseite als Teil der Seite samt zugehörigem Material mitgeladen werden. Sollten Sie dies nicht wünschen, verwenden Sie beim Benutzen des Forums einen Blocker wie z.B. uMatrix, welcher das Laden von Inhaltsblöcken von Fremd-URLs effektiv unterbinden kann.
Wir blenden keine Werbung ein und schränken die Inhalte in keinster Weise bei Benutzung von Addblockern ein. Dadurch ist die Grundfunktionalität des Forums auch bei vollständigem Blockieren von Drittanbieter-Inhalten stets gegeben.

Cookies werden unsererseits nur verwendet um das Einloggen des Benutzers für die Dauer der Forenbenutzung zu speichern. Es steht dem Benutzer frei die Option 'Angemeldet bleiben' zu verwenden, damit der Cookie dauerhaft gespeichert bleibt und beim nächsten Besuch kein erneutes Einloggen mehr notwendig ist.
EMail-Adressen werden für Kontakt bei wichtigen Mitteilungen und zur Widerherstellung des Passwortes verwendet. Die verwendeten IPs können von uns ohne externe Hilfsmittel mit keiner realen Person in Verbindung gebracht werden und werden nach spätestens 7 Tagen gelöscht. Diese IPs werden höchstens verwendet um Neuanmeldungen unerwünschter oder gesperrter Nutzer zu identfizieren und zu unterbinden. Wir behalten uns daher vor bei Verdacht, die Frist für die IP-Löschung auf maximal 14 Tage zu verlängern.
Unsere Webseite läuft auf einem virtuellen Linux-Server, welcher von einem externen Anbieter gehostet wird. Etwaige Verstöße der DSGVO-Auflagen seitens dieses deutschen Hosters können wir nicht feststellen und somit auch nicht verfolgen.
Wir halten Backups unserer Datenbanken, welche in regelmäßigen Abständen als Schutz vor Katastrophen, Hackerangriffen und sonstigen Ausfällen erstellt werden. Sollte ein Nutzer die Löschung seiner Daten wünschen, betrachten wir es als Unzumutbar die Backups auch von den Daten zu befreien, da es sich hierbei um eine mehrtägiges Unterfangen handelt - dies ist für eine Einzelperson beim Betrieb eines privaten Forums nicht zumutbar möglich ohne das Backup komplett zu löschen.
Sollten Sie etwas gegen die dauerhafte anonyme Speicherung ihrer EMail-Adresse, ihres Pseudonyms und ihrer Beiträge in einem Backup haben, sehen Sie von der Registrierung in diesem Forum ab. Für Mitglieder, welche vor dem 25.05.2018 registriert waren steht jedoch das Recht im Raum, eine Löschung der Datenbank-Backups zu beantragen.



Wenn dies Ihr erster Besuch hier ist, lesen Sie bitte zunächst die FAQs sowie die wesentlichen Regeln zur Benutzung des Forums.
Um an den Diskussionen teilnehmen zu können, müssen Sie sich zunächst registrieren.

Lösung von Gleichungen mit diskreten Variablen

Mathematische Fragestellungen
Antworten
positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Lösung von Gleichungen mit diskreten Variablen

Beitrag von positronium » 11. Okt 2012, 16:28

Hallo allerseits,

gerne würde ich ein paar Gleichungen lösen, bei denen die Variablen nur diskrete Werte annehmen können. Gibt es dafür ein Verfahren, abgesehen vom Durchrechnen aller Möglichkeiten?

Ein Beispiel ist:

mit
a, b, c Element Integer > 0
a + b > c && b + c > a && c + a > b
Weil dabei (vermutlich ?) eine unendliche Lösungsmenge heraus kommt, käme noch eine Bedingung wie 3 <= a + b + c < z.B. 20000 in Frage.
Hier müsste man zu einer endlichen Lösungsmenge kommen können.

Oder fällt so etwas unter die Diophantischen Gleichungen? Auf Wikipedia (http://de.wikipedia.org/wiki/Diophantische_Gleichung) steht ganz unten "...die Lösbarkeit einer Diophantischen Gleichung unentscheidbar ist.". Bedeutet das, dass man immer alle Parameterkombinationen durchprobieren muss?

Danke!

Gruss

positronium

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von tomS » 11. Okt 2012, 19:01

Mit den Diophantischen Glechungen liegst du richtig; das ist aber ein etwas unübersichtliches Gebiet, insbs. wenn's um höhere Polynome geht (bei dir: sechsten Grades!) es gibt Klassen von Diophantischen Glechungen da ist das eher trivial, dann gibt es welche, wo man zumindest die Anzahl der Lösungen (keine, endlich viele, unendlich viele) ganz gut bestimmen kann; aber bei Gleichungen sechsten Grades ist das i.A. wohl Fields-Medaillen-verdächtig - außer du findest eine spezielle Symmetrie.

Mal bei Mathematika nachgeschaut?
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von positronium » 11. Okt 2012, 19:18

Vielen Dank für Deine Antwort!

Wenn ich nichts übersehen habe, bietet Mathematica, natürlich neben Reduce, das die Lösungsmenge in dem Fall aber auch nur beschreiben kann, es sei denn, ich setze das 3<=a+b+c<20000 ein, was aber wegen der Rechenleistung nie ein Ergebnis liefert, nur eine Funktion Namens FindInstance. Diese sollte einen oder optional eine bestimmbare Anzahl Parametersätze liefern, welche die Gleichung erfüllen. Aber auch hier ist das Problem, dass die Funktion nicht mehr zurück kommt... und eine Möglichkeit festzustellen, wie weit die Berechnung gerade ist, um abschätzen zu können, ob jemals ein Ergebnis kommen könnte, gibt es scheinbar auch nicht.

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von tomS » 12. Okt 2012, 08:08

Da ist aber noch nicht berücksichtigt, dass es sich um eine diophantische Gleichung mit ganzzahligen Koeffizienten handelt ;-)
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von positronium » 12. Okt 2012, 12:04

Vielen Dank für Deinen Versuch, Yukterez!

Bei Reduce kann ich zwar schon angeben, dass nur Integer erwünscht sind, aber das Ergebnis ist auch nicht gerade einladend.

Wenn ich noch den Wertebereich 3 <= a+b+c < 20000 angebe, sieht Reduce wahrscheinlich die Möglichkeit, eine exakte, endliche Lösungsmenge zu ermitteln - das aber wohl nur durch Berechnen aller möglichen Parameterkombinationen.

Als Notlösung habe ich schon versucht, alle Kombinationen (wegen der Geschwindigkeit in einem compilierten Programm mit double precision) durchrechnen zu lassen, und dabei durch den Vergleich mit einem Wertebereich, also nicht = 1, sondern > 0.999.. && < 1.00..1 potentielle Kandidaten heraus zu finden, die ich dann exakt nachrechnen könnte, aber ich fürchte, dass ich wegen der Zahlengenauigkeit mit meinem Geschätzten Intervall total falsch liegen könnte. - Es kommen ja für hohe Zahlen bis zu 6er Potenzen vor, die wiederum mit recht kleinen Werten wie 2/3*b addiert werden.

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von tomS » 12. Okt 2012, 13:02

Eine Implementierung in C/C++ wäre schon sinnvoll, aber dann musst du auf jeden Fall die Gleichung umstellen:

2(-ab+b-c)(a+b-c)(-a+b+c)(a+b+c)(-a²+b²+c²) = 3b³c²

Und damit kannst du mit LONG INTEGER arbeiten, keinesfalls mit DOUBLE!

Dann solltest du evtl. nochmal prüfen, ob ggf. sinnvollere Kombinationen p=a+b und q=a-b o.ä. eine Vereinfachung bringen.
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von positronium » 12. Okt 2012, 14:09

Die Idee ist gut! Danke!
Ich hab's gerade in Java mit der Klasse BigInteger programmiert. So muss ich nicht mit dem Überlauf hantieren, weil ja 64 Bit nicht ausreichen. Das ist jetzt zwar nicht besonders schnell, aber mal schauen...

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von tomS » 12. Okt 2012, 17:40

64 Bit in C++ reichen nicht?
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

positronium
Ehrenmitglied
Ehrenmitglied
Beiträge: 2832
Registriert: 2. Feb 2011, 20:13

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von positronium » 12. Okt 2012, 18:08

Nein, wenn ich bis 20000 rechne, kann eine Variable bis zu 10000 erreichen. Die höchste Potenz ist 6, also 10000^6=
1000000000000000000000000
und 2^64=
18446744073709551616
Der einzige Ausweg wäre, doch wieder die Divisionen auf der einen Seite zu lassen, und die Potenzen als Reihe von Multiplikationen zu schreiben, und die Divisionen dazwischen zu schieben, aber dann kriege ich Probleme mit der Integer-Rundung.

Mit der Lösung über die Klasse BigInteger geht die Geschwindigkeit bald in die Knie. bis a+b+c <= 2000 ging es; dann habe ich abgebrochen - bis 20000 ist noch ein weiter, weiter Weg.

Benutzeravatar
tomS
Ehrenmitglied
Ehrenmitglied
Beiträge: 10670
Registriert: 19. Nov 2007, 20:29

Re: Lösung von Gleichungen mit diskreten Variablen

Beitrag von tomS » 12. Okt 2012, 19:21

stimmt
Gruß
Tom

Der Wert eines Dialogs hängt vor allem von der Vielfalt der konkurrierenden Meinungen ab.
Sir Karl R. Popper

Antworten