بيت / احتفالي / مقدمة عن الذكاء الاصطناعي. الذكاء الاصطناعي في الأعمال

مقدمة عن الذكاء الاصطناعي. الذكاء الاصطناعي في الأعمال

موضوعالبحث العلمي هو “الذكاء الاصطناعي: آفاق التنمية”؛

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

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

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

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

ولتحقيق هدف المشروع العلمي تم تحديد ما يلي: مهام:

1) تحليل ديناميكيات تطور تكنولوجيا الذكاء الاصطناعي خلال السنوات الخمس الماضية.

2) وضع سيناريوهات لإدخال الذكاء الاصطناعي إلى المجتمع البشري.

3) تحديد العواقب المحتملة بعد دمج الذكاء الاصطناعي في المجتمع البشري.

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

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

طرق البحث: مراجعة المواد وإجراء المسح وتحليل الأدبيات اللازمة والاستجواب والتحليل النظري.

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

1. الاستثمار في البحث والابتكار

لا يزال التأثير العملي للاستثمار في الذكاء الاصطناعي غير واضح. ومع ذلك، تدرك الشركات أنها يمكن أن توفر فوائد قيمة للغاية وتزيد من جهودها في هذا الاتجاه. وفقًا لأبحاث معهد ماكينزي العالمي، فإن قادة التكنولوجيا مثل جوجلو بايدووفي عام 2016، استثمروا ما بين 20 إلى 30 مليون دولار في مشاريع تتعلق بالذكاء الاصطناعي، ويأتي حوالي 90% من هذا المبلغ من البحث والتطوير.

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

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

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

2. عواقب أتمتة العمل

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

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

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

من المهم العثور على القطاعات التي يساعد فيها الذكاء الاصطناعي الأشخاص على أداء وظائفهم بشكل أفضل مع تبسيط العمليات بشكل فعال.

3. تدريب الفريق

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

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

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

4. خلق وظائف جديدة لإدارة الذكاء الاصطناعي

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

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

5. الحفاظ على الوجه الإنساني لخدمة الموارد البشرية

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

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

الترجمة من الإنجليزية.

أصبح عدم ثقة الشركات في الذكاء الاصطناعي شيئاً من الماضي، وفقاً لدراسة عالمية أجرتها شركة مايكروسوفت. يعتبر جميع المديرين التنفيذيين الذين شملهم الاستطلاع اليوم تقريبًا أنه مهم لحل المشكلات الإستراتيجية لمؤسساتهم. وتأكيدًا لذلك، قام 27% منهم بتطبيق الذكاء الاصطناعي في العمليات والخدمات التجارية الرئيسية، ويقوم 46% منهم بإعداد مشاريع تجريبية بناءً عليه.

قدمت شركة مايكروسوفت نتائج الدراسة العالمية بعنوان "الاقتصادات الذكية: تحول الذكاء الاصطناعي للصناعات والمجتمع"[i]، والتي كان الغرض منها تحديد مواقف الأعمال تجاه تكنولوجيا الذكاء الاصطناعي.

وعلى الرغم من التحيزات الموجودة، يعتقد 94% من المديرين التنفيذيين أن هذه التقنيات مهمة للأهداف الإستراتيجية لمؤسساتهم، بينما وصفها 37% بأنها "مهمة جدًا"، وفقًا للاستطلاع. كبار المديرين واثقون من أن الذكاء الاصطناعي سيعمل على تحسين العديد من مجالات أعمالهم في السنوات القادمة. وعلى وجه الخصوص، سيساعد في الابتكار (89%)، وجذب الموظفين الموهوبين والاحتفاظ بهم (85%)، وتطوير المنتجات (84%). علاوة على ذلك، قامت 27% من المؤسسات التي شملتها الدراسة بتطبيق هذه التقنيات بالفعل في العمليات والخدمات التجارية الرئيسية، وتقوم 46% أخرى بإعداد مشاريع تجريبية باستخدامها. كما أن 59% من المديرين التنفيذيين واثقون من أنه بفضل الذكاء الاصطناعي، سترتفع رواتب الموظفين، ويربط 56% منهم زيادة في مستويات التوظيف في بلدهم أو صناعتهم.

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

وأعرب المشاركون عن ثقتهم في التأثير الإيجابي للذكاء الاصطناعي ليس فقط على تطوير أعمالهم، ولكن أيضًا على الاقتصاد ككل على مدى السنوات الخمس المقبلة. وبالتالي، في رأيهم، سيساهم ذلك في التنمية الاقتصادية (90%)، وزيادة الإنتاجية (86%) والابتكار (84%)، فضلاً عن خلق فرص العمل (69%) في بلدهم وصناعتهم.

