الأوتوماتا الخلوية · الانبثاق

نملة لانغتون

تمشي نملة لانغتون على شبكة مربعات لا نهائية: على مربع فارغ تدور يمينًا (R)، وعلى مربع معلَّم تدور يسارًا (L)؛ ثم تقلب حالة المربع وتتقدم خطوة.

نملة لانغتون في هذا التصور

نملة لانغتون هي أبسط أفراد عائلة من النمل. مع ⁦n⁩ من الألوان، المرقمة بدءًا من ⁦0⁩ للخانة الفارغة، تكون القاعدة سلسلة ⁦r=r0r1⋯rn−1r = r_0 r_1 \cdots r_{n-1}⁩ من الحرفين ⁦R⁩ و⁦L⁩، حرفًا لكل لون. وقاعدة نملة لانغتون هي ⁦RL⁩. تقف النملة على الخانة ⁦p⁩ متجهة نحو ⁦d⁩، وتكون الخطوة الواحدة كما يلي:

k=c(p),d←d بعد تدويره حسب rk(R: 90∘ مع عقارب الساعة، L: عكس عقارب الساعة),c(p)←(k+1) mod n,p←p+d.\begin{aligned} k &= c(p), \\ d &\leftarrow d \text{ بعد تدويره حسب } r_k \quad (\text{R: } 90^\circ \text{ مع عقارب الساعة، L: عكس عقارب الساعة}), \\ c(p) &\leftarrow (k + 1) \bmod n, \\ p &\leftarrow p + d. \end{aligned}

لا ذاكرة للنملة، ولا ترى إلا اللون تحتها. يمكنك هنا مشاهدتها تصنع نظامًا، ثم تشابكًا، ثم طريقًا؛ ويمكنك إرجاعها إلى الخلف، وتلوين خانات في مسارها، وتجربة سلاسل حروف أخرى.

الألوان هي حالات القاعدة. المستوى بلا حافة ولا يلتف إلى الجهة المقابلة. يعدّ المنحنى أعلى لوحة التحكم المربعات الملوّنة بعد كل خطوة.

تنطلق النملة على المستوى الفارغ متجهة إلى أعلى، فتبدأ بأنماط صغيرة منتظمة، بعضها متناظر تحت دوران نصف دورة، كما عند الخطوة ⁦473⁩. يلي ذلك تشابك يبدو عشوائيًا لنحو عشرة آلاف خطوة. ثم، بدءًا من الخطوة ⁦9 977⁩، تكرر النملة الحركات ⁦104⁩ نفسها، مع إزاحة كل دورة بمقدار ⁦(−2, 2)⁩، أي خانتين إلى اليسار وخانتين إلى أسفل. إنها تبني شريطًا قطريًا يسمى الطريق السريع، وتضيف كل ⁦104⁩ خطوات ⁦12⁩ خانة ملونة بالضبط. لا تتكرر إلا حركات النملة والشريط تحتها؛ أما التشابك خلفها فيبقى في مكانه.

تكرار بضع دورات لا يثبت شيئًا؛ فقد تصادف الدورة التالية خانة ملونة وتنحرف. لذا لا تضمن الصفحة طريقًا مستمرًا إلا بعد تحقق. عند نهاية الدورة الأخيرة، يجب أن تحمل الخانات التي قرأتها النملة، بعد إزاحتها بمقدار إزاحة النملة، الألوان التي كانت تحملها الخانات الأصلية قبل الدورة، وأن تتجه النملة في اتجاهها آنذاك. وفي كل دورة لاحقة، يجب أيضًا أن تكون الخانات الواقعة خارج خانات الدورة السابقة فارغة الآن، وألا تكون أي دورة قد زارتها منذ الدورة التي جرى التحقق منها. عندئذ تواجه كل دورة ما واجهته السابقة تمامًا، فتكرر الحركات نفسها إلى الأبد. يحدد الخط المتقطع على المنحنى بداية التكرار. وإذا وُجدت خانة ملونة في الأمام، تحيطها الصفحة بدائرة ولا تعطي ضمانًا.

إذن فالطريق على المستوى الفارغ مُثبت، بالحساب مع هذا التحقق. وبالنسبة إلى ⁦RL⁩، انتهت كل لوحة جُرّبت وتحتوي على عدد منتهٍ من الخانات الملونة إلى طريق، لكن أحدًا لم يثبت أن ذلك يحدث لكل لوحة كهذه.

يمكن التراجع عن كل خطوة. تتجه النملة نحو الجهة التي تحركت إليها للتو، لذا تقع الخانة التي جاءت منها خلفها، وقد تقدم لون تلك الخانة موضعًا واحدًا في دورة الألوان. وتكون خطوة الرجوع كما يلي:

p←p−d,k=(c(p)−1) mod n,c(p)←k,d←d بعد عكس التدوير حسب rk.\begin{aligned} p &\leftarrow p - d, \\ k &= (c(p) - 1) \bmod n, \quad c(p) \leftarrow k, \\ d &\leftarrow d \text{ بعد عكس التدوير حسب } r_k. \end{aligned}

إذن تحدد اللوحة والنملة الحالة قبل خطوة واحدة. يعيد خيار إلى الخلف النملة وفق القاعدة، لا بتشغيل تسجيل معكوس.

مع المزيد من الحروف، تنقل كل زيارة الخانة إلى اللون التالي. انطلاقًا من المستوى الفارغ، تنشئ أزرار القواعد أشكالًا شديدة الاختلاف: نمطًا يبدو متناظرًا مع ⁦LLRR⁩، ومربعًا شبه ممتلئ مع ⁦LRRRRRLLR⁩، ومثلثًا ينمو مع ⁦RRLLLRLLLRRR⁩. ولا يُعرف كيف تنتهي هذه الحالات الثلاث. أما ⁦LLRRRLRLRLLR⁩ فيبني طريقًا بالفعل بعد نحو ثلاثين ألف خطوة.

وصف كريس لانغتون النملة سنة ⁦1986⁩ مثالًا على الحياة الاصطناعية.

موضوعات ذات صلة