WEBVTT

00:00.180 --> 00:02.070
أهلا ومرحبا بكم في هذا البرنامج التعليمي.

00:02.290 --> 00:06.060
حسنًا ، لقد حسبنا الكون وأضفناه إلى قائمة الكون.

00:06.060 --> 00:11.580
والآن ما سنفعله هو إجراء سحب عشوائي لإجراء وفقًا لتوزيع احتمالات المجموعة

00:11.580 --> 00:12.660
القصوى.

00:12.990 --> 00:14.460
لذلك دعونا نفعل هذا.

00:14.460 --> 00:15.590
هذه هي الخطوة التالية.

00:15.600 --> 00:19.840
ما زلنا في الحلقة لأننا ما زلنا نعمل على الخطوات هنا.

00:19.860 --> 00:22.370
وهكذا تعرف الآن كيف تلعب العمل.

00:22.380 --> 00:28.560
سنقدم أولاً متغيرًا للإجراء المسمى الإجراء ، ثم نأخذ توزيعنا

00:28.560 --> 00:37.290
للاحتمالات وسنستخدم الدالة المتعددة العادية لأخذ سحب عشوائي من توزيع الاحتمالات

00:37.290 --> 00:38.340
هذا.

00:39.030 --> 00:41.210
ثم نضيف تلك البيانات.

00:41.220 --> 00:47.610
لذا من المهم ملاحظة أن الإجراء سيكون في الواقع موترًا بقيمة واحدة فقط.

00:47.610 --> 00:50.820
لكن لا يجب أن ترى هذا كقيمة بسيطة.

00:50.820 --> 00:56.940
يجب أن ترى هذا على أنه موتر للأبعاد ، واحدًا تلو الآخر يحتوي على هذه القيمة للإجراء.

00:56.940 --> 00:59.010
وهذا لأنه غير مضغوط.

00:59.550 --> 01:08.700
والآن لا نزال في نفس حلقة for ، سنحصل على احتمالية السجل المرتبطة بالإجراء الذي تم لعبه

01:08.700 --> 01:09.720
للتو.

01:09.990 --> 01:16.710
ولذا أقوم بتحديث احتمالية السجل الخاصة بي هنا عن طريق أخذ السابقة ، مشكلة السجل السابقة التي قمنا

01:16.710 --> 01:18.000
بحسابها هنا.

01:18.000 --> 01:25.710
ثم سأستخدم طريقة التجميع التي سأقوم بإدخال واحد بها والإجراء الذي تم عرضه لأننا

01:25.710 --> 01:31.290
نريد الحصول على احتمالية السجل المرتبط بهذا الإجراء.

01:31.290 --> 01:38.940
وكوسيطة ثانية هنا ، سأقوم بإدخال عملي ، لكن يجب أن يكون ذلك كمتغير كما هو مطلوب بواسطة دالة getter

01:38.940 --> 01:43.980
وأن دالة التجميع تقوم فقط بفهرسة العدد الصحيح للموتر.

01:44.340 --> 01:44.700
حسنا.

01:44.700 --> 01:48.780
حتى الآن ، حصلنا للتو على خاصية السجل المرتبطة بالإجراء الذي تم عرضه.

01:48.780 --> 01:53.610
والآن الخطوة التالية هي إلحاق ما حصلنا عليه بالقائمة هنا.

01:53.610 --> 01:55.500
لذلك حصلنا على القيمة.

01:55.500 --> 01:58.560
هذا ما حصلنا عليه هنا كمخرج للنموذج.

01:58.560 --> 02:00.720
ثم حصلنا أيضًا على دعامة السجل.

02:00.720 --> 02:03.900
لذلك سنقوم بإضافة خاصية السجل إلى قائمة أدوات السجل.

02:03.900 --> 02:06.810
لقد قمنا بالفعل بإلحاق الإنتروبيا بقائمة الإنتروبيا.

02:06.810 --> 02:09.480
لذلك نحن بخير والمكافآت ، سنحصل عليها بعد ذلك.

02:09.480 --> 02:15.060
لذلك سنلحق الآن القيمة وخاصية السجل بقائمة القيم وقائمة خصائص السجل.

02:15.270 --> 02:16.110
هيا بنا نقوم بذلك.

02:16.110 --> 02:17.910
نأخذ قائمة قيمنا.

02:17.910 --> 02:24.690
نضيف أننا نستخدم وظيفة الإلحاق ونضيف القيمة التي أرجعها النموذج للتو.

02:24.780 --> 02:25.620
في احسن الاحوال.

02:25.800 --> 02:28.470
ثم نفس الشيء بالنسبة لمسائل السجل.

02:28.560 --> 02:35.700
لقد حصلنا للتو على مجسات السجل الجديدة الخاصة بنا وسنقوم بإلحاقها بقائمة مشكلات السجل.

