抽象重写挑战(警察)


27

这有点像般的挑战。这是警察的线索;强盗的话题就在这里。

警察

您的任务是定义一个抽象重写系统,在该系统中很难确定一个单词与另一个单词的可及性。您将准备以下内容:

  1. 一组符号,称为字母。(您可以为此使用任何Unicode字符,但是请不要使用空格或难以区分的符号。)

  2. 一个源字符串组成的从字母符号。

  3. 一个目标字符串组成的从字母符号。

  4. 一组使用字母字符的重写规则。(有关重写规则的定义,请参见下文。)

  5. 证明您可以通过连续应用重写规则将源字符串转换为目标字符串的方法。该证明可能包括一个实际的重写步骤序列,或者一个数学证明证明该序列必须存在,或者一个数学证明证明该序列不存在。

您将发布其中的前四个,并保持证据保密;强盗将通过提供自己的证据来证明您的目标字符串是否可以从源字符串到达​​,从而试图破解您的答案。如果您在两周内未对提交的内容进行破解,则可以将其标记为安全并在证明中进行编辑。

提交内容将根据其重写规则中的字符数以及其源字符串和目标字符串进行评分,如下所述。获胜者将是得分最低的完整作品。

什么是重写规则?

重写规则只是字母表中的一对字符串。(这些字符串中的任何一个都可能为空。)重写规则的应用包括找到与该对中的第一个字符串相等的子字符串,然后用第二个字符串替换它。

有一个例子应该说明这一点:

假设字母表ABC; 源字符串为“ 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)

计分

您的分数将是

  • 您的源字符串的长度,
  • 加上目标字符串的长度,
  • 加上重写规则中包含的所有字符串的长度,
  • 每个重写规则加一个加分。

如果您使用如上所述的冒号分隔符编写重写规则,则这只是所有重写规则(包括分隔符)的总长度,加上源字符串和目标字符串的长度。分数越低越好。字母表中不同字符的数量将用于打破平局,越少越好。

赏金

我希望看到答案真的很低。对于在此挑战中得分少于100分且不会被破解的第一个答案,我将奖励200名


3
ah,对MU拼图来说,表达不够。
尼尔

1
@Neil从技术上讲与图灵机一样具有表现力-您可以制作MU拼图的一个版本,但是您需要一堆额外的符号和过渡规则来实现该Mx -> Mxx规则,因此最终比Hofstadter的复杂得多原版的。
纳撒尼尔(Nathaniel)

Answers:


9

326点- 被jimmy23013 破解

级别是Aymeric du Peloux编写的Picokosmos#13(进行了小改动)。我试图找到一种可以通过将“盒子”和“墙壁”作为同一角色来实现的高雅水平。对于此级别,可以通过将中心节流点设置为两列而不是一列宽来实现。

规则/初始/目标字符串可能会打得更多,但这只是为了好玩。

初始字符串:

___##___####_____##_#_#_##_#_!####______##_#####__####_#_######__###__

目标字符串:

___##___####_____##_#_#_##_#_#####____!__#_#####__####_#_######__###__

规则:

_wW:!
_<:<_
Vv_:!
V_:_V
R:>>>>>>>>>>>>>
V#:#V
#w<:w#
>v_:_v
_wX:#
_!:!_
!:wLW_
L:<<<<<<<<<<<<<
#W:W#
!#_:_!#
_w<:w_
#<:<#
!:_VRv
>v#:#v
Uv_:#
_W:W_
_X:X_
>#:#>
#X:X#
U_:_U
Vv#:!URv
#wW:wLX!
>_:_>
!_:_!
_#!:#!_
U#:#U


8

171点,由HyperNeutrino破解

资源: YAAAT

目标: VW626206555675126212043640270477001760465526277571600601

规则:

T:AAAAAT
T:BBU
U:BU
U:ZW
AB:BCA
CB:BC
AZ:Z
CZ:ZC
YB:Y
YZ:V
V:VD
DCC:CD
DCW:W+
DW:W_
___:0
__+:1
_+_:2
_++:3
+__:4
+_+:5
++_:6
+++:7

只是显而易见的事情。重写步骤的实际顺序可能不适合SE答案。


我必须有动摇某处因为我只能得到VWx其中x从形成任何的二进制串_(0)和+(1),其计算为10*n+6(包括前导_; n=非负整数),但在x给定的(626...601)从二进制其评估形成到10*n+3(大n)。
乔纳森·艾伦

