آلة تورينج بسيطة ذات لونين على شكل N تعمل على شبكة ملفوفة من الخلايا السوداء والبيضاء، وتتبع القواعد المخصصة في كل علامة على مدار الساعة.
راجع http://turmites.destructuring-bind.org للحصول على مثال عملي. افتراضيًا، يتم إنشاء نملة واحدة تلقائيًا؛ يمكن إضافة المزيد من النمل من خلال النقر على القماش.
يمكن تحديد القواعد عن طريق إضافة معلمة rule=...
، والتي تظهر أدناه بعض القيم المسموح بها.
langtons-ant (التي لها قاعدة ضمنية 120080)
حبل ملفوف (القاعدة الضمنية: 111180121010)
فن الكمبيوتر (قاعدة ضمنية: 180121020081)
فيبوناتشي (القاعدة الضمنية: 181181121010)
مسارات الدودة (القاعدة الضمنية: 121181121020)
حلزوني مخطط (قاعدة ضمنية: 021080181020)
يمكن العثور على قائمة كاملة بالقواعد المحددة مسبقًا هنا. إذا لم يتم تحديد أي قاعدة، فسيتم اختيار قاعدة محددة مسبقًا بشكل عشوائي. أو، بدلا من ذلك، يمكن تحديد تعريفات القاعدة كسلسلة من الأرقام الرقمية، على سبيل المثال. http://turmites.destructuring-bind.org/?rule=021080181020
تتكون قاعدة اللونين N -state من 2N ثلاثية، {a,b,c} حيث:
أ : اللون الجديد للمربع
ب : اتجاه (اتجاهات) دوران التورميت
ج : الحالة الداخلية الجديدة للتورميت
على سبيل المثال، تورميت فيبوناتشي، له تعريف القاعدة 181181121010 وله حالتان ولونين، وينقسم إلى أربعة ثلاثيات {1,8,1}، {1,8,1}، {1,2,1} و{0 ،1،0}. يتم تحديد ثلاثية الجسيمات بناءً على الحالة الحالية واللون الحالي. وبالتالي فإن الثلاثي {1,8,1} ينص على أن اللون يجب أن يتغير إلى 1، ثم يتجه يسارًا (8) ويتخذ الحالة 1 قبل المضي قدمًا.
يتم تحديد اتجاه الدوران بواسطة:
1: لا يوجد دور
2: حق
4: دورة على شكل حرف U
8: اليسار
يتم تحديد الإجراءات من خلال جدول انتقال الحالة الذي يسرد الحالة الداخلية الحالية للتورميت ولون الخلية التي يقف عليها حاليًا. على سبيل المثال، مجموعة القواعد التالية التي سيتم استخدامها لثلاثيات فيبوناتشي الموضحة أعلاه يتم استخدامها من خلال الجدول التالي:
current-color = 0 current-color = 1
current-state = 0 1,8,1 1,8,1
current-state = 1 1,2,1 0,1,0
فإذا كانت الحالة الحالية هي 1 واللون الحالي هو 0، فسيتم تحديد الثلاثي {1,2,1} ويتم اشتقاق اللون والاتجاه والحالة الجديدة من ذلك.
استدعاء مثيل noir باستخدام leiningen:
$ lein run
سيتم تجميع البرنامج النصي clojure إلى جافا سكريبت كجزء من الإنشاء، لذا انتقل إلى http://localhost:8080
لا تحاول تعديل جافا سكريبت - فهو مجمع من ClojureScript في src/turmites/client/core.cljs
باستخدام Leiningen مع البرنامج الإضافي lein-cljsbuild:
$ lein cljsbuild clean
$ lein cljsbuild auto
قم بتحديث الصفحة في المتصفح بعد حفظ الملف والسماح بإكمال مرحلة التجميع.
Turmites هي تعميم لانجتون النمل.
مستوحاة (جزئيًا) من كتاب ستيفن ولفرام، “نوع جديد من العلوم”، ISBN 1-57955-008-8
http://www.maa.org/editorial/mathgames/mathgames_06_07_04.html
http://code.google.com/p/ruletablerepository/wiki/TwoDimensionalTuringMachines
http://demonstrations.wolfram.com/Turmites/
https://en.wikipedia.org/wiki/Turmite
http://golly.sourceforge.net/
حقوق الطبع والنشر (ج) لريتشارد هال 2012
نفس ترخيص Eclipse العام - الإصدار 1.0: https://www.Eclipse.org/legal/epl-v10.html