Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Turingmaschine quadrieren » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Turingmaschine quadrieren
Beiträge zu diesem Thema Autor Datum
 Turingmaschine quadrieren schultz 24.05.2011 18:11
 RE: Turingmaschine quadrieren Karlito 27.05.2011 17:46
 RE: Turingmaschine quadrieren schultz 27.05.2011 21:47
 RE: Turingmaschine quadrieren Karlito 28.05.2011 22:47

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
schultz
unregistriert
Turingmaschine quadrieren Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Community.

Ich soll eine Turingmaschine konstruieren, die die Funktion f(x)=x^2 simuliert.
D.h wenn ich habe eingaben der form 111 für 3 zum Beispiel und die ausgabe wäre in diesem Fall dann 111111111.
nun weiß ich nicht so recht wie ich das bewerkstellen soll. ich hatte die idee, für jede 1 soviel einsen zu schreiben wie insgesamt vorhanden sind und dann die 1 zu löschen und so weiter. leider weiß ich nicht so ganz wie ich das hinkriegen soll.
hoffe auf hilfreiche antworten
mfg schultz
24.05.2011 18:11
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn du deine Eingabe nicht binär kodierst wäre es m.E. günstiger für deine Eingabewörter keine Einsen zu verwenden.

Ich denke auch du kommst besser wenn du die Eingabe binär kodierst oder ist das in der Aufgabenstellung anders gefordert?

Für die binäre Kodierung schau dir die schriftliche Addition von binärzahlen an, dann kannst du damit eine Turingmaschine erstellen, welche das bewerkstelligt.

VG,

Karlito
27.05.2011 17:46 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
schultz
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

nein die eingabe erfolgt wie gesagt als eine folge von einsen...ist halt von der aufgabenstellung her so gewählt.hast du dazu auch einen ansatz?
27.05.2011 21:47
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Naja, einfach die schrifliche unäre Multiplikation anschauen Augenzwinkern

D.h. wie bei der normalen Multipliation die Zahlen versetzt untereinanderschreiben und dann "addieren". Wobei hier jede einzelne eins in der "treppe" eine eins im ergebnis ist.

Ohne nachzudenken, ob das jetzt elegant ist:

Die Eingabe kopieren (hinter ein Trennzeichen), dann Zustand wechseln in "Rechenzustand", dann Ergebnis hinter weiterem trennzeichen berechnen, indem du das eingabewort hinter die Kopie schreibst, dann von der Kopie immer ein zeichen wegstreichst und dann das eingabewort solange an dein ergebnis anhängst, bis die kopie verschwunden ist...

Je nach aufgabenstellung dann noch aufräumen...

Also exemplarisch an 111² (b= blank, # = trennzeichen):

1. Eingabewort kopieren:
b111b -> b111#111b
2. kopieren bis kopie aufgebraucht
b111#111b ->
b111#11##111b ->
b111#1###111111b ->
b111#####111111111b

Sollte vom ablauf her funktionieren...

VG,

Karlito
28.05.2011 22:47 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Turingmaschine quadrieren