这样的事情可以通过纯粹的逻辑解决吗?
VortexYT'3


@HyperNeutrino Drat,我希望你的裂缝能暴露在我绊倒的地方。
乔纳森·艾伦,


4

139点(安全等级)

我希望这个答案可以破解,user202729基本上在评论中解决了这个问题,但是没有人在强盗的线程中发布答案,因此我将其标记为“安全”,并在下面提供了我的证明。

(显然,这些东西比破解起来要容易得多。但是,没有人试图将分数降低到非常低的水平,如果这个挑战得以解决,那么最终可能会有更多的乐趣。 )


这是一个自我答案。这可能非常困难,但是如果您弄清它的来源,则应该很容易。

字母: ABCDEⒶⒷⒸⒹⒺⒻ⬛⚪️️🎂←→

资源: ←A→

目标: ←🎂→

规则:(空格不重要)

← : ←⬛
→ : ⬛→
A⬛ : ⚪B
A⚪ : ⚪Ⓑ
⬛Ⓐ : E⚪
⚪Ⓐ : Ⓔ⚪
B⬛ : ⚪C
B⚪ : ⚪Ⓒ
Ⓑ⬛ : 🎂
Ⓑ⚪ : ⚪Ⓕ
⬛C : D⚪
⚪C : Ⓓ⚪
Ⓒ⬛ : ⬛B
Ⓒ⚪ : ⬛Ⓑ
D⬛ : ⚪E
D⚪ : ⚪Ⓔ
⬛Ⓓ : C⬛
⚪Ⓓ : Ⓒ⬛
⬛E : A⚪
⚪E : Ⓐ⚪
Ⓔ⬛ : ⬛D
Ⓔ⚪ : ⬛Ⓓ
Ⓕ⬛ : ⚪C
Ⓕ⚪ : ⚪Ⓒ
⬛🎂 : 🎂
⚪🎂 : 🎂
🎂⬛ : 🎂
🎂⚪ : 🎂

这是ASCII版本,以防Unicode不能很好地显示给所有人。


证明

这相当于六状态繁忙海狸当前的最佳竞争者。繁忙的海狸是图灵机,在很长一段时间后会停止运行。因此,←A→确实可以将源字符串转换为目标字符串←🎂→,但只能经过多个7*10^36534步骤,而对于任何物理实现而言,这都将花费比宇宙的时间长得多的时间。

图灵机的磁带由符号(0)和(1)表示。规则

← : ←⬛
→ : ⬛→

表示磁带的末端始终可以扩展为更多零。如果图灵机的磁头接近磁带的一端,我们可以应用以下规则之一,这使我们可以假装磁带是无限的,并开始以全零填充。(符号从未创建或销毁,因此它们始终位于磁带的末端。)

图灵机的头部用符号ABCDEⒶⒷⒸⒹⒺⒻ和表示🎂A表示头部处于状态A,头部下方的符号为(0),而Ⓐ表示处于状态A,下方符号为(1)。这是持续了其他国家,代表一个1头下方,代表0的uncircled版本圆圈信(没有符号F,因为它发生了磁头永远不结束了在状态F与1在它下面。)

状态🎂是暂停状态。它有特殊的规则

⬛🎂 : 🎂
⚪🎂 : 🎂
🎂⬛ : 🎂
🎂⚪ : 🎂

如果达到停止状态,我们可以重复应用这些规则以“吸纳”所有磁带(包括因过度扩展磁带而产生的多余零),使我们处于该状态←🎂→。因此,可达性问题归结为是否🎂会达到状态。

其余规则是图灵机的过渡规则。例如规则

A⬛ : ⚪B
A⚪ : ⚪Ⓑ

可以理解为“如果机器处于状态A,并且头部下方为零,则写入1,更改为状态B并向右移动。” 向右移动有两个规则,因为向右的磁带单元可能包含a ,在这种情况下机器应进入状态B;或者,该磁带单元可能包含a ,在这种情况下机器应进入状态,因为它下面有一个。

同样,

⬛Ⓓ : C⬛
⚪Ⓓ : Ⓒ⬛

表示“如果机器处于状态D,并且磁头下方为1,则写入0,更改为状态C,然后向左移动”。

所使用的Turing机器是由Pavel Kropitz于2010年发现的。尽管经常在繁忙的海狸中提到它,但其实际的转换表很难追踪,但可以在此处找到。可以写成

    0   1

