Mathematisches Problem, ges.: Anzahl Wege über ein Schachbrett
Hallo,
warscheinlich ist das nicht gerade das richtige Forum für solche Fragen, aber bevor ich mich wieder woanders registrieren muss, probiere ich es trotzdem hier.
Ich schreibe im Moment eine Android App, bei der ein beliebig großes 2-dimensionales Feld aus Buttons angezeigt wird.
Man soll auf 2 verschiedene Buttons klicken und dann wird ein zufälliger Weg dazwischen ausgerechnet und eingefärbt.
Bei größeren Feldern dauert das ziemlich lange und ich brauche eine Anzeige, die eine Schätzung abgibt, wie lange die Suche voraussichtlich noch dauern wird.
Dazu müsste ich ausrechnen, wie viele mögliche Wege es von meinem Startpunkt zu jedem beliebigen anderen Punkt auf dem Feld gibt, da ich im schlimmsten Fall alle diese Möglichkeiten durchprobiere.
Dabei ist zu beachten, dass ich mich von jedem Punkt nur in vertikaler oder horizontaler Richtung bewegen kann, also nicht schräg.
Wenn mir dazu jemand eine Formel sagen könnte, wäre ich schon mal glücklich.
Um es ganz genau zu machen, gibt es aber noch eine weitere Einschränkung.
Zwei Wegstücke verlaufen niemals parallel direkt nebeneinander. D.h. zwischen zwei Wegabschnitten ist immer mindestens eine freie Reihe Buttons. Zwei Wegstücke können sich nur in einem Fall berühren, nämlich wenn sich zwei Ecken schräg gegenüber liegen. Diese berühren sich dann in genau einem Punkt.
Ich hoffe das war verständlich, wenn nicht, bitte fragen.
Hoffentlich kann mir jemand helfen!
Grüße
Garrarufa
warscheinlich ist das nicht gerade das richtige Forum für solche Fragen, aber bevor ich mich wieder woanders registrieren muss, probiere ich es trotzdem hier.
Ich schreibe im Moment eine Android App, bei der ein beliebig großes 2-dimensionales Feld aus Buttons angezeigt wird.
Man soll auf 2 verschiedene Buttons klicken und dann wird ein zufälliger Weg dazwischen ausgerechnet und eingefärbt.
Bei größeren Feldern dauert das ziemlich lange und ich brauche eine Anzeige, die eine Schätzung abgibt, wie lange die Suche voraussichtlich noch dauern wird.
Dazu müsste ich ausrechnen, wie viele mögliche Wege es von meinem Startpunkt zu jedem beliebigen anderen Punkt auf dem Feld gibt, da ich im schlimmsten Fall alle diese Möglichkeiten durchprobiere.
Dabei ist zu beachten, dass ich mich von jedem Punkt nur in vertikaler oder horizontaler Richtung bewegen kann, also nicht schräg.
Wenn mir dazu jemand eine Formel sagen könnte, wäre ich schon mal glücklich.
Um es ganz genau zu machen, gibt es aber noch eine weitere Einschränkung.
Zwei Wegstücke verlaufen niemals parallel direkt nebeneinander. D.h. zwischen zwei Wegabschnitten ist immer mindestens eine freie Reihe Buttons. Zwei Wegstücke können sich nur in einem Fall berühren, nämlich wenn sich zwei Ecken schräg gegenüber liegen. Diese berühren sich dann in genau einem Punkt.
Ich hoffe das war verständlich, wenn nicht, bitte fragen.
Hoffentlich kann mir jemand helfen!
Grüße
Garrarufa
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 218447
Url: https://administrator.de/contentid/218447
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Hi,
so wie ich es verstanden habe, hast du da "unmögliches" vor. Wenn der Weg komplett zufällig ist, gibt es da nichts zu schätzen. Es könnte der kürzeste oder auch der längst mögliche Weg sein der da am Ende bei rauskommt. Nur ausgehend von den 2 gewählten Punkten kann man aber nichts sagen.
Sehr stark vereinfacht könntest du die Zahl der schon besuchten Felder durch die gesamtzahl der Felder Teilen und das Ergebnis in Prozent angeben. Der Anwender sieht dann wieviel Spielfläche schon abgelaufen wurde.
Mathegenies können bestimmt noch anhand der Reglen die Zahl der noch möglichen Felder berechnen und somit die Anzeige verfeiernen, aber das übersteigt mein können ;)
so wie ich es verstanden habe, hast du da "unmögliches" vor. Wenn der Weg komplett zufällig ist, gibt es da nichts zu schätzen. Es könnte der kürzeste oder auch der längst mögliche Weg sein der da am Ende bei rauskommt. Nur ausgehend von den 2 gewählten Punkten kann man aber nichts sagen.
Sehr stark vereinfacht könntest du die Zahl der schon besuchten Felder durch die gesamtzahl der Felder Teilen und das Ergebnis in Prozent angeben. Der Anwender sieht dann wieviel Spielfläche schon abgelaufen wurde.
Mathegenies können bestimmt noch anhand der Reglen die Zahl der noch möglichen Felder berechnen und somit die Anzeige verfeiernen, aber das übersteigt mein können ;)
HI!
das kannst du(man) vll über Graphen Theorie lösen. Alle Nachbarknoten von markierten Knoten dürfen nicht mehr besucht werden, so kannst du einmal die überhaupt noch möglichen Knoten abschätzen. Hinzu kommt dann, wenn das Feld zb schon mal geteilt ist - dann kannst du die eine Hälfte auch nicht mehr besuchen (falls sich die Wege nicht kreuzen dürfen).
Im Bereich der Mustererkennung kannst du dich auch umsehen - Anzahl der Pixel/nicht markierten Knoten - dafür gibt es Algorithmen.
kA ob die dann nicht länger brauchen als der Rest... aber ja...
was ist wenn du einfach das Verhältnis der restlichen Knoten zu den bereits markierten nimmst?
sg Dirm
das kannst du(man) vll über Graphen Theorie lösen. Alle Nachbarknoten von markierten Knoten dürfen nicht mehr besucht werden, so kannst du einmal die überhaupt noch möglichen Knoten abschätzen. Hinzu kommt dann, wenn das Feld zb schon mal geteilt ist - dann kannst du die eine Hälfte auch nicht mehr besuchen (falls sich die Wege nicht kreuzen dürfen).
Im Bereich der Mustererkennung kannst du dich auch umsehen - Anzahl der Pixel/nicht markierten Knoten - dafür gibt es Algorithmen.
kA ob die dann nicht länger brauchen als der Rest... aber ja...
was ist wenn du einfach das Verhältnis der restlichen Knoten zu den bereits markierten nimmst?
sg Dirm
Moin,
Du kannst die maximale Anzahl de Wege nach oben abschätzen:
Durch die vorgabe der nachbarschaft kannst Du effektiv ca. nur maximal die hälfte aller felder besuchen. wenn man die Sonderfälle an den Rändern des feldes wegläßt, hat Du bei jedem Feld ca. 3 mögliche variantionen "weiterzugehen", rechts links gerade. Damit ist eine obere Grenze 3^(n/2) mit n als Anzahl der "buttons" auf dem Feld.
lks
Du kannst die maximale Anzahl de Wege nach oben abschätzen:
Durch die vorgabe der nachbarschaft kannst Du effektiv ca. nur maximal die hälfte aller felder besuchen. wenn man die Sonderfälle an den Rändern des feldes wegläßt, hat Du bei jedem Feld ca. 3 mögliche variantionen "weiterzugehen", rechts links gerade. Damit ist eine obere Grenze 3^(n/2) mit n als Anzahl der "buttons" auf dem Feld.
lks