Uploaded by مصطفى محمد حسب الله

Uint One.....-1-1

advertisement
‫الوحدة األولى‬
‫الخلفية الرياضية‬
‫‪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)
ic
i0
(ii )
N
N
c 1
i

i



 i
ic i0 i0
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
i0
(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
i7
N
 (3i  7)
i 1
N
2
 (2i  1)
i5
(i )
(ii )
(iii )
(iv)
:‫) أئبت اآلتي‬2(
N
2
 (2i  1)  N
i 1
N 
i


 i 
i 1
 i1 
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  12 N  1 2 N  N  1

6
2
i 1
N  N  12 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
66  1 N  N  1

 21
2
2
 N  N  1  42 


2


2
~
N
2
(iii)
N

i 1
3i  7   3 i  71  3N N  1  7 N  N 3N  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  12 N  1 256 11

6
6
 N 5
N  N  12 N  1
N  N  12 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
Download