آلة غولدبيرغ في الحياة الواقعية. هل خوارزمية الإجراء معقدة لآلية معقدة؟

إنتباه! تتعلق هذه المقالة بآلة Goldberg الميكانيكية / الكهربائية وخوارزميات تشغيلها.



لقد بدأت في كتابة هذه المقالة في شكل ملاحظات من أجل تبسيط عملية "العصف الذهني" الطويلة والمتقطعة بطريقة ما ، وبالتالي ستكون المقالة نوعًا من العرض المستمر للأفكار والتحسينات التي تم اختراعها أثناء بناء الخوارزمية. علاوة على ذلك ، هذا هو الأول فقط ، يمكن للمرء أن يقول "نظريًا" ، وهو جزء من دورة التطوير العامة لآلة Goldberg نفسها (جهاز يقوم بإجراء بسيط بطريقة غير تافهة) ، وبالتالي سيستمر في المقالات اللاحقة.
آمل أن تكون هذه المقالة مثيرة للاهتمام ، وربما مفيدة للجميع. دعنا نبدأ.

الدخول


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

يوم الشتاء الشتوي في كلية الفيزياء في جامعة كارين الوطنية. قررت أنا وصديقتي تاراس شيفتشينكو "لماذا لا نفعل شيئًا مفيدًا لأنفسنا؟ نحن فيزيائيون ، ليست مشكلة بالنسبة لنا أن نبتكر شيئًا رائعًا ونفعله. فقط يومين وانتهيت. " تم إنفاق بقية هذا الزوج من نظرية المجموعة في محاولة لمعرفة ما سنفعله.

"نقلاً عن عظماء" ، يمكننا القول: "من هنا ، من الواضح أنه يتبع ..." أن كل شيء ليس بهذه البساطة حتى مع تعريف ما نريد القيام به. في النهاية ، تم العثور على الجواب. نريد تشغيل الضوء. ولكن ليس فقط تشغيله ، ولكن قم بتشغيله فقط عندما يبدأ في الظلام. يبدو أنها مهمة بسيطة - ليست هناك حاجة للتفكير هنا. فقط جوجل صفحتين كيف و اذهب. لكن هذا ليس مثيرا للاهتمام بالنسبة لنا. نريد تشغيل الضوء ميكانيكيًا. أي أننا بحاجة إلى يد لمحطة الفضاء الدولية ، مثل هوارد ولويتز.

تدريجيا ، توسعت المهمة وتغيرت ، وتتحرك ببطء إلى "314 طريقة لتشغيل الضوء". تم تجاهل الخيارات التي نظرنا فيها تدريجيًا بسبب تعقيد التنفيذ وببساطة استحالة الاتفاق فيما بينها.

أتذكر فجأة أن طفولتي قضيت في لعب أشكال مختلفة من The Incredible Machine ، قررت أنه سيكون من الرائع القيام بذلك. جعل آلية فعالة ، ليست مفيدة ومعقدة فقط. لذلك ، مرحبا بكم في عالم ماكينات Goldberg!

ملاحظة: فيما يلي ، سأطلق على إنشاءنا روبوتًا ، وليس آلة غولدبرغ لحفظ مورد مفتاح Shift.

آلة غولدبرغ وخيارات التنفيذ


آلة Goldberg هي جهاز يقوم بعمل بسيط بطريقة معقدة وغير تافهة تمامًا. يمكن العثور على مزيد من المعلومات حول هذه الآليات على ويكيبيديا ، وبالتالي لن أركز على المعلومات التاريخية.

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

مهمة الإضاءة


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

لحل هذه المشكلة نقوم ببناء خوارزمية A. الشكل. 1. خوارزمية بسيطة لتحديد الإضاءة وبالتالي ، نحتاج إلى خطوتين فقط للانتقال إلى الخطوات التالية: 1. الحصول على المعلومات 2. التحقق من ذلك ، ولكن إذا كان كل شيء بسيطًا جدًا ، فلماذا تزعج نفسك؟ لذلك ، يمكن أن تكون الخوارزمية معقدة بسهولة. بادئ ذي بدء ، سوف نستخدم تعقيدًا مفيدًا للغاية. على سبيل المثال ، زيادة في الدقة (الخوارزمية B).












التين. 2. خوارزمية متطورة لتحديد الإضاءة

1. الحصول على المعلومات
2. التحقق
3. طلب ​​بيانات إضافية ، إذا اكتمل 2
4. الحصول على بيانات إضافية
5. التحقق من البيانات الإضافية
6. استمرار العمل

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

الآن يبقى فقط لمعرفة كيفية تعقيد كل شيء ميكانيكيًا. ما الذي يتبادر إلى الذهن أولاً عندما نفكر في الضوء؟ ليس حول الضوء الأبيض ، ولكن حول ذلك المكون المفيد في حياتنا الذي يجعل الحياة أجمل قليلاً.

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

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





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

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

