طيب بسم الله الرحمن الرحيم اليوم ان شاء الله
هنستكمل المثال اللي ختمنا فيه المحاضرة السابقة و
اللي هي خاصة بموضوع ال state reduction طبعا زي ما
انتم شايفين احنا المحاضرة السابقة بدأنا نشتغل في
هذا المثال في عندىstate diagram من ال state
diagram حصلنا على هذا ال state table والمشكلة اللي
في ال state table أنه في أنا عندي هنا مجاهيل
وبالتالي كيف أنا بدي أتعامل مع السؤال اللي فيه
مجاهيل أو missing valuesطبعا علشان أنا أقدر أتعامل
مع هذا السؤال قلنا في طريقة ألف اللي هي طريقة
طويلة بدنا أشييها أني أجرب كل الاحتمالات الممكنة
أحل هذا السؤال أكثر من مرة و في الآخر أخد أفضل حل
بس هنا للأسف في عندنا 2 اقل 6 128 احتمال فمش معقول
بدي أحل السؤال 128 مرة .. sorry 64 مرة و بعد ما
أحله 64 مرة أخد الأفضل فقلنا بدنا نشوف طريقة
systematic أفضل و أسرعففيها ان طريقة ال
implication table اللي هي طريقة الدرج اللي اشتغلنا
عليها المرة السابقة والان ان شاء الله بدنا نعمل
الدرج من جديد ونحاول نستكمل المثال بالكامل علشان
نعمل الدرج زي ما انتوا عارفين افترضنا انه بدنا
نبدأ على طول زي هيك بدنا نبدأ بدنا نسيب ال S0
ونبدأ من S1بعدين بدنا نكمل بنفس القلية نحط S2 و
بعدين بنفس القلية بنحط S3 و آخر واحدة بنحطها اللي
هي S4 و بهيك بنكون خلصنا هذا الدرج فخلينا نمسح
الآن الزيادات اللي هان تمام؟ و بدنا الآن نضيف ال S
node من الأول S node S1S2 S3 وأتوقع طريقة الدرجة
الآن صارت سهلة كل المطلوب أنه نعمل مقارنة هل ال S
نود ممكن تكون equivalent أو compatible ل S1 ممكن
ولا لاعشان أعرف بدأ أطلع على ال state table و أقرر
إذا لجيت ال outputs مختلفين أكيد بدأ أحط X إن هذا
لا يمكن لكن إذا لجيت ال outputs زي بعض الآن بحط
الشروط زي ما أشتغلنا المرة السابقة على سبيل المثال
بين S node و S1 حكينا المرة السابقة هيبدأ أقارن S
nodeوبدا اقارنه مع S1 اول اشي طالما مش محطوطة ال
outputs فماعندي اي اشكالية ماعندي اي عاقة من ال
outputs على طول هشتغل و اقول ماشي S0 بتشابه S1 او
compatible مع S1 اذا كانت S1 بتشبه S3 او
compatible مع S3 او equivalent مع S3 او اذا كانت
S2مع S4 وهكذا بدنا نكمل الآن زي ما عملنا S1 و S2
سنعيد S1 مع S2
S1 مع S2 الـ Outputs مافيش مشاكل بس بدنا S1 شبه S4
وهنا لأنها هذه فراغ خلاص ممكن اعتبرها S2 وبالتالي
S2 مع S2 لا تُكتب لأنها نفسها زي ما حكينا المرة
اللي فاتت وبالتالي هكتفي بالشرط S1 إلى S4 ومش هسجل
هاي لأن أنا بفترضها زي ما بدي وبالتالي ممكن
اعتبرها S2 ويصير S2 مع S2 ومابكتبهاش لأنها نفسها
هكمل الآن بنفس القلية S0 مع S3 هاي S3 عشان
مانخربطش
طالما هنا مافيش output معناه مافيش مشاكل بعتبرهم
ال output زي ما بدي اذا مافي مشاكل مافي X مباشر
على طول بدنا نقول S ند و S واحد و S ند و S اتنينو
S1 و S0 و S2 و زي ما قلنا المرة اللي فاتت الترتيب
مش مهم يعني لو انا جلبت S1 و S0 S0 و S1 معين نفس
الفكرة ان هدول الاتنين لازم يكونوا متشابهين او
compatible او equivalent حتى انا اقدر اكمل بدون اي
مشاكل طيب الآن اخر واحدة ال S0 مع مين مع S4 بنفس
الفكرة و هذا حالينا اخر محاضرة السابقة S0 يكون شبه
S1
وعنا S0 يكون شبه S2 تمام الآن خلصنا من مقارنات الـ
S0 هننزل نعيد الشغل ونقارن عدمين عشان نعبي هذا
الدرج بدا اقارن S1 مع S2 أو S3 أو S4 علشان هيك بدا
نقارن هاي مع كل تحته وابدأ بـ S2 هاي S2
لو جينا نتطلع هتقول لي لازم تكون طبعا ال outputs
مافيش فيهم مشاكل إذا هنقول S3 تكون زي S4 هيها S3
تكون مثل S4 و هنا لأنه فرق خلاص بعتبر S4 تكون زي
S4 بفترضها زي ما بديه وبالتالي مافي داعي أحط S4 مع
S4 و بهيك بنكون خلصنا مقارنة S1 مع S2 الآن بنكمل
بدنا S1 مع مين بنفس الطريقةمع S ثلاثة ال outputs
مافيش مشاكل طول ما هدول missing missing معناه
ماعندي مشكلة انا بقدر اتبارهم زي ما بدي فمافي
مشكلة مافي خوف من ال outputs مابحط ال X على طول
بسير اقول بس الشروط S not مع S تلاتة وعندي
S not مع S أربعة الآن
بنتكمل S واحد بتقارنهامع S4 الـ Out مدفش فيه مشاكل
S0 بديها تكون زي S3 و
S0 بتكون زي S4
طبعا لحظة أنه لحد الآن أنا مش عارف إن هم فعليا زي
بعض ولا لا compatible ولا لا لكن أنا جاعل بسجل
الشروط يعني أنا بقول عشان S1 تكون compatible مع S4
لازم يتحقق الشرط هذا ويتحقق الشرط هذا فانا جاعل بس
بسجل الشروطلكن بعد شوية هنروح نحط ال Xات إيش يعني
Xات زي ما اتفقدنا المرة اللي فاتت ان الشرط غير
متحقق وبالتالي هاي مش compatible مع هاي أو هاي مش
equivalent مع هاي فهي طريقة الدرج هيك باختصار
فلازم أحط الشروط في الأول و بعدين أفحص مدى قابلية
تحققهم من عدمه الآن بنفس الألية خلصنا من S1 هنرجع
نقارن S2 مع S3 و مع S4 فهنمسح هنا كمان مرة و هنقول
بدنا نقارن الآن S2 هيهامع S3 تمام الآن ال output
مافيش فيه اي اعتراضات ال output مافيش فيه اي مشاكل
لكن الشروط S0 مع S4
والشرط التاني لأن هنا فراغ ممكن اعتبرها S node في
الحالة هاي S node مع S node لا تكتب فدائما لما
بشوف فراغ بسجلش الشرط خلاص لأنه ادم ريحني الفراغ
الموجود وبالتالي بقى أسيبها الآن بدنا نعمل S2 مع
S4 هنمسح S3 لأنه خلصنا منها ونحط هنا عند S4 ونقارن
لاحظوا هنا فراغات يبقى ال output مافيه أي مشاكل
إذا بدي S node تكون شبه ال S4
و هنا نفس الفكرة طالما في عندي فراغ مش موجود إذا
ماعندي أي إعاقة ببساطة بفترضها S نود S نود مع S
نود فش داعي أكتبها لأن S نود هي نفسها S نود زي ما
شوفنا المرة السابقة إذا الآن خلصنا لغايتان الآن
ضال علي في الجدول أعمل S3 مع S4 بدي أقارنهم هذه S3
وهذه
S4الان ايش بنلاحظ؟ لاحظوا ان ال out بتلقال هنا
محدد مش انه مجهول و انا بقدر افترضه زي ما بدي محدد
1 0 و هنا محدد 01 و بنلاحظ انهم مختلفين عن بعض و
طالما مختلفين عن بعض على طول بحط الشروطبحط X هذا
ال X معناته شو؟ ان S3 و S4 مستحيل يكونوا
compatible مع بعض مستحيل يكونوا equivalent ليش
مستحيل؟ لأن ال output ل S3 يختلف عن ال output ل S4
إذا على طول بنحط ال X مباشرة بدون أي إشكاليةالآن
بدنا بعد ما خلصنا ال implication table وعملناها
ايش قلنا المرة الفاترة بدنا نسوي؟ بدي أبدأ في
موضوع التشطيب زي ما اشتغلنا بدي أبدأ من الأول أشوف
كل شرط و أعمل ال round تبعتي و أشطب إذا شطبت بدي
أعيد ال round كمان مرة إذا فيها تشطيب بعيد كمان
مرة لغاية ما بطل ألاقي تشطيب بعد ما بطل ألاقي
تشطيب باخد النتائج الأخيرة تبعتي الآن تعالوا نبدأ
نشوف موضوع التشطيب نبدأ من الأولأول شيش بقوله
الشرط S1 مع S3 بدي أجي أدور وين S1 و وين S3 هاي
مربع S1 و هاي S3 مش مشطب طالما مش مشطب بسيبه خلصنا
بكمل S2 مع S4 وين S2 مع S4؟ هاي S2 مع S4 مش مشطب
بسيبه بمشي للي وراها S2 بدا S1 مع S4 وين S1 مع S4؟
هاي S1 مع S4 مش مشطب بسيبه بمشي للي وراها S0 مع S1
هاي S0 مع S1 مش مشطب بسيبه S0 مع S2 مش مشطب بسيبه
لاحظوا لحد تاني أنا ماشي طبيعي مافيش أي شطبالان
بكمل S0 مع S4 عشان اكمل S0 مع S1 وينها؟ هاي S0 وهي
S1 مش مشطبة بسيبه في S0 مع S2 هاي S0 مع S2 مش
مشطبة بسيبها الان بكمل بالترتيب وصلت لهان S3 مع S4
وين هاي S3؟ اه هاي S3 مع S4 X اذا على طول باجي على
المربع عشان بقولتشطيبة خلاص مشطب و لازم اكمل للاخر
و اعيد كمان مرة موضوع التشطيب لان طالما صار فيه
تشطيب و لو لمرة و انا ماشي لازم اعيد كمان مرة عشان
اتأكد ان مافيش تشطيبات اضافية على كل حوار هنكمل
بنفس القلية S0-3 هاي S0-3 مافيش اشي مشطب S0-4 S0-4
مافيش اشي مشطب سبت المربع هذا انزلت المربع اللي
وراهالـ 0 ماعيس 3 الـ 0 ماعيس 3 مافيش تشطيب الـ 0
ماعيس 4 الـ 0 ماعيس 4 مافيش تشطيب لحد الآن مافيش
مشاكل مشينا هنا الـ 0 ماعيس 4 هاي الـ 0 ماعيس 4
مافيش تشطيب نزلنا هنا الـ 0 ماعيس 4 مافيش تشطيب
أخر واحدة مشطبة هيك خلصتالـRound الأولى طالما خلصت
الـRound الأولى وكان فيها تشطيب ولولي مرة واحدة
أنا مضطر أعيد من الأول تاني لأن يمكن التشطيب اللي
أنا عملته يخليني أشطب مربعات في الأول أنا
مافحستهاش عشان هيك هي الفكرة تبعتهم أن أي تشطيب
بيكون موجود أروح عيد تاني و أعمل الـRound من الأول
للماخر إذا ماصارش فيه أي تشطيب معاها خلاص ابتاخد
النتائج اللي كمان شوية هنتكلم كيف ناخد هذه النتائج
الآن تعالوا نكمل بنفس القاليةبنعيد طبعا S1 مع S3
هاي S1 مع S3 فيش تشطيب سبتها S2 مع S4 S2 مع S4 فيش
تشطيب سبت المربع الأول امشيت للي وراها S1 مع S4
هاي S1 مع S4 فيش تشطيب امشيت على المربع هذا S0 مع
S1 هاي S0 مع S1 سبتها S0 مع S2 هاي S0 مع S2 اللي
فيش تشطيب سبت المربع التالتS0 مع S1 هى S0 مع S1
فىش تشطيب S0 مع S2 هى S0 مع S2 فىش تشطيب خلص من
المربع هذا لحد الآن مافيش ولا تشطيب فى المربعات
الأربعة هدول الآن بكمل بنفس القليل هذا مشطب خلصنا
منه نكمل للي وراها S1 مع S3 لنشوف نبحث مربعات هدول
S0 مع S3 هى S0 مع S3 فىش تشطيبإسنود مع اس أربعة
مافيش تشطيب إسنود مع اس تلاتة مافيش تشطيب إسنود مع
اس أربعة مافيش تشطيب لحد الآن مافيش مشاكل بعدين
إسنود مع اس أربعة مافيش تشطيب إسنود مع اس أربعة
مافيش تشطيب اس تلاتة خلصنا إذا لاحظوا أن أحنا الآن
مشينا ال round كلها المرة التانية بدون أي تشطيب
جديد وبالتالي هذا شو معناته؟إنه خلاص الدرج استقر
يعني بتقدر الآن تاخد النتائج تبعتك و تسجلها وهي
اللي أنا هسويه الآن بدي أخد النتائج طبعاً لاحظوا
إيش كنا نقول زمان النتائج أي مربع مش مشطّب كنا
نقول إن ال states تبعاته هم equivalent يعني مثلا
هذا المربع مش مشطّب إيش كنا نقول قبل كنا نقول إن
ال S1 و ال S node equivalent هي كنا نقوللكن اليوم
مش هنقول SNOT 1-1 equivalent هنقول SNOT 1-1
compatible طب ليش اتغيرت الصيغة من equivalent ل
compatible؟ لأن انا اللي اشتغلت عليه في الأساس في
missing valuesو في ال values هذه أنا قعدت افترضها
بناء على الاشي اللي بدي اياه عشان اعمل reduction
وبالتالي طالما في missing values النتائج اللي
باخدها بقولش هدول equivalent بقول هدول compatible
و هتعامل معاهم لسه الآن بطريقة تانية غير عن ال
equivalentطبعا لو كانوا هدول من الأساس موجودين
اللهم قيم وولا إشي كان مختلف كان أنا قلتلكم خلصنا
الشغل كان قلتلكم خلاص مش هعمل أي إش إضافي كان
حكيتلكم S ندو S واحد equivalent S ندو S اتنين
equivalent كان و هكذا و بدنا نشطب و نعمل reduction
زي ما اتعلمنا في المحاضرة السابقة لكن اليوم أنا
ليش بقول بدي أكمل خطوات زيادة و ليش أنا سميتها
compatible مش equivalentلأن هنا ال values ماكانوش
من الأساس موجودين هي الاختلاف الوحيد بيناتهم يعني
لو كانوا هدول كلهم موجودين اللي لهم قيم في الأساس
كان احنا مخلصين كان خلاص انا ال simple match وعلى
الدرج واخدت نتاجي وخلصت زي ما عملنا في الأمثلة
اللي كانت قبل هذا المثاللكن لأن اليوم احنا في
عندنا missing values، values مش موجودة، اتغير شوية
شغل الدرج، ايش اللي اتغير؟ انه صارت النتائج اللي
تطلع من الدرج compatibility مش equivalenceوبالتالي
ال compatibility لازم في step بزيادة لازم انا امشي
فيها عشان اعمل reduction عشان اعمل step reduction
و اللي هو انا هكمل الآن هذا المثال بس انا بدى
تكونوا فاهمين ليش انا اليوم اعتبرت انه هذا اللي
ماتشطبش compatible مش equivalent ببساطة لأن انا
اشتغلت ضمن values ماكنتش موجودة او كنت افترضها في
دماغي زي ما بدي بحيث احقق تشابهات وبالتالي هذه
التشابهات تنتجمش equivalent states compatible
states طيب السؤال الآن المهم بعد ما انا اعرفت ال
compatible states ايش بده اكمل طبعا خليني الان
اكتب ال compatible states فوق عشان نشوف كيف نكمل
طبعا ايش هم ال compatible states تعالوا أقولكوا
نبدأ كل المربعات اللي مش مش هتطبق هنقول it's not
شايفين المربع الأول بين مين ومين؟ بين S0 و S1 هذه
أول معلومة هدول أنا بسميهم compatible state بطلت
أقول equivalent state علشان كانوا missing value زي
ما حكينا قبل شوية طيب المربع هذا مش مشطوب شو يعني؟
يعني ال S0 و S2 برضه
compatible state هذا المربع مش مشطوب شو يعني؟ S0
و ال S3 compatible state هذا المربع مش مشتوب S
note و S4 compatible state الآن هذا المربع مشتوب
بنساه هذا المربع مش مشتوب ايش يعني يعني S1 و
S3compatible states هذا المربع مش مشطوب ايش يعني
يعني S1 و
S4 برضه compatible states بدي اكمل كل اللي مش
مشطبين هذا المربع مش مشطوب يعني S2 و S3 compatible
states هذا المربع ايضا مش مشطوب اذا S2
و S4 برضه compatible states اذا لاحظوا طبعا هذا
ليش مااخدتوش S3 و S4 لأنه مشطر طب انا ايش اللي
سجلتها ان انا سجلت كل states ال compatible وكمان
مرة مافناش ننسى المعلومة دي مهمة لو كانت هذه ال
values من الأساس موجودين كنت هقول هذا كله عبارة عن
ال equivalent states لكن انا الآن ماقولتش
equivalent states وصرت أسميهم compatible لأنه كان
في values في الأساس مش موجودينو لسه في step هتضاف
زيادة على ال compatible states عشان نقدر نحصل على
ال state reduction ماننساش الهدف من شغلنا هذا
الهدف من شغلنا هذا انه نعمل state reduction انه
نبسط الدوائر انه ال states اللي شبه بعض نلغيهم و
نخلي واحدة عنهمزمان لما كان هذا كله موجود كان عندي
simple match سهل كان عندي درج بتديني ال equivalent
states وكانت بتخلص الموضوع بسهولة الآن لأ صار هدول
فراغات هذا وداني على موضوع حاجة اسمها compatible
states و لسه في step بزيادة بتعملها الآن في سبيل
انبسط ال state table ونخليه أصغر عشان ال state
diagram تبعنا اللي بنوصله يكون أصغر من السابق
وبالتالي ال hardware أو ال sequential circuit اللي
بنوصلها مالها تكون برضهأصغر وأسرع و efficient طيب
الآن إيش الخطوة اللي بعد هيك إذا اتفقنا الآن إن كل
المربعات اللي ماعليهاش Xات أعطتني ال compatibility
it's not compatible مع S1 it's not compatible مع
S2 وهكذا لكل المعلومات اللي حصلت من هنا طيب السؤال
الآنإيش بدي أعمل؟ يعني بعد معرفة الـ Compatibility
Set إيش الخطوة الزيادة؟ الخطوة الزيادة الآن بدنا
نحاول نكبر مجموعات الـ Compatibility High وبدل ما
فيها بس اتنين بدنا نحاول نكبرها يصير فيها تلتات بس
بشرط إن التلاتة اللي جواتها يكونوا كلهم compatible
مع بعض يعني بمعنى .. بمعنىهل بنفع اقول الـ S Node
مثلا والـ S3 والـ S4 هي من تلاتة، بنفع اقول هذه
compatible؟هقول بانفعش ليش لأن S3 و S4 مش
compatible S3 و S4 مش compatible كيف انت حاطط
اتنين states مع بعض مش compatible فهذا غلط هذا
مستحيل حتى لو كانت S node compatible مع S3 حتى لو
كانت S node compatible مع S4 لكن طالما S3 و S4 مش
compatible ممنوع احطهم في مجموعةإذا أنا ال target
تبعي الآن بدي أحاول أحط تلاتة states جوا المجموعة
بحيث كلهم compatible مع بعض ولا واحدة تكون X مع
التانية إذا .. إذا لجيت هذه المجموعة معناه أنا
قاعد بقدر أكبر ال compatibility من اتنين لتلاتة
طيب كيف بدي أقدر أسوي هذا بشكل systematic و أحصل
على كل المجموعات تعالوا نشوفالأن إيش هأعمل أنا؟
هحاول أدمج هي مع هي أشوفها بتظبط ولا لأ بعدين هي
مع هي بعدين هي مع هي و بعدين هي مع الجميع و أشوفها
بتظبط ولا مابتظبطش و بعدين أعيد هي مع البجيل بعدين
هي مع البجيل و هكذا لغاية ما أشكل كل المجموعات
الممكنة اللي من تلاتة و كلهم compatible مع بعضطبعا
انا مش بالضرورة امشي هيك systematic انا ممكن اقول
فكرولي مع بعض حاولوا اتوزعولي ال S node و ال S1 و
ال S2 و ال S3 و ال S4 حاولوا توزعوليهم تلتات بحيث
انه كل تلاتة في مجموعة يكونوا كلهم compatible مع
بعض بناء على القاعدة اللي انا حصلت عليها انا ممكن
اسأل زي هيكوالبعض يصير يجرب ويطلق لي كل المجموعات
لكن عشان احنا ما ننساش وما نغلطش ممكن نمشي بشكل
systematic لأن هذا هو الأساس اللي انا لازم احافظ
عليه طب كيف systematic؟ يعني انا اديكم مثال صغير
اقول بدي اجرب ادمج المجموعتين هدول مع بعض ايش
يعني؟ يعني دمجة S0 مع S1مع S2 مش هيك لأن هذه S نود
هيها S1 هيها S نود هيها S2 هيها من التنتين هدول
طلعت للتلاتة هدول الآن بسأل نفسي سؤال هل هدول كلهم
compatible مع بعض ولا لأ؟ يعني هل ال S نود
compatible مع S1؟ هل ال S نود compatible مع S2؟ هل
ال S1 compatible مع S2؟ إذا لجيت كلهم compatible
مع بعض خلاص بخليها و بقول هي أول مجموعة من تلاتة
compatible مع بعض إذا لجيت أي واحدة جواتهم بظبطش
بشط بالمجموعة هذه و بعدها ماتهاشاحنا عشان نسهر
الموضوع شوية احنا ملاحظين ان كل النقاط كل ال
states مع بعضهم كلهم compatible باستثناء ال S3 و
S4 بيركبوش مع بعض ما تنساش S3 و S4 ممنوع يجوا في
مجموعة مع بعض و ممنوع ال S1 و S2 برضه يجوا مع بعض
يعني إذا لجيت في المجموعة أنا S1 و S2 في نفس
المجموعة، هذي غلط، ما بتثبتش لأن أنا عارف الآن إن
S1 و S2 عمرهم ما كانوا compatible عشان أريح حالي
ونفس الفكرة S3 و S4 ممنوعة لاجيهم في نفس المجموعة
لإن إذا لجيتوا في نفس المجموعة، معناها برضه غلط
إحنا شروطنا إيش بتقول؟ إن ال states اللي جوا
المجموعة يكونوا كلهم compatible مع بعضإذا واحدة مش
compatible مع التانية، هذي غلط المجموعة، بتتشكلش
من تلاتة، بلغيها، فأنا الشطارة الآن، إيش التلتات
اللي ممكن أخدهم مع بعض، كل الاحتمالات اللي ممكن
أخدهم تلتات مع بعض، بحيث إن اللي جوا يكونوا
compatible مع بعض، ماتكونش واحدة ممنوعة، يعني
مايكونش الـSS1 مع S2 مايكونوش جوا المجموعة ولا S3
مع S4 وبالتالي أكيد لما حاولت أدمج هذه مع هذه الكل
هيقولي هذه مجموعة خاطئة ليش؟ لأن كيف S1 أقصت 2 مش
compatible هاي S1 أقصت 2 مش compatible هاي إذا هاي
مش هتطلعلي مجموعة طب يلا نجرب هاي مع اللي وراها
يعني بدنا نقول مثلا S0 مع S1 مع S3هي ال S نوت هيها
ال S1 هيها وال S3 هيها تعالى نشوف اه ولا لا فيها
S1 مع S2 ولا فيها S3 مع S4 اذا على طول هذه بالنسبة
لي تعتمد هي اول مجموعة من تلاتة مافيش فيها مشاكل
فلازم هذه اسجلها مضيعهاش هي عندي S note مع S1 مع
S3 هي اول مجموعة compatibleبدون اي مشاكل من تلاتة
الان بدأ اعمل discover لما جيت المجموعات بدي اكمل
بنفس القلية كيف بدي اكمل بنفس القلية الان برجع
اقارن هاي كمان مرة اللي هي ال S node و ال S1 ما
عميم ده اقارنها مع هاي اللي انا ماخلصتهاش اللي هي
هنضيف عليها S4 لأن ال S node موجودة طالما هذه
المجموعة مافيش فيها لا S3 مع 4ولا فيها واحد مع
اتنين إذا بالنسبة لي أيضا هذه مالها تعتمد كمجموعة
compatible من ثلاثة إذا حاجة أقول فيه لجيت كمان
مجموعة compatible من ثلاثة اللي هي S0 S1 S4 الآن
بدأ نكمل بنفس القالية بدأ أرجع لل S0 و لل S1 و
أجربها مع مين؟ بدأ أجرب أجمعها مع هذه هداش فيها S1
هي موجودة وفيها S3هل هذه compatible ولا لأ طالما
مافيش فيها واحد مع اتنين ومافيش فيها تلاتة مع أربع
إذا برضه هذه بالنسبالي مجموعة تالتة تصل عن تكون
compatible من تلاتة states وبيجي بسجلها هان اللي
هي S0 S1 طبعا .. طبعا هي موجودة طالما موجودة
بكررهاش هي شايفينها S0 S1 S3 هي مكتوبة خلاص طالما
مكتوبة بكررهاش خلاص هي معتمدة وموجودةخلاص بكتبهاش
كمان مرة لانها موجودة بكمل الآن الان هنعيد S0 to
S1 مع S4 هيها برضه موجودة S0 to S1 مع S4 بكمل S0
to S1 S0 to S1 S2 S3 أكيد هتقولي هذه مرفوضة لأن
واحد و اتنين بيجيوش مع بعض إذا هذي و هذي مش
هتجيبلي إش جديدبنفس القلية S Node و S1 و S2و S4
ايش رأيكم في هذه S0 و S1 برضه مش هيظبط لإن S1 و S2
ماركبوش مع بعض إذا هذه المجموعة مستحيلة إذا أنا
إيش سويت لحتى الآن قرنت هاي مع الكل و طلعت التلتات
الممكنة الآن بنفس القالية هعيد إيش هعيد همسك أقارن
هاي مع الكل بعدين أقارن هاي مع الكل و أسجل كل
المجموعات اللي ممكن يطلعوا معايا من تلاتة خليني
بنفس القالية أشتغلخلّيني أمسح حد و أكمل نفس الفكرة
خلاص فحصنا الأولى الآن إيش هنعمل؟ هنروح نقارن هاي
مع هاي على السريع الآن
S2 S3 مافيش فيهم واحد مع اتنين مافيش فيهم تلاتة مع
اربع اذا هذه مجموعة كويسة اللي هي S0 S2 S3 هل هي
موجودة عندي هنا لأ S0 S2 S3 لأ اذا هاضيفها ضمن
مجموعاتي هذه صار عندى لحد تلان تلات مجموعات S0 وS2
وS3 لا هي هي ولا هي هي ولا هي هي بكمل هذه مع هذه
S0S2 S4 S ند S2 S4 موجودة S ند S مش موجودة ومافيش
فيها تلاتة واربعة ومافيش واحد اتنين اذا هاضيفها
كمان للمجموعة الرابعة اللي هي S ند S2
S4 تمام؟ مافيش مشاكل هيها S0 مع S2 انضف عليها الـ
S0 ما هي نفسها انضف عليها الـ S4 فصارت المجموعة
اللي من تلاتة S0 S2 S4 و طالما الـ S0 و S2 و S4
مافيش فيهم واحد مع اتنين مافيش فيهم تلاتة مع اربع
إذا هذه تعتمد عندي و طالما مش شايفها أنا قبل هيك
باضيفها لو أنا شايفها قبل هيك خلاص بسيبها أنا بدي
أجيب المجموعات المختلفة اللي من تلاتة طيب الآن
نكمل بنفس القلية من هنامثلًا هذه مع هذه هتقولولي
مابظبطش لأنه بيجي الواحد والاتنين مع بعض وهذا
ممنوع طب هذه مع هذه هتقولولي برضه بيجي الواحد
والاتنين مع بعض مابظبطش هذه مع هذه اللي هي S NOT
S2 S3 اه هذه بتنيها بس مسجلة هيها S NOT S2 S3
مسجلةالان بنكمل S0 S3 S2 S4 هتقوله مظبوطش لأن S3 و
S4 بيجيوا مع بعض و S3 و S4 ممنوع يجيوا مع بعض و
بنفس القلية هنقار انهي مع الباقين .. هنقار انهي مع
الباقين .. هنلاقي فقط اللي هيطلع معانا عشان نختصر
الوقت بس الأربع مجموعات هدول مش غير لكن انتوا
تجربوا طبعافي ناس شطرين ممكن يوصلوا للنتيجة بدون
ما يتعب حاله يمشي Systematic يعني بالتفكير انا
عندي S Node وعندي S1 وعندي S2 وعندي S3 وعندي S4 طب
ماهيش المطلوب؟ المطلوب أعمل تلتات منهمبحيث 1 و 2
مايكونوش جوا المجموعة و 3 و 4 مايكونوش جوا
المجموعة فبتقدر بسهولة تعملها تقول اه والله بدي 0
مع 1 و 3 عشان مايكونش 2 0 مع 1 و 4 ه شايفين هني
جبت مجموعة تانية على طول بعدين 0 مع 2 مع 3 0 مع 2
مع 4 هنيجبت مجموعة تانية شايفين يعني بقدر انا
أشطقهم بسهولة لأن القصة simple أنا عندي خمس states
والمطلوب من الخمس states أنه تلملم تلاتات بحيث ما
يكونش جوا التلاتات لا تلاتة مع أربعة ولا واحد مع
اتنين وبالتالي لو انت قعدت تفكر فيهم و تشتقهم
هتلاقي حالك اشتقت الأربعة على طول بدون ما تقعد زي
ما انا اشتغلتلكن أنا ليش بقول الطريقة تاعت الـ
Systematic اللي فوق لأن أحيانا الواحد بدوش كل شوية
يقعد يفكر ويقعد يستنفط، بده إشي مريح، بده إشي
Systematic، بده إشي طريقة يمشي عليها إذا هيك بمشي
الحال، أنا طول بمسيها، بقارن هاي، بجمعها مع كل
الباقين، وهاي مع كل الباقين زي ما عملت قبل شوية
واشتقت الأربع مجموعات، فهذه تختلف من طالب إلى
طالب، كل واحد يشتغل بالطريقة اللي بدهيها المهم أنه
يطلع الآن ال compatibility groups اللي من تلاتة
طيب، هل احنا خلصنا؟الآن أنا بدي أمسح هدول و أسجل
الأربع مجموعات اللي من تلاتة و أكتبهم بدل
الإتنينات لأن طالما لجيت مجموعات compatibility من
تلاتات خلاص بنسى الإتنينات بصير أشتغل على التلاتات
فالآن بدي أمسح و أكتب التلاتات و نشوف كيف بدنا
نكمل في هذه القصة ها بدي أمسح هدول و أسجل مكانهم
الـ compatible groups من تلاتة اللي هما كتبناهم
تحت ال S node مع S1 مع S3 هذه المجموعة الأولى و ال
S node واللي انا ممكن اشتقها بدون الشغل اللي قبل
شوية و ال S node مع ال S1 مع ال S4 و المجموعة اللي
بعد هيك S node مع S2مع S3 و أخر واحدة S0 مع S2 مع
S4 طبعا بالتأكيد أي تلاتة ييجي على دماغك اتركبهم
مع بعضمش هتلاقي تلاتة برا المجموعة هذه إلا بيكون
فيهم واحد مع اتنين أو تلاتة مع أربعة وهذا استثنناه
واستبعدناه أما مستحيل تلاقي غير الأربع مجموعات
هدول تلاتة كلهم compatible مع بعض فانت جرب هتلاقي
مش هتطلع معاك إلا فقط الأربع مجموعات هدول طيب
السؤال الآن إيش بدنا نعمل؟ إيش الخطوة اللي بعد
هيك؟ الخطوة اللي بعد هيك بدنا نحاول الآن نعمل
compatible group من أربعة يعني بدنا ندمج التلاتات
مع بعض على أساس نوصل لأربعاتبمعنى آخر أنا حتى بدون
ما أعمل نفسي اللي اشتغلته هل بتقدر انت تركبلي من
الـ S node والـ A1 والـ 2 والـ 3 والـ 4 بتقدر
تعملي مجموعة من 4 مايكونش 1 مع 2 جواتها ولا 3 مع 4
جواتها طبعا لو جي تفكر فيها بالمنطقة هتلاقي حالك
مستحيل تقدر تلاقي أي مجموعة من الأربعة هدول من
الخمسة الموجودين ومايكونش فيها 1 مع 2 أو 3 مع 4
مستحيلوبالتالي الشاطر هيستوعب إنه لا يمكن الحصول
على مجموعات أكبر من تلاتة أربعة compatible لكن بدأ
أفترض إن أنا مش قادر أشتقها بدماغي بدأ أفترض إنه
بدي الطريقة ال systematic زي ما اشتغلنا قبل شوية
إيش ال systematic؟ بدي أجمع هاي مع هايو هاي مع هاي
و هاي مع هاي و اطلع جوا المجموع اللي انا جمعته في
جواتهم واحد مع اتنين عشان اشطبها في جواتهم تلاتة
مع اربع عشان اشطبها و اعمل هذا للكل و اشوف ايش
بيطلع معايا تاب نشتغل لما ياخد المجموع الأولى مع
الأولى هتقول هيطلع معايا S nodeS1 S3 هايهم حطيتهم
ال S نود موجودة ال S1 موجودة وانضاف عليها ال S4
طبعا المجموعة دي بقولك على طول غلط ليش غلط لأنه
لاحظ فيها تلاتة مع أربع و تلاتة مع أربع أصلا مش
compatible إذا هذه المجموعة غلط أخدها خلصنا من هذه
المجموعة لان طب جرب هاي مع هاي هت تعالوا نكتبها S
nodeمع S1 مع S3 بتجربها الآن مع هاي ال S not
موجودة في المجموعة ال S2 مش موجودة بضيفها وال S3
موجودة الان ليش هذه ممنوعة؟ لأن S1 و S2 وقعوا في
نفس المجموعة اللي هو 1 مع 2 وهذه برضه مرفوضةولو
مشينا بنفس الطريقة هادي مع الأخيرة، هنلاقيها
مرفوضة، ليش؟ لأنه اجتمع فيها تلاتة مع أربعة، وهذا
ممنوع، احنا قلنا ممنوع الواحد مع اتنين وممنوع
التلاتة مع أربعة، ماننساش القاعدة هذه من الدرجة
اللي حصلناها، وبالتالي، أدمج الأول مع الرابع
مستحيل، لأنه هيجتمعوا تلاتة مع أربعة، وهدول مش
compatible، إذا المجموعة غلط، نفس الفكرة، لو أخدت
هادي مع هادي، هيجتمع S0 وS1و S4 و S2 و S3 حيصيرهم
من خمسة وهذا مستحيل لأن فيها تلاتة و أربعة ممنوع و
فيها واحد و اتنين ممنوع إذا مايصير أجمع هادي مع
هادي ولا هادي مع هادي تعالي هادي مع الأخيرة مثلا
S0 S1 S4 S2 S0 مازادتش خليني أكتب الآن هذي مهمة S0
S1 S4 انضاف عليها ايش S نود موجودة S4 موجودة انضاف
عليها S2 ليش دي برضه غلط لأن وجع فيها S1 مع S2
الخلاصة انه لو جربت تدمج مين ما تدمج هتلاقي ولا
يمكن تحصل على مجموعة من اربعةمافيهاش واحد مع اتنين
أو مافيهاش تلاتة مع أربعة، إذاً مستحيلة إذا أنت
لازم توصل لهذه المعلومة إما بالتجريب زي ما عملت أو
حتى بالعقل، بالدماغ، يعني أنا عندي فيش غيرهم S0 و
S1 و S2 و S3 و S4، فيش غيرهم و بدي أعمل أربعات و
ممنوع يكون واحد مع اتنين و ممنوع يكون تلاتة مع
أربعة، مستحيللأن طالما انت خدت أربعة يا بوجع واحد
مع اتنين في المجموعة يا بتجع تلتة مع أربعة إذا
مستحيلة تمام؟ إذا من هنا إحنا بنقول إنه خلاص كل ال
compatibility groups اللي عندي أقصى حاجة بوصللها
اللي هم التلتات طب أنا خلصت ليلة وما خلصتش لسه في
step رابعة فاحنا خلينا عشان ما لا أخبطش نتذكر إيش
ال step بالأساسيات أول step بعمل الدرجمن الدرج
اللي مش مشطب بيعطينك كل ال compatibility groups
اللي من اتنينات طب شو اعمل بعد هيك احاول اشكل
compatibility groups من تلتات طب بعد هيك احاول
اشكل من اربعات اشكل من خمسات بضلنك ماشي لغاية اقصى
ايش انت بتوصلهعشان تبدأ الخطوة الأخيرة، الآن أنا
في المثال اللي أنا شغاله أقصى إشي أنا بوصله واضح
إنه بس تلتات، مافيش أربعات، خلاص، أنا بس عندي هاي
و هاي و هاي و هاي، لما بدأت في مشروع الأربعات،
ماطلعتش ولا مجموعة، إذا إيش بدي أسوي الآن ده؟
أشتغل الخطوة الأخيرة على التلتات، شو الخطوة
الأخيرة هتكلم عنها الآن؟ طب السؤال، لو جدلا طلع
معايا أربعات،ممتاز وطلع من الأربعات حشطه بكل
التلتات و أحط الأربعات و أفكر هل بقدر أعمل منهم
خمسات ولا لأ إذا ما بقدرش أعمل خمسات خلاص هشتغل
على الأربعات وهكذا بنضلنا ماشيين لأقصى عدد من
المجموعات اللي ممكن أنا أحصلها في مثلي هذا كمان
مرة أنا أقصى مجموعات حصلتها من تلتات مافيش أربعات
إذا نوقف على هان طب شو أعمل؟ الآن نشوف الخطوة
الأخيرة كيبنا نشتغل عشان نعمل ال reduction النهائي
و هنا هشتغل على التلاتات هنا بس عشان نقدر نشوف و
أنا بخربش نشوف صح بدي أسيل هاي و أحط صفحة بيضة
عشان نعرف نخربش بدون مشاكل طيب .. الآن تعالى نشوف
كيف نشتغل و راجزوا معانا هنا أول شيء بدي أعمل جدول
الآن هذه بدي أسميها اللي هي الـ S not high S1S3
هذه المجموعة بدي أسميها state A بدي أسميها state A
طيب شو المطلوب في هذه ال state A؟ إيش عمل فيها؟
بدي أعرف في هذه ال state A وين بديها تروح عند X2
ساوي 0و اين بدها تروح عند X تساوي 1 و هنشوف كيف
نعرف هذا الكلام تمام مش بس هيك و بده اشوف ال
output ايش بده يكون عند X تساوي 0 و ايش بده يكون
عند X تساوي 1 طيب بده نعرف كيف نسوي هذا الكلام
كمان مرة هي المجموعة الأولى سميتها انا A ممكن
تسميها اي اسم لكن انا افترضتها لأنها الأولى بدي
أسميها Aالان ايش بدى أسوي؟ بدى أشوف عند X تساوي 0
هذه الـ A وين بدها تروح وإيش بدها تطلع ك output
وعند X تساوي 1 وين بدها تروح وإيش تطلع ك output طب
من وين أجيب معلوماتي؟ كيف أعرف؟ لازم أرجع لل state
table اللي أنا بدأت أشتغل عليه الدرج الأساسي
تعالوا نشوفه وين، هيو خلينا نطلعه عشان نقدر نكمل
اللي هو هذا ال table
اللي هو هذا ال table و انا خاطري اني اديك مثال
عليه بس في الأول اللي طلعليه هنا على اللوح كيف
بدنا نعرف؟ الآن عشان نعرف عند X و Zero و اين بده
اروح بدي افحص ال S node و اين بتروح و بدي افحصالـ
S1 وين بتروح؟ انتبهوا، بتبحث عند Zero وين بيروحوا
والـ S3 وين بتروح عند Zero؟ واسجل المعلومات عندي
تعالوا نشوف كيف طلعولي الآن على رسمة الكتاب هاي
الـ S0 هاي اللي معلم عليها الـ S0 تمام عند X0 وين
راحت؟ عند X0 راحت على S1بدي أسجل هذه المعلومة ال S
node عند S0 راحت على S1 ومافيش عندي output شايفين
مافيش عندي output تمام؟ هاد الآن طلع اللوح إذا أنا
عند ال S0 إيش بدي أكتب؟ راحت على S1 ومافيش عندي
output هعمل نفس الكلام نطلع كمان مرة على S1 وين
راحت وإيش طلعت output خليك معايا في الكتاب اتطلع
الآنعلى S1 الـ S1 عند Zero وين راح؟ S3 مظبوط؟ بدي
أسجل S3 على اللوح زي ما عملنا هاي الـ S1 راحت على
S3 وإيش ال output؟ لسه مافيش output، فراغ بدي أكمل
بنفس القالية، الآن مين ضايق عندي في المجموعة؟ S3
وين راحت الـ S3؟ اتطلع على الـ S3، دوّل عليها جوا
الجدول، هيها الـ S3تمام؟ وين راحت عند ال X يساوي
Zero؟ سجل راحت عند S Node و ال output شو واحد
سجلها على اللوح زي ما عملنا راحت عند ال S Node و
ال output واحد الآن كيف بتاخدوا الخلاصة من هدول؟
الخلاصة كيف تنحسب الآن ال S ند هاي و ال S1 هاي و
ال S3 هاي وين هموجودة فوق ولا لأ هتقولي اه موجودة
هيا S ند و S1 و S3 هتلاقي انا سميتها ايش قبل شوية
سميتها ايه؟ اذا هذه المجموعة اللي انا بقدر احلها
فعليا اسمها ايه؟ فانا حاجة اقول هنا .. طلعوا هنا
.. ها .. بدي اجي اقول بدها تروح على ايه؟ لو انا
كنت في ايه؟ اللي هي ال zero واحد تلاتة و اجي zero
الحسبة اللي حسبتها بتوديني برضه على ال zero ال one
ال تلاتة اللي هي نفسهافبروح بقوله على طول اذا انا
بده اروح على ايه طب الآن ال output شو ال output
اتطلعوا معايا فراغ مع فراغ مع واحد اذا ال output
على طول هو واحد اذا حاجة اسجل في المنطقة هذه واحد
شايفين كيفإذا أنا كمان مرة اتطلعولي معلش على
الكتاب كمان مرة أنا المجموعة A كانت مكوّنة من S
node وكانت مكوّنة من S1 وكانت مكوّنة من S3 فانا
روحت اشتغلت بالتفصيل واحدة واحدة مسكت ال S node
..مسكت ال S node عند ال zero وانراحت ..راحت على S1
..روحت سجلت المعلومة و ال output فراغ سجلت
المعلومة و ال S1 راحت عند ال zero عند S3روحت سجلت
المعلومة و ال output فراغ سجلت المعلومة بعدين روحت
على S3 و شفت عن Zero و راحت راحت على S0 سجلت
المعلومة و ال output one و هاي المعلومات سجلتهم
هان زي ما شفته قبل شوية طب انا ليش اخترت S0 و S1 و
S3 مش غيرهم لأن انا شغال على ايه انا شغال على ايه
هذه سميتها ايهأيه بتتكون من node و 1 و 3 وبالتالي
عشان اعرف ايه و اين بدها تروح لازم افحص هاي و افحص
هاي و افحص هاي ماليش داعي في غيرهم نتيجة فحص
التلاتة ودوني على نفس الاسم S node S1 S3 طب ما
احنا متفقين ان ال S node و S1 و S3 اسمها ايه
وبالتالي انا ايش بروح بكتب بكتب اسم اللي لجيتهاللي
هي A طب ال output كيف أحسبه؟ مش أنا حسبت ال output
بتاع ال S node و حسبت ال output بتاع S one و حسبت
ال output على الثلاثة الآن فراغ مع فراغ مع واحد
بسجل واحد طبعا اطمئنه مستحيل يطلع واحد مع سفرممكن
يطلع أسفار كلهم، يطلع وحايد كلهم أو فراغات مع واحد
أو فراغات مع سفر، مش هيكون فيه تضارب، تمام؟ إذاً،
هيطلع الجواب عندي واحد طب أنا إيش اللي سويته لحد ت
اللحظة دي؟ ربالكوا، أنا بس سويت حاجة واحدة، إنه
هذه الـA عند السفر وين راحت وإيش طلعت، طب إيش اللي
بدي أسوي؟ بدي أكمل، بدي أشوف، طب عند الواحد وين
راحت؟وإيش طلعت و أسجل في ال state table الجديد طيب
وارجينا أننا دلوقتي كيف نشتغل نرجع الكتاب نتطلع
الآن كمان مرة مين هي ال a هتقولولي ال a هي ال S0
ما ننساش مع ال S1 ما ننساش مع ال S3 ما ننساش الآن
بدي أشوف التلاتة هدول أنا قلت عنهم إيش هيتصرفوا مع
X و S1 ك state و ك output تعالوا نشوف هذه ال S0عند
الواحد راحت على S2 وفراغ output أيه فراغ إذا بدي
أسجل المعلومة هذه إذا باجي هنا بسجل ال S node عند
الواحد راحت على S2 وطلعت فراغ اللي هو ال output
فراغ طيب إذا بدي نكمل طب و ال S1 نطلع الكتاب كمان
مرة ال S1 عند الواحد وين راح؟على S4 و ال out بتاعه
عند الواحد فراغ اذا هسجل اقول راحت ال S3 على S4 و
فراغ الآن ضالمين في ايه لسه بدي افحصه ال S3 ده انا
شغال على ايه اللي هو S1 S3 ال S3 هذه وين راحت
تعالى نشوف هي ال S3 وين راحت عند الواحد على S0
ايوة و ايش طلعت Zero فباجي بكتب راحت على S0وطلعت
zero الان تاني نشوف المجموعة الجديدة هذه الهي zero
اتنين اربعة هذه مش اللي كانت قبل شوية هذه واحدة
جديدة وين موجودة هنا طلعوا فوق هي موجودة هنا zero
اتنين اربعة صح ولا لا اذا طالما اعطاني الان اسم
مجموعة جديدة بدي اعطيها اسم و اكمل فانا بدي اسميها
مثلا بي بدي اعتبر ان هذه اسمها بي لان ايش انا
اعتبر ان اسمها بي يعني بدي اقول بدي اروح على لما
ال X السواحى بدي اروح على بي طب ايش ال output بدي
يكون فراغ مع فراغ مع Zero ايش اتفجنا بدي يكون ال
outputzero مش هيك يقولنا فراغ مع فراغ مع zero يعني
zero فراغ مع فراغ مع واحد يعني واحد و هكذا اذا انا
ايش اللي عملتها كمان مرة عشان الكل ينتبه انا بدأت
من A اللي هي S نضد S1 و S3 طيب روح تشوف كل واحدة
وين بتروح عن Zero وين بتروح عن Zero وين بتروح عن
Zero و ايش بتطلع عن Zero طلعتلي مجموعة لما جيت
اشوف المجموعة لجيت هي نفسها A فروح تسجلت Aو سجلت
الـ Autos اللي طلعوا بعدين روح تعدد كمان مرة لنفس
التلاتة هدول تعون إيه بس بدي أعرف عند واحد وين
بدها تروح وبالتالي روح تشوفت S node عند واحد وين و
S1 عند واحد وين و S3 عند واحد وينوإيش ال output
اللي طلعوه؟ الآن هذه المجموعة اللي هي S2 S4 S Node
لقيتها موجودة في المجموعات الأساسية فعطيتها اسم
سميتها B فسجلت B وسجلت ال output اللي طلعه اللي هو
0 طيب تتوقع أن أنا كده أكمل؟ الآن شفتوا إيش سويت
في إيه؟ همسك الآن B من جديد و أحطه هناوأعمل حسبة
تانية على B أشوف وين هيروح عند A تساوي صفر وين
هيروح عند X تساوي صفر وين هيروح عند X تساوي واحد
واسجل معلوماتي مع ال output عشان نقدر نستعيبها صح
بدي أشتغلها بيه الآن كيف بدي أشتغلها بيه؟ بدي أمسح
الآن بس الخرابيش اللي هان هذي بس خرابيش عشان إيش
نعرف نشتغل الآن هاي ال table الأساسي اللي أنا بدور
عليه هذا ال table الأساسي اللي أنا بدور عليه هون
خليكم تشوفوهبدي بس أخلي بياض ورا هذا ال table
الأساسي اللي بدور عليه أنا بدي أعرف ال A عند ال 0
و أين راحت و عند ال 1 و أين راحت ال B عند ال 0 و
أين راحت و عند ال X و أين راحت فكل الدوائر بتعرف
أين بروح و أين بيجوا فعشان كي بنفس القلية بدي أقول
الأن بدي أفحص B اللي هي مين B؟اللي هي الـ B هيهم
يعني الآن ال S node و ال S2 و ال S4 شو بدي أعمل
فيهم عند X تساوي 0 بدي أشوف هذه أين بدها تروح و
إيش بتطلع و هذه أين بدها تروح و إيش بتطلع و هذه
أين بدها تروح و إيش بتطلع و أبدأ أحط النتيجة تبعدي
فمانساش الآن أن هاي اسمها B خلّيني نفترض الآن يلّا
نرجع على أسم الكتاب عند ال node إيش بتطلع طبعا بدي
أفترض عند X تساوي 0 الآن لإن هعيد الشغل عند X
تساوي 1الان خلّوني اشتغل عند X يساوي صفر نروح على
رسمة الكتاب نشوف ال S node و S2 و S4 وين راحوا عند
الصفر ايش طلعت تعالى نشوف رسمة الكتاب لأن هي
الرسمة الأساسية اللى احنا بدنا نشتغل عليها
طيب .. هي .. الآن قلنا بدنا نشوف الـ S node و الـ
S2 و الـ S4 وين بدهم يروحوا يلا ابدأ .. هي الـ S
node .. هي عند الـ 0 وين راحت على S1 بدي أسجلها و
طلعت فراب يبقى بدي أجي أسجلها على طول الـ S node
عند الـ X0 راحت على الـ S1 و طلعت output فراب عيد
لـ S2الـ S2 هيها هاي S2 وين راحت؟ راحت على S4 طبعا
عند Zero وطلعت فراغ إذا بدي أجي أسجل راحت عند S4
وطلعت فراغ طب الـ S4 الأخيرة وين راحت عند X تساوي
Zero اللي هي أخر واحدة تحت؟راحت على S0 هيها على S0
تمام و إيش طلعت عندك S0؟ طلعت Zero فبروح بسجل راحت
على S0وطلعت Zero الان بالنسبة لل output خالص ال
output فراغ وفراغ و Zero هتقول لل output انت بطلع
على طول Zero مافيش مشاكل في ال output لأن فراغ
فراغ و Zero مافيش مشاكل طيب الان هذه المجموعة اللي
اسمها S و الترتيب مش مهم طبعا هذه المجموعة اللي
اسمها S Node S1 S4 موجودة هنااه هيها ماحدش
يستخدمها إذا ها على طول بدي أديها اسم و أحطها في
الجدول الاسم بدي أسميها إيش C احنا بنمشي بالترتيب
لكن أنت حرف أي اسم بدي تسميه بدي أسميها أنا C إذا
باجي على طول إيش بقوله بقوله ال B عن Zero راحت على
C وكمان شوية هجيب C هنا و أشتغل عليها لأنها مجموعة
ضمن الأساسيات اللي أنا حطيتهم قبل شوية ال
compatible group اللي من تلاتة فهذه اسمها C حطيتها
وال output تبعها 0 لأنه هي فراغ مع فراغ مع 0، 0
طيب الآن إيش هعمل؟ الآن عشان أكمل جدولي بدي أعيد ل
B عند واحد إيش بيصيره، مانساش هي ال B ال B عبارة
عن إيش قلنا؟ هي ال B ال 0 2 4، ماننساش ال 0 2 4 هي
بدي أعيد الشغل عليها، إيش بدي أعيد الشغل عليها؟
بدي أشوف وين بدهم يروحوا، إيش بدهم طلعوا outputs
عند X تساوي 1، يعني هرجع أطلع S0 وين راحت عند X
تساوي 1، و S2 وين راحت، و S4 وين راحت عند X تساوي
1، و إيش طلعوا output، وسجل عندي، وبعدين أحط في ال
table الأخير تعالوا نطلع عند S0 و S2 و S4، إيش
عملوا عند X تساوي 1، هيا، نبدأ، هاي S0، هاي أول
واحدةعند X انتبهوا عند X تساوي واحد هنا عند ال X
هذه هي عند ال X تساوي واحد بدي أشوف أين روحنا
روحنا على S2 شايفين؟ روحنا على S2 و الجواب ال
output فراغ إذا بدي أسجل المعلومة هذه على طول أقول
روحنا على S2 وطلع فراغ هذا لو كنت أنا عند S1 sorry
لو كنت S node أنت بتشتغل عند S nodeعند النقطة الان
بدنا نشتغل نفس الفكرة S2 وين راحت تعالى نشوف هاي
S2 S2 هيها S2 وين راحت عند واحد انتبهوا راحت على
فراغ يعني ماعندي اي اشي بسجلش اي اشي و ايه ال out
بتطلع فراغ اذا انا على طول باشش بقول بقول مافيش
عندي اشي تسجل هان و فراغ لأنه فاضيةتمام؟ آخر إشي
في ال .. في ال .. في ال .. في ال B ال S4 هاي ال S4
هاي وين راحت عند X يساوي واحد تعالى نشوف ال S4 ..
ال S4 الأخيرة هتقول ال S4 الأخيرة هي وانتبهوا أني
بتطلع عند الواحد ماليش داعو في السفر أنا السفر
فحصته قبل شوية بتطلع عند الواحد عند الواحد وين
راح؟ على S0 وإيش طلع output؟ طلع واحد فبسجلها بقول
عند ..S0 تمام وطلع واحد الان خلوني اتطلع هنا شوية
لان هذه مجموعة من اتنين مش من تلاتة ركزوا معايا
لان هذا كلام مهم الان الان اولا ك output الكل
هيقولي سهلة هيقولي بحط واحدخلصنا لأن فرقنا وفرقنا
هو واحد لكن السؤال S2 إيش بدك تحطها؟ أنت مافيش
عندك من تلتات قالك أنت هنا مخيّر ليش مخيّر؟ وين
المجموعات اللي فيها S2 هذه اللي هي B وهذه اللي أنا
لسه ما استخدمتهاش ومافيش S2 فانت حر الآن مسموح تحط
Bومسموح تسمي هذه ب D و تحطها بس أنا ليش مانا مانا
مانا مانا مانا مانا مانا مانا مانا مانا مانا مانا
مانا مانا مانا مانا مانا مانا
بقوله مش غلط لكن هتستمر حضرتك تحط لي C و تحلها و
بعدين تحط لي D و تحلها ماقدرش أقولها غلط لكن الناس
الشاطرة ليش بقولوا بقول طب أنا ليش أفتح على حالي
شغل و أجيب رمزي جديد و يقعد يتعبني كمان شوية
مايمكن اتخلص بدون الرمز الجديد فانا بروحش بسوي
بقول خلاص مازال S0 S2 باخد B و برايح دماري لكن هيك
صح و هيك صح عشان هيك انا هقول هنا B و هذه الحالة
مابتسيرش الخيارإلا إذا طلعت معاك مجموعة من اتنين
انت الآن بطل في اتنينات انت بص تلاتات عشان هيك
بتشوف هدولة التنتين وين موجودات موجودة هنا وموجودة
هنا فاختار واحدة منهم فانا اخترت ال B عشان ما
اضطرش اعمل تسمية لمجموعة تالتة وافتح شغل فعشان هيك
بقول خلاص خليني اقدر ال B بلك نتخلص بسرعة وما نضفش
شغل زيادة تمام؟ لكن احنا لحد انا مش مخلصين ليش؟
لأن انت فاتح شغل ل Cلازم تخلص C وإذا C جابتك إجبار
ال D ساعدت غصبا عنك لازم تكمل ال D لكن طول ما أنا
قاعد أختار أختار واحدة من تنتين بحاول أبعد عن
الجديد و أاخد اللي أنا شفته اللي اشتغلته و أحطه
عشان مافتحش على حالي شغل جديد لكن مش بضرر يمكن ال
D بعد شوية ال C تجيبها وممكن لأ زي ما هنشوف كمان
شويةإذن أنا لحتة اللحظة إيش اللي سويته أنا خلصت ال
A وخلصت ال B أعرفت وين بيروح عند السفر وين بيروح
عند الواحد إيش بتطلع output عند السفر وإيش بتطلع
عند الواحد لكن لسه ماخلصتش لأنه أنا في هنا حاجة
اسمها Cإيش يعني في حاجة اسمها C؟ يعني الآن بدي
أعيد الشغل اللي عملته لـA وعملته لـB أرجع أعمله
لمين؟ لـC طيب كيف نعمله C؟ تعالوا نشوف خليني بس
أنا أحط صفحة بيضة ورا عشان نستوعب إذا هنيجي بنفس
القالية نقول أنا هي عندي C شو أرقام الـC؟ هاي
أرقام الـC قبل شوية حددناها اللي هم S0 S1 S4
طيب إيش المطلوب مني الآن أسوي نفس الفكرة بدي أمسح
حد اللي كتبته أنا و أقول الآن أنا بدأ أشتغل على C
اللي هي مين الـ C اللي هي S0 و S1و S4 تمام؟ ايش
بده اشتغل عليها؟ بده اقول عند X تساوي Zero ايش هذي
و اين راحت؟ هذي و اين راحت؟ هذي و اين راحت؟ ايش ال
output؟ ايش ال output؟ ايش ال output؟ و المعلومة
اللي تطلع ادونها و اعيد الشغل ل C عند X تساوي واحد
اشوف هذي و اين راحت عند واحد؟ هذي و اين راحت عند
واحد؟ هذي و اين راحت عند واحد؟ و ايش ال output؟ و
ادون المعلومةإذا هذه جبتلي D أنا مضطر أكمل D إذا
ما جبتليش D خلاص بوقف و أقول خلصت و صار هذا ال
state اللي انبسطت ال state ال table اللي انبسطت
الان خلونا نشتغل كيبنا نشتغل على C هنرجع على أسمة
الكتاب نفحص ال S node نفحص ال S1 نفحص ال S4 وين
بيروح من X0 يلا نعمل زي ما عملنا قبل شوية علشان
نتأكد الأمور تمام هيني هفحص كمان مرة عناصر C اللي
هم S node هيها بده أفحصهاو S1 هي هي هبدا أفحصها و
S4 هي هي هي هي هي هي هي هي هي هي هي هي هي هي هي هي
هي هي هي هي هي هي هي هي هي هي هي هي هي هي هي هي هي
هي
هي هي هيالان بدى اشتغل مع S1 وين S1؟ هاي S1 هاي S1
تمام؟ وين راحت عند Zero؟ على S3 وإيش طلعت؟ فراغ
بدى أسجل نفس القصة راحت على S3 وطلعت فراغ الآن أخر
واحدة S4S4 وين راحت عند الـ Zero؟ هاي الـ S4 هاي
الـ S4 وين راحت عند الـ Zero؟ راحت على S Node وإيش
طلعت؟ طلعت Zero إذا بدي أسجلها راحت على S Node
وطلعت Zero إذا على طول بتقدر تقولي ال output عبارة
عن إيش فراغ فراغ Zero هتقولي ال output Zero على
طول sorry هذا sorry هنا ال output هذه مكان ال
states هنا ال output هتقولي طلعت0 تمام طيب وين
روحنا .. وين ال S0 و S1 و S3 ايش اسمها وينها S0 و
S1 هتقولي هيها S0 و S1 و S3 احنا شفناها زمان و
مسميينها A اذا هتيجي حضرتك على طول ايش تقول بتقول
بروح على A شايفين كيف انه ال C لو اجاني سفر بروح
علىأيه وبطلع output سفر الآن خلصنا ضايق نعيد هاي
عند واحد وين بدأ تروح عند واحد وإيش ال output
واسجل في الجدول تبعي زي قبل شوية يلا نبدأ نشتغل S
node هاي ال S node كمان مرةوين عند الواحد طلعت؟
هتقوللي طلعت S2 عند الواحد وإيش ال output؟ فراغ
فابدأ سجل المعلومة هذه طلعت S2 و ال output فراغ
الآن بدي أفحص عند S1 عند الواحد دي ربالكوا، هاي
S1، هاي S1، هاي S1 عند الواحد راحت على S4 وطلعت
فراغ فابدأ سجلها، راحت على S4وطلعت فراغ الان بقى
الاخر واحدة بتتنفحص عند الواحد S4 وين بتروح ال S4
وإيش بتطلع تعالوا نشوف هاي ال S4 عند الواحد بتروح
وين هايها على S0 عند الواحد وبتطلع إيش واحد إذا
باجي بسجلها بقول بتروح أفضل من راح تقول نه على S0
وبطلع 1 على طول هذه خلصت ال output هتسجل حضرتك ايش
ال output واحد لأن فراغ مع فراغ مع واحد واحد طيب
هذه ايش اسمها المجموعة انها S0 S2 S4 وينها S0 S4
هايها اسمها B فباجي بكتب هنا ايش B الان انا بده
اوريكوا على اللوحش اللي صار لحظة خلصتليش خلصت؟
مافتحتش معايا الـ C شغل جديد فانا لان مش ملزم أجيب
ال D و أشتغلها ليش؟ أنا خلصت خلاص ال C ودتني على A
و ودتني على B و طلعت ال output إيش بدي في ال D
أروح أضيفها زيادة؟فإذا احنا ماضفناش ال D خلاص
خلصنا على A B C طب إيش هيصير لو أنا ماانتبهتش وروح
اضفت ال D مش مشكلة مش غلط لكن بتكونش في أبسط صورة
ال state diagramيعني لو انت ضفت ال D هيصير في عندك
D و ال D هيرجع ل A أو B أو C على حسب الشغل تبعها
لكن بتكونش في أبسط صورة عشانك انت حاول دايما انه
ما تفتحش شغل جديد أنا قبل شوية وريتك لما كانوا
تنتين ليش ماخترتش ال D وخترت ال B على أمل اني
ماشوفش ال D و الأمل تبعي اتحقق و ال D ماظهرتش خالص
لكن لو انت من أول اخترت ال D يعني لو فيه D كانت
مكتوبة هنا انت إجباري لازم تسجل ال D و اين بتروح و
اين بتيجيبس لأنه الآن الـ C رجعتني لـ A كانت
موجودة أو لـ B موجودة هذه ماحدش أتكلم عنها أمشي
أروح أسميها D و أروح أحطها و أضيفها أنا في غنى عن
ذلك و بالعكس ارتحت منها لكن هي مش شغل صعب عادى أنا
قادر أضيف D و نفس الفكرة و أخد التلاتة هدول و عندي
الـ Zero و أنراحه و أشوف و أنطلعه و أسجل زي ما
عملنا قبل شوية قادر أشتغل على الـ D لكن فيش إيه
داعي طيبالان المهم انا ايش اللي سويته من بداية
المحاضرة للان كل اللي سويته موضوع ال state
reduction شايفين يعني الان شايفين هذه ال state
reduction اللي انا حصلت عليها اللي هي a,b,c وخلاص
و سكرت عليها هذه مكان مين أجدت هذه مكان السؤال
اللي انا بديته اللي هو هي تعالي تطلع عليه و نشوفه
الكتاب هي
هي مش احنا اول ما بدينا قولنا بننبسط هذه ال state
table اللي فيه واحد اتنين تلاتة اربعة فيه خمس
دوائر مش قولنا بننبسطه وكان هذا مشكلته انه في
مجاهيلالان احنا كل شغلنا عشان ن بسطه و بالفعل
نجحنا في تبسيطه بدل اللي صار و بدل اللي فيه S1 و
S2 و S3 و S4 بدل ما فيه خمس دوائر انا استطعت اني
ابسطه في تلت دوائر فقط زي ما انتوا شايفين على
اللوع ففعليا هذه عملية التبسيط لل state diagram او
لل state table طبعا البعض هيسألني طب احنا ليش هذا
أخد معانا مجهود كتيرماكانش سهل زي اللي شلناه في
المحاضرة السابقةالإشكالية من وين أجت؟ الإشكالية
أجت من الفراغات الستة اللي موجودة هنا شايفين؟ هذه
في عندى ست فراغات لو هدول الفراغات ماكنوش موجودين
لو هدول الفراغات كانوا قيم كان انا مابدى لا
compatibility ولا بدى groups ولا بدى كل التعب هذا
كان انا خلاص على طول بعمل الدرج وبعد ما بخلص الدرج
باخد النتائج زى لما بدأت المحاضرة هنا شايفين؟ هنا
كان أنا على طول أخدت نتائجي وخلصت بس ليش أنا
ماعتبرتش النتائج هنا نهائية ودخلت مفهوم ال
compatibility هاي وانه هذي compatible مع هذي لأنه
كان في فراغات فطلما في فراغات بطلت الطريقة تعطي
زمان بتنفعصار لازم عليا إنه النتائج اللي أحصل
عليها أقول هذه نتائج compatibility صار لزمن عليا
أكبر ال compatibility groups للماكسيمم يعني إذا
اتنينات بدي أعمل تلتات إذا تلتات بدي أعمل أربعة
لغاية ما أوصل لأكبر قدر ممكن طبعا في مثلي هذا
ماقدرتش أحصل إلا بس تلتات تلتات تلتات زي ما تشوفته
قبل شوية و بعدين الخطوة الأخيرة أني بدي أمسك
الأولى أسميها A و أبدأ أشوف عند ال zero وين راحت
خليني بس أحط فراغأمسكت ال A اللي هي المجموعة
الأولى و قعدت أحسب عند ال zero أين راحت؟ عند ال
واحد أين راحت؟ أيش طلعت عند ال zero؟ أيش طلعت عند
ال واحد؟ بعدين روحت اشتغلت لل B و اشتغلت لل C
عبارة ما خلصت و قلت هذه ال state diagram المبسط
فهي كل فكرتنا يعني احنا لحد تلان قاعدين نتكلم بس
في ال state reduction كمان مرة ليش ال state
reduction؟ما ننساش أن هذه من أهم الخطوات في تصميم
الـ sequential circuit الكبيرة لأن كل ما كانت ال
state diagram أصغر كل ما كنت الدويرة اللي بدها
عملها في الآخر ال circuit هذه ال hardware كل ما
كانت أصغر كل ما كانت أسرع كل ما كانت efficient كل
ما كانت حتى في ال cost أوفر لأن بزيادة الدوائر
بتزيد ال circuit اللي في الآخر بيزيد ال hardware
اللي في الآخر بيكلفني أكتر كل ما قلت الدوائر كل ما
صغرت ال circuit اللي بدأوصل لها في النهاية وكل ما
كانت أوفر و أسرع و أحسن فعشانك موضوع ال state
reduction موضوع في غاية الأهمية أنه كيف لو أنا
عندي state diagram كبيرة أصغرها هذه باختصار كل
القصة فاحنا هنا في محاضرة السابقة و اليوم اتكلمنا
بشكل مفصل عن ال state reduction لأهميته ويمكن احنا
لجينا أن الأسئلة اللي اتناولناها نوعيننوع تكون
البيانات كاملة ولاقينها بتنحل بسهولة simple
matching أو بالدرج وخلصنا وفسكرنا أو الأصعب شوية
ان تكون البيانات مش كاملة في الحالة هاي قدامي
طريقتين طريقة التعويض المستمر أو طريقة اللي هو انه
نعمل الدرج وناخد ال compatibility زي ما انتوا
شوفته قبل شوية ان شاء الله ماشي الحال؟ طيبالان هيك
ال state reduction خلص بدنا نكمل الآن في خطوات
تانية خاصة بال design احنا ما ننساش انه قلنا عشان
اعمل design ل sequential circuit في عندي مجموعة من
الخطوات المختلفة يمكن تناولنا الخطوة الأولى و
فصلنا فيها كتير اللي هي موضوع ال state reduction
الآن في خطوة تانية بدنا ناخدها في كتاب اللي هو
Morris Mano الان انا هوجف في كتاب Ruth لانه خلاص
أخدنا كل الإضافة اللي في كتاب Ruth و هنرجع زي ما
اتفاجنا على كتاب Morris Mano و نستكمل من Morris
Manoتمام خلينا نروح الآن على كتاب Maurice Mano
تمام
اي كتاب Maurice Mano ونبدأ في موضوع اسمه ال state
assignment خلاص هي ال state reduction خلصأي
ملاحظات أي إشي بتتواصلوا معايا وبتسألوني عنها بشكل
مباشر ان شاء الله مافيش مشاكل طيب
الآن الدرس أو ال step أيضا اللي بتعتبر من الخطوات
الرئيسية في موضوع ال design حاجة بيسموها state
assignment state
assignment إيش يعني state assignment تعالى عشان
نفهم إيش يعني نحاول نتطلع على الرسمة اللي معانا في
الكتاب خليني نتطلع عليها زي ما أنتوا شايفين أنا
عندي دوائر يعطيهم أسماء A,B,C,D,Eطبعا الأسماء هذه
بالنسبة لي أنا مشكلة إذا أنتوا بتتذكروا لما أخدنا
ال analysis إيش كنا نسوي ماكناش نكتب A ولا B كنا
نقول مثلا عندي أربع دوائر أنت بتتذكروا في ال
analysis كنا نقول 00 كنا نقول 100 كنا نقول مثلا 01
كنا نقول مثلا 11 مش هيك؟مش ..مش كنا نحط قيم ..مش
كنا نحط values وكانت هذه ال values مش هي بتمثل
القيمة بتاعة ال flip-flop أو القيمة بتاعة ال state
صح ولا لأ؟ كمان مرة لما كنا ناخد دائرةالـ circuit
فيها flip-flops ونعمل تحليل ونرجع بيها برجوع لل
state diagram ال state diagram كيف كان؟ ال state
diagram اللي كنت أحصل عليه كان فيه values وكنا
فاهمين معنى هذه ال values هذه معناها أنه الفليب
فليب فليب فليب فليب فليب فليب فليب فليب فليب فليب
بينما لو كنت في الدائرة high معناته ان flip-flop
الأولاني قيمته واحد و flip-flop التاني قيمته واحد
في الدائرة high و لاحظنا انه كل ما بيكتروا ال flip
-flops بيكتروا الدوائر صح ولا لا؟ يعني لو كان عندي
تلاتة flip-flops هيكون على الأقل maximum عندي تمام
دوائر وكل واحدة فيها مثلا ايش تلاتة valuesعلى أساس
هذا ال flip flip الأولاني هذا التاني هذا التالت و
هكذا طيب احنا اليوم نتكلم بالناحية العكسية ايش
بالناحية العكسية يعني انا هو ميعطيني ال state
diagram و مخلص و الأصل انه هاي نرجع فيها برجوع لل
circuit اللي فيها flip flip bad وبالتاليلازم ما
أشوفش A لازم بطريقة ما أشوف values مكان الـA و
values مكان الـC و الـB و الـD و الـE حتى أبدأ
أفكر كام flip-flops موجود عندي يعني على سبيل
المثال لو جدلنا .. فرضنا جدلا أن هذه القيم جوا 101
على طول أنت هتستوعب أن في عندي تلاتة flip-flops في
الحالة هذه قيمة flip-flop الأولى واحد flip-flop
الثاني Zero flip-flop التالت واحدوبصير فيه إمكانية
لرسم ال circuit مع flip-flops تبعاتك لكن المشكلة
أنه لما بيكون في أسماء مش أرقام أسماء مش أرقام مش
هنقدر نوصل لل state مش هنقدر نوصل لعدد flip-flops
مش هنقدر نوصل ل sequential circuit مش هنقدر نعرف
تفاصيلإذا عشان نقدر نوصل بسهولة لل circuit تبعتنا
من ضمن الخطوات حاجة بيسموها State Assignment إيش
يعني assignment؟ يعني بدنا نستبدل الأسماء ب values
ب zeros and ones بطريقة ما حتى أقدر أكمل مستقبلا
وأوصل لل circuit طب السؤال المهم الآن على أي أساس
بدك تستبدل أيه؟و إيش تستبدلها؟ إيش الطرق بتاعة ال
state assignment اللي بتتكلم عنها؟ طبعا عشان أعمل
state assignment في عندى في الكتاب تلت طرق رئيسية
بدنا نشوف كيف طريقة الأولى، كيف الطريقة التانية،
كيف الطريقة التالتة و نعتمد على التلاتة و نشتغل
الطريقة الأولى إيش بتقول؟ بتقول باختصار بدنا
نستخدم طريقة ال binary numbers
إيش يعني ال binary numbers؟ يعني الآن بسألك سؤال
كام دائرة موجودة عندك؟ والله عندي أنا a,b,c,d,e
عندي خمس دوائر طيب الخمس دوائر هدول بال binary كام
بت بيلزمك علشان تقدر تغطيهم و تمثلهم؟ زي ما خدنا
في logic one طبعا لو قلنا بتينبتين لا يكفي ليش لا
يكفي لأن البتين بيعملولي أربع احتمالات صفرين
واحدين واحد صفر صفر واحد اذا البتين لا يكفي لتغطية
الخمسة هدول طيب لو قلنا في عندي التلت بتات التلت
بتات بيعملولي اتنين اص تلاتة تمانية يعني بيصير
عندي تمان احتمالات و من logic one احنا عارفين
مرقمين من zero zero zero هيهم لغاية
لغاية 8، لأ من 0 ل7، يعني 8 حلات، هاي، مظبوط ولا
لأ؟ إذا أول نقطة لازم نعرف عدد البتات، وعشان أعرف
عدد البتات، بدي أشوف كام دائرة عندي، عندي خمس
دوار، الخمسة محصورة أو أقل من 2 أُس 3، إذا بقول
بدي تلت بتاتطيب لو عندي ست دوائر برضه بقول تلت
بتات لإن احنا التلت بتات كام حلقة بيعطوني تمانية
إيش يعني بيعطوني تمان حلقات يعني بقدر أغطي ست
دوائر و سبع دوائر maximum لتمان دوائر بقدر أغطي
طيب لو عندي مش تمان دوائر لو عندي تسع دوائر اه
التلت بتات بيكفوش لإن التلت بتات زي ما احنا عارفين
اتنين اقصت تلاتة تمان احتمالات طب انا عندي تسع
دوائر أكتر من تمانية إذا احنا هنضطر نقول بالزمني
أربع بتاتلأن الأربع بتات زي ما اتفجنا قبل هيك
اتنين و أربع ستة عشر احتمال وبالتالي معايا أغطي
لستة عشر دويرة لو أنا أخدت أربع بتات طب لو أنا
أخدت خمس بتات معايا أغطي لاتنين و تلاتين دويرة و
هكذا لو أخدت بتين معايا أغطي لأربع دوائر إذن عشان
أحدد عدد البتات صح لازم أعرف كام دويرة عندي عشان
أختار البتات صح في مثال هذا الموجودعارفين لو كانوا
أربع دوائر كنا هنقول بيكفينا اتنين بت لإنه اتنين
بت بيعملوا اتنين أصلا اتنين أربع حالات وخلاص كل
دوائرة بتاخد حالة بس لإنه هنا عندي خمس دوائر إذا
أنا مابقدرش بالبتين أعملهم لكن بقدر بالتلاتة لإن
أنا عارف أن التلاتة بدوني لتمن احتمالات وانا عندي
خمس دوائر يعني معايا غطي لتمن دوائر إذا بدي
وبالتالي في المثال هذا تحديدا انا بدي تلت بتاتطيب
هذه أول نقطة إذا عرفنا عدد البتات اللي بنستخدمهم
لتسمية ال A والB والC والD والE طيب السؤال التاني
طيب أنا التلت بتات هدول بعملولي تمان احتمالات وهي
عندي التمان احتمالات مكتوبين كيف .. أخد .. أخد مين
لإيه؟ أخد الأولى لإيه؟ أخد التانية لإيه؟ أخد
التالتة لإيه؟ إيش أعمل؟ الحلو في الموضوع قال لو
أخدت أي خمسة بشكل عشوائيوسمتيهم ل A,B,C,D,E مش غلط
يعني لو أجى على بالي أقول مثلا بدي هذه أسميها A و
بدي هذه أسميها B و بدي هذه أسميها .. يعني اختارت
خمسة بشكل عشوائي من هدول وعملت أسماء لل A,B,C,D,E
بالأرقام قال ماعندي مشكلة طب افرض أجزميلي أخد خمسة
تانين غير الخمسة اللي أنا أخدتهموراح سمى بطريقة
مختلفة برضه مش مشكلة صح في النهاية الأشكال تاعة ال
circuits اللى هتنشى عندها في النهاية مختلفة شكلا
لكن مضمونا بيشتغلوا نفس الشغل وبالتالي احنا حرين
ناخد أيه خمسةونسويهم بـ A,B,C,D,E ونكمل باقية
خطوات ال design لكن بنكون فاهمين أنه بتغير
الاختيار يتغير الشكل النهائي لكن المضمون واحد
بيعمل نفس الشغل بطريقة هي ولا بهاي ولا هي بيعمل
نفس الشغل لكن يتغير الشكل وإيش يعني يتغير الشكل
يعني ممكن يطلع الشكل في logic كتيرhardware كبير
ممكن يطلع لشكل logic صغير hardware صغير فممكن يطلع
زي هيك إذا أنا أخدت بشكل عشوائي تمام طبعا في بعض
الكتببتحاول اتعلمنا طرق ايش افضل خيار اخده بحيث
احصل على دائرة صغيرة في النهاية وهذا برا ال scope
تبعنا، تمام؟ فاحنا اليوم هنتمت على الطرق التلاتة
انه يا باخد خمسة عشوائي من ال binary و بسمي ال
ABCD و بمشي، تمام؟ وهذه طريقة بنسميها بطريقة ال
binary number لكن احنا في المصاد تبعنا هنتفقانه
بدناش ناخد عشوائي في ال binary بدنا ناخد بالترتيب
عشان حتى الأشكال والرسوم هتكون زي بعضنا يعني أنا
بدي افترض ال default تبعنا انه خلاص الأولى بتاخدها
A اللي هي 000 اللي وراها بتاخدها B اللي وراها اللي
هي رقم 2 بتاخدها C اللي وراها اللي هي D بتاخد 3
واللي وراها ال E بتاخد أربعة خلاص أنا هنا اخترت
الترتيب أنه ال zero الأولى للأولى اللي بعدها لللي
بعدها اللي بعدها لللي بعدها ومشيت على هذا الأساس
وهذا الكلام مش غلطلكن احنا من باب توحيد الحلول،
توحيد الشكل في النهاية، بدنا نعتمد على هذه الطريقة
يعني بعد اليوم أنا أجي أحكيلكم، بدنا نعمل State
Assignment باختيار طريقة ال binary numbers، الكل
يتعود يمشي بالترتيب، خلاص، 000 للـA، اللي وراها
للـB، اللي وراها للـC، و هكذا، لكن برضه بدنا نكون
فاهمين إنه لو أنا في البيت بدي أشتغلمش إجباري هذا
الكلام أي خمسة من التمانية أحطهم ل A,B,C,D برضه
بمشي الحال لإن احنا من باب التوحيد و ال default
بدنا نمشي بالترتيب إذا أول طريقة بنسميها طريقة ال
binary number لل state assignment طب هل في طريقة
تانية؟ أه في طريقة تانية اسمها ال gray code أو ال
gray assignment إيش فكرة ال gray assignment قال
بدل ما نيجي نكتبالأرقام بالترتيب بالـ binary
بنكتبهم بالـ gray code و احنا اتعلمنا في logic one
كيف نكتب بال gray code يعني بدنا نكتب رقم zero بال
gray رقم واحد بال gray رقم اتنين بال gray مش بال
binary دي ربالكوا رقم تلاتة اربعة خمسة ستة سبعة
بال gray و بعدين اخد أول واحدة ل A و تاني واحدة ل
B و التالتة ل C و الرابعة ل D و الخمسة ل E زي ما
هو عامل هنا خدنا نوريكم إياههيهم طلعوا كويس شايفين
الآن هي ال state A وB وC وD وE الخيار الأول قال
أنا بدي أديهم ال binary assignment فشايفين ماشي
بالترتيب ال zero لل A الواحدللـB لـ2 للـC شايفين
بنفس الترتيب التلاتة للـD والاربع للـE فهذه طريقة
الطريقة اللي جنبها في العمود التاني هي طريقة
الـGrey Assignment طبعا لاحظوا هذا شكل الـ0
بالـGrey فسمحطه للـA وهذا شكل الـ1 في الـGrey حطه
للـBوانتبهوا هذا مش تلاتة بال gray هذا ارجع ل
logic one هذا رقم اتنين بال gray هذا رقم اتنين بال
gray و اعطاه لل C هذا رقم تلاتة بال gray و اعطاه
لل D وهذا رقم اربعة بال gray و اعطاه لل E إذا هذه
طريقة تانية إذا قالك استخدم ال gray code بدنا
نكتبهم بالترتيب الأولى لل A وراها لل B C D E و
هكذا اقلب ال binary بكتب بال binary بالترتيب
الأولى لل A التانية لل B C D E الاخرينالطريقة
التالتة والأخيرة في ال state assignment اللي هي
one-hot assignment ايش يعني ال one-hot assignment
تعالى نشوف كده عدد الخنات بيكونوا على حسب عدد
الدوائر احنا قبل شوية في رسمتنا كام دويرة كان A,B
,C,D,E اذا عدد الخنات كام خنة؟ خمسة طب كيف بتعمل
ال A؟ جال كلهم بيكونوا أصفرتبوا كلهم أصفر إلا
واحدة واحد فالأولة لما أحطها واحد بتعتبرها للـA
التاني لما أحطها واحد بتعتبرها للـB التالتة لما
أحطها واحد لـC الرابعة لما أحطها واحد للـD
والأخيرة لما أحطها واحد للـE شايفين كيف؟خمس دوائر
يعني خمس خنات وكل خانة زى ما تشايفين بتكون سفر إلا
واحدة واحدة بتكون واحد فلما الأولى تكون واحد يعني
ال A لما التانى تكون واحد يعني ال B لما التالتة
تكون واحد يعني ال C لما الرابعة تكون واحد يعني ال
D لما الأخيرة تكون واحد يعني ال E وهكذايعني لو
عندي طب مثلا تمان دوائر كيف ال state assignment
بدي يكون لل تمان دوائر ببساطة يعني لو أنا عندي
مثلا خلينا نخرب الشهانة يعني افترض ماعنديش بس A,B
,C,D,E وعندي F وG وH 1,2,3,4,5,6,7,8 كيف بنا نعمل
one hot assignment طالما عددهم تمانية بدي اعمل
تمان خناتهي التمن خانات كلهم أصفار شايفين كلهم
أصفار هي تلاتة، ستة، سبعة إلا الأولى واحد هذه لـA
بعدين التانية واحد والباقية أصفار هذه لـB بعدين
التالتة واحد والباقية أصفار هذه لـC بعدين الرابعة
واحد والباقية أصفار هذه لـD بعدين الخامسة واحد
شايفين كيف؟ والباقي أصفر على طول هذه الاشياء لإيه
وبعدين بنكمل بنفس الطريقة السادس كلهم أصفر
والسادسة واحد بعدين كل الأصفر السابعة واحد بعدين
التمانية كلهم أصفر والتامنة واحد وبهيك أنا الطريقة
هذه بسميها ال one-hot assignment إذا بعد اليوم لما
بيعمل يقول لي أعمل state assignment لو هو ما طلبش
مني الطريقةأنا حر أشتغل binary assignment أشتغل
gray assignment أشتغل one hot assignment أنت حرين
كل واحد يختار الطريقة اللي بدويا إذا ماحدش طلب
منكوا بس أنا بقول الأسهل و الأفضل تستخدموا ال
binary العادي لكن إذا كان في السؤالامحدد يعني مثلا
ييجي يقول في السؤال صمموا دائرة بتعمل كده كده
واستخدموا في ال state assignment ال one hot
assignment مثلا ممنوع أعمل على كيفي خلاص بدي أشوف
كام دويرة و أعدهم و أعملهم خنات و كلهم أصفر إلى
واحدة واحد فانا لازم اتقيت في السؤالبالمكتوب انحدد
ال state assignment جالي بال binary بدي اتقيد جالي
بال gray بدي اتقيد جالي بال one hot بدي اتقيد
ماحكليش ولا حاجة و انا بيجي تشتغل و لاجيت في عندي
ABCD خلاص انت حر عندك الخيار تختار اي طريقة من
التلاتة بس اللي اسألك دايما تستخدم ال binary طيب
الان انا بدي اسأل سؤال على فرضية ان انا في الخمس
دوائر اللي جابلي شويةأخدت ال one-hot assignment
ايش انا one-hot assignment يعني دوّيرة A بدل A
هصير اكتب 1 أربع أصفار هذا شو معناته هذا معناته ان
في عندي خمس flip-flops تمام اللي هو أول تاني تالت
رابع خمس فالبعض ممكن يقولي طب انت مش ملاحظ انه في
ال one-hot assignment جاعدين احنا بنزود ل flip
-flops مع ان انا جادر بال binary يضله بس ايش مش
احنا في ال binary قولنا ال A بتكون مثلا تلت أصفار
يعني في تلاتة flip-flopsفالبعض ممكن يتهيأ الوش
يقول طريقة ال one-hot assignment دائما بيزيد فيها
عدد ل flip flip وبالتالي الدائرة بتكبر لأ هذا
الكلام مش حقيقي ومش بالضرورة انا ممكن اعمل تلاتة
flip flip والاجي ال logic كتير صار كبير ومكربس في
الدائرة وفيما لو ان انا عملت خمسةflip-flop قالك كل
ال logic هذا راح وبالتالي مش بالضرورة قد يكون
أحيانا ال one-hot assignment يؤدي إلى دائرة صغيرة
في النهاية فمش معناته .. من الهن انتبهوا مش معناته
أنه أنا كترت عدد ال flip-flops يعني الدائرة دايما
بدأ تكبر مش بالضرورة صح ممكن زادوا عدد ال flip
-flops لكن ممكن ال logic ال combination اللي موجود
في الدائرة ماله قلت بطريقة كبيرةفمش بالضرورة يعني
نقول انه ال one hot assignment دايما بديني دوائر
أكبر لأ هو بديك صح flip-flops أكتر لكن in total
ممكن الدائرة تبعتي تكون مالها أصغر يعني انا أعمل
مثلا تلاتة flip-flopsمع 100 بوابة والله اعمل خمسة
flip-flops مع عشرين بوابة فبتفرق معايا الخمسة flip
-flops مع عشرين بوابة بتكون أصغر فما نفكر أن زيادة
flip-flops يؤدي بالضرورة إلى كبر الدارة قد يكون او
قد يكون لا على حسب ال design أو حسب ال circuit
الموجود عندنا فهذه النقطة ماتنسوها اذا انا عندي ال
conclusion الآن لل state assignment في عندي التلات
طرق رئيسية تمام ال binary assignmentالـ Gray
Assignment والـ One-Hot Assignment هاي التلات طرق
الرئيسية اللي موجودة عندنا وبهيك احنا بنكون ايه
سونا عملنا ال State Assignment طبعا انتبهوا ايش
يعني قصدنا بال State Assignment انتبهوا للقصة هاي
.. هاي هنايعني هذا ال table هذه الرسمة خلاص لو
أعملت binary assignment بعد اليوم هستبدل ال A
بإيش؟ ب 3 أصفار هستبدل ال B بإيش؟ ب 01 هستبدل ال C
بإيش؟ طب أنا أختارت ال binary assignment010 هستخدم
بالدور ال cd اللي هي تلاتة و استخدم 0014 و بهيك
انا بكون قادر اكمل الشغل و بكون قادر اكمل خطوات
حتى اوصل في النهاية لل set diagram احنا لحد تلان
اذا اخدنابس خطوتين من خطوات ال design الكبير ايش
هم الخطواتين مافيش غيرهم اللي هو موضوع اني اعمل
state reduction زي ما اتعلمنا و بعد ما عملت ال
state reduction كيف اعمل انا state assignment بأحد
الطرق التلاتة الموجودة تمام؟ و بهيك احنا خلصنا
نقطين رئيسيات من نقاط ال design اللي هم ال state
reductionو ال state assignment طبعا احنا اليوم
هنوجف على جد هيك بس بدي اكون انا برضه فاهم انه لسه
ال design عشان اقدر اعمل design ل controller ولا
لإشارة ولا ل counter ولا ل whatever في عندي كتير
لسه خطواتأنا بس اتكلمت فقط بالتفصيل بس عن خطوطين
ضمن هذه الخطوات الكثيرة اللي هي خطوة ال state
reduction بالتفصيل الممل وخطوة ال state assignment
اللي اتكلمنا عنها اليوم برضه بالتفصيل ان شاء الله
اليوم هنواجه فهان والمحاضرة القادمة ان شاء الله
هنستكمل بقية خطوات ال design من الالف إلى الياه ان
شاء الله رب العالمين ويعطيكوا الصحة و العافية
ضروري تدرسوا أول بأول لأنه الآن كل المحاضرات اللي
جاية بتتمد على كل اللي بنحكيه اليومفأول بأول
احضروا محاضراتكم وبسرعة ماتستنوش بتسألوني بشكل
مباشر أي وسيلة اتصال مافي عندي مشكلة وانا كمان مرة
هعمل أكتر من مرة online sessions حتى اللي في عنده
أي أسئلة يسأل لأنه زي ما انتوا شايفين الدروس الآن
هتترتب على بعض وربنا ان شاء الله يوفقكوا ويعطيكوا
الصحة و العافية وإلى لقاء في المحاضرة القادمة
يعطيكوا العفو