16 تغريدة 73 قراءة Feb 04, 2022
في محاولة يائسة مني للتغلّب على ال depression wave التقيلة دي، كنت بلعب wordle وبعدين جه فدماغي: إيه هي أحسن كلمة (أو مجموعة كلمات) أبدأ بيها بحيث إنها تحققلي أكبر احتمالية من الوصول للكلمة المنشودة بسرعة؟ فقررت أدور ورا الموضوع دا شوية.
لو حد مش عارف إيه هي wordle فهقتبس الفيديو الجامد دا اللي عمله @usfngm محدش هيشرح اللعبة أحسن من كدة
المهم حملت ليستة بكل الكلمات اللي في اللغة الانجليزية، وطلع عددهم حوالي ٣٧٠ الف كلمة
فكرت استخدم ال letter frequency analysis اللي معروف بالفعل، بس لقيت انه مش هينفع لأنه لما اتعمل اتعمل على كل الكلمات اللي في اللغة، لكن الموضوع هيبقى مختلف لو بنستخدم ٥ حروف بس.
فطلعت الكلمات المكونة من ٥ حروف بس في اللستة وطلع عددهم حوالي ١٦ ألف كلمة.
دلوقتي احنا عايزين نطلع أحسن كلمة من ال ١٦ الف دول، الكلمة اللي غالبًا هتدينا حروف كتير صفرا لما نكتبها كأول كلمة، منطقيًا الكلمة اللي احنا عايزينها متتكررش دي المفروض ميبقاش فيها أي حروف مكررة. فشلت كل الكلمات اللي فيها حروف مكررة.
وبقى معانا ١٠ آلاف كلمة.
دلوقتي هنحاول نحسب حاجة اسمها الأوزان بتاعت الحروف، وزن كل حرف هو عدد مرات تكراره في ال ١٠ آلاف كلمة اللي معانا، ودا هيورينا أهمية كل حرف من حروف اللغة في الكلمات اللي من ٥ حروف
واضح طبعًا إن في الكلمات المكونة من ٥ حروف، حرف ال a هو أكتر حرف بيتكرر، ويليه حرف ال e ثم ال s، ثم ال r وال i.
وبالتالي لو عايزين نوصل لأحسن كلمة نبدأ بيها فهي كلمة من ال٥ حروف دول
عملنا كود بيدي سكور لكل كلمة بناءً على مجموع أوزان الحروف في الكلمة دي.
والكلمة اللي طلعت هي aesir ومعرفش حتى معناها إيه بس أنا بفضل كلمة arise يعني بما إنها نفس الحروف.
كزيادة، فكرت هي ايه احسن تاني كلمة بعدها؟ أكيد هتبقى كلمة فيها حروف بتتكرر كتير بس مفهاش ولا حرف من حروف كلمة arise، فعملت لوب بتطلع الكلمة بعدين تصفر أوزانها وتحسب تاني
ودي ليستة الكلمات اللي طلعت
الكلمات دي، حسب رأي الكود المعفن بتاعي دا، هي أكتر كلمات محتمل إن يطلع حروفها موجودة في ال wordle
كأختبار للكلمات دي جربتها في اليوم دا واليوم اللي بعده وبالفعل في ٣ محاولات كل حروف الكلمة بتبقى موجودة. بس هل دا معناه إن الكلمات دي أكيد هتكسبك؟ لا طبعًا لأن ١- دي مجرد إحتمالات ٢- فيه عوامل كتير أوي متاخدتش في الأعتبار اثناء اختيار الكلمات.
زي ترتيب الحروف وأماكنها في الكلمة، تكرار الحروف، حاجات كتير، على سبيل المثال لما قررت احسب الأوزان على الكلمات اللي فيها حروف مكررة طلعلي ليست مختلفة، غالبًا كل ما تجرب تغير شوية في الكود هتلاقي كلمات جديدة بتطلع.
أنوه بالمناسبة إن الكود دا مش optimized for efficiency ومش well written ومش أحسن حاجة ممكن تتعمل أبدًا لأني عملته في نص ساعة وأنا على السرير، فلو حد لسة بيبدأ وبيقرأ الكلام دا يخلي باله.
وبأكد كذلك إن الهدف من الموضوع دا مش التحايل على اللعبة، إنما الهدف هو التغلب على ال depression wave بتاعتي فمحدش يجادج مي، جزء كبير من متعة اللعبة أصلًا إنك تبدأ بكلمة مختلفة كل مرة.
ودا لينك جيتهاب للي عايز يكمل على العبط اللي عملته دا
هتلاقوا عليه الكود وليستة الكلمات.
github.com

جاري تحميل الاقتراحات...