A   1RB 1LE
B   1RC 1RF
C   1LD 0RB
D   1RE 0LC
E   1LA 0RD
F   1RH 1RC

可以理解为“如果机器处于状态A,并且磁头下方为零,则写入1,更改为状态B,然后向右移动”,依此类推。如果费力的话,检查该表的每个条目是否对应于如上所述的一对规则应该很简单。

唯一的例外是1RH当计算机在状态F上超过0时发生的规则,因为当机器一旦进入状态F便立即停止时,使机器写入1并向右移动似乎就毫无意义。超过0。所以我更改了原本应为

Ⓑ⬛ : ⚪F

进入

Ⓑ⬛ : 🎂

这就是F字母中没有符号的原因。(我可以制作其他一些“高尔夫球”,但我不想过多地掩盖它。)

基本上就是这样。从源字符串可以到达目标字符串,但是只能经过许多步骤。

另一个有趣的事实:如果我曾经使用过

←A⚪⚪→

作为起点,那么7*10^36534停下来的步骤将不是步长,而是10^10^10^10^18705352步长,这确实是一个很大的数目。


1
这看起来像是图灵机的一种实现方式
NieDzejkob

1
我认为这是此处列出的“当前6态2符号最佳竞争者”图灵机。现在有人只需要证明他们是等效的即可。
user202729 '18


1
@ user202729为什么不发布答案?
jimmy23013 '18


3

287点,安全

资源: YAAT

目标:

VW644507203420630255035757474755142053542246325217734264734527745236024300376212053464720055350477167345032015327021403167165534313137253235506613164473217702550435776242713

规则:

T:AAAAAT
T:BBU
U:BU
U:ZW
AB:BCA
CB:BC
AZ:Z
CZ:ZC
YB:Y
YZ:V
V:VD
DCC:CD
DCW:W+
DW:W_
___:0
__+:1
_+_:2
_++:3
+__:4
+_+:5
++_:6
+++:7

我发现,为此目的,openssl比gpg更容易使用。


请参阅HyperNeutrino对较弱版本的破解。在这种情况下,的数量C为:

22030661124527021657244569669713986649562044939414344827127551659400215941242670121250289039666163853124410625741840610262419007778597078437731811349579211

主要因素是:

220040395270643587721928041668579651570457474080109642875632513424514300377757
100120985046540745657156603717368093083538096517411033964934953688222272684423

第一个数字mod 5 = 2,因此有可能获得最终的字符串。



假设这是随机的512位半素数,那么当前的PC将需要数周至数月的时间才能考虑到这一点
didgogns

现在很安全。
user202729 '18

2

402点

字母:abcdefghijklmnopqrstu
来源:abcdoi
目标:ioabcdnnnnnnnnnnnnnnnnnn
重写规则:

ab:ba
ba:ab
ac:ca
ca:ac
ad:da
da:ad
bc:cb
cb:bc
bd:db
db:bd
cd:dc
dc:cd
馕
nb:bn
nc:cn
nd:dn
nm:mn
nj:jn
葵:鹰
boi:ebg
coi:ecg
doi:edg
ae:ha
be:hb
ce:hc
de:hd
ioa:kam
iob:kbm
国际奥委会:kcm
iod:kdm
ma:aj
mb:bj
mc:cj
md:dj
dg:rdnnnnnnnnnn
cg:qcnnnnn
bg:pbnn
ag:fan
cr:fc
br:fb
ar:fa
bq:fb
aq:fa
ap:fa
er:io
eq:io
ep:io
ef:io
hf:io
kd:dunnnnnnnnnn
kc:ctnnnnn
kb:bsnn
ka:aln
uc:cl
ub:bl
ua:al
tb:bl
ta:al
sa:al
um:oi
tm:oi
sm:oi
lm:oi
我
:n

最后一条规则允许您根据需要创建任意多个n

看起来很丑,实际上很不错,一种或另一种...


*在aoi:eogeog认为是eag
Kritixi Lithos

@Cowsquack是的,感谢您的
接棒

2

1337分

绝对没有竞争力,并且花了太长时间创建(我希望我没有犯错)。

暗示:

尝试查看规则之前先了解源字符串

字母: ABEILRSTabcdefijlr

