Transfinite Zeichenordnung: programmtechnische Frage

22/04/2010 - 00:31 von Rainer Rosenthal | Report spam
Im Thread "Transfinite Zeichenordnung" hat Wolfgang Thumser eine
knappe und elegante Definition für eine Ordnung auf den Wörtern über
dem Alphabet {0,1} gegeben.

Nach der Definition ließ sich die Vergleichsfunktion leicht programmieren.

Beim Versuch, die Definition und das Programm so umzubauen, dass der
"technische Kniff", das leere Wort zu verwenden, nicht mehr vorkommt,
bin ich gescheitert. Den allzu offensichtlichen Unsinn habe ich heute
zwar entfernt, so dass kleinere Tests ordentlich funktionierten, aber
schon bei

'1' < '001'

schrieb mein Programm nur "URGS" und verweigerte die Antwort, die
korrekterweise hàtte "wahr" lauten müssen, weil ja '' < '00' gilt
und aus 'x' < 'y' auch folgen soll, dass 'x1' < 'y1' ist.

In einer Mail hatte Bastian Erdnüß mir das bereits prophezeit:


... als Abbruchbedingungen musst du alle Vergleiche mit der Wörtern "0"
und "1" fest vorgeben, wenn du das leere Wort nicht verwenden willst.
"0" ist leicht, ... Aber nun musst du dem Kasten auch noch beibringen,
dass "1" kleiner ist als alle làngeren Wörter außer jenen, in denen
nur '0'er vorkommen. Das ist, fürchte ich, nicht so einfach.



Damit ist meine Meinung erst mal in Frage gestellt, dass es sich beim
leeren Wort nur um einen Eleganz-Beschleuniger handelt, den man leicht
durch ein paar unelegante Zusatzregeln ersetzen könnte.

Merkwürdigererweise habe ich jetzt die Situation, dass ich meinem Programm
nicht erklàren kann, wie es Wörter vergleichen soll, wenn ich ihm
einprogrammiere, beim Vorkommen des leeren Wortes die Arbeit einzustellen.

Ich habe diese Kopfkratz-Bemerkung in einen eigenen Thread stellen wollen,
weil sie im auf die e) Frage zusteuernden Originalthread von WT nichts zu
suchen hat und weil der zugehörige Dummies-Thread von RS inzwischen zu
unübersichtlich geworden ist.

Wer kann eine Definition ohne leeres Wort liefern?

Gruß,
Rainer Rosenthal
r.rosenthal@web.de
 

Lesen sie die antworten

#1 Gus Gassmann
22/04/2010 - 01:30 | Warnen spam
Rainer Rosenthal wrote:
Im Thread "Transfinite Zeichenordnung" hat Wolfgang Thumser eine
knappe und elegante Definition für eine Ordnung auf den Wörtern über
dem Alphabet {0,1} gegeben.

Nach der Definition ließ sich die Vergleichsfunktion leicht programmieren.

Beim Versuch, die Definition und das Programm so umzubauen, dass der
"technische Kniff", das leere Wort zu verwenden, nicht mehr vorkommt,
bin ich gescheitert. Den allzu offensichtlichen Unsinn habe ich heute
zwar entfernt, so dass kleinere Tests ordentlich funktionierten, aber
schon bei

'1' < '001'

schrieb mein Programm nur "URGS" und verweigerte die Antwort, die
korrekterweise hàtte "wahr" lauten müssen, weil ja '' < '00' gilt
und aus 'x' < 'y' auch folgen soll, dass 'x1' < 'y1' ist.



Das muss sich doch durch die Definition '1' < '01' fassen lassen. WT
hatte ursprünglich die Regeln
'' < '0' und
'' < '1'.
Die musst du offensichtlich durch
'0' < '00' und '0' < '01' sowie
'1' < '10' und '1' < '11'
ersetzen. Aber danach sollte die Anwendung von WTs weiteren Regeln
genauso wie vorher sich auf einen dieser Fàlle reduzieren lassen.

In einer Mail hatte Bastian Erdnüß mir das bereits prophezeit:

... als Abbruchbedingungen musst du alle Vergleiche mit der Wörtern "0"
und "1" fest vorgeben, wenn du das leere Wort nicht verwenden willst.
"0" ist leicht, ... Aber nun musst du dem Kasten auch noch beibringen,
dass "1" kleiner ist als alle làngeren Wörter außer jenen, in denen
nur '0'er vorkommen. Das ist, fürchte ich, nicht so einfach.





Das ist nun schon schwieriger. Ich denke, du wirst es schaffen '1' < 'x'
herzuleiten, wenn 'x' irgendwo eine 1 enthàlt, aber um den anderen Teil
abzuleiten, brauchst du ein ganzes Regelschema.

Damit ist meine Meinung erst mal in Frage gestellt, dass es sich beim
leeren Wort nur um einen Eleganz-Beschleuniger handelt, den man leicht
durch ein paar unelegante Zusatzregeln ersetzen könnte.

Merkwürdigererweise habe ich jetzt die Situation, dass ich meinem Programm
nicht erklàren kann, wie es Wörter vergleichen soll, wenn ich ihm
einprogrammiere, beim Vorkommen des leeren Wortes die Arbeit einzustellen.

Ich habe diese Kopfkratz-Bemerkung in einen eigenen Thread stellen wollen,
weil sie im auf die e) Frage zusteuernden Originalthread von WT nichts zu
suchen hat und weil der zugehörige Dummies-Thread von RS inzwischen zu
unübersichtlich geworden ist.

Wer kann eine Definition ohne leeres Wort liefern?

Gruß,
Rainer Rosenthal

Ähnliche fragen