![]() |
---|
Hallo zusammen, Wenn die Laufzeit der o.g. Formel polynomial ist, wie kann ich das beweisen bzw. zeigen? welches Polynom könnte diese Laufzeit definieren? und Wenn es exponentiell ist, wie kann ich das zeigen?
Danke im Voraus, A.V. Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
Hierzu passend bei OnlineMathe: Online-Übungen (Übungsaufgaben) bei unterricht.de: |
![]() |
![]() |
Hallo. Ich nehme jetzt mal an, dass du das kartesische Produkt von Mengen bestimmen möchtest, also alle -Tupel, wobei jedes Element aus einer der der Mengen kommt. Falls jetzt noch Tupel usw zugelassen sind, gilt die Begründung (mit einer weiteren Abschätzung) ebenso. Beim kartesischen Produkt gibt es Möglichkeiten. Sei mal . Dann gilt: . Das sieht sehr exponentiell aus. Sollten Mengen die Mächtigkeit 1 haben, so kann man das abwandeln zu , was auch exponentiell ist. |
![]() |
Vielen Dank für deine Antwort. Die Theoretiker bzw. die Mathematiker versuchen immer einen Weg zu finden um die exponentielle Schreibweise für die Problemstellung zu finden. In diesem Fall hast du den Trick mit dem min verwendet. Jedoch frag ich mich, ob es genügt das ganze so umzuformulieren um irgendwo dann den exponenten zu bekommen und somit zu zeigen dass die laufzeit exponentiell ist? hätte man an der stelle 4 mengen mit mit 3,6,2 und 8 elementen. dann hätten wir 3x6x2x8 möglichkeiten. das kann man ja nicht exponentiell aufschreiben. hätte die erste menge auch 6 elemente, dann wärs möglich mit 6^2x2x8 es ist ja so, dass der algorithmus, der innerhalb dieser laufzeit terminiert, definitiv eine kürzere laufzeit hat, als einer, der die potenzmenge von einer menge bestimmt. die laufzeit des 2. algorithmus ist definitiv 2^n. und für jedes weitere element was der menge M hinzugefügt wird, wächst das n um genau 1. Das Kartesische Produkt hingegen wächst viel langsamer, und für einen praxisorientierten informatiker wie mich, sieht das auch nciht nach einem exponentiellen "problem" aus. denn wenn es so wäre, dann müsste ich zeigen, dass dieses problem auf ein bekanntes problem (wie. z.b. das SAT-Problem) abgebildet werden kann, und so mit NP-vollständig ist. Es ist für mich schon weichtig, das vorliegende problem richtig zu klassifizieren, um dann mit den bereits bekannten methoden für diese klasse von problemen, versuchen das problem zu "lösen". |
![]() |
Also fuer mich ist die Anzahl der Mengen die Problemgroesse. Ich kann dann ja jedes Problem nach unten abschaetzen, indem ich die Maechtigkeit der Mengen die mehr als zwei Elemente habe auf 2 setzen. Damit ergeben sich dann Schritte. Fuege ich jetzt eine weiter Menge hinzu, erhoeht sich der Exponent um 1 also Schritte. Die Anzahl der Schritte hat sich also verdoppelt. |
![]() |
vorausgesetzt diese mengen haben alle die gleiche anzahl an elementen... stell dir vor, es sind 40 Mengen vorgegeben, darunter weisen nur 2 mengen die gleiche anzahl an elementen auf, und 38 haben unterschiedliche größen. natürlich kann man die zwei mengen zusammenführen und exponentiell aufschreiben, aber würdest du wegen den zwei mengen dann behaupten, der algorithmus hat einen exponentiellen aufwand? weisst du was ich meine? |
![]() |
Ich geh ueber eine Abschaetzung. Ich schau mir einfach ein Problem an, dass weniger Schritte braucht als mein altes Problem. Das schaffe ich, indem ich Elemente weglasse. Von diesem vereinfachten Problem kann ich aber leicht die Anzahl der Schritte bestimmen. Da dieses Problem aber bereits eine exponentielle Laufzeit hat, hat das urspruengliche Problem auch exponentielle Laufzeit. Da sind die genauen Maechtigkeiten der einzelnen Mengen nicht so wichtig. |
![]() |
danke für diese aufklärung, jetzt hab ich es geschnallt!!! |
![]() |
Es kommt alles darauf an, was exponentiell bzw. polynomiell in was sein soll. Es ist einfach einen Algorithmus zu schreiben, der das kartesische Produkt in einer Zeit proportional zur Ausgabelänge errechnet, also in linearer Abhängigkeit von der Ausgabe. Wenn man zu gegebenem das Tupel als Problemgöße angibt, dann ist idie Laufzeit ebenfalls ein Polynom hierin (nämlich das Polynom Die gegebene Zahl kann man keinesfalls als (einzige) unabhängige nehmen, da schon mit unbeschränkt große Ausgaben und Laufzeiten denkbar wenn die Mengen nur groß genug gewählt werden. Üblicherweise bezieht man sich ja auch auf die gesamte Eingabe als unabhöngige Größe. Hier würde man sinnvollerweise die Eingabe wie folgt kodieren: Für jedes Element von ein entsprechendes Symbol, dann ein Trennzwichen, dann für jedes Element von das entsprechende Symbol, dann ein Trennzeichen, schließlich ein Endezeichen. Dadurch hätte die Eingabe eine Länge von . Zu gegebenem könnte die Eingabe dann durchaus bestehen aus: sowie Mengen mit je zwei Elementen (ggf. ein oder zwei hiervon sogar mit drei Elementen). Die Ausgabe umfasst dann midestens eni Symbol für jedes der mindestens Elemente des Kreuzproduktes, erfordert also zum bloßen Hinschreiben mindestens exponentielle Zeit. |