الوحدة األولى الخلفية الرياضية Mathematical Background محتويـات الوحـدة الموضـــوع المقدمة تمهيد أهداف الوحدة .1اللوغريثمات 1.1نظريات على اللوغريثمات 2.1خواص اللوغريثمات الصفحة 3 3 3 4 4 5 .2المتسلسالت 1.2المجموعة األولي 2.2المجموعة الثانية 3.2المجموعة الثالثة 4.2المجموعة الرابعة .3االستدعاء الذاتي 1.3كيف يتم تنفيذ االستدعاء الذاتي الخالصة لمحة مسبقة عن الوحدة التالية إجابات التدريبات مسرد المصطلحات المراجع 6 6 7 8 8 10 11 13 13 14 16 17 المقدمة تمهيد تهدف هذه الوحدة إلي إعطاء لمحة سريعة عن الخلفية الرياضية المطلوبة في هذا المقرر ،وتمثل هذه الخلفية أساسا ً هاما ً لفهم مبادئ تحليل وتصميم الخوارزميات. تتكوووو هووووذه الوحوووودة موووون ئيئووووة أ ووووا ر ي ووووة .الق ووووم األو منهووووا يبحوووو فووووي اللوغريثمات؛ أنواعها وكيفية التعامل معها ،أما الق م الثاني فيشور المت ل ويت ،ئوم يويتي الق م الثال ليوضح كيفية التعامل مع خوارزميات االستدعاء الذاتي. هذا و د زودناك خي هذه الوحدة بمجموعة من األنشطة والتدريبات وأسئلة التقويم الذاتي نيمل أ تمر نف ك على حل التدريبات الواردة في هذه الوحدة لتصبح لديك المهارة الكافية إلتقانها .كما نيمل أ تجدها وحدة مفيدة ،وأ ت اهم معنا في نقدها وتطويرها ،وفقك هللا. أهداف الوحدة عزيزي الدارس ،بعد فراغك من دراسة هذه الوحدة أتو ع أ تكوو على أ : تعرف اللوغريثمات. تحل م ا ل اللوغريثمات باستخدا النظريات الموضوعة. 2 تعرف المت ل لة. تحل م ا ل المت ل يت. تعرف االستدعاء الذاتي. تنفذ خوارزميات االستدعاء الذاتي. وادرا ً .1اللوغريثمات Algorithms بما أ اللوغريثمات سوف تلعب دورا ً هاما ً في تحليل الخوارزميات فإننا سووف نتنواو بعض التعريفات والنظريات حولها كما سوف نتعرف علي خواصها األساسية. تعريف ( )1 إذا كا xa = bفإننوا نعبور عون القوو aبواسوطة اللووغريثم بالصورة . logx b = a مثال ()1 Log2 8 = 3أل 2 = 8 سوف ن تخد الصيغة المختصرة logللتعبير عن log2في هذا المقرر. 3 1.1نظريات على اللوغريثمات نظرية ()1 Loga b = logb/ loga نظرية ()2 Loga b = loga + logb مثال ()2 الحظ أ سوف نجد من النظرية أ : log 4 16 = 2 Log 4 16 = log 16 / log 4 = 4/2 = 2 2.1خواص اللوغريثمات هذه بعض الخواص األخرى للوغريثمات 3 .1 .2 .3 .4 .5 Log b 1 = 0 Log b b = 1 a Log b x = a Log b x Log a/ b =Log a - Log b Log x < xلكل x > 0 أسئلة تقويم ذاتي /1أوجد /1 /3 /5 /2أئبت أ : logpxy = logpx + logpy /1 logp1/x = -log x /2 log2 64 ½ log64 log32 8 /2 /4 /6 log2 1/64 log100 10-4/5 log9 3 تدريب ()1 .1أوجد قيمة اللوغريثمات أدناه )Log 575 (ii )Log 3 27 (i .2أثبت اآلتي: )Log b a = a log b (i )x < x (ii Logلكوول x > 0 .2المتسلسالت Series عزيزي الدارس ،نجد أ المت ل يت تمثل جزءا ً هاما ً في تحليول الخوارزميوات ،حيو إننا نحتاج إلي جمع مجموعة يم عند عملية تحليل الخوارزميات. تعريف()2 المت ل لة :لتكن لدينا المتتالية a1,a2,a3,…anفإ : n ar a1 a2 .... an r 1 ت مى المت ل لة المرتبطة 4 بهذه المتتالية .فوإذا كانوت المتتاليوة منتهيووة فووإ المت ل وولة المرتبطووة بهووا منتهيووة ،وأمووا إذا كانووت غير منتهية ،ت مى المت ل لة المرتبطة بها غير منتهية. سوف نتناو بعض صيغ المت ل يت المعروفة المجموعة األولى1.2 N N C * i C * i i 1 i 1 (i ) N N c i (i c) ic i0 (ii ) N N c 1 i i i ic i0 i0 N N N ( A B ) A B i 1 i 1 i 1 N N ( N i ) i i 0 i 0 (iii ) (iv) (v ) المجموعة الثانية2.2 5 N i 1 N i 1 N C c*N i 1 (ii ) N 2 i N ( N 1) / 2 N / 2 i 1 (iii ) المجموعة الثالثة3.2 N 2 3 i N ( N 1) (2 N 1) / 6 N / 3 i 1 N k k 1 / k 1 , k 1 i N i 1 N i N 1 1 2 2 i0 (i ) (ii ) (iii ) المجموعة الرابعة4.2 N i N 1 1) /(a 1) 1/(1 a) a (a i 1 i N 1 2 i 2 ( N 1)2 i 1 6 (i ) (ii ) N 1/ i log N e i 1 (iii ) )2( تدريب :) من خي تعرفك على المجموعات ال ابقة حل المت ل يت أدناه1( N 2 (i 2i ) i 1 N i i7 N (3i 7) i 1 N 2 (2i 1) i5 (i ) (ii ) (iii ) (iv) :) أئبت اآلتي2( N 2 (2i 1) N i 1 N i i i 1 i1 N (i ) 2 ii 3 Recurrence االستدعاء الذاتي.3 7 من الميحظ أ هنالك العديد من الم ا ل التي يتطلب حلها استدعا ًء ذاتيا ً وغالبا ً موا يكو تعريف هذه الم ا ل على نحو يتطلب تعريفا ً ذاتياً. مثال ()3 يعرف مضروب العدد الصحيح nتعريفا ً ذاتيا ً على النحو اآلتي: 1, if n 0 n! n *(n 1)! if n 0 الحووظ أ هووذا التعريووف هووو تعريووف ذاتووي أي بمعنووى أ دالووة المضووروب تووم تعريفهووا باستخدا دالة المضروب نف ها ،ويمكن صياغة التعريف ال ابق على النحو اآلتي: Fn = n* Fn-1, F0 = 1 مثال ()4 يمكوون كتابووة خوارزميووة إليجوواد المضووروب باسووتخدا ا االسووتدعاء الذاتي على النحو اآلتي: Function fact (N = Integer): Integer Begin if (N = 0) then fact = 1 else fact = fact (N-1)*N end if End أي أ مضروب الصفر هو الور م 1ومضوروب أي ر وم صوحيح أكبور مون الصوفر ي اوي حاصل ضرب ذلك الر م في مضروب الر م الذي يقل عنه بواحد. الحظ مد توافق الدالة ) fact (Nمع تعريف المضروب ،مما يجعله سوهل الكتابوة والفهم ،الحظ أ الجملةfact = fact (N - 1)* N : هي الجملة التي ت تدعي الدالة استدعاءا ً ذاتيا ً لح اب مضروب . N-1 1.3كيف يتم تنفيذ االستدعاء الذاتي؟ 8 بالرجوع للمثا ال ابق والذي تم فيه توضيح دالة المضروب )fact (Nيمكننوا فهوم ما يجري لتنفيذ دالة االستدعاء الذاتي ،علينا أ نتخيول أ الحاسووب يعمول ن وخة مون هوذه الدالة عند كول مورة ي وتدعي فيهوا ) fact (Nوينفوذ تلوك الن وخة ئوم يعوود الحاسووب إلكموا تنفيذ الن خة الم تدعية كيي برنامج فرعي آخر إذ تعود ال يطرة عند انتهاء تنفيوذ البرنوامج الفرعي إلي البرنامج الم تدعى له؛ فمثيً للحصو على مضروب الور م 2فوإ الحاسووب سوف يقو باستدعاء ن خة من دالة المضروب لح اب مضروب الر م ،1ولح واب الور م ولح وواب مضووروب الوور م 1فووإ الحاسوووب سوووف يقووو باسووتدعاء ن ووخة أخوور موون دالووة المضروب لح اب مضروب الصفر. الحظ أن مسألة المضروب تتميز بالميزتين التاليتين: أوالً :هنالوك حالوة ال يتطلوب ح واب المضوروب لهوا اسوتدعاءا ً ذاتيوا ً وهوي عنود N =0 وت مي هذه الحالة بحالة األساس. ثانيااااً :فوووي كووول مووورة ت وووتدعي فيهوووا دالوووة المضوووروب اسوووتدعاءا ً ذاتيوووا ً يوووتم استدعاؤها على أب ط من الحالة ال ابقة لها ،بمعنى أنها أ رب حالوة إلوي حالة األساس .أي أننا في كل مرة ن وتدعي فيهوا دالوة المضوروب fact ) (Nن ووتدعيه علووى ر ووم أ وول بواحوود موون الوور م األصوولي وذلووك ضووروري لضووما تو ف العملية والوصو إلي حالة األساس .ولوال ذلك فقد ت تمر عملية االستدعاء الذاتي إلى ما ال نهاية. لهذا من الضروري توفر هاتين الميزتين في أي م يلة كي يكوو حلهوا باالسوتدعاء الذاتي ممكناً. نشاط أدرس المتوالية الر مية التالية …0,1,1,2,3,5,8,13,21, تدعى هذه المتوالية متوالية فايبون ي ،حي أ كل ر م بها باستثناء أو ر مين ي اوي حاصل جمع الر مين ال ابقين أي أ : F0 = 0 , F1 =1 Fn = Fn-1 + f n - 2 اكتب برنامجا ً فرعياًًً ). Fib(nيقوو بح واب يموة الحود ر وم nفي متوالية فايبون ي م تخدما ً االستدعاء الذاتي. 9 أسئلة تقويم ذاتي عرف االستدعاء الذاتي ومثّل له. ّ )1 )2بالخطوات وضح كيف يتم االستدعاء الذاتي لدالة معينة الخالصة عزيووزي الوودارس فووي نهايووة هووذه الوحوودة االسووتهيلية أرجووو أ تكووو وود حققووت األهداف المرجوة منهوا ،وللتيكود مون ذلوك أرجوو إعوادة اسوتعراا األهوداف مورة أخور ئوم راءة المفاهيم التالية التي تخص الوحدة. عرفنووووا اللوغريثمووووات بالصووووورة logxb=aئووووم ابقنووووا النظريووووات الموضوووووعة علووووىاللوغريثمات لحلها وتب يطها. عرفنووا المت ل وولة و لنووا إنهووا تمثوول جووز ًء هاموا ً فووي تحليوول الخوارزميووات ئووم درسوونا صوويغالمت ل يت المعروفة وابقناها. عرفنا االستدعاء الذاتي و لنا إ التعريف الذاتي هو تعريف الدالة باستخدامها هوي نف وهاومثلنا لخوارزمية كتبت باستخدا االستدعاء الذاتي ،واستخدمنا المثا في منا شة كيوف يتم تنفيذ االستدعاء الذاتي. وأخيرا ً فإننا نر هذه الوحدة تمثل مودخيً موفقوا ً لموا بعودها مون وحودات ،أرجوو أ تنا ش مشرفك األكاديمي في أي أمور تجدها غيور واضوحة فوي هوذه الوحودة –وفقوك هللا فوي دراستها. لمحة مسبقة عن الوحدة التالية عزيزي الدارس، في وحدتنا التالية نقو بشر المفاهيم األساسية في تحليل الخوارزميات مثول تعقيود الم احة ومعدالت النمو .فلنبدأ معا ً الخطوة األولى في تحليل الخوارزميات وتصميمها. إجابات التدريبات تدريب ()2 ()1 )(i 10 i N 2 i 2i i 1 N N N 12 N 1 2 N N 1 6 2 i 1 N N 12 N 5 6 N N 2 i 1 2 i N3 (ii) N N 6 i 7 i 1 i 1 i i i N N 1 2 N 3 66 1 N N 1 21 2 2 N N 1 42 2 2 ~ N 2 (iii) N i 1 3i 7 3 i 71 3N N 1 7 N N 3N 1 14 N N N i 1 i 1 3N 2 2 2 2 (iv) 11 2i N i 5 2 N N 1 2 i 2 1 i 5 i 5 N 5 N 5 i 1 i 1 i 1 i 1 2 i 2 2 i 2 1 1 2 N N 12 N 1 256 11 6 6 N 5 N N 12 N 1 N N 12 N 1 110 N 5 N 15 3 3 3 N 2N 3 (v) 2 N N 1 2i 1 N 2 i i 2 N N 2 N N N i 1 i 1 i 1 )2( مكررة (i) (ii) N 2 N 1 N N N 1 i i 2 4 i 1 i 1 N 2 N 2 2 3 N4 ~ 4 مسرد المصطلحات Logarithms اللوغريثمات بشكل متكرر حي إ،اريقة رياضية لحل م يلة باستخدا أسلوب ح ابي أب ط الفكرة األساسية لللوغريثمات هو تحويل عمليتي الضرب والق مة المعقدتين إلى عمليتي . جمع وار 12 Series متسلسالت .عملية جمع مجموعة من القيم المتتالية Recursive استدعاء ذاتي .بمعنى أ الدالة تم تعريفها باستخدا الدالة نف ها Function دالة Facto مضروب المراجع المراجع العربية منشورات جامعة القدس، تركيب البيانات وتصميم الخوارزميات،مجموعة مؤلفين )1 ،المفتوحة 1998. ،المفتوحة منشورات جامعة ال ودا، هياكل البيانات،ال ماني عبد المطلب .2005 )2 المراجع األجنبية 1) 2) 3) 4) Weiss, M.A., Data Structures and Alogrithm Analysis, Benjamin pub., 1992. McConnell, J.J., Analysis of Alogrithms: An Active Approach, Jones pub., 2001. Lavitin, A., Introduction to the Design and Analysis of Alogrithms, Addisions ues by, 2003. Ulman, J.D (etal), The Design and Analysis of Compurte Alogrithms, Addison Wesley, 1974. 13 5) 6) Basese, S., Compurte Alogrithms : Introduction to Analysis and Design, Addison Wesley, 2000. Sedgewick, R., An Introduction to the Analysis of Alogrithms, Addison Wesley 1996. 14