عند تقييم نجاح عمليات التنفيذ، فإن المعيار الأكثر شيوعًا للمديرين هو جودة الحل (36%). يلي ذلك العائد على الاستثمار (ROI، 32%) ورضا العملاء (31%). تعترف 14% من الشركات بأنها لا تمتلك حتى الآن مقاييس ثابتة لقياس مدى نجاح الحلول المنشورة.

العوامل الرئيسية التي تحد من تنفيذ مثل هذه التقنيات هي المخاطر المالية (42%)، وصعوبات النشر إذا لم يكن لدى المنظمة الموارد اللازمة (36%)، والصعوبات المرتبطة بتدريب الموظفين (35%). ومع ذلك، تتخذ الشركات خطوات ملموسة لمعالجة هذه المخاوف: حيث قال 76% منهم إنهم مستعدون لمواجهة المخاطر المرتبطة بالذكاء الاصطناعي، وقال 71% إنهم طوروا بالفعل سياسات ولوائح لتنفيذه والسيطرة عليه.

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

[أنا] وشملت الدراسة أكثر من 400 من كبار المسؤولين التنفيذيين من 8 دول: فرنسا وألمانيا والمكسيك وبولندا وجنوب أفريقيا وتايلاند والمملكة المتحدة والولايات المتحدة الأمريكية. وشملت قطاعات شركاتهم الخدمات المالية والرعاية الصحية وعلوم الحياة والتصنيع وتجارة التجزئة والقطاع العام.

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

الأنظمة المبنية على القواعد

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


تمثيل مرئي لمجموعة القواعد التي تتحكم في الأشباح في لعبة Pac-Man، مع أسهم تمثل "القرارات" التي يتم اتخاذها.

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

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

آلات الدولة مثل الذكاء الاصطناعي

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


مخطط الحالة في آلة الحالة النموذجية، والأسهم تمثل التغييرات المحتملة في الحالة

هناك طريقتان بسيطتان على الأقل لتنفيذ آلة الحالة المحدودة باستخدام نظام من الكائنات. الطريقة الأولى هي أن كل حالة عبارة عن متغير يمكن التحقق منه (غالبًا ما يتم ذلك باستخدام تعليمات التبديل الكبيرة). الطريقة الثانية هي استخدام المؤشرات الوظيفية (في لغة C) أو الوظائف الافتراضية (في لغة C++ وغيرها من لغات البرمجة الموجهة للكائنات).

الذكاء الاصطناعي التكيفي

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

تنبؤ

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

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

الإدراك وإيجاد الطريق

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

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

كيف يرى الذكاء الاصطناعي العالم من حوله

رؤية

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

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

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

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

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

سمع

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

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

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

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

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

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

كائنات مؤقتة

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

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

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

مَأوىً

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


يصف الفنانون من Penny Arcade* بشكل ساخر مشكلة الذكاء الاصطناعي للعدو والغطاء

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


في هذا الرسم البياني، قرر وكيلنا أن المكان المحدد بعلامة النجمة الخضراء سيكون مكانًا آمنًا للاختباء

الملاحة بالذكاء الاصطناعي

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

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

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

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

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

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

إيجاد طرق

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

يمكن اعتبار العثور على المسارات مشكلة طويلة وتم حلها بنجاح في تطوير اللعبة. حتى في الألعاب القديمة مثل الإصدار الأول من اللعبة الأسطورية Starcraft* (Blizzard Entertainment*)، يمكن لأعداد هائلة من كائنات اللعبة تحديد مسارات الحركة على خرائط كبيرة ومعقدة.

يتم استخدام خوارزمية تسمى A* (تنطق النجم الإلكتروني) لتحديد مسارات السفر. بمساعدتها، يمكنك العثور على المسار الأمثل بين أي نقطتين في الرسم البياني (في هذه الحالة، على الخريطة). يؤدي البحث البسيط على الإنترنت إلى ظهور خوارزمية خالصة تستخدم مصطلحات وصفية "واضحة" جدًا مثل F وG وH. الآن سأحاول وصف هذه الخوارزمية بطريقة أكثر قابلية للفهم.

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

الآن دعونا نضيف موقع البداية إلى القائمة غير المحددة دون تحديد أي شيء كأصل. ثم نقدم الخوارزمية.

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

