これはやや証拠ゴルフのような警官と強盗の挑戦です。これは警官のスレッドです。強盗のスレッドはこちらです。
警官
あなたの仕事は、ある単語から別の単語への到達可能性を判断するのが難しい抽象的な書き換えシステムを定義することです。次のものを準備します。
アルファベットと呼ばれる記号のセット。(これらには任意のUnicode文字を使用できますが、空白、または互いに区別しにくい記号を使用しないでください。)
ソース文字列あなたのアルファベットからのシンボルで構成される。
ターゲット文字列あなたのアルファベットからのシンボルで構成される。
アルファベットの文字を使用した一連の書き換えルール。(書き換えルールの定義については、以下を参照してください。)
書き換えルールを連続して適用することにより、ソース文字列をターゲット文字列に変換できるかどうかを示す証明。この証明は、書き換え手順の実際のシーケンス、またはそのようなシーケンスが存在する必要があることの数学的証明、またはそのようなシーケンスが存在しないことの数学的証明で構成される場合があります。
これらの最初の4つを投稿し、証拠を秘密にします。強盗は、ソース文字列からターゲット文字列に到達できる、または到達できないという独自の証拠を提供することにより、あなたの答えを解読しようとします。提出物が2週間以内にクラックされない場合、それを安全とマークし、証拠を編集できます。
提出物は、以下に詳述するように、書き換えルールの文字数と、ソースおよびターゲット文字列に従ってスコアリングされます。勝者は、スコアの最も低い、クラックされていない提出物になります。
書き換えルールとは何ですか?
書き換えルールは、アルファベットの文字列のペアです。(これらの文字列のいずれかが空の場合があります。)書き換えルールの適用は、ペアの最初の文字列に等しいサブ文字列を見つけ、それを2番目の文字列で置き換えることで構成されます。
例でこれを明確にする必要があります。
アルファベットがA
でB
ありC
、ソース文字列は「A
」です。ターゲット文字列は「C
」であり、書き換えルールは
A:B
B:BB
B:A
AA:C
次に、ターゲット文字列は次の方法で到達可能です。
A
B (using rule 1)
BB (using rule 2)
AB (using rule 3)
AA (using rule 3)
C (using rule 4)
得点
あなたのスコアは
- ソース文字列の長さ、
- ターゲット文字列の長さ
- さらに、書き換えルールに含まれるすべての文字列の長さ、
- 書き換えルールごとに1ポイント追加します。
上記のようにコロン区切り文字を使用して書き換えルールを記述する場合、これはすべての書き換えルールの合計長(セパレータを含む)にソース文字列とターゲット文字列の長さを加えたものになります。スコアが低いほど優れています。あなたのアルファベットの異なる文字の数は、同数を壊すために使用され、少ないほど良いです。
バウンティ
本当に低得点になる答えを見たいです。このチャレンジで100ポイント未満で、クラックされない最初の回答に200担当者を授与します。
Mx -> Mxx
ために余分なシンボルと遷移ルールの束が必要になるため、ホフスタッターのよりもはるかに複雑になります元の。