الرئيسيةعريقبحث

نظرية التطابق الخطية


☰ جدول المحتويات


في الرياضيات ونظرية الاعداد , نظرية التطابق الخطية تجيب عن السؤال : هل يمكن حل تطابق خطي ؟ , ومعادلة التطابق الخطي هي من الصورة التالية :

فليكن a,b,n ثلاث اعداد طبيعية مُعروفة المعادلة هي : والمسألة هي ايجاد كل x يحقق المعادلة .

تعريفات

نرمز ب- مولد الزمرة الجزئية ل- التي تتولد بواسطة a . بما انه يتحقق للمعادلة اعلاه يوجد حل فقط إذا . من مبرهنة لاجرانج ينص على يُقسم n . سوف نستخدم المبرهنة التالية لتحديد عدد الحلول للمعادلة وايضا لتحديد إذا ما يمكن حلها اصلا .

مبرهنة

فليكن حينها ولذا

برهان

نبدأ البرهان بأن نبين أنَّ وبما أنَّ لذا فانه حسب نظرية اقليدس الموسعة يوجد x,y عددان صحيحان حيث يتحقق لذا لذا حسب التعريف .

بما أنَّ أيضا كل مضاعفاتها كذلك تابعة ل- وبما ان مضاعفات مضاعفات a هي أيضا مضاعفات a لذا فان يحوي المجموعة وبالتي يتحقق .

يتبقى ان نبرهن أنَّ . إذا حينها يوجد x بحيث يتحقق لذا فانه يوجد عدد صحيح y حيث يتحقق . بما أنَّ وكذلك لذا فانه يتحقق لذا فانه يتحقق .

لذا فانه يتحقق أنَّ . ننتبه إلى انه بين 0 و- n-1 يوجد مضاغفات الرقم d لذا فانه يتحقق :

تحديد إذا ما يوجد حلول وعددها

  1. المعادلة يوجد لها حل فقط إذا .
  2. المعادلة يوجد لها d حلول عندما أو لا يوجد حلول البتة

المقولتان 1+2 بالواقع هما استنتاج من المبرهنة اعلاه .

إنتاج الحلول

على الاقل حل واحد

فليكن ولنفرض أنَّ حيث أنَّ x,y عددان صحيحان، إذا d|b حينها أحد الحلول للمعادلة هو .

برهان :

بما أنَّ لذا :

من هذا ينبع أنَّ هو حل كذلك .

إنتاج كل الحلول

لنفرض أن ولنفرض أنَّ هو حل للمسألة، حينها للمعادلة هذه يوجد d حلول التي هي : في حين أنَّ .

خوارزمية حل المعادلات

الان بما انه يمكن إنتاج كل الحلول وقد برهنا على ذلك لذا فاننا الان صار بيدينا كل المقومات لخوارزمية تنتج هذه الحلول وهي كالتالي : (الخوارزمية بلغة MATLAB ) .

% ax=b mod n نريد ان نحل المعادلة function x=MLES(a,b,n) % نحسب اولا القاسم المشترك الاكبر حسب الخوارزمية اقليدس الموسعة [d,x1,y1]=egcd(a,n); % هذه المصفوفة فيها نحفظ كل الحلول x=zeros(1,d); %حينها يوجد حلول b|d اذا تحقق if mod(b,d)==0 % الحل الاول حسب المبرهنة x0=mod(x1*b/d,n); % انتاج باقي الحلول for k=1:d x(1,k)=mod(x0+k*(n/d),n); end else % لا يوجد حلول x=[]; end end

تعقيد وقت الخوارزمية هو وذلك لاننا استخدمنا خوارزمية اقليدس مرة ثم الحلقة(loop) استخدمناها d مرات.

حالات خاصة

عندما حينها يوجد حل واحد للمعادلة، كما انه يوجد حالة اخرى هي عندما b=1 حينها الحل المطلوب هو مقلوب العدد a ويمكن حسابه بواسطة خوارزمية اقليدس الموسعة فقط وهذا يجعل إنتاجه اسرع .

امثلة

معطاه المعادلة علينا ايجاد كل الحلول :

  1. نريد ان نحسب والذي هو 5 , كما نحسب x و- y حيث أنَّ 35x+50y=5 , لذا فان قيمتهما هي x=3,y=-2 .
  2. نفحص هل b|d ? حسب المعادلة b=10 و- d=5 . لذا فان الجواب نعم ولذا يوجد 5 حلول (حسب المبرهنات )
  3. أول حل هو :
  4. اما باقي الحلول فهي :

مقالات ذات صلة

مصادر

  • introduction to algorithms , CE Leiserson, RL Rivest, C Stein, TH Cormen - 2001

موسوعات ذات صلة :