يمكن أن يؤدي تعدد مؤشرات الترابط إلى تحسين الأداء حتى داخل النظام الفرعي لإيجاد المسار. يُستخدم هذا النهج على نطاق واسع في جميع استراتيجيات الوقت الفعلي (RTS) والأنظمة التي تحتوي على أعداد كبيرة من الكائنات، حيث يحاول كل منها اكتشاف مسار فريد محتمل. يمكن العثور على مسارات متعددة في وقت واحد في تدفقات مختلفة. وبطبيعة الحال، يجب على النظام تتبع المسارات التي تم اكتشافها. ويكفي اكتشاف كل مسار مرة واحدة فقط.

رمز المثال

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

/*سيرجع Get Path -1 عند الفشل أو رقمًا على المسافة إلى المسار إذا تم العثور على مسار، فسيتم تعيين المصفوفة المشار إليها بواسطة المسار مع المسار بالنقاط*/ int GetPath(int sx,int sy,int gx ,int gy,int team,Point *path,int pathlen) ( int u,i,p; memset(&Checked,0,sizeof(Checked)); memset(&Unchecked,0,sizeof(Unchecked)); Unchecked.s.x = sx؛ Unchecked.s.y = sy؛ Unchecked.d = abs(sx - gx) + abs(sy - gy)؛ Unchecked.p.x = -1؛ Unchecked.p.y = -1؛ Unchecked.used = 1؛ Unchecked.steps = 0;
يعالج مقتطف الكود أعلاه تهيئة قائمة العقد المحددة وغير المحددة ويضع عقدة البداية في القائمة غير المحددة. بعد ذلك، يتم تشغيل بقية الخوارزمية كحلقة.

Do ( u = GetBestUnchecked(); /*add */ AddtoList(Checked,Unchecked[u]); if((Unchecked[u].s.x == gx)&&(Unchecked[u].s.y == gy)) ( استراحة؛ )
يقوم مقتطف الكود أعلاه بتحليل العقدة من القائمة غير المحددة الأقرب إلى الهدف. وظيفة GetBestUnchecked()يتحقق من المسافة المقدرة لكل عقدة إلى الهدف. إذا كان هذا الحقل هو الهدف، فسيتم قطع الحلقة وتكتمل العملية.

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

/*البلاط إلى اليسار*/ if((Unchecked[u].s.x - 1) >= 0)/*أولاً، تأكد من أننا على الخريطة*/ ( if((IsInList(Unchecked,Unchecked[u] .s.x - 1,Unchecked[u].s.y,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x - 1,Unchecked[u].s.y,NULL) == 0)) /*make تأكد من عدم تكرار البحث*/ ( if(TileValid(Unchecked[u].s.x - 1,Unchecked[u].s.y,team)) NewtoList(Unchecked,Unchecked[u].s.x - 1,Unchecked[ u .s.y، Unchecked[u].s.x، Unchecked[u].s.y، abs((Unchecked[u].s.x - 1) - gx) + abs(Unchecked[u].s.y - gy)، Unchecked[u ] .الخطوات + 1); ))
في القسم أعلاه، تقوم الدالة بتوزيع الحقل الموجود على يسار العقدة الحالية. إذا لم يكن هذا الحقل موجودًا بالفعل في القوائم التي تم التحقق منها أو التي لم يتم التحقق منها، فستحاول الوظيفة إضافته إلى القائمة. تجانب صالح ()- وظيفة أخرى تحتاج إلى تكييفها للعبة. إذا اجتازت الشيك تجانب صالح ()، ثم سوف تتصل نيوتوليست()وسيتم إضافة الموقع الجديد إلى القائمة التي لم يتم التحقق منها. تكرر مقتطفات التعليمات البرمجية التالية نفس العملية، ولكن في اتجاهات مختلفة: اليمين والأعلى والأسفل.

/*البلاط على اليمين*/ if((غير محدد[u].s.x + 1)< WIDTH)/*first, make sure we"re on the map*/ { if((IsInList(Unchecked,Unchecked[u].s.x + 1,Unchecked[u].s.y,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x + 1,Unchecked[u].s.y,NULL) == 0)) /*make sure we don"t repeat a search*/ { if(TileValid(Unchecked[u].s.x + 1,Unchecked[u].s.y,team)) NewtoList(Unchecked,Unchecked[u].s.x + 1,Unchecked[u].s.y, Unchecked[u].s.x, Unchecked[u].s.y, abs((Unchecked[u].s.x + 1) - gx) + abs(Unchecked[u].s.y - gy), Unchecked[u].steps + 1); } } /*tile below*/ if((Unchecked[u].s.y + 1) < HEIGHT)/*first, make sure we"re on the map*/ { if((IsInList(Unchecked,Unchecked[u].s.x ,Unchecked[u].s.y + 1,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x,Unchecked[u].s.y + 1,NULL) == 0)) /*make sure we don"t repeat a search*/ { if(TileValid(Unchecked[u].s.x,Unchecked[u].s.y + 1,team)) NewtoList(Unchecked,Unchecked[u].s.x,Unchecked[u].s.y + 1, Unchecked[u].s.x, Unchecked[u].s.y, abs(Unchecked[u].s.x - gx) + abs((Unchecked[u].s.y + 1) - gy), Unchecked[u].steps + 1); } } /*tile above*/ if((Unchecked[u].s.y - 1) >= 0)/*أولاً، تأكد من أننا على الخريطة*/ ( if((IsInList(Unchecked,Unchecked[u].s.x ,Unchecked[u].s.y - 1,NULL) == 0)&&(IsInList (Checked,Unchecked[u].s.x,Unchecked[u].s.y - 1,NULL) == 0)) /*تأكد من عدم تكرار البحث*/ ( if(TileValid(Unchecked[u].s.x ,Unchecked[u].s.y - 1,team)) NewtoList(Unchecked,Unchecked[u].s.x,Unchecked[u].s.y - 1, Unchecked[u].s.x, Unchecked[u].s.y, abs(Unchecked [u].s.x - gx) + abs((Unchecked[u].s.y - 1) - gy), Unchecked[u].steps + 1); ) ) memset(&Unchecked[u],0,sizeof(PNode) );

آخر شيء يجب القيام به في هذا التكرار هو إزالة العقدة الحالية من القائمة غير المحددة. ليست هناك حاجة لتحليل هذا المجال مرة أخرى.
) بينما(1) ؛

يقوم الجزء الأخير من التعليمات البرمجية بإنشاء مسار من قائمة العناصر المحددة من خلال العودة إلى الموضع الأصلي. يمكن دائمًا العثور على المسار إلى الموقع الأصلي لأن كل عقدة على طول المسار تتبع العقدة الأصلية الخاصة بها. ثم يتم إرجاع المسار الناتج (باستخدام رابط). ترجع الدالة طول المسار الجديد.
IsInList(Checked,Unchecked[u].s.x,Unchecked[u].s.y,&u); ع = محدد[u].steps; if(path != NULL) ( for(i = (p - 1);i >= 0;i--) ( path[i].x = Checked[u].s.x; path[i].y = Checked [u].s.y; IsInList(Checked,Checked[u].p.x,Checked[u].p.y,&u); ) ) return p; )

الذكاء الاصطناعي التكتيكي والاستراتيجي

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

الذكاء الاصطناعي التكتيكي

يتمثل دور الذكاء الاصطناعي التكتيكي في تنسيق جهود مجموعات العملاء في اللعبة. تعد المجموعات أكثر فعالية لأن أعضاء المجموعة يمكنهم دعم بعضهم البعض، ويمكنهم العمل كوحدة، ومشاركة المعلومات، وتوزيع الأنشطة للحصول على المعلومات.
يعتمد مبدأ الذكاء الاصطناعي التكتيكي على ديناميكيات المجموعة. يجب أن تتتبع اللعبة مجموعات مختلفة من الكائنات. يجب تحديث كل مجموعة بشكل منفصل عن الكائنات الفردية. للقيام بذلك، يمكنك استخدام مُحدِّث مخصص يتتبع المجموعات المختلفة وأهدافها وتكوينها. عيب هذه الطريقة هو أنها تتطلب تطوير نظام منفصل لمحرك اللعبة. لذلك أفضّل استخدام أسلوب قائد الفريق.

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

حركة المجموعة: إيجاد طرق

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

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


في لعبة Overlord، يعمل الأفراد (الأحمر) كفريق واحد ويتحركون في التشكيل بناءً على أمر اللاعب (المحارب المدرع)

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


ترتيب التشكيل الثلاثي

تكتيكات المجموعة

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


في Enemy Territory Quake Wars بواسطة Id Software* وSplash Damage, Ltd.* هناك خمس فئات تخدم أدوارًا مختلفة في ديناميكية المجموعة

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

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

الذكاء الاصطناعي الاستراتيجي

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

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

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

خرائط الموارد

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

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

بطاقات الهدف

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


مثال على خريطة الصراع عند وضعها على خريطة محلية. كلما زاد اللون الأحمر، زادت الصراعات

إنشاء واستخدام الخرائط

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

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

أفضل تأثير للذكاء الاصطناعي: معالجة التدفق

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


في لعبة Starcraft* II من Blizzard Entertainment، يعمل الذكاء الاصطناعي لعدد كبير من الوحدات في وقت واحد. من الأفضل استخدام بنية متعددة الخيوط لهذا الغرض

عند العمل على نظام به معالجات متعددة (معالج متعدد النواة)، يمكنك تقسيم العمل فيما بينها. هناك طريقتان للقيام بذلك: موازاة المهام (الموازاة الوظيفية) وموازاة البيانات.

توازي المهام

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


تسمح الموازاة الوظيفية لكل نظام فرعي باستخدام الخيط والنواة الخاصة به

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

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

إيجاد طرق

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

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

الذكاء الاصطناعي الاستراتيجي

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

موازاة البيانات

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


موازاة البيانات

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

إن استخدام مؤشر ترابط kernel واحد لإدارة موازاة البيانات هو في الواقع نهج مختلط. اتضح أن الخيط الرئيسي يستخدم الموازاة الوظيفية ثم يشارك البيانات بين النوى لموازاة البيانات.

تطبيق

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

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

  • مسار الطلب (البداية، الهدف)يتم استدعاء هذه الوظيفة من خارج نظام تحديد المسار للحصول على الدفق. تقوم هذه الوظيفة بالمهام التالية:
    • يبحث في قائمة الاستعلامات المنفذة ويحدد ما إذا كان هذا المسار (أو مسارًا مشابهًا) قد تم العثور عليه بالفعل، ثم يُرجع إيصالًا لهذا المسار؛
    • يبحث في قائمة الطلبات النشطة (إذا لم يتم العثور على المسار) للبحث عن هذا المسار؛ إذا كان هناك مسار فيه، تقوم الدالة بإرجاع إيصال إلى المسار المحسوب؛
    • ينشئ استعلامًا جديدًا ويعيد إيصالًا جديدًا (إذا لم يسفر البحث في كلتا القائمتين أعلاه عن نتائج).
  • CheckPath("تذكرة"). باستخدام التذكرة، تبحث هذه الوظيفة في قائمة الطلبات المكتملة وتجد المسار الذي تكون التذكرة صالحة له. تقوم الدالة بإرجاع معلومات حول ما إذا كان قد تم العثور على مثل هذا المسار.
  • أوبديتباثفايندر ()هذه هي وظيفة التحكم التي تتعامل مع الحمل الزائد لخيوط البحث عن المسار. تقوم هذه الوظيفة بالمهام التالية.
    • تحليل الطلبات الجديدة. من الممكن للنوى المختلفة إنشاء عدة طلبات لنفس المسار في وقت واحد. يقوم هذا القسم بإزالة الطلبات المكررة وتعيين إيصالات متعددة (من طلبات مختلفة) لنفس الطلب.
    • التنقل بين الطلبات النشطة. تبحث هذه الوظيفة في جميع الطلبات النشطة وتوزعها في سلاسل الرسائل. في بداية ونهاية كل حلقة، يتم وضع علامة على الكود على أنه خيط. كل موضوع:
      1. يجد المسار المطلوب؛
      2. يحفظه في قائمة المسارات الجاهزة مع الإيصالات المخصصة لهذا المسار؛
      3. إزالة وظيفة من قائمة الوظائف النشطة.

حل النزاعات

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

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

التزامن

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

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

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

خاتمة

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

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

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

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

الذكاء يحتاج إلى التحفيز

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

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

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

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

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

المعلومات هي المفتاح

القدرات المعرفية البشرية محدودة. نحن لا نستخدم حتى 80% من جميع المعلومات التي نتلقاها. وفي الوقت نفسه، أصبحت هذه المعلومات متاحة أكثر فأكثر يومًا بعد يوم. سيؤدي عصر الصناعة 4.0 وإنترنت الأشياء إلى زيادة حجم البيانات العالمية 10 مرات بحلول عام 2020.

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

منذ 20 عامًا مضت، كانت معظم المعلومات، حوالي 80%، في سياق الأعمال غير منظمة. لا يزال الوضع لم يتغير: رسائل البريد الإلكتروني، والمستندات، ومحتوى الوسائط الاجتماعية، ومواقع الويب، وبيانات الجهاز، والصور، ومقاطع الفيديو، وما إلى ذلك.

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

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

الاتصال بالتكنولوجيا الجديدة

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

لا مزيد من واجهات المستخدم

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

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

يجب أن يكون الذكاء الاصطناعي مفيدًا ومفيدًا

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

بينما يتطور الذكاء الاصطناعي، تحتاج الشركات إلى التحول الرقمي. يجب أن تكون أنظمة إدارة المحتوى المؤسسي (ECM) على جدول أعمال معظم الشركات، ومن الصعب قياس قيمتها، ولكن لا أحد يشك في مدى تطبيقها العملي - فهي تحتاج فقط إلى نشرها.

ترجمة -إيكاترينا ميخيفا، مباشر