资源: SIbbbbbbbdbffacebbfadbdbeecddfaeebddcefaddbdbeeecddaaaaadfaeeebdddcefbbfadbdbdbeeecdddfaeeebdddcefaddbdbeeecddaaaadfaeeebdddcefbfadbdbdbeeecdddfaeeebdddcbdbffacebfadbdbeecddfaeebddceeefadddbdbeeeecddddfaeeeebddddceefaddbdbeeecdddfaeeebdddceefadadbefadfacdbeecddfaeebddcefaeeefaddbdbeeecdddfaeeebdddcceecdfaeeaddceecefaeadcbefadfacecdfaebdceeeeefadddddbdbeeeeeecddddddfaeeeeeebddddddceeefaddaeecdddbdbffacebfadbdbeecddfaeebddceeefadddbdbeeeecddddfaeeeebddddceefaddbdbeeecdddfaeeebdddceefadadbefadfacdbeecddfaeebddcefaeeefaddbdbeeecdddfaeeebdddcceecdfaeeaddceecefaeadcbefadfacecdfaebdcefaefaeeebdddcdcefaceeaaaceefacdffacebdceeeeefadddddbdbeeeeeecddddddfaeeeeeebddddddceeefaddaeecdddbdbffacebfadbdbeecddfaeebddceeefadddbdbeeeecddddfaeeeebddddceefaddbdbeeecdddfaeeebdddceefadadbefadfacdbeecddfaeebddcefaeeefaddbdbeeecdddfaeeebdddcceecdfaeeaddceecefaeadcbefadfacecdfaebdcefaefaeeebdddcdcefaceeaaaaceefacdffacebdcecefacE

目标: SE

重写规则:

抗体
抗体:抗体
氨基酸
aA:Aa
广告:dA
dA:广告
AE:eA
eA:Ae
Af:fA
fA:Af
交流电
cA:Ac
IA:AI
AI:IA
Bb:bB
bB:Bb
Ba:aB
aB:Ba
信噪比
eB:是
是:eB
分贝:
Bf:fB
fB:Bf
公元前
cB:Bc
E:BE
S:SB
Ib:AbI
a
IdB:dBI
BIe:eIB
AfI:AfI
BifB:BfiLB
磅
La:aL
Le:eL
Ld:dL
Lf:fL
Lc:cL
ib:bi
ia:ai
即:ei
id:di
if:fil
磅:bl
la:al
le:el
ld:dl
lf:fl
lc:cl
icl:ci
icL:cI
Ic:jRc
bj:jb
aj:ja
dj:jd
ej:je
br:rb
ar:ra
博士:rd
er:re
fr:rf
cr:rc
bR:Rb
aR:Ra
dR:Rd
eR:Re
fR:Rf
cR:Rc
cj:jrc
fjr:jf
fjR:如果
它
TB:T
BT:T
bT:T
吨:吨
dT:T
eT:T
fT:T
cT:T
电话:

2

请注意,我最初犯了一些错误,所以得分有所变化。但是,想法是相同的。我希望现在不再有错误。


154分

字母:P.!xABC[{mD<
来源:[x!P.P...P..P.P....P..P.P.....P.P....P......P.P..P...P.P...Pm(61个字符)
目标:({CCCCC<有5 Cs,所以7个字符)

规则:

P.  →  .PP
!.  →  !
x   →  AxB
x   →  
AB  →  BAC
CB  →  BC
CA  →  AC
[B  →  [
[A  →  {
{A  →  {
!   →  !m
mP  →  PmD
Dm  →  mD
DP  →  PD
!P  →  ?
?P  →  ?
!m  →  <
<m  →  <
C<D →  <

共有19条规则,字符总数= 67。


1

106点-由HyperNeutrino破解

字母: ABCDEFGHIJ

资源: FIABCJAGJDEHHID

目标: F

重写规则:

B:DCIE
A:IFBA
D:EEFJ
C:GFIC
E:HBJG
F:FEBG
G:HFCJ
H:DIGB
I:FCAH
J:BHEA

EJGI:FF
FFF:J
FF:E
EE:D
DDEA:FI
I:F

好的,HyperNeutrino已经证明这是无法解决的。但是,对此还有另一种解决方案。


采取:

I E C D H G J A F B
1 2 3 4 5 6 7 8 9 10

来源的价值是偶数。目标值是奇数。如果我们将每一边取值,将其总和并取值到mod 2,则值保持不变。因此,这无法实现。



如果需要,欢迎您在预期的解决方案中进行编辑。
纳撒尼尔(Nathaniel)

@Nathaniel,没关系肯定
VortexYT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.