www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de