02:36.000 --> 02:42.570
وهكذا في وظيفة الإلحاق هذه ، قمنا بإدخال log الخاص بخاصية log الخاصة بنا والتي تم حسابها للتو هنا.

02:43.870 --> 02:44.200
حسنا.

02:44.200 --> 02:46.960
لذلك تم تحديث قوائمنا الآن بشكل جيد.

02:46.990 --> 02:52.690
إذن ما سنفعله الآن هو تشغيل الإجراء ، لأنه في الواقع هنا ، اخترنا الإجراء من

02:52.690 --> 02:56.440
خلال سحب عشوائي من توزيع الاحتمالات هذا هنا.

02:56.440 --> 03:02.530
لكننا في الواقع لم نلعبها بعد ، وسنلعبها الآن حتى نتمكن من الوصول إلى الحالة الجديدة

03:02.530 --> 03:05.980
وبالتالي الحصول على الإرسال الجديد وتشغيله.

03:05.980 --> 03:10.270
سنأخذ بيئتنا لأننا نلعب العمل في بيئتنا.

03:10.270 --> 03:17.980
ثم سنستخدم طريقة الخطوة وداخلنا نحدد الإجراء الذي تم تحديده لتشغيله.

03:17.980 --> 03:25.060
وللقيام بذلك ، نتخذ الإجراء الخاص بنا ونضيف ذلك المقعد لأن هذا هو ما تتوقعه دالة الخطوة.

03:25.930 --> 03:27.610
لكن هذا يعود.

03:28.770 --> 03:37.380
في الواقع الحالة الجديدة وكذلك المكافأة الجديدة ، لأنه من خلال الوصول إلى حالة جديدة ، نحصل على مكافأة جديدة ونحصل

03:37.650 --> 03:42.990
أيضًا على قيمة جديدة لإنجازها لمعرفة ما إذا كانت اللعبة قد انتهت أم لا.

03:43.350 --> 03:43.710
حسنا.

03:43.710 --> 03:48.300
وبهذا ، نلعب الإجراء ، ونصل إلى الحالة الجديدة ونحصل على المكافأة الجديدة.

03:48.300 --> 03:50.070
ونعرف ما إذا كنا قد انتهينا من اللعبة.

03:50.250 --> 03:55.590
وبالحديث عن الانتهاء من اللعبة ، حسنًا ، سنضيف شيئًا هنا للتأكد

03:55.590 --> 03:59.100
من أن الوكيل ليس عالقًا في حالة ما.

03:59.100 --> 04:03.780
وللقيام بذلك ، سنقوم بتحديث متغير الرتق بالطريقة التالية.

04:04.650 --> 04:11.760
حسنًا ، سيكون الأمر متساويًا ، أو سنضيف شرطًا يقول إن حلقة اللعبة لا ينبغي أن تستمر

04:11.760 --> 04:13.890
كثيرًا من الوقت.

04:14.190 --> 04:20.550
وسترى في الوظيفة الرئيسية أنه سيكون هناك حد أقصى لطول الحلقة والذي سيساوي

04:20.550 --> 04:21.900
10000.

04:21.900 --> 04:25.620
ولا نريد أن تستمر الحلقة لأكثر من 10000 وحدة.

04:25.620 --> 04:33.480
سنضيف هنا طول الحلقة ، وهو طول الحلقة ، وسنكتب

04:33.480 --> 04:37.470
الشرط أكبر من Max.

04:38.200 --> 04:39.940
طول الحلقة.

04:40.420 --> 04:40.840
هناك نذهب.

04:40.840 --> 04:45.880
وفي الواقع الحد الأقصى لطول الحلقة ، نحصل عليه من معلماتنا.

04:45.880 --> 04:50.320
لذلك أقوم بإضافة معلمات نقطة معلمات نقطة الحد الأقصى لطول الحلقة.

04:50.320 --> 04:59.260
هذا يعني أنه إذا انتهت اللعبة أو كان طول الحلقة أكبر من الحد الأقصى لطول مجموعة الحلقة ، والذي

04:59.260 --> 05:04.780
سيساوي 10000 ، حسنًا ، ستنتهي اللعبة وسنبدأ لعبة جديدة.

05:06.150 --> 05:07.950
لذلك هذا مجرد إجراء احترازي.

05:07.950 --> 05:11.550
وبالحديث عن الاحتياط ، سنضيف احتياطيًا آخر.

05:11.580 --> 05:15.160
إنها تثبيت المكافأة بين ناقص واحد و زائد واحد.

05:15.180 --> 05:20.370
لقد حصلنا بالفعل على المكافأة هنا ، لكننا نريد التأكد من أن المكافأة بين ناقص واحد و زائد

05:20.370 --> 05:20.820
واحد.

05:20.850 --> 05:27.300
وللقيام بذلك ، نحتاج ببساطة إلى تحديث المكافأة من خلال القيام بذلك ، واتخاذ الحد الأقصى

