Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mathematisches Problem, ges.: Anzahl Wege über ein Schachbrett

Frage Entwicklung

Mitglied: Garrarufa

Garrarufa (Level 1) - Jetzt verbinden

03.10.2013 um 15:13 Uhr, 1902 Aufrufe, 5 Kommentare

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
Mitglied: Bitboy
03.10.2013 um 15:39 Uhr
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 ;)
Bitte warten ..
Mitglied: Garrarufa
03.10.2013 um 16:05 Uhr
Mir ist klar, dass ich nicht anzeigen kann, wie lange es noch dauert, bis die Berechnung fertig ist.
Was ich anzeigen möchte, ist die prozentuale Anzahl der bereits probierten Wege, gemessen an der Anzahl der möglichen Wege. Kann natürlich sein, dass schon nach 1% ein Weg gefunden wurde. Die Anzeige zeigt nur die maximale Dauer an.
Bitte warten ..
Mitglied: Dirmhirn
03.10.2013 um 16:49 Uhr
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
Bitte warten ..
Mitglied: Lochkartenstanzer
03.10.2013, aktualisiert um 17:44 Uhr
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
Bitte warten ..
Mitglied: Garrarufa
15.10.2013 um 16:32 Uhr
Danke für eure Antworten, ich habe mir die Zeit genommen das Problem nochmal zu überdenken und bin auf einen einfacheren Algorithmus gekommen, der erstens schneller zum Ziel kommt und zweitens einfacher abzuschätzen ist.
Idee: Alle Felder auf dem Schachbrett in zufälliger Reihenfolge füllen, bis nur noch ein Weg vom Start- zum Endpunkt übrig bleibt.
Bitte warten ..
Ähnliche Inhalte
Vmware
gelöst Keyboard problem (7)

Frage von rocco61 zum Thema Vmware ...

Windows Server
Freigaben, Berechtigung Problem nach Deaktivierung von Vererbung (7)

Frage von opc123 zum Thema Windows Server ...

Windows Update
WSUS Server Problem

Frage von mibo17 zum Thema Windows Update ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...