www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

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
Forum "Formale Sprachen" - Laufzeit Turingmaschine
Laufzeit Turingmaschine < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Laufzeit Turingmaschine: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:56 Di 24.08.2010
Autor: G-Hoernle

Aufgabe
Wie lange läuft eine Turingmaschine, die ein Wort auf Palindrom überprüfen will?

Die Turingmaschine startet am Anfang des Wortes, entfernt den ersten Buchstaben, läuft zum Ende des Wortes, überprüft auf Gleichheit. Bei Gleichheit wird auch der letzte Buchstabe gelöscht und man geht zurück zum Anfang des jetzt verkleinerten Wortes, anschließend macht man wieder das Gleiche. Stimmen die Buchstaben nicht überein, so kommt man in einen ungültigen Zustand, der die Turingmaschine stoppt.

Folgendes hätte ich mir überlegt: Zum Vor- und Zurücklaufen benötigt die Turingmaschine im ersten Schritt 2 * Wortlänge (=n) Zeit. Im nächsten Schritt 2(n-2), da 2 Buchstaben weggefallen sind, usw ... Insgesamt wird das Wort n/2 mal verkleinert. Somit bekäme man als Laufzeit (n/2) * (2n - x) [mm] \in [/mm] O(n²). x steht dabei für die ganzen weggefallenen Buchstaben, die hier bei der Kalkülberechnung weniger relevant sind.

Kommt [mm] \in [/mm] O(n²) hin?

Danke für die Hilfe
GHoernle

        
Bezug
Laufzeit Turingmaschine: Antwort
Status: (Antwort) fertig Status 
Datum: 20:44 Di 24.08.2010
Autor: felixf

Moin!

> Wie lange läuft eine Turingmaschine, die ein Wort auf
> Palindrom überprüfen will?
>  Die Turingmaschine startet am Anfang des Wortes, entfernt
> den ersten Buchstaben, läuft zum Ende des Wortes,
> überprüft auf Gleichheit. Bei Gleichheit wird auch der
> letzte Buchstabe gelöscht und man geht zurück zum Anfang
> des jetzt verkleinerten Wortes, anschließend macht man
> wieder das Gleiche. Stimmen die Buchstaben nicht überein,
> so kommt man in einen ungültigen Zustand, der die
> Turingmaschine stoppt.
>  
> Folgendes hätte ich mir überlegt: Zum Vor- und
> Zurücklaufen benötigt die Turingmaschine im ersten
> Schritt 2 * Wortlänge (=n) Zeit. Im nächsten Schritt
> 2(n-2), da 2 Buchstaben weggefallen sind, usw ... Insgesamt
> wird das Wort n/2 mal verkleinert. Somit bekäme man als
> Laufzeit (n/2) * (2n - x) [mm]\in[/mm] O(n²). x steht dabei für
> die ganzen weggefallenen Buchstaben, die hier bei der
> Kalkülberechnung weniger relevant sind.
>  
> Kommt [mm]\in[/mm] O(n²) hin?

Ja, das Argument kann man aber noch etwas genauer (und mathematisch korrekter) ausfuehren: die Laufzeit ist [mm] $\sum_{k=0}^{\lceil n/2 \rceil} [/mm] 2 (2 k) = 4 [mm] \frac{\lceil n/2 \rceil (\lceil n/2 \rceil + 1)}{2} \le [/mm] n (n/2 + 1) = [mm] \frac{1}{2} n^2 [/mm] + n [mm] \in O(n^2)$. [/mm]

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]