05:27.300 --> 05:29.220
، ثم أخذ رجال المكافآت.

05:29.310 --> 05:30.780
و واحد.

05:30.960 --> 05:35.670
وهنا نأخذ الحد الأقصى للمكافأة واحدًا وناقصًا واحدًا.

05:35.970 --> 05:39.300
وبهذا نتأكد من أن المكافأة تقع بين ناقص واحد زائد واحد.

05:40.030 --> 05:40.720
حسنا.

05:40.720 --> 05:42.160
لذلك احتياطي آخر.

05:42.160 --> 05:49.000
والآن نريد فقط التحقق مما إذا كانت اللعبة قد اكتملت ، وفي هذه الحالة سنعيد تشغيل البيئة.

05:49.000 --> 05:50.500
ولماذا نحتاج إلى التحقق من ذلك الآن؟

05:50.500 --> 05:52.870
هذا لأننا وصلنا للتو إلى حالة جديدة.

05:52.900 --> 05:54.700
لقد مررنا للتو إرسال جديد.

05:54.700 --> 05:59.410
لذلك نحن بحاجة إلى التحقق من ذلك بعد اجتياز هذا الإرسال الجديد أثناء عدم انتهاء اللعبة.

05:59.650 --> 06:09.730
لذلك إذا تم ذلك مرة أخرى ، إذا تم ذلك ، فسنقوم في هذه الحالة بإعادة تشغيل البيئة عن طريق

06:10.720 --> 06:19.150
ضبط طول الحلقة على صفر وسيتم أيضًا تهيئة الحالة وإعادة تهيئتها.

06:19.150 --> 06:23.350
نأخذ بيئتنا ونستخدم وظيفة إعادة الضبط.

06:24.460 --> 06:24.770
اوك.

06:25.060 --> 06:27.360
الآن نخرج من هذه الحالة.

06:27.370 --> 06:28.750
كان هذا مجرد فحص.

06:29.020 --> 06:34.420
والآن ما سنفعله هو منذ أن وصلنا إلى حالة جديدة ، حسنًا ، هذه الحالة الجديدة الآن ثم بواسطة

06:34.420 --> 06:40.330
راي ، لأن تذكر ، الحالات هي الصور المدخلة التي تم إجراؤها في الأصل بواسطة المصفوفات.

06:40.330 --> 06:44.350
والآن ما يتعين علينا القيام به هو تحويل الحالة الجديدة إلى موتر شعلة.

06:44.350 --> 06:52.540
لذلك سنقوم بتحديث حالتنا وسنستخدم مكتبة الشعلة وبالطبع الدالة from

06:52.690 --> 07:01.420
numpy لتحويل هذه المصفوفة المعقدة ، ونذكر الصور المدخلة إلى موتر شعلة.

07:02.020 --> 07:02.860
في احسن الاحوال.

07:02.980 --> 07:08.560
والآن آخر شيء يتعين علينا القيام به قبل الخروج من حلقة for هذه ، وهي الحلقة في خطواتنا.

07:08.560 --> 07:12.790
حسنًا ، هذا بالطبع لإلحاق المكافأة بقائمة المكافآت.

07:12.790 --> 07:15.100
هذا هو آخر شيء يجب تحديثه.

07:15.100 --> 07:18.130
قمنا بتحديث جميع القوائم هنا باستثناء المكافأة.

07:18.130 --> 07:19.450
لذلك سنفعل ذلك الآن.

07:19.450 --> 07:26.830
نأخذ مكافآتنا ونستخدم وظيفة الإلحاق لإلحاق المكافأة الأخيرة التي تم استلامها للتو.

07:27.310 --> 07:28.060
في احسن الاحوال.

07:28.060 --> 07:35.230
وقبل أن نخرج من الحلقة ، نحتاج فقط إلى إجراء فحص أخير للتحقق من ذلك.

07:35.230 --> 07:39.250
إذا تم ذلك ، فنحن نريد إيقاف الاستكشاف.

07:39.250 --> 07:45.940
ولذا سنضيف هنا فاصلًا ، مما يعني أنه إذا تم ذلك ، فإننا نوقف الاستكشاف وننتقل مباشرة

07:45.940 --> 07:50.890
إلى الخطوة التالية ، والتي ستكون تحديث النموذج المشترك.

07:51.370 --> 07:54.130
والآن انتهينا من حلقة for هذه.

07:54.310 --> 08:01.570
الآن بعد أن قام الوكيل بالاستكشاف ، سيقوم بتحديث النموذج المشترك وسنتولى ذلك في البرنامج

08:01.570 --> 08:03.250
التعليمي التالي.

08:03.250 --> 08:04.480
حتى ذلك الحين ، استمتع.

08:04.480 --> 08:04.990
أنا.
