Goldförderung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Goldförderung

    Liebe Community,

    ich bin über ein anderes Forum auf diese Community gestoßen. Ich habe mich hier schon fleißig durchgeklickt und schon einiges gefunden. Aber für mein aktuelles Problem fehlt mir sogar der Ansatz um es zu lösen. Das ganze ist im Rahmen meines Wirtschaftsmathematik Studiums zu lösen. Wir sollen eine Goldmine mit Hilfe von "Dynamisch disjunkten Mengen" modellieren. Es geht darum, dass man so wenig wie möglich pro Goldminie ausgibt aber die maximale Menge Gold erhält. Dazu gibt es eine Testinstanz. - Aber wie gesagt, mir fehlt da der grundsätzliche Ansatz.

    Da sind eben Felder in einer txt (mit 0 und 1) gekennzeichnet, ob dort Gold ist oder nicht. Die sind dann entweder zusammenhängend, oder frei. Wir sollen nun einen Algorithmus entwickeln, der die Goldvorkommen zählt und wie groß diese Goldvorkommen sind, wenn ein Kästchen einem Quadratkilometer entspricht.

    Bitte legt mir hier keine kompletten Klassen vor. Ich möchte wirklich nur den Denkanstoß haben, gerne auch mit kleinen Codebeispielen oder Links. Ich hoffe, ihr könnt mir helfen! :)


    Silke
  • Ich habe Dir hier mal die Aufgabenstellung abgeschrieben. Vielen Dank, dass Du mir helfen möchtest! :)
    Das Management ist begeistert von Ihren Lösungen und tritt mit einem neuen Problem an Sie heran: Es wurde ein potentielles Fördergebiet erkundet und die dortigen unterirdischen Goldvorkommen kartografiert. Wie das Ergebnis einer Kartograerung aussehen könnte, sehen Sie hier: Dort, wo sich unter der Erde Gold bendet, ist auf der Karte ein schwarzes Kästchen zu sehen. Weiße Kästchen kennzeichnen Gebiete, in denen kein Gold zu nden war. Ein Kästchen hat dabei eine Fläche von einem Quadratkilometer. Zusammenhängende Gebiete von schwarzen Kästchen bilden ein Goldvorkommen, wobei wir Kästchen, die sich nur an ihren Ecken berühren, nicht als zusammenhängend zählen. Natürlich ist die tatsächliche Kart des Fördergebietes bedeutend größer. Jedes der Goldvorkommen muss einzeln erschlossen werden, so dass für jedes Vorkommen Erschließungskosten entstehen. Daher lohnt sich die Erschließung eines Vorkommens nur, wenn es eine gewisse Mindestgröße hat (in unserem Fall beträgt sie 5000km2). Sie sollen nun im vorhinein abschätzen, welche Ausgaben und welche Gewinne die Goldgesellschaft erwarten kann.

    Ihre Aufgabe: Entwickeln Sie einen Algorithmus, der angeben kann, wieviele Ölvorkommen erschlossen werden sollten und welche Fläche diese insgesamt einnehmen. Verwenden Sie dazu Dynamische Disjunkte Mengen. Implementieren Sie Ihren Algorithmus und testen Sie ihn auf der Instanz goldmine.txt.
  • Kommt so ein bisschen drauf an in welchem Semester du bist ;). Ich mein das wegen der Glaubwürdigkeit der Lösung. Spontan würde ich sagen, seh deine "Landkarte" als ungerichteten Graph. Die Goldvorkommen sind die Knoten, wenn zwei Goldvorkommen neben einander liegen, gibt es einen Übergang. Wenn man deine "Landkarte" bestehend aus 0 und 1 als Matrix auffasst, kommt ich relativ schnell zum Stichwort Adjazenzmatrix (de.wikipedia.org/wiki/Adjazenzmatrix). Der nächste Schritt ist, eine Erreichbarkeitsmatrix daraus aufzustellen. Dazu empfehle ich dir den Algorithmus von Warshall (de.wikipedia.org/wiki/Algorithmus_von_Floyd_und_Warshall). Danach musst du nur noch die Zeilen zählen, in der sich mehr als 5 Einsen befinden.

    bei Fragen einfach fragen
    mfg
    ButAlive
  • Also ich bin im zweiten Fachsemester. Ungerichteter Graph sagt mir auf jeden Fall was, das kam in der Vorlesung vor. Ich denke mit Matrizen hat das hier nichts zu tun, haben wir noch nie in der Vorlesung behandelt. Es ist jedenfalls so, dass ich JEDES Feld ansehen muss. Das macht mir ein wenig Sorgen, weil in der Vorlesung immer wieder gesagt wird, dass es schneller geht. Aber ich muss mir doch mindestens jedes Feld einmal ansehen?!
  • Ich denke der entscheidende Satz ist der Vorletzte: Verwenden Sie dazu Dynamische Disjunkte Mengen. Das plus einen geeigneten Suchalgorithmus mit Backtracking, die die Kästchen von der Menge "nicht untersucht" in die Mengen "lohnenswert" und "nicht lohnenswert" umschaufelt (lohnenswert, wenn es zusammen mit seinen Nachbarkästchen groß genug ist, nicht lohnenswert wenn es weiß oder ein zu kleiner Verbund ist). Dafür musst du jedes Kästchen nämlich nur genau einmal betrachten, bei fast allen anderen musst du Kästchen öfter betrachten. Wenn du die Kästchen einsortiert hast brauchst du nur noch die Anzahl der Kästchen in "lohnenswert" Zählen und kannst sagen welche Ausgaben und Gewinne zu erwarten sind.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]