اكتب كود بايثون لإنشاء برنامج لـ RNN (الفائز يأخذ كل النماذج (النموذج الاحتمالي))

كل المتغير الأولي سيكون على النحو التالي:

س\_0 = 1
[x\_1، x\_2، x\_3] = [1,1,1]
w = np.array([[0, 1, 1, 1], [0, 0, -2, -2], [0, -2, 0, -2], [0, -2, -2, 0]])

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

E = (-(1/2)((الجمع من i=0 إلى 3)(الجمع من j=0 إلى 3)w\_(ij) \* x\_(i) \* x\_(j) )) + ج

c هي القيمة الثابتة (يجب أن تكون صفراً)

وفي الوقت نفسه، سيتم تحديث x وفقًا للنموذج الثنائي الاحتمالي (كل حالة). وللتأكد من أن النتيجة ستكون نموذجًا حتميًا، سنقوم بتعيين (alpha) ليكون رقمًا كبيرًا جدًا (1000). يجب أن تكون النتيجة النهائية x = [0,0,1]

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

يجب أن تكون النتائج ممثلة في الجدول مثل هذا:
(هذه مجرد أمثلة):

عند البدء x = [1,1,1]
الدولة || س || طاقة
0 || [1،1،1] || 3
1 || [0,1,1] || 0
2 || [0,0,1] || -1
3 || [0,0,1] || -1
4 || [0,0,1] || -1

كما ترون في هذا المثال، سيتم تحديث الحالة فقط عندما تكون الطاقة أقل من الحالة الحالية وسوف تتكرر عندما يتم العثور على الحل 0،0،1 حتى الحالة 5

يجب ملاحظة أن x\_0 سيكون دائمًا 1 ولن يتم تحديثه
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}