Dies ist ein etwas Beweis Golf -ähnlichen Cops-und-Räuber Herausforderung. Dies ist der Faden der Polizei; Der Räuberfaden ist da.
Bullen
Ihre Aufgabe ist es, ein abstraktes Umschreibungssystem zu definieren , bei dem die Erreichbarkeit eines Wortes von einem anderen schwer zu bestimmen ist. Sie bereiten folgende Dinge vor:
Eine Reihe von Symbolen, die als Alphabet bezeichnet werden. (Sie können für diese Zeichen beliebige Unicode-Zeichen verwenden. Verwenden Sie jedoch keine Leerzeichen oder Symbole, die nur schwer voneinander zu unterscheiden sind.)
Eine Quellzeichenfolge, die aus Symbolen aus Ihrem Alphabet besteht.
Eine Zielzeichenfolge, die aus Symbolen aus Ihrem Alphabet besteht.
Eine Reihe von Umschreiberegeln, die Zeichen aus Ihrem Alphabet verwenden. (Siehe unten für die Definition einer Umschreiberegel.)
Ein Beweis, der zeigt, ob Ihre Quellzeichenfolge durch sukzessive Anwendung Ihrer Umschreiberegeln in Ihre Zielzeichenfolge konvertiert werden kann. Dieser Beweis kann aus einer tatsächlichen Folge von Umschreibschritten bestehen oder aus einem mathematischen Beweis, dass eine solche Folge existieren muss, oder aus einem mathematischen Beweis, dass eine solche Folge nicht existiert.
Sie werden die ersten vier davon veröffentlichen und den Beweis geheim halten. Die Räuber versuchen, Ihre Antwort zu knacken, indem sie selbst nachweisen, dass Ihre Zielzeichenfolge von Ihrer Quellzeichenfolge aus erreichbar ist oder nicht. Wenn Ihr Beitrag nicht innerhalb von zwei Wochen geknackt wird , können Sie ihn als sicher markieren und in Ihrem Proof bearbeiten.
Die Einreichungen werden gemäß der Anzahl der Zeichen in ihren Umschreiberegeln und ihren Quell- und Zielzeichenfolgen gewertet, wie nachstehend beschrieben. Der Gewinner ist die ungerissene Einsendung mit der niedrigsten Punktzahl.
Was ist eine Umschreiberegel?
Eine Umschreiberegel besteht einfach aus zwei Zeichenfolgen in Ihrem Alphabet. (Eine dieser Zeichenfolgen kann leer sein.) Eine Anwendung einer Umschreiberegel besteht darin, eine Teilzeichenfolge zu finden, die der ersten Zeichenfolge im Paar entspricht, und diese durch die zweite zu ersetzen.
Ein Beispiel soll dies verdeutlichen:
Angenommen Alphabet ist A
, B
und C
; die Quellzeichenfolge ist " A
"; Die Zielzeichenfolge lautet " C
" und die Umschreiberegeln lauten
A:B
B:BB
B:A
AA:C
dann ist die Zielzeichenfolge auf folgende Weise erreichbar:
A
B (using rule 1)
BB (using rule 2)
AB (using rule 3)
AA (using rule 3)
C (using rule 4)
Wertung
Ihre Punktzahl wird sein
- die Länge Ihrer Quellzeichenfolge,
- plus die Länge Ihrer Zielzeichenfolge,
- zuzüglich der Länge aller Zeichenfolgen, die in Ihren Umschreiberegeln enthalten sind,
- zuzüglich eines zusätzlichen Punktes für jede Umschreiberegel.
Wenn Sie Ihre Umschreiberegeln wie oben beschrieben mit einem Doppelpunkt als Trennzeichen schreiben, entspricht dies lediglich der Gesamtlänge aller Umschreiberegeln (einschließlich des Trennzeichens) zuzüglich der Länge der Quell- und Zielzeichenfolgen. Eine niedrigere Punktzahl ist besser. Die Anzahl der unterschiedlichen Zeichen in Ihrem Alphabet wird zum Unterbrechen von Bindungen verwendet, wobei weniger besser ist.
Kopfgeld
Ich würde gerne Antworten sehen, die wirklich niedrige Punktzahlen anstreben. Ich werde 200 Wiederholungen für die erste Antwort vergeben, die bei dieser Herausforderung weniger als 100 Punkte erzielt und nicht geknackt wird.
Mx -> Mxx
Regel zu implementieren , sodass sie viel komplizierter als die von Hofstadter wird Original.