ثالثًا. العدسة والخيط والوزن والمؤقت (من الصعب التكرار)
المخطط أكثر فعالية بكثير من المخطط السابق. مع زيادة التدفق الضوئي ، سيتم حرق الخيط الموجود في بؤرة العدسة بشكل أسرع ، والذي سيتم تثبيته بواسطة المؤقت. لسوء الحظ ، تتطلب هذه الخوارزمية آلية إضافية من شأنها القيام بعمل مفيد - رفع الحمل وسحب خيط جديد (عدة مرات في اليوم).

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

تتضمن خوارزمياتنا المتطورة استخدام التحقق من النتيجة. ونظرًا لأننا نقوم بتطوير آلة Goldberg ، فليس من المنطقي ولا المثير للاهتمام التحقق بالطريقة نفسها التي يتم بها جمع المعلومات المعتاد. لنجرب بعض التعديلات الميكانيكية.

I.1. القضبان ومستشعر الملاحظة المتحرك
. لتبسيط مخطط الحركة ، نفترض أنه في اتجاه واحد ، تحدث الحركات دائمًا تحت تأثير الجاذبية ، وفي الاتجاه المعاكس بمساعدة القوة الخارجية (القطارات ، الذين لم يحلموا في السكة الحديد في الطفولة؟).

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

I.2. القضبان والكرة الزجاجية
الاستخدام الثاني للسكك الحديدية. بعد الفحص الأول ، تتدحرج كرة زجاجية نحو المستشعر ، وبالتالي تغيير إضاءة المستشعر بسبب تشتت الضوء أو تركيزه (اعتمادًا على الوضع النسبي

للمستشعر والكرة) I.3. الاستقطاب أو مرشح التردد (مرشح اللون)
بإغلاق المستشعر بفلتر ، يمكنك تحديد مصدر الضوء (مبعثر بالطاقة الشمسية أو ضوء من مصباح قيد التشغيل بالفعل). يتطلب معرفة صحيحة بخصائص الطيف أو الاستقطاب لمصدر الضوء (المصباح). يمكن إغلاق المرشح بطرق مختلفة. على سبيل المثال ، من خلال تدوير الفلتر حول محور معين عموديًا عليه ، أو خفض الفلتر بالقرب من المستشعر.

"أين الآلية المعقدة هنا؟" - تسأل. يمكنني بسهولة الإجابة على هذا السؤال. لا تحدد خوارزمياتنا الدائرة ماديًا أو فلسفيًا ، أي أنها لا تحدها على الإطلاق. وفقًا لذلك ، ما الذي يمنعنا من اعتبار أن كل عنصر في مخطط الكتلة عبارة عن دائرة منفصلة كاملة؟

لذلك ، ننتقل إلى المهمة التالية.

مهمة الزر الميكانيكي الذي يهرب


لنفترض أنك تحصل على زر يتحرك باستمرار في مساحة أحادية البعد (يتحرك على طول خط تعسفي ، في الحالة العامة ، خط معين). كيف تضغط عليه؟

لماذا نحتاج هذا؟ ماذا سيكون أكثر فعالية. ماذا لو كان زر الضوء لا يقف ساكنا؟ على سبيل المثال ، يمكن أن تتحرك على مسار دائري. دعونا نفكر في المخطط باستخدام رافعة خاصة للضغط على زر. التين. 4. مخطط تشغيل الرافعة الشكل. 5. مخطط بزر يتحرك حول الرافعة أو لا يمكننا استخدام أزرار واحدة ولكن عدة أزرار. ثم نحتاج للنقر على المطلوب. متغير من العكس - يتحرك الذراع ، ويجب أن نتمكن من الضغط على الزر الضروري في الوقت المناسب. التين. 6. مخططات بأزرار متحركة وذراع متحرك












ومع ذلك ، يمكن أيضًا استخدام الخيارات الأخيرة من أجل التنفيذ البسيط للوظائف المختلفة للآلية.

إن الخوارزمية التي يتم إجراؤها في الحالة البسيطة مماثلة للخوارزمية البسيطة لتحديد الإضاءة. في الحالة المعقدة: الشكل 7. خوارزمية معقدة لأداء مهمة ميكانيكية ، ويمكن ملاحظة أنه في هذه الحالة لن يكون من الممكن تعقيد الخوارزمية لمثل "عضلات" الروبوت. يمكننا فقط زيادة عدد الخطوات. هل نحن بحاجة إلى التفرع في الخوارزمية؟ هل سيكون من المفيد تنفيذ آلة Goldberg؟ لو كنت أعرف فقط. ومع ذلك ، فإن التنفيذ الميكانيكي يحد بشكل كبير من عدد التفرع المحتمل للخوارزميات ، مع إدخال هذه الكفاءة في نفس الوقت في تنفيذ هذه الخوارزمية.








الخلاصة


من الواضح أنه لا توجد حاجة لخوارزمية معقدة لتنفيذ آلة Goldberg الميكانيكية. ومع ذلك ، هذا لا يؤثر على الأداء نفسه. وبالتالي ، فإن آلة Goldberg هي الممثل المثالي للخطية ، وبالتالي ، أبسط منطق خوارزمي.

ملاحظة: سأكون ممتنًا جدًا لكل من يعرف خيارات التنفيذ لآلة Goldberg المعقدة حسابيًا.

شكرا لكم على اهتمامكم!

Source: https://habr.com/ru/post/ar387805/


All Articles