matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmische GeometrieFinde Sternbilder in 2D Grid
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Algorithmische Geometrie" - Finde Sternbilder in 2D Grid
Finde Sternbilder in 2D Grid < Algorithm. Geometrie < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmische Geometrie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Finde Sternbilder in 2D Grid: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:03 Do 14.08.2014
Autor: ThomasTT

Aufgabe
Nimm an du hast eine Liste von (x,y)-Koordinaten. Nun ist die Aufgabe alle Quadrate (schräg oder gerade) zu finden. Zum Beispiel (2 10), (5 11), (1 13), (4 14) ergibt ein Quadrat, das schräg ist, und (5 5), (10 0), (10 5), (5 0) ist ein Quadrat, welches gerade ist. Quadrate können um jedmöglichen Winkel gedreht sein. Optimale Konvergenz: [mm] N^2 [/mm]

Nehmen wir an wir haben N Koordinaten-Paare. Mein Ansatz ist einen Nx2 Array mit all den (x,y) Koordinaten zu erstellen. Danach schreibe ich eine Schleife, die jeden Punkt durchgeht (von 1 bis N) und in dieser Schleife ist eine weitere die ebenfalls alle Punkte von 1 bis N durchgeht. Mit diesen zwei Punkten kann ich genau feststellen wo die letzten beiden Punkte des Quadrates sein sollten. Daher brauche ich eine weitere Schleife die nochmals alle Punkte von 1 bis N durchgeht, und findet die dritte Schleife während ihres Durchlaufs die beiden verbleibenden Punkte, dann haben wir ein Quadrat gefunden.

Nun das Problem ist, dass ich 3 Schleifen hätte, d.h. [mm] N^3 [/mm] KOnvergenz. Daher frage ich mich, was wäre eine Ansatz dieses Problem auf [mm] N^2 [/mm] zu optimieren.

        
Bezug
Finde Sternbilder in 2D Grid: Antwort
Status: (Antwort) fertig Status 
Datum: 22:06 Do 14.08.2014
Autor: Event_Horizon

Hallo!

Das ist eine interessante Frage, und ich überlege auch schon eine ganze Weile, wie man das auf [mm] N^2 [/mm] runter bekommt, aber ich komm auch nicht drauf.

Aber dein bisheriger Algorithmus läßt sich auch noch optimieren:

Wenn du in der ersten Schleife grade den i. Punkt betrachtest, musst  du in der zweiten Schleife die Punkte j=(i+1)...N und in der dritten nur noch die Punkte k=(j+1)...N betrachten. Sonst prüfst du die Punkte doppelt und dreifach und würdest demnach auch mehr Quadrate finden, als da tatsächlich sind.

Interessant wäre auch, ob jeder Punkt eine Ecke von höchstens einem Quadrat ist. Dann kann man immer alle Punkte, die ein Quadrat bilden, aus der Liste entfernen. Die kürzer werdende Liste ist dann auch schneller zu durchsuchen. Wenn zwei quadrate aber die gleiche Ecke haben, würdest du dem zweiten aber eine Ecke klauen, und das würde nicht erkannt werden.

Bezug
                
Bezug
Finde Sternbilder in 2D Grid: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:05 Do 14.08.2014
Autor: ThomasTT

Ja, deine Hinweise sind in der Tat korrekt. Der letzte Hinweis ist glaube ich nicht praktikabel, da wir diese Annahmen nicht treffen koennen.

Trotzalledem frage ich mich wie man das in zwei Schleifen machen kann. Denn man braucht doch mindestens zwei Schleifen (fuer zwei Eckpunkte eben) damit die verbleibenden zwei Punkte exakt zu bestimmen sind. Und um die verbleibenden Punkte zu prüfen braucht man halt eine dritte Schleife.

Bezug
                        
Bezug
Finde Sternbilder in 2D Grid: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 08:28 Fr 15.08.2014
Autor: Event_Horizon

Hi!

Ich hab aus deiner zweiten Frage mal eine Mitteilung gemacht - die erste Frage ist ja noch offen.

Das einzige, was mir noch einfätt wäre, wenn man tatsächlich auch das Bild des Sternenhimmels hätte. (So steht es ja im Titel deiner Frage). Dann kann man mit zwei Schleifen zwei Punkte her nehmen, und dann direkt im Bild gucken, ob an den vier oder sechs zu erwartenden Stellen noch ein Stern sitzt. Dann geht das tatsächlich mit N².

Aber ich vermute, der Titel ist eher im übertragenen Sinn gemeint, und es gibt kein Bild vom Sternenhimmel...

Von daher, warten wir mal ab, ob sonst noch wer nen Lösungsvorschlag hat.

Bezug
        
Bezug
Finde Sternbilder in 2D Grid: Antwort
Status: (Antwort) fertig Status 
Datum: 16:10 Sa 16.08.2014
Autor: felixf

Moin!

> Nimm an du hast eine Liste von (x,y)-Koordinaten. Nun ist
> die Aufgabe alle Quadrate (schräg oder gerade) zu finden.
> Zum Beispiel (2 10), (5 11), (1 13), (4 14) ergibt ein
> Quadrat, das schräg ist, und (5 5), (10 0), (10 5), (5 0)
> ist ein Quadrat, welches gerade ist. Quadrate können um
> jedmöglichen Winkel gedreht sein. Optimale Konvergenz:
> [mm]N^2[/mm]
>
>  Nehmen wir an wir haben N Koordinaten-Paare. Mein Ansatz
> ist einen Nx2 Array mit all den (x,y) Koordinaten zu
> erstellen. Danach schreibe ich eine Schleife, die jeden
> Punkt durchgeht (von 1 bis N) und in dieser Schleife ist
> eine weitere die ebenfalls alle Punkte von 1 bis N
> durchgeht. Mit diesen zwei Punkten kann ich genau
> feststellen wo die letzten beiden Punkte des Quadrates sein
> sollten. Daher brauche ich eine weitere Schleife die
> nochmals alle Punkte von 1 bis N durchgeht, und findet die
> dritte Schleife während ihres Durchlaufs die beiden
> verbleibenden Punkte, dann haben wir ein Quadrat gefunden.

Wenn du die dritte Schleife durch eine Abfrage in einer Hash-Tabelle ersetzt, kannst du die Laufzeit auf [mm] $O(N^2)$ [/mm] herunterschrauben: initialisieren der Hash-Tabelle benoetigt $O(N)$ Schritte, und jede Abfrage $O(1)$ Schritte.

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmische Geometrie"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]