Was sind einige effiziente Algorithmen, um festzustellen, ob ein quadratisches multivariates Polynom eine Lösung hat?


8

Ich weiß, dass die multivariate Polynom-Erfüllbarkeit im Allgemeinen 3-SAT entspricht; Ich frage mich jedoch, ob es im quadratischen Fall gute Techniken gibt, insbesondere, ob es eine polynomielle Zeitlösung gibt.

Ich denke, die allgemeinere Frage wäre, gibt es Klassen multivariater Polynome, für die das Erfüllbarkeitsproblem effizient lösbar ist?


1
Was ist das Erfüllbarkeitsproblem für Polynome?
Sasho Nikolov

Vermutlich "Gibt es eine Zuordnung von Werten zu den Variablen, die das folgende Polynom gleich Null macht?"
Jeffs

2
Was können Sie uns über den typischen Parameterbereich sagen, an dem Sie interessiert sind? Zu den kritischen Parametern gehören (die Anzahl der Variablen) und (das Feld, in dem Sie arbeiten). Wenn Sie mehrere Polynome erhalten, die alle erfüllt sein müssen, ist dies ebenfalls relevant (dies ändert das Problem). F.nF
DW

fügte eine Lösung für das uneingeschränkte Problem über die Real hinzu. Das Hinzufügen selbst linearer Einschränkungen macht das Problem jedoch NP-schwer, und wie @DW erwähnte, ist es auch wichtig, was das Feld ist. zB weiß ich nicht, wie ich meine Antwort über ein endliches Feld arbeiten lassen soll, wo Dinge wie positive Semidefinitität und SVD keinen Sinn ergeben.
Sasho Nikolov

Mit Erfüllbarkeit meine ich das, was meiner Meinung nach häufiger als Machbarkeit bezeichnet wird, nämlich die Frage, ob ein System von Polynomgleichungen über ein bestimmtes Gebiet hinweg eine Lösung hat oder nicht.
Nick

Antworten:


9

Sie können entscheiden, ob ein quadratisches Polynom reelle Wurzeln mit einer linearen Algebra hat. Wie Sie bemerken, sollte der allgemeine Fall schwierig sein.p:RnR

Beobachten Sie zuerst, dass für alle x R n ist, wenn entweder p ( x ) > 0 oder p ( x ) < 0 für alle x (dies folgt durch Kontinuität). Es reicht also aus, entscheiden zu können, ob p ( x ) > 0 für alle x ist . Im Allgemeinen hängt dies mit komplexitätstheoretischen Versionen von Hilberts 17. Problem zusammen: einem Polynom p ( x )p(x)0xRnp(x)>0p(x)<0xp(x)>0xp(x)ist genau dann positiv über die Realzahlen, wenn Sie als Summe der Quadrate rationaler Funktionen und einer positiven Konstante c schreiben können (dies ist ein Satz von Artin). Diese Zerlegung zu finden oder das Entscheidungsproblem zu lösen, ist im Allgemeinen höchstwahrscheinlich schwierig, aber der quadratische Fall ist aufgrund der Magie des Spektralsatzes einfach. Weitere Informationen zum allgemeinen Fall finden Sie in der Umfrage von Devanur, Lipton, Vishnoi und Monique Laurent .pc

Schreiben wir wobei p 2 homogen vom Grad 2 ist, p 1 linear ist und c eine Konstante ist. Definieren wir q ( x 0 , x ) = p 2 ( x ) + x 0 p 1 ( x ) + c x 2 0p(x)=p2(x)+p1(x)+cp2p1cq(x0,x)=p2(x)+x0p1(x)+cx02um die Homogenisierung von , wobei x 0 eine zusätzliche Variable ist.px0

Anspruch . p(x)>0x00:q(x0,x)>0

Die "Wenn" -Richtung ist einfach. In der nicht trivialen Richtung sei für alle x und x 00 : q ( x 0 , x ) = x 2 0 q ( 1 , xp(x)>0xx00 QED

q(x0,x)=x02q(1,xx0)=x02p(xx0)>0.

Beachten Sie auch, dass, weil stetig ist, wenn p ( x ) > 0 für alle x ist, q ( x 0 , x ) 0 für alle ( x 0 , x ) (einschließlich x 0 = 0 ) .q(x0,x)p(x)>0xq(x0,x)0(x0,x)x0=0

Da homogen ist, können wir q ( x 0 , x ) = y T Q y schreiben , wobei Q eine symmetrische Matrix ist und y = ( x 0 , x ) . Wenn oben p ( x ) > 0 für alle x ist , dann ist Q positiv semidefinit. Außerdem ist q ( x 0 , x ) > 0 für alle x 0qq(x0,x)=yTQyQy=(x0,x)p(x)>0xQq(x0,x)>0 genau dann, wenn der Kern von Q eine Teilmenge der Hyperebene { y = ( 0 , x ) : x R n } ist . Diese beiden Bedingungen können in Polynomzeit durch Berechnung der SVD von Q bestimmt werden .x00Q{y=(0,x):xRn}Q


Vielen Dank, Sasho. Ich bin mit Polynomen viel zu unbekannt, als dass ich mir diese Methode selbst ausgedacht hätte. Es gibt eine andere Frage, die ich auf dieser Site gestellt habe, um festzustellen, ob eine Permutationsmatrix in Polynomzeit in einem Vektorraum liegt oder nicht. Ich hatte die Frage selbst auf die Lösung dieses Polynomproblems reduziert. In Kombination mit Ihrer Antwort gibt es jetzt einen Polynomzeitalgorithmus, um genau dies zu tun. Sie können die Frage unter diesem Link sehen, wenn Sie interessiert sind
Nick

Nick, ich hatte die Frage gesehen und sie ist interessant. Aber soweit ich mich erinnere, hat Ihre Reduktion dort (die jetzt leider weg ist) Ihre Permutationsmatrizenfrage auf die Lösung eines quadratischen Polynoms reduziert, das linearen Ungleichungsbeschränkungen unterliegt. Insbesondere mussten Sie den Durchmesser eines Polytops bestimmen. Ich denke, das könnte ein schwieriges Problem sein. Meine obige Lösung behandelt keine linearen Ungleichheitsbeschränkungen, soweit ich das beurteilen kann.
Sasho Nikolov

2

Hier ist ein Ansatz, der für einige Polynome funktioniert, aber nicht für alle garantiert ist.

Es funktioniert garantiert für alle mehrlinigen quadratischen Polynome. Es funktioniert auch garantiert, wenn eine Variable , sodass p ( , x , ) keinen x 2 -Term enthält . Für Polynome der Form p ( x , , z ) = c xx 2 + + c zz 2 + p ' ( x , , z )xp(,x,)x2p(x,,z)=cxx2++czz2+p(x,,z)wobei ein multilineares quadratisches Polynom ist (dh Polynome, bei denen jede Variable quadratisch erscheint), kann ich nur eine Heuristik darstellen. Die Heuristik funktioniert in der Praxis oft in Ordnung, aber ich habe keinen Beweis.p

(Ich habe das Gefühl, dass hier irgendwo eine sauberere Lösung lauert ...)


Sei ein Feld. Es sei p ( x , y , z , ) F [ x , y , z , ] ist eine multivariate quadratisches Polynom mit Koeffizienten in dem Gebiet F . Faktoren von x herausrechnen , um zu erhaltenFp(x,y,z,)F[x,y,z,]Fx

p(x,y,z,)=cx2+q(y,z,)x+r(y,z,).

Beachten Sie, dass linear / affin sein muss , r quadratisch sein muss und c eine Konstante sein muss ( c F ). Wir wollen eine Zuordnung von Werten zu x , y , z , ⋯ finden , die machtqrccFx,y,z,

cx2+q(y,z,)x+r(y,z,)=0.

Nun sei die Diskriminante dieser quadratischen Gleichung (in x ), dhΔx

Δ(y,z,)=q(y,z,)24cr(y,z,).

Das ursprüngliche Polynom ist nur dann erfüllbar, wenn Sie eine Zuordnung von Werten zu , die Δ ( y , z , ) zu einem Quadrat (dh einem quadratischen Rest) in F macht . Beachten Sie, dass Δ ( y , z , ) selbst ein multivariates quadratisches Polynom ist (da q affin und r quadratisch ist).y,z,Δ(y,z,)FΔ(y,z,)qr

An diesem Punkt wird sich unser Lösungsansatz verzweigen, basierend darauf, ob (ein einfacher Fall) oder c 0 (der schwierigere Fall) ist.c=0c0


Wenn , ist das Lösen dieser Gleichung einfach: Es ist im Grunde nur eine lineare Gleichung (sie ist in x linear , sobald Sie alle anderen Variablen festgelegt haben).c=0x

Infolgedessen gibt es eine spezielle Klasse von Polynomen, bei denen dieses Problem besonders einfach zu lösen ist: jedes Polynom bei dem eine Variable existiert - der Einfachheit halber nennen wir es x -, so dass x 2 nicht in p erscheint . Für diese Klasse haben Sie oben c = 0 , und dann reicht der folgende Algorithmus aus, um das Problem zu lösen:pxx2pc=0

  • Überprüfen Sie, ob eine Zuordnung von Werten zu y , z , ⋯ hat , die q ( y , z , ) 0 macht . Da q linear ist, ist dies leicht zu überprüfen.qy,z,q(y,z,)0q

    • Wenn ja, wählen Sie eine solche Zuordnung von Werten zu . Als nächstes setze x = - r ( y , z , ) q ( y , z , ) - 1 . Per Definition hat q ( y , z , ) 0 , also hat q ( y , z , ) eine Umkehrung (da wir in einem Feld arbeiten), also einen solchen Wert von xy,z,x=r(y,z,)q(y,z,)1q(y,z,)0q(y,z,)xexistiert. Dies ergibt sofort eine Zuordnung von Werten zu , die p Null macht , und wir sind fertig.x,y,z,p

    • Wenn nein, dann wissen wir für alle möglichen Zuordnungen von Werten zu den Variablen von p . Tatsächlich hing p überhaupt nicht von x ab, daher war es ein Fehler, es als eine Funktion von x zu betrachten . Oder anders ausgedrückt: Wir haben eine Variable aus p entfernt und erhalten eine neue Instanz des ursprünglichen Problems. Wenden Sie unsere Methoden rekursiv auf r ( y , z ,p(x,y,z,)=r(y,z,)ppxxp . Ausnahme: Wenn p eine Funktion einer einzelnen Variablen war (dh p ( x ) ), können Sie in diesem Fall schließen, dass p nicht erfüllbar ist (es ist für alle möglichen Werte seiner Variablen identisch Null).r(y,z,)pp(x)p

Dieser Algorithmus behandelt den einfachen Fall: Polynome, bei denen mindestens eine Variable , die in p erscheint , bei der x 2 jedoch nicht in p erscheint . In diesem Fall läuft der Algorithmus in Polynomzeit und bestimmt, ob eine Zuordnung von Werten zu den Variablen vorhanden ist, die das Polynom gleich Null macht.xpx2p


Nun zurück zum schwierigen Fall. Wenn es nicht in den einfachen Fall fällt, müssen wir haben

p(x,,z)=cxx2++czz2+p(x,,z).

wobei keine quadratischen Terme hat (es ist mehrlinig). Schauen wir uns an, welche Methoden wir für diesen Fall verwenden können.p(x,,z)

Nun, hier ist eine Situation, in der wir dies lösen können. Angenommen, es gibt ein Paar von Variablen so dass - c x / c y ein Quadrat (ein quadratischer Rest) in F ist, beispielsweise - c x / c y = α 2 . Dann können wir die Änderung der Variablen y ' = y + α x anwenden . Praktischerweise haben wirx,ycx/cyFcx/cy=α2y=y+αx

$(y)2=(y+αx)2=y2+2αxy+α2x2=y2+2αcdotxycx/cyx2.

Wenn wir diese Änderung der Variablen in einfügen , erhalten wirp

p(x,y,)=cxx2+cyy2+2αcyxycy(cx/cy)x2+,

dh

p(x,y,)=cyy2+2αcyxy+

wobei der ausgelassene Teil keinen -Term enthält (da sich die Terme c xx 2 und α 2 c yx 2 aufheben). Tatsächlich haben wir den x 2 -Term eliminiert , sodass wir nun die obige Methode auf p ( x , y , ) anwenden können . Beachten Sie, dass p ( x , y , ) = 0 genau dann erfüllt werden kann, wenn p ( xx2cxx2α2cyx2x2p(x,y,)p(x,y,)=0 ist. Wenn wir eine Lösung findendie diese Null macht, können wir Rück lösen für y , und wir eine Zuordnung erhalten , x , y , z , , das macht p ( x , y , z , ) = 0 .p(x,y,)=0yx,y,z,p(x,y,z,)=0

Ist es möglich, dass kein Variablenpaar es uns ermöglicht, einen quadratischen Term zu eliminieren? Wenn ein quadratischer Rest (ein Quadrat) in F ist und wir mindestens 3 Variablen haben, ist dies nicht möglich: - c x / c z = ( - 1 ) × ( - c x / c y ) × ( - c y / c z ) , und da das Produkt eines quadratischen Nichtrests und eines quadratischen Nichtrests ein quadratischer Rest ist, ist garantiert, dass mindestens eines von - c1Fcx/cz=(1)×(cx/cy)×(cy/cz) , - c y / c z oder - c x / c z ist ein quadratischer Rest, sodass mindestens einer der quadratischen Terme gelöscht werden kann. Wenn jedoch - 1 ein quadratischer Nichtrest ist oder wir nur 1 oder 2 Variablen haben, ist es möglicherweise nicht möglich, einen quadratischen Term zu eliminieren. Das ist der verbleibende schwierige Fall. (Die Situation mit nur 1 oder 2 Variablen ist nicht schwer zu handhaben, daher ist der schwierige Fall wirklich, wenn - 1 ein quadratischer Nichtrest ist und jede Variable in p im Quadrat erscheintcx/czcy/czcx/cz11p.) Ich habe keine allgemeine Lösung für diesen schwierigen Fall.


Ich kann jedoch eine Heuristik vorschlagen, die selbst in diesem schwierigen Fall häufig funktioniert.

In jedem Feld sind ungefähr die Hälfte aller Feldelemente Quadrate (quadratische Reste); wenn Sie ein Zufallsfeld Element wählen, wird es ein Quadrat mit einer Wahrscheinlichkeit von über seine 1 / 2 . Wenn wir also Werte für Pick y , z , ... zufällig, können wir das (heuristisch) vorherzusagen , Δ ( y , z , ) sollte ein Quadrat mit der Wahrscheinlichkeit sein , 1 / 2 , wenn Δ ( y , z , ) wirkt wie eine zufällige Funktion. Dies legt den folgenden heuristischen Algorithmus nahe:F1/2y,z,Δ(y,z,)1/2Δ(y,z,)

  1. Wählen Sie zufällig eine Variable aus, um sie zu eliminieren, z . B. .x

  2. Wählen Sie zufällig Werte für .y,z,

  3. Wenn ein Quadrat in F ist , dann hat die Gleichung p ( x , y , z , ) = 0 eine Lösung für x , nämlich x = ( - q ( y , z , ) ± Δ(y,z,)Fp(x,y,z,)=0x(unter der Annahme, dassFkeine Charakteristik 2 hat). Dies gibt uns eine Zuordnung zu den Variablenx,y,z,..., diep(x,y,z,)=0 macht, also sind wir fertig.x=(q(y,z,)±Δ(y,z,))/(2c)Fx,y,z,p(x,y,z,)=0

  4. Wenn kein Quadrat ist, fahren Sie mit Schritt 1 fort.Δ(y,z,)

Wenn Sie nach vielen Schritten keine Lösung finden, können Sie davon ausgehen, dass die Gleichung nicht zufriedenstellend ist (dies ist jedoch eine Heuristik, sodass Ihre Vermutung möglicherweise falsch ist).

Dieser Algorithmus könnte für viele der verbleibenden schwierigen Polynome gut funktionieren, aber ich habe keinen Beweis dafür, dass er immer funktionieren wird. Insbesondere besteht das Risiko, dass alle möglichen Diskriminanzpolynome die Eigenschaft haben, dass ihre Werte immer keine Quadrate (quadratische Nichtreste) sind. In diesem Fall schlägt der obige Algorithmus fehl.Δ()


Dies scheint für ein multilineares Polynom in Ordnung zu sein, aber im Allgemeinen kann es einen x 2 -Term geben und die Zerlegung wird x 2 + x q + r sein , wobei q und r wie in Ihrer Antwort sindpx2x2+xq+rqr
Sasho Nikolov

Oh, richtig. Vielen Dank, @SashoNikolov. Ich habe einen heuristischen Algorithmus hinzugefügt, der für einige Polynome funktioniert, die einen Term enthalten, aber nicht für alle. x2
DW

Ich glaube, ich habe tatsächlich eine Lösung über die Realität, mit einigen bekannten Tricks.
Sasho Nikolov

1

Ihre Frage gibt nicht das Feld an, in dem Sie arbeiten. Sasho Nikolov hat eine hervorragende Antwort gegeben, wenn Sie über , aber sie erstreckt sich nicht auf endliche Felder - daher halte ich es für interessant, Ihr Problem für das zu betrachten Bei einem endlichen Körper F . Ich habe keine vollständige Lösung, aber hier ist ein Algorithmus, der für alle mehrlinigen quadratischen Polynome funktioniert, mit Ausnahme einer bestimmten Klasse von Polynomen (mit denen ich noch nicht umgehen kann). Es fühlt sich eng an: Wenn wir eine Erweiterung finden könnten, um dieses Problem für alle bivariaten Polynome zu lösen, könnten die folgenden Techniken den Rest erledigen.RF


Wenn univariat ist, dh p ( x ) = a x 2 + b x + c , ist das Problem einfach: Testen Sie einfach, ob b 2 - 4 a c ein Quadrat in F ist .pp(x)=ax2+bx+cb24acF


Wenn bivariat ist, dh p ( x , y ) = a x 2 + b y 2 + c x y + d x + e y + f , dann können wir das folgende Verfahren anwenden:pp(x,y)=ax2+by2+cxy+dx+ey+f

Wir werden zuerst einige Transformationen vornehmen, um auf Null zu "zwingen" , da dies besonders praktisch ist für Folgendes:a

  • Wenn bereits ist, gibt es nichts zu tun.a=0

  • Wenn , können wir die Rolle von x und y tauschen .b=0xy

  • Alternativ sei und b 0 . Wenn - b / a in F ein Nichtquadrat ist, bin ich geschraubt und habe keine Lösung (in diesem Fall gebe ich auf und gehe nach Hause). Andernfalls wenden Sie eine Änderung der Variablen x = √ ana0b0b/aF,y'=x+yund definierep'(x,y)=p(x',y'), wobei zu beachten ist, dassp'(x,y)keinenx2-Term hat (er bricht danach ab die Änderung von Variablen). Beachten Sie, dasspmitp'gleichwertig ist(jede Lösung fürp'(x)x=b/axy=x+yp(x,y)=p(x,y)p(x,y)x2pp kann sofortdurch Anwenden der Variablenänderungin eine Lösung für p ( x , y ) übersetzt werden und umgekehrt).p(x,y)p(x,y)

Nach diesem Schritt haben wir ein Polynom ohne -Term. Ohne Verlust der Allgemeinheit können wir also a = 0 annehmen ( p ( x , y ) hat keinen x 2 -Term).x2a=0p(x,y)x2

Da keinen x 2 -Term hat, können wir ihn als umschreibenpx2

p(x,y)=q(y)x+r(y).

Praktischerweise ist dies eine lineare Funktion von . Wir können also wie folgt testen, ob es eine Lösung für p ( x , y ) = 0 gibt:xp(x,y)=0

  • Überprüfen Sie, ob wie q ( y ) 0 existiert . Praktischerweise stellen Gradüberlegungen sicher, dass q ( y ) linear / affin ist, so dass dies leicht zu überprüfen ist.yq(y)0q(y)

    • Wenn ja, dann sei ein beliebiger Wert, so dass q ( y ) 0 ist . Jetzt können wir x = - r ( y ) q ( y ) - 1 lassen . Da q ( y ) 0 ist , ist die Umkehrung sicher vorhanden, daher ergibt dies eine Zuordnung x , y , die p Null macht , und wir sind fertig.yq(y)0x=r(y)q(y)1q(y)0x,yp

    • Wenn nein, dann wissen wir, dass . Nach Gradüberlegungen muss r ein quadratisches Polynom sein. Daher können wir unseren Algorithmus rekursiv auf r anwenden (das eine Variable weniger hat). Es wird genau dann eine Lösung für p ( x , y ) = 0 geben, wenn es eine Lösung für r ( y ) = 0 gibt .p(x,y)=r(y)rrp(x,y)=0r(y)=0

Dieser Algorithmus behandelt alle bivariaten Polynome mit Ausnahme des unglücklichen Falls, in dem ein Nichtquadrat ist.b/a


Nehmen wir als nächstes an, wir haben ein trivariates quadratisches Polynom. Seltsamerweise ist dieser Fall tatsächlich einfacher.

p(x,y,z)=ax2+by2+cz2+.

Wenn alle ungleich Null sind, werden wir den x 2 -Term mit einem niedlichen Trick eliminieren . Finden Sie α , β F so, dass b β 2 + c γ 2 = - a (z. B. unter Verwendung des Algorithmus hier ; solche β , γ sind immer garantiert vorhanden). Wenden Sie nun die Änderung der Variablenänderung x ' = x , y ' = β x + ana,b,cx2α,βFbβ2+cγ2=aβ,γx=x , z ' = γ x + z , was das Polynom p ' ( x , y , z ) = p ( x ' , y ' , z ' ) ergibt. Beachten Sie, dass p ' ( x , y , z ) dank der sorgfältigen Auswahl der Transformationkeinen x 2 -Term hat.y=βx+yz=γx+zp(x,y,z)=p(x,y,z)p(x,y,z)x2

Von hier aus läuft es reibungslos. Wir können schreiben

p(x,y,z)=q(y,z)x+r(y,z),

wobei linear und r quadratisch ist. Wenn q identisch Null ist, rekursieren wir auf r . Andernfalls können wir alle Werte von y , z auswählen , die q ( y , z ) 0 ergeben, und dann wie zuvor sofort nach x auflösen.qrqry,zq(y,z)0x

(Ist es nicht interessant, dass der Fall von 2 Variablen schwieriger zu sein scheint als der Fall von 3 Variablen oder 1 Variablen?)

Ich bin sicher, Sie können sehen, wie Sie diese Ideen auf ein multivariates quadratisches Polynom mit mehr als drei Variablen erweitern können.


Dieser Algorithmus läuft in Polynomzeit. Leider gibt es eine Klasse unglücklicher Polynome, in denen ich geschraubt bin und aufgeben muss. Kann jemand sehen, wie man mit der verbleibenden Klasse von bivariaten quadratischen Polynomen umgeht?


0

Dies gibt keine vollständige Antwort auf die Frage, bietet jedoch eine interessante Möglichkeit, den Raum möglicher Lösungen für ein multivariates quadratisches Polynom zu verstehen.

Sei eine multivariate quadratische Polynomgleichung. Es ist zu beachten, dass ( D x + h ) T ( D x + h ) = x T D T D x + x T D T h + h T D x + h T h . Wenn D eine Diagonalmatrix ist, ergibt dies:xTAx+bTx+c=0(Dx+h)T(Dx+h)=xTDTDx+xTDTh+hTDx+hTh

(Dx+h)T(Dx+h)=xTD2x+2hTDx+hTh

Zurück zu unserer ursprünglichen Gleichung, , beachten Sie, dass wir ohne Verlust der Allgemeinheit annehmen können, dass A symmetrisch ist, dann hat es eine eindeutige positive definitive Quadratwurzel, die in Polynomzeit berechnet werden kann. Nennen Sie diese Wurzel D , dann haben wir:xTAx+bTx+c=0AD

xTAx+bTx+c=0xTDTDx+bTx+bT(D1)2b4=bT(D1)2b4c

Deshalb,

(Dx+bTD12)T(Dx+bTD12)=bT(D1)2b4c

Die Lösungen können also erhalten werden, indem eine affine Transformation auf Vektoren der Norm √ angewendet wirdx.bT(D1)2b4c=bTA1b4c


Kann nicht komplex bewertet werden? D
Sasho Nikolov

Das ist ein guter Punkt, anscheinend habe ich nicht genug darüber nachgedacht. Aber ich mag die Tatsache, dass man so explizit nach Lösungen suchen kann.
Nick

aber wenn komplex ist, dann wissen Sie nur, dass es eine komplexe Lösung gibt, und eine solche Lösung existiert immer (aufgrund des fundamentalen Satzes der Algebra). Ich bin mir also nicht sicher, ob Sie hier tatsächlich etwas lernenD
Sasho Nikolov

Einverstanden, es gibt wirklich nur eine Beschreibung des Lösungsraums als affine Transformation, die auf eine Sphäre angewendet wird. Vielleicht bietet dies einen Ausgangspunkt für andere Möglichkeiten zur Lösung des Problems.
Nick
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.