الرحيم يعني بدايةً، احنا بنتمنا السلامة الكاملة
لطلباتنا الأعزاء، اليوم إن شاء الله، احنا بسبب حالة
الطوارئ، هنبدأ باستكمال المحاضرات من خلال التسجيل
التسجيل الفيديو. المطلوب من حضراتكم الآن أنكم تحضروا
هذا التسجيل بشكل كويس، وبعد هيك أي أسئلة أي
ملاحظات بتدونوها عندكم، وبتسألوني إياها من خلال
وسائل التواصل المختلفة، وأنا هحاول كمان في الفترة
القادمة أن أعمل online sessions حتى أتقابل معكم، و
أشوف أسئلتكم إن شاء الله، ونحاول نجاوب عليها اليوم
إن شاء الله، احنا بنستكمل في chapter 5، وين احنا
وصلنا؟ من باب التذكير، احنا في chapter 5 كان عبارة
عن ثلاثة أجزاء. الجزء الأول هو كان عبارة عن التعرف على
الأساسيات والوحدات الأساسية لتصميم دوائر الـ
sequential. الجزء الثاني كان إنه لو أنا شوفت دائرة
sequential كاملة، متكاملة، كيف أقدر أحللها؟ وكان عندي
طريقتين، إذا بتتذكروا، طريقة الـ timing diagram
وطريقة الـ analysis أو اللي هي الـ state diagram.
اليوم إن شاء الله، هنبدأ بخطوات الـ design أو خطوات
التصميم، كيف أنا أقدر اليوم أصمم دائرة sequential
لها معنى، لها مفهوم، تتحكم بشيء معين، بإشارة، عداد
إلى آخره. فاليوم إن شاء الله، هنبدأ في هذا الجزء
الثالث. يمكن أنا عشان أقدر أعمل الـ design، في عندي
مجموعة من الخطوات اللي هنتعرف عليها بشكل متسلسل،
لكن اليوم يمكن أنا هركز على خطوة أساسية بنسميها الـ
state reduction، تبسيط الـ state diagram. يعني زي ما
انتوا شايفين، هنا عندي مثال، فيه عندي state diagram
مرسومة وجاهزة، والمطلوب إنه طبعاً هذه جاهزة لدائرة
sequential بتكون بمهمة معينة. فالمطلوب الآن
نوصل لهذه الـ sequential اللي فيها flip flops وفيها
كل التفاصيل، والـ clock إلى آخره. وبالتالي أنا علشان
أقدر أوصل للـ sequential، المفروض إني في البداية
أحاول أبسط هذا الـ state diagram لشيء أصغر منها. ليش؟
لأن كل ما بسطناها أكثر، كل ما صغرت أكثر، كل ما كانت
الـ sequential circuit اللي هتطلع في الآخر مالها
بتكون أصغر، و more efficient، وبتكون أسرع، ويمكن من
باب التذكير، إذا بتتذكروا لما كنا نعمل الـ State
Diagram في عملية التحليل، إذا بتذكروا، بكون
عندي اثنين Flip Flops، كم دورة كانت بتطلع عندي؟
اثنين، أقصى اثنين، أربع دوائر. لما كان عندي ثلاثة
Flip Flops كانت بتطلع عندي اثنين، أقصى ثلاثة، ثمانية
دوائر، وبتلاحظوا إنه كل ما زاد عدد Flip Flops، مال
الدوائر بتزيد. اليوم نحن نتكلم بالناحية العكسية، أنا
عندي دوائر موجودة، ومنها بدي أحاول أوصل للدارة
اللي فيها الـ flip flops والتفاصيل هذه، وبالتالي
المنطق إيش بيقول؟ إنه كل ما هذه الدوائر قلت، كل ما
الـ circuit اللي أنا هحصل عليها في النهاية مالها
بتكون أصغر، وهذا اللي أنا مهتم فيه، وهذا اللي أنا
بدّيه، وبالتالي خطوة التبسيط تعتبر خطوة رئيسية ومهمة
جداً ضمن عملية الـ design أو التصميم النهائي، ويمكن
اليوم أنا أبدأ في هذا المثال، زي ما احنا شايفين، في
عندي أنا state diagram مرسومة، والمطلوب كيف أنا
أبسطها؟ أو كيف أنا أستبدلها بـ state diagram ما له
ثاني أصغر منها؟ عشان نقدر نعمل هذا الكلام، بدنا نبدأ
نشكل table بنسميه state table. الـ state table كيف
بتشكل؟ بدي أمسكهم دائرة دائرة، يعني في الأول عندي
دائرة الـ A، بيجي بكتب هذه الـ A، معها هذه الـ A، هاي
أول دائرة، بيجي بالتفصيل نكتب، ماذا لهذه الدائرة؟ هذه
الدائرة، بدي أعرف وين بتروح عند X بتساوي صفر، وبدي
أعرف وين بتروح عند X بتساوي واحد، وفي نفس الوقت
بدي أعرف إيش الـ output بتطلع عند X تساوي صفر، وعند
X تساوي واحد، وهذه المعلومات كلها بستقيها من
الدائرة A، يعني على سبيل المثال، تعالوا نطلع في
الدائرة A، لو اجاني الـ input 0، واحنا عارفين إن الـ
input 1 بكون فوق الـ slash، هذا الـ input تحت الـ
slash بكون هذا الـ output. وبالتالي من الرسم، إذا أنا
في A واجى input 0، وين هنروح؟ الكل هيقول لي هنضلنا
في A، والـ output هيطلع صفر. وبالتالي كيف بمثلها؟ إذا
أنا في A واجى صفر، هضلني في A، والـ output اللي
هيطلع في اللحظة هذه صفر. إذا أنا لازم برضه أكتب X
تساوي صفر، X تساوي واحد، تمام، وهذه جهة الـ outputs، و
هذه جهة الـ next state، وهذه المعلومات كلها أنا
بستقيها من هذا الـ state diagram. الآن بدي أكمل بنفس
الطريقة، أنا الآن موجود في A، واجى input واحد، إيش
وين بدي أروح؟ وإيش الـ output بدي يطلع؟ تعالوا نطلع
الدائرة تبعتنا، أنا هنا في A، اجى input واحد، وين
بتروح؟ بتروح على B، وإيش بتطلع output؟ صفر، فسجل
المعلومة على طول، إني بروح على B، وبطلع الـ input
أو الـ output، عفواً، صفر. طيب الآن أنا إيش اللي
سوّيته؟ خلصت معلومات الدائرة الأولى فقط، اللي هي A.
طب شو بدي أسوي الآن؟ بدي أعمل نفس الكلام لجميع
الدوائر الموجودة عندي بالترتيب، يعني على سبيل المثال
خلينا نمسك الدائرة B. إذا أنا بدي أقول، هاي عندي B،
طيب مالها؟ تعالوا نشوف، إذا اجى الـ input صفر، الـ
input صفر طبعاً، وينه؟ اللي فوق الـ slash، على طول إيش
هيصير؟ هنروح على C. إذا باجي بسجل هالمعلومة، هاي إني
بروح على C. طيب إيش بيطلع output لما بيجي الـ input
صفر وأنا في الدائرة B؟ تعالوا نشوف، فهي إني أنا في
الدائرة B، وأنا input صفر، إيش الـ output بتطلع؟ ليه؟
تحت الـ slash صفر. إذا بدي قاعد أسجل الـ output صفر.
طيب إيش هيصير لو أنا في B واجى X تساوي 1؟ وين بدنا
نروح؟ تعالوا نتطلع، هاي أنا في B، وهاي الـ X اجت بـ 1،
وين بنروح؟ بنروح على D، والـ output بـ 0، وبالتالي
أنا بدي أسجلها، بدي أروح على D، والـ output 0، وهيك
بنكون خلصنا الدائرة الثانية، وهنستمر بنفس الشكل
لجميع الدوائر C، وD، وE، وF، وG. طيب، على سبيل المثال، أنا
الآن هشوف الشيء مكتوب بشكل أوضح، لكن خليني على سبيل
المثال، أنا بتكلم عن دائرة G مثلاً، كيف أكمل دائرة G؟
نفس الفكرة، أنا هوني في G واجى input 0، وين بدنا
نروح؟ لاحظوا، بدنا نطلع على A، والـ output 0. فبجي من G
بقول، بنروح على A، والـ output 0. طيب أنا في G، واجى
واحد، هيها اجى واحد، بروح على F، والـ output واحد، وخلاص.
وبنكمل بنفس الطريقة C، وD، وE، الأخرى. على العموم، بعد
ما نعمل هذا لكل الدوائر، بتطلع معانا الجدول التالي،
اللي هو بنسميه الـ state table، اللي هو موجود هنا. هذا
الجدول، الآن هو نفس الجدول اللي أنا كنت اشتغله
بالكامل، زي ما أنتم شايفين، هي الـ A بتروح على A، وB
زي ما احنا عملنا، بتروح على A، وB، وبطلع الجواب 0 0.
طبعاً هنا الجدول، أنا اشتغلت بس على اللوح، اشتغلت A،
وB فقط، واشتغلت G، بينما الجدول هذا ما له شغال فيه
كله، A، وB، وC، وD، وE. تعالوا نطلع على الجدول الآن، امسح
اللي أنا عملته، عشان نشوف الجدول بشكل أوضح، كامل، للـ
state diagram اللي قبل شوية اتكلمنا عنها، فهي، خليني
أكبرها كمان شوية. الآن هذا بنسميه الـ state table.
الآن هذا الـ state table، من وين جبناه؟ جبناه من الـ
state diagram اللي قبل شوية، اللي احنا بدنا نبسطها.
إذا أول خطوة عشان أبسط الـ state diagram، بدي أجيب
بسهولة الـ state table. عشان أجيب الـ state table، سهلة،
بمسك كل دورة وبفحصها، عند الـ input إيش؟ ووين راحت؟
وإيش طلعت؟ وبسجل، عند كل input، بطلع معايا الجدول
الموجود عندي. طيب، إيش الخطوة اللي الآن بنسويها عشان
نقدر نبسط؟ الآن بنحاول نتطلع، هل في هذا الجدول، في
اثنين rows شبه بعض، identical، شبه بعض. تعالوا نتطلع،
نشوف، وندور، يعني لو اتطلعت على A وB، مش شبه بعض،
فبنروح ندور، نشوف مين فيه شبه بعض. لو جينا مثلاً
اتطلعنا على G مثلاً، طبعاً لازم يكون شبه بعض في كلّه،
في الـ input، وفي الـ output، وفي الـ next state، كله يكون
فعلاً الـ record ما له identical، زي بعضه. لو جينا ندور،
إيش رأيكم في E وG؟ شبه بعض. دعنا نتطلع، A A F F 0, 0, 1
,1. إذا الواضح إنه الـ E والـ G الاثنين equivalent،
الاثنين identical، شبه بعض. طب في الحالة هذه إيش بدي
أسوي؟ طالما لقيّت أنا اثنين rows شبه بعض، أو two
states equivalent، إيش بدي أسوي؟ بدي ألغي واحدة، وأ
خلي الثانية. يعني الآن أنا عندي E وG، خلاص الاثنين
زي بعض، فبدنا نلغي مثلاً الـ G ونخلي الـ E، أو نلغي
الـ E ونخلي الـ G. أي واحدة نلغيهم، ونخلي واحدة. فأنا
الآن هألغي الـ G كاملة، لأن بتمثلها الـ E، وخلي الـ
E. طب، حد اللي ممكن يسأل، يقول، طب الـ G اللي مكتوبة
جوا هنا، إيش أعمل فيها؟ خلاص بجيبها لـ E، مش إحنا
اتفقنا إن الـ E والـ G زي بعض؟ لغينا الـ G، ليش؟
لأن الـ E بتمثلها، وبالتالي أي حرف G، بلا G، بشيلّه،
بستبدله بـ E. يعني لو جينا نتطلع هنا، كامل الـ G هذه
مالها؟ بلغيها، وبسميها من هنا وطالع إيش؟ E، لأنه بطل
في عندي G، فقط عندي E، لأن الـ E والـ G واحد، فلغيت
واحدة وخليت الثانية، وعدّلت التسمية لـ E. الآن بنعيد
العملية كمان مرة، بدور كمان مرة، هل في اثنين rows
identical، شبه بعض؟ تعالوا نتطلع، الآن هنعيد الشغل من
جديد، اللي ضلوا الـ A, B, C, D, E, F، لأن الـ G خلصت. هل في
اثنين rows شبهها؟ تعالوا نتطلع، اه، في البعض هيقول لي
Hi، وهيقول لي Hi. تعالوا نشوف، الـ two rows هدول، E E F
F 0 0 1 1. إذا شو ده معناته؟ معناته إن الـ D والـ
E كذلك equivalent، الاثنين زي بعض، وبالتالي بدنا
نلغي واحدة ونخلي الثانية. يعني أنا عندي D F، هلغي
الـ F، خلاص تمثلها D، وهخلي الـ D. طب أي F ما لها جاية؟
شو بدي أعمل فيها؟ بستبدلها بالـ D، لأن الـ F والـ
D واحد، وبالتالي هنلغي الآن الـ F ونخلي مكانها فقط
الـ D، لأن الـ F والـ D واحد، فالـ D تمثل الـ F. خلّصنا،
فبنلغي الـ F، بنخلي الـ D. الآن، طب شو أعمل بالـ F هذه؟
خلاص، بطل في F، صارت اسمها D. شو أعمل بالـ F هذه؟ بطلت
صارت اسمها D. طيب، الآن بعد ما خلّصنا هذا الكلام، بدي
أعيد نفس الشغل كمان مرة، هل في اثنين rows شبه بعض؟
عشان نشيل، وبضلي ماشي بهذا الترتيب لغاية ما أبطل
أجد اثنين rows، وأقول هي الـ most minimum. فالآن
الجديد اللي أنا بدي اشتغل عليه، هاي شكلها الجديد
هي شايفين صارت مالها أصغر، بدل سبع دوائر صارت خمس
دوائر وبالتالي أكيد الـ sequential circuit
اللي هتطلع معايا لو كملت بهذه الخطوات هتكون مالها
أصغر من لو اشتغلت على اللي فوق، وهتكون أسرع و more
efficient. هذا موضوع ضروري، أن أي state diagram أنا
بشوفه، جاب المبدأ، خطواتي للوصول إلى الـ state
circuit أو الـ sequential circuit تبعتي، لازم في
الأول إيش أسوي؟ أبسطها على قدر ما أقدر عشان أرسم
المبسطة، وتطلع معايا دائرة مالها أكثر efficiency و
أسرع. أكثر، موضوع التبسيط زي ما شفتوا مافيش فيه
شيء، مجرد state table أنا عملته من الدوائر الكثيرة
لغاية ما وصلت للمتشابهات، ورجعت بطريقة عكسية، رسمت الـ state
diagram الجديدة المبسطة، وهذا اسمه موضوع الـ state
reduction، تبسيط الـ states. هذه باختصار. طيب، الآن زي
ما اتفقنا، أنا هسيب كتاب "Maurice Mano" chapter 5 و
هطلع على كتاب الـ "Roth" اللي هو chapter 15 عشان ناخد
أي إضافات زي ما اتفقنا في الموضوع هذا، لأن فيه
إضافات على الموضوع هذا. فخلينا ننتقل لكتاب
"Roth"، ونشوف إيش الإضافات أو الحاجات الجديدة اللي
لازم نتعلمها في هذا الموضوع، وبعد ما نخلصها، بنرجع
إن شاء الله، لـ chapter 5 ثاني، نستكمل خطوات التصميم.
تعالوا نشوف الآن، هاي زي ما تشوفون، بدأ… هي مثلاً نكبر
شوية، بدأ…
سؤال ثاني موجود في chapter 15 في كتاب روث، إيش بيقول؟
السؤال بيقول: على فرض أن هذا الـ state table أتجاب من
الـ state diagram الكبيرة. مش إحنا اتفقنا أن الـ state
diagram، بدي أروح أجيب منها الـ state table عشان
اشتغل عليها. فهو وفر عليّ step، وقال: اعتبر أن الـ
state table جاهزة. كيف بدك تبسطها؟ يعني مثال ثاني
غير المثال اللي قبل شوية أخذناه. كيف نبسطها؟ نفس
الفكرة، بدنا نحاول ندور وين فيه rows شبه بعض، كلهم
اللي شبه بعض، بدي أشيلهم وأستبدلهم بواحد. فلو جينا
نتطلع، أنا مش هعمله كامل، لكن هقول فكرته، لأن إحنا
خلصنا قبل شوية مثال كامل عليه. لكن خليني نتطلع على
فكرته هذا كمثال جديد. الآن، لو جيت اتطلع على الـ
state diagram الجديد اللي موجود عندي، واتطلع على
التشابهات، الكل هيقول لي: هذا الـ row، وهذا الـ row، وهذا
و… where كمان شبه بعض. طبعاً ليش أنا ما أضفتش الـ… هم
مع أن الـ A شبه بالفعل، لأن الـ A اختلف فقط في واحد،
فاختلف عنها. دول فبالتالي ما كانوا شبههم. لكن أنا
واضح أنه عندي الـ P والـ N والـ M شبه بعض، ولسه فيه
كمان معهم الـ K. طلعوا على الـ K كمان، شايفين الـ K نفس
الـ row بالكامل. الـ K، ولو جينا نطلع كمان شوية، هلاقي
كمان الـ I شبههم، والـ H شبههم تماماً. بس يعني لاحظوا
أنه السهم: اتنين، تلاتة، أربعة، خمسة، ستة، أنه الست دوائر
هدول: الـ H والـ I والـ K والـ M والـ N والـ B كلهم
شبه بعض. طب شو بدي أسوي في الحالة هاي؟ الست هدول
بالدائرة، هم أخلي منهم واحد بس. واحد، لأن هو اللي شبه
فيهم. وبالتالي، على سبيل المثال، بنخلي الـ H مثلاً. فأحذف
الـ B كله، أحذف الـ N كله، أحذف الـ M كله، أحذف الـ I
تمام؟ أحذف الـ K كمان.
وهسيب بس الـ H. خلاص. ليش سيبت الـ H؟ لازم أسيب بينهم
واحد. خمس دوائر ولا ست دوائر شبه بعض، إيش بتسوي؟
بلغيهم كلهم، بخلي واحدة بس اللي هي بتمثلهم. وبالتالي
هخلي الـ H. طب البعض هيسألني، هيقول لي: طب ما فيه جوا رموز
أنا شطبتها، شطبت الـ B، وشطبت الـ N، وشطبت الـ M
ماعندي مشكلة. مانعيش. صار اسمها الجديد H. وبالتالي كل
B بجيبها لـ H. كل B، ومش بس كل B، وكل N بجيبها
لـ H. بدور وين فيه N، بجيبها لـ H. وكل M بجيبها لـ H.
كل M بجيبها لـ H، وكل K بجيبها لـ H، لأنه خلاص صاروا
كل هدول، أتلغوا، ضل مكانها الـ H. وكل I بلغيها، بخلي
مكانها الـ H. تمام؟ وبنعيد الشغل الآن من جديد. طبعاً
مش هكمل المثال، لإنه خلاص شرحنا مثال واضح بنفس الطريقة.
بنضل نمشي، بندور، بعد ما أنا في ال… في الـ round
الأولى، شطبت وخليت الموجودين، برجع أدور من جديد، هل
فيه rows شبه بعض ولا لأ؟ إلا جيت فيه rows شبه بعض، واحد
ولا اتنين ولا تلاتة، بشطبهم، بخلي بس واحدة بتمثلهم، و
خلاص، وبغير الأسماء باسم اللي خليتها. وبهيك إحنا
بنضمن عملية التبسيط، الـ state reduction. هذا
المثال يعتبر تأكيد على المعلومة اللي أنا خدتها قبل
شوية. طب وين الجديد؟ وين الجديد؟ ليش إحنا دخلنا على
الـ chapter هذا؟ الجديد، أحياناً ممكن ما ألاقيش ولا row
شبه الثاني. لكن التبسيط مازال موجود. يعني الطريقة اللي
أنا استخدمتها، اللي هي طريقة الـ matching، مش
كافية. لإيش؟ لأن ممكن ما ألاقيش matching بالمرة، لكن
يكون في تبسيط حقيقي موجود. يعني ممكن تتبسط
الدائرة. وبالتالي، الآن نتعلم طريقة ثانية، بعد ما أنا
أخلص من الـ matching. كيف أتأكد أن اللي ضلت هذه مبسطة
ولا لأ؟ وبالتالي الآن بنتحاول نشوف طريقة ثانية
ونتعلمها. خليني الآن نشوف المثال الجديد ونتكلم فيه
في الموضوع اللي هو: كيف أتأكد إنها مبسطة ولا لأ؟
خليني بس نمشي على هذا المثال. طبعاً المثال محلول هذا
بالكامل، مافيش فيه مشكلة، سهل، نفس اللي حللناه قبل
شوية، مش محتاج شيء، هي هي، رسمة… المثال بعد التبسيط
اللي طلع. شطبنا فيه منه الـ K والـ L والـ I، مش عارف
مين الـ L، شطبناهم. بعد ما نشطب كل شيء، بنلاقيها تبسطت
بس لهي دول، ولو بدنا نرجع نرسم الرسمة العكسية، هي
الرسمة العكسية. طبعاً أنتو تخيلوا الـ table الكبير
اللي كان فوق، كانت رسمته كبيرة جداً، كبيرة كثير، شوف
كم دائرة كان فيها. الآن صار إيش عندي؟ تبسطت خالص.
يعني لو بدي ارجع للمثال اللي فوق، كم دائرة كان عندي
في الأساس؟ تعالوا تطلعوا، عدوهم: كان واحد، اتنين،
تلاتة، أربعة، خمسة، ستة، سبعة، ثمانية، تسعة، عشرة، إحدى عشر،
اثني عشر، ثلاثة عشر، أربعة عشر، خمسة عشر. يعني هذه رسمتها كانت
عبارة عن خمسة عشر دائرة، وكل دائرة طالع منها سهم.
ورسمة كبيرة جداً. الآن الخمسة عشر دائرة دول، أنا بسطتها
بطريقة الـ matching اللي شفناها، لقداش هاي. تعالوا، بس
لو واحد، اثنين، تلاتة، أربعة، خمسة، ستة، سبعة. وهذا تبسيط
مهم. ليش؟ لأن إحنا اتفقنا أن هذه الـ state diagram
هتتحول فيما بعد لـ circuit مرسومة فيها flip flops،
فيها gates، فيها logic، فيها sequential circuit، فيها
تحكم بإشارة بأي شيء مختلف. وبالتالي أنا بهمني أن الـ
state diagram قبل ما اشتغل عليها، وأحولها من هذه
الصورة لصورة physical hardware، بهمني أنه لازم تكون
مبسطة. فهي اللي إحنا قاعدين نشتغلها الآن. هذا المثال
اللي شفتوه قبل شوية، سهل، مافيش فيه شيء، ما أضاف
معلومة جديدة عن اللي شرحناها في بداية المحاضرة، بس
simple matching، شوف وين فيه rows شبه بعض، إلغيهم،
وخلي واحد عنهم، واعمل هذا الكلام أكثر من مرة
للكل، لغاية ما تتبسط معك. الآن تعالوا نشوف المشكلة
اللي أنا بقول عنها الآن، من خلال المثال التالي هذا.
المثال… وخليني أكبر كمان شوية، نتطلع فيه الآن.
بالنسبة للمثال هذا، لو جينا نسألكم، طبعاً، لاحظوا شيء
مهم. هذا أخذ من الدوائر، عمل الـ state table، وجهز.
يعني كان في الأصل فيه دوائر، فريحني هو، ومن الدوائر
عمل الـ state table. من هنا بيبدأ الشغل، من الـ state
table. بيبدأ الشغل، لأنه من الدوائر للـ state table
ما فيها شيء زي ما شفنا بداية المحاضرة. من هنا
بيبدأ الشغل، كيف أقدر أبسط؟ الآن فكرتنا العادية اللي
اتكلمنا عنها في الأول، simple matching. يعني
الآن هتسير تدوروا زي ما قلت قبل شوية، وين فيه
اثنين rows شبه بعض بالكامل، حتى أشيلهم. لو جينا
نتطلع في هذا المثال، هنلاقي مافيش ولا اثنين rows شبه
بعض. يعني دوروا A, C, A, B, D, E، دوروا جد ما تدوروا، الآن مش
هتلاقوا ولا اثنين rows شبه بعض. وبالتالي إيش
هتجاوبوني؟ هتقولوا لي أن هذه مبسطة في أبسط صورة،
ومافيش تبسيط زيادة. لكن للأسف هذه الإجابة غلط. ليش؟
لأن فيه فعلاً في هذا السؤال تبسيط. صح، ما طلعش معايا
بطريقتنا الأولى اللي هي الـ simple matching، لكن
بالتأكيد فيه طرق ثانية هنتعلمها، علشان نشوف كيف نطلع
التبسيط لو كان موجود. يعني الخلاصة أن طريقة الـ
simple matching اللي أنا قلتها، أو علمتكم في
بداية المحاضرة، غير كافية، حالة ما بتكفيش. ليش؟ لأن
أنت حتى بعد ما تشيل الـ simple matching، ممكن اللي
ضلت معك تكون تحتاج إلى تبسيط أكثر. وبالتالي أنا
بحاجة الآن للطريقة الإستكمالية. الطريقة، بقى، كيف؟ طب
أنا أعرف أن هنبسط ولا لأ؟ وكيف أبسط لو كان في تبسيط
زيادة. هذه اللي أنا ببدأ اشتغل عليها، وأحاول أعلمكم
إياها. بس ما تنسوش كمان مرة، أنه هان مافيش ولا
simple matching. يعني مافيش ولا اثنين rows شبه بعض،
إلا أنه في هذا المثال لسه فيه تبسيط. تعالوا نشوف
طريقتنا الجديدة كيف بتشتغل، وهذا بنحاول نخرج شوية
على اللوح. وبدها شوية تركيز، علشان تفهموا القصة
بسهولة. طيب.
الآن كيف بدنا نشتغل؟ بدنا نعمل chart، تمام؟ شكل
الدرج. بس كيف هتبقى؟ نعمل زي ما أنا بعمل، طالع
معايا، بدي أعمل زي هيك، خليني بس أرجع لورا، عشان
اللوح يكفي.
بدي أجي زي هيك، شايفين إيش بعمل؟ طالع زي الدرج، و
باجي بقول هيك.
وانتبهوا، أنا لازم أبدأ من B. يعني أنا بدي أقول أنا
بدي أضع B هان، تمام؟ وبعمل نفس الفكرة، وبنزل خط زي
هيك. الآن بدي أكمل، فيه لسه ضايل عندي C، فبكتب الـ C، و
بكمل الدرج بنفس الطريقة. الآن لسه ما خلصتش طبعاً.
انتبهوا، ما بدأتتش من A. كمان شوية هنشوف ليش أنا بدأت
من B، وخلصت C. وهي الآن بدي أضع مين؟ D، وبدي أمشي
بنفس الطريقة، ولأمتى هتظل ماشي هيك؟ لغاية ما أخلص
كل الدوائر اللي عندي. تعالوا نكمل، لسه ما خلصناهاش.
شايفين D، وراها مين؟ الـ A. طيب، وراها مين؟ الـ F، بنفس
الطريقة. شايفين كيف نمشي؟ الـ F، وراها مين؟ الـ G. 384 00:27:46,73
نشتغل مع C، مش هي المربع هذا عبارة عن مقارنة A مع
C. تعالوا نقارنهم، الشاطرين هيقولوا X. ليش أنا حطيت X؟
لأنه يطلع الـ output اللي هنا Zero، الـ output اللي
هنا واحد. إيش معنى ده الكلام؟ يعني حتى لو اتشابهوا، هنا
لا يمكن الـ A تكون الـ C لأن الـ output مختلف، إذًا
أنا ريحت دماغي أول ما لقيت الـ output مختلف،
الـ output مختلف، روحت إيش سويت؟ حطيت X، إيش معنى
الـ X؟ معناها لا يمكن A و C يتشابهوا بأي حال من
الأحوال، لا يمكن. طب ليش أنا ما حطيتش الـ X فوق بين A و
B؟ لأنه في الـ A و الـ B الـ output زي بعض، وبالتالي
في إمكانية، ممكن المرشحين يكونوا زي بعض بالشروط
التالية اللي أنا سجلتها جوا، هاي باختصار القصة. طيب،
تعالوا نكمل نفس الفكرة، الحين بدأت أقارن مين؟ A مع
D. تعالوا نقارن الآن A مع D، هاي A مع D. وين الـ
output؟ و الـ output؟ output motorcycle. يبقى هذا مرشح
يكونوا زي بعض. يبقى بتسجل الشروط. شو الشروط؟ تعالوا
نتطلع. إن الـ D و الـ A يكونوا زي بعض. سجلها. الـ D و الـ
A يكونوا زي بعض. و كمان الشرط الثاني، و الـ C و الـ E
يكونوا زي بعض. والـ C و الـ E يكونوا زي بعض. إذًا هدول
كانوا زي بعض، و هدول زي بعض. صحيح، بتصير الـ A شبه الـ D
و هاي لسه أنا مش عارف شبه بعض ولا لأ. كمان شوية في
الـ round الثاني هنعرف إنه شبه بعض ولا لأ. بس هكمل
الآن بنفس الفكرة، بنفس الطريقة. تعالوا نشوف الـ A مع
الـ E. يلا نقارن الـ A مع الـ E. بالدقة لأن أنا همشي
عليهم كلهم. الـ A مع الـ E. لاحظوا الـ output ماله؟ في
الـ A مختلف عن الـ output في الـ E. إذًا مافيش شروط
على طول بحط إيش؟ X. إنه لا يمكن. وكذا بكمل. طب الـ A مع
الـ F بالدور برضه. الـ A مع الـ F مستحيل لأن هذا صفر
وهذا واحد. إذًا لا يمكن. طالما الـ output مختلف، لا
يمكن. على طول بحط إكسات. طيب الـ A مع الـ G. هذه الـ A
وهذه الـ G. وهذه الـ A وهذه الـ G. سأقارنهم. الـ output
زي بعضه. إذًا ممكن بشرط الـ D و الـ B زي بعض، و الـ C و
الـ H زي بعض. دي و بي و سي و أتش. سجلتها و بدي أكمل.
آخر شيء الـ A مع الـ H لا يمكن. و بدي أكمل بنفس الطريقة.
بدي الآن أرجع للـ B الشغل. هعمل الـ B بس، وبعدين هفتح
مكملين، وجاهزين. لأن هي نفس الفكرة، تكرار للأمر بس
خليني أعمل بالـ B من باب التأكيد على المعلومة الآن.
هنقارن. الـ B مع مين؟ خلاص مش هقارنها مع الـ A فوق،
ليش؟ لأنه خلصناها، لأنها موجودة، مش هتفرق. A و B و
لا، بيه A، فخلاص خلصت، فأنا هقارن الـ B مع كل اللي
تحتها، هقارن الـ C مع كل اللي تحتها، هقارن الـ D مع
كل اللي تحتها، وهكذا، بكون خلصت كل المقارنات
الممكنة. الآن تعالوا نشوف، بدأ نقارن B مع C،
الشاطرين هيقولوا على طول، طالما الـ output مختلف، X
على طول. باجي بقول، هي الـ B مع الـ C، X. بفكرش. طب
خلصنا من الـ C. B مع D. اه، B مع D. الـ output و الـ
output زي بعض. إذًا تعالوا نشوف الشروط. عاد، F و A لازم
يكونوا شبه بعض، و H و E. هي F A و H و E. خلصنا من A
دي. الآن بنفس الفكرة. A مع E. A مع E مستحيل لأن الـ
output في الـ E واحد، وهنا الـ output صفر. إذًا على
طول بقوله X. بي
مع E مستحيل. بي مع F برضه. الـ output في B صفر، الـ
output في F واحد. أيضا مستحيل. بي مع G. اه ممكن، بس
بشرط الـ H تكون نفس الـ H. بكتب H، لأن الـ H نفس الـ
H.
والـ F نفس الـ B. إذًا أنا بسجل فقط FB. ليش ما سجلتش
H مع H؟ لأنه أصلاً الـ H و الـ H واحد. ليش أكتبها؟
ما هي معروفة. الـ H و الـ H واحد. هذه مافيش فيها
تردد، هذول شبه بعض، H و H، ما بكتبهاش. أنا بكتب اللي
مش عارفهم. افبع B، B مع L، زي هيك. طيب، آخر حاجة
ظلت هنا BH. طالما الـ output واحد و الـ output زيرو
مالها؟ إكسات، و بنكمل بنفس الطريقة، و ما تنسوش إنه
الآن في C الـ output واحد، يعني أحط X على طول مع هذه
و X على طول مع هذه، و أقارن مع هدول. يعني الآن بطلع
النتيجة عندي زي هيك، بعد ما نعمل الـ round الأولى.
خلينا نصغر بس شوية. home. تمام، الآن
هذه الرسمة اللي أنا رسمتها، جاهزة تمام، و مكملة. أنا
بس اشتغلت الـ A و الـ B، وهنا بنفس الطريقة هتشتغلوا C
و D و E و F و G. فبتطلع معايا الرسمة زي ما أنتم
شايفينها. الآن طيب، في عندي ملاحظة في الأول عشان برضه
نفهمها. هنا الـ A و الـ D ممكن أشطبها. لإيش؟ لأنه أنا
ما بقول في المربع هذا إن الـ A تكون شبه الـ D، و
الـ D شبه الـ A. طب ما هي أصلاً المربع هو بفحص A مع
D. يعني أنا عشان أقول الـ A بتشبه الـ D، هذا الشرط
لا بيقدم ولا بيأخر. هذا الشرط اللي بيقدم ولا بيأخر
لو هذا اتحقق، خلاص هقول A بتساوي الـ D. هذا
ما بيهمنيش. فلما بلاقي اسم الـ corner، يعني هنا A D
بين A و D، ممكن أشيلها، مافيش مشكلة. يعني واحدة ثانية
مثلاً، هيها مثلاً هنا. ليش شال الـ C و الـ E؟ لأ، أنا بين
مين ومين؟ هي بين الـ C و بين الـ E، فليش أحطها؟ يعني
مش هتضيف لي معلومة. الـ C و الـ E لأن أنا قاعد بأفحص
هل الـ C شبه الـ E ولا لأ. يعني أنا لسه بأحكم هل الـ
C شبه الـ E ولا لأ. فبالتالي الـ C و E مالهاش لازمة.
فممكن أشيلها. لكن على كل حال، شيلتها ما شيلتهاش، مش
هتفرق كتير معايا في السؤال. الآن تعالوا نشوف إيش
الخطوة اللي بعد هيك. يعني أنا الخطوة الأولى عملت
مقارنات بين كل state و الـ state الثانية، و عن طريق
الجدول اللي أنا عملته، هذه اللي بنسميها implication
chart. طلع معايا الـ chart هذا، و أتوقع الحصول على الـ
chart هذا. مش صعب زي ما احنا سوينا. توقع بس السؤال
الآن. طب بقى اللي عمل الـ chart، إيش بدي أعمل؟ خطوات
إيش بدي أكمل؟ تعالوا نشوف كيف نكمل، وهذا مهم جداً.
تعالوا نشوف كيف نكمل. نبدأ من الأول. من A و B. إيش
مكتوب؟ الشرط الأول، إن يكون الـ D و الـ F شبه بعض. إذًا
بدنا نقول الـ A و الـ B شبه بعض. طب وين الـ D و الـ F؟
دوروا. وين المربع تقاطع الـ D مع الـ F؟ هتقولولي هي الـ
D. وين الـ F؟ وين الـ F و الـ D؟ هي الـ D و الـ F، وينها؟
وينها؟ وينها؟ هي هذا. شايفين هذا المربع؟ هي هي بين الـ F و
بين الـ D. إيش لقيت أنا جوا؟ مكتوب X. إيش يعني هذا الـ
X؟ يعني مستحيل الـ D و الـ F يكونوا شبه بعض. طب شو بدي
أستفيد من المعلومة هذه؟ بدي آجي على طول أحط X كبير
هنا. خلاص هذا لا يمكن. هذا معناه لا يمكن A بتساوي B.
كمان مرة. طلعوا معايا. الآن بدنا نفهم الفكر، بدنا
نفهم المعنى. هنا إيش بيقول لي؟ بيقول الـ A بتساوي الـ B
أو بتكون شبه الـ B، أو equivalent لـ الـ B. إذًا تحقق
الشرط الأول كذا، وتحقيق الشرط الثاني كذا. فالآن بدي
أفحص الشرط الأول، وأفحص الشرط الثاني. إذًا اختل أحد
الشروط، خلاص بأكس، طبعاً لا يمكن يشبهوا بعض. فإيش
الشرط الأول بيحكي لي؟ بيقول لازم الـ D و الـ F، هي لازم
الـ D و الـ F يكونوا زي بعض. طب بدي أفحص وين المربع
اللي بين الـ D و الـ F؟ هاي الـ F، هاي الـ D. إيش يعني الـ
X هذا؟ الـ X معناه إنه لا يمكن الـ D و الـ F يكونوا
شبه بعض. طالما لا يمكن يكونوا شبه بعض، إذًا احنا
بالنتيجة هنقول لا يمكن كمان الـ B و الـ A يكونوا شبه
بعض، لأن هذا أحد الشروط، ومش متحقق. وبالتالي أنا
شطبته، وهمشي بنفس الطريقة. تعالوا نكمل. الآن هذا إيش
بيقول لي؟ أفحص الـ C و الـ E. طيب وين الـ C و الـ E؟ تعالوا
نتطلع. نفس الفكرة. وين الـ C و الـ E؟ وين الـ C و الـ E؟ هي
الـ C، وهي الـ E. مافيش X. بصبر عليها. لسه مش عارف. ممكن
اه، ممكن لأ. بسيب الـ C و الـ E. يعني الـ C و الـ E، لأن
مش هتعطيني معلومة. خلاص هسيبها. أكمل، امشي بالدور.
تعالوا لهي. B و D. اه، وين الـ B و D؟ هي الـ B، وهي الـ
D. مافيش شطب، مافيش X. ما أقدرش أحدد، بسيبها. طب C و
H. وين C و H؟ هاي C و H. للأسف الشديد مافيش شطب.
بسيبها. يعني إذا ما لاجيتش الـ X واضحة، ما بلعبش فيها.
بسيبها، وبنتقل على غيرها، وبكمل. الآن تعالوا نكمل.
بنفس الفكرة. هدول؟ هد، خلاص انشطبت. هد سبتها، هد
سبتها. الآن تعالوا هنا، بالدور نمشي. A مع F. وين A مع
F؟ اه، هاي A و هاي F. إيش هاتّ X؟ إيش بتسوي؟ على طول
على طول، حاجة، بتسوي X. كمله.
B مع F. اللي هي بين B و G. وين B مع F؟ هاي B و هاي F.
X. إيش معناها؟ فيه كمان X بتحطه هنا، لأن هذا بيقول لي
الـ G بتشبه الـ B. إذا كانت الـ B شبه الـ F، لما جيت
أفحص B مع F، لقيتها X. لأن أنت لا يمكن تكون شبهي.
فأنا هنا قاعدة بشطب. ديروا بالكم، بشطب على الأمور
الواضحة، وهمشي بنفس الطريقة. الآن تعالوا نكمل. إيش
رأيكم هنا؟ A مع D. أشطب ولا لأ؟ لازم أفحص المربع A
مع D. وين المربع A مع D؟ هاي A و هاي D. مش مشطوب.
طالما مش مشطوب، ما بقدرش أشطب، بسيبه. خلاص بمشي عنه.
بعتبر حالي ما شفتش، بمشي عنه. نشوف هنا. هنا في شرطين.
A مع F، الشرط الأول. وين A مع F؟ هاي E مع F. مافيش
شطب، بسيبه. وين الشرط الثاني؟ بكمل. الشرط الثاني
مشطوبة. بي مع دي. إيش أنا هأسوي؟ على طول هريح دماغي
منه، وأشطب. ليش شطبت؟ لأن بي مع دي، أي مشطبة. هي بي مع
دي، أي مشطبة. فشطبت. بكمل. الآن لو وصلت لحد هنا، سي مع
إيه. الآن أنا هأبدأ من هنا، تمام؟ سمعني؟ هأبدأ من هنا،
بس في الآخر هنجرّب، ونبدأ. يعني أنا وصلت لإيه؟ بيه.
هنكمل تكميل. هقول لك بنا نجرّب ونكمل. خلاص تمام. طيب،
الآن نيجي نكمل. بعد ما شطبنا هنا، بنشوف الـ C و الـ E.
لأن عشان أفحص الآن الـ C و الـ H بتتشطب ولا لأ، بنشوف
الشرطين، اللي هو C و E، و D و G. تعالوا. وين الـ C و الـ
E؟ هاي C مع الـ E. مش مشطوبة، إذًا حتى أنا ما شطبتش. طب
وين D مع G؟ وين دي مع جي؟ هاي دي مع جي. مش مشطوبة طبعاً.
مش مشطوبين. أنا الـ C و الـ E مالهم
الـ state diagram أعمله تبسيط في طريقة الـ simple
matching ما لاجيناش فيه تبسيط لكن لما عملنا عليه
الـ implication chart الطريقة اللي قبل شوية اعتمدنا
برجَع و عبّينا ومشينا فيها ودورنا على مش مشطب وطلعنا
بالنتيجة هايف هذه نتيجة التبسيط، فما معناها؟ أن
الـ A يا جماعة وأن الـ D صحيح شكلهم مختلفين لكنهم
مالهم الـ A و الـ D صحيح شكلهم مختلفين لكنهم واحد
وبالتالي إيش هأعمل الآن؟ هشطب مثلاً الـ D وأسيب
مكانها مين؟ الـ A وبالتالي كل دي إيش عملناها كل دي؟
A كل دي A كل دي A هذه أول شطر، المعلومة الثانية
اللي أخدناها من الـ application chart أن الـ E و الـ
C شبه بعض، تعالوا تطلعوا في الـ E و الـ C هتقولوا ليه
مختلفين في الشكل، صحيح مختلفين في الشكل لكن طريقة
الـ implication table عرفتني إن هم كمان متشابهين
وبالتالي هذه الـ simple matching بتجيبهاش الـ
simple matching، لازم يكونوا سواء بعض، typical هذه
الطريقة الثانية بتجيب لي حتى لو مختلفين وهم في
الأساس equivalent بتطلع لي إياهم، فحكيت لكم الـ E و الـ
C شبه بعض، وبالتالي إيش هنعمل إذا الـ E و الـ C شبه
بعض؟ هنلغي واحدة زي ما بنعمل ونسيب الـ C وكل E
هبدلها بإيش الآن؟ وبيصير هيك هذه الرسمة اللي كانت عبارة
عن واحد اتنين تلاتة أربعة خمسة ستة سبعة تمانية
لجينا فيه اتنين واتنين equivalent وبالتالي صار
الشكل الجديد تبعهم كام واحدة؟ واحد اتنين تلاتة لأن
شُطبت اتنين أربعة خمسة ستة، وبالتالي هذه مالها؟ تمّ
تبسيطها من ثمانية دوائر لستة دوائر، تمّ تبسيطها
لست دوائر، وبهيك خلصنا موضوع الـ state reduction عن
طريق الـ implication table، هاي باختصار، إذن
conclusion للي أنا حكيته: أول نقطة لازم احنا نعمل
state reduction، لازم احنا نعمل تبسيط لإيش؟ عشان
أحصل في النهاية على الـ hardware تبع عمله بسيط وصغير
حتى يكون أسرع و more efficient، الآن كيف أبسط هذه الـ
state diagram اللي موجودة عندي؟ أول حاجة بدي أحولها
على شكل state table زي ما عملنا في بداية المحاضرة
الـ state table سهل الحصول عليه من الـ state diagram
زي ما عملنا، طيب الآن الـ state table قاعد قدامي، إيش
بدي اشتغل عليه؟ كيف بدي أسوي؟ قال لي: أول شيء بدي أفتش
على الـ simple matching، الحاجة السهلة، اتنين شبه بعض
خلاص، كل اتنين شبه بعض بشيلهم، بخلي واحد، كل اتنين
شبه بعض بشيلهم، بخلي واحد، الآن النتيجة اللي ضلت
معي قال لي: مش بالضرورة يكون هذا أبسط شيء، وبالتالي
لازم أكمل طريقة الـ implication chart اللي هي طريقة
الدرج، أعملها وأحط المعلومات وأحاول عن طريق الدرج
أعرف مين كمان فيه equivalent زي هذا المثال قبل
شوية، لو بالـ simple matching ما كنش… ما كنش عارف، مش
لاجي أي حاجة equivalent لكن لما طبقت طريقة الدرج
طريقة الدرج هات إيش سوت؟ طلعت لي معلومتين مهمات أن
الـ A و الـ D equivalent، يعني تقدر باطمئنان تشيل
واحدة وتخلي واحدة، وأن الـ E و الـ C equivalent،
تقدر تشيل واحدة وتخلي واحدة، هاي باختصار، إذن
الطريقة مش صعبة لكن زي ما شايفين بدها دقة وترتيب
ودرَج وحط المعلومات ونقارن ونحط الـ Xات ونمشي أكتر
من مرة، طول ما فيه تشطيب نعيد، طول ما فيه تشطيب نعيد
لما يبطل فيه تشطيب، آخر شيء، وين المربعات اللي
ما تشطبتش؟ هي اللي هتعطيني المعلومات، مين equivalent
مع مين؟ يعني أنا في الآخر بس بدور وين المربعات اللي
ما تشطبتش علشان أنا أقدر أعرف مين شبه مين، هذه
باختصار
هذه هي آخر رسمة التي حلّيناها توّه، هذه اللي احنا
حلّيناها بعد ما حلّيناها وخلصنا وشطبنا مرتين وتلاتة
أو أربعة، تطلع كنتيجة نهائية إيه؟ بس هذا ما تشطبش
إذًا E و C شبه بعض، وهذا ما تشطبش، إذًا D و A شبه بعض
الباقي كله مشطوب، ما أخذتش معلومة زيادة، الآن لو على
فرض على فرض مثلاً هذا ما كانش مشطوب، لو ما كانش مشطوب
هاضيف معلومة جديدة، إيش هي المعلومة الجديدة؟ أن الـ E
و الـ H شبه بعض، وطالما الـ A و الـ H شبه بعض والـ
A و الـ C شبه بعض، إذًا التلاتة بيكونوا شبه بعض في
حال، لو ما كانش مشطوب، بس الآن هو مشطوب وبالتالي هذه
المعلومة مش هناخدها، باختصار، طيب الآن برضه بنكمل
نشوف بعض المشاكل في هذا الدرس، بس قبلها خلينا نشوف
كيف نعرف إذا في عندي اتنين sequential circuits
متشابهات، equivalent ولا لأ؟ يعني على سبيل المثال في
زي ما شايفين هنا، خلّيني أمسح اللوح لكي الأمور
تكون واضحة، طبعاً هذا درس جديد، الدرس هذا بيسألني
سؤال وبدي أعرف إيه جوابه، اللي هو: هل الـ sequential
circuit ألف equivalent للـ sequential circuit باء
ولا لأ؟ وكيف نعرف إذا هدول equivalent ولا مش
equivalent؟ طيب، عشان نعرف هدول equivalent ولا لأ
باختصار، إيش قانون الـ equivalent؟ بيقول لك: إذا كان لكلّ
دائرة في الرسمة الأولى دائرة شبيهة فيها، equivalent
لها في الرسمة الثانية، وهذا الكلام محقق لجميع
الدوائر في الـ sequential circuit الأولى أو الـ
state diagram الأولى، محقق لكل الدوائر في هذا
الكلام، إذا الـ state diagram هاي والـ state diagram
هاي بيكونوا equivalent، طيب السؤال: كيف بدي أعرف؟
يعني أنا جاي لي سؤال زي هيك، واحد بيسألني: هل الـ high
listed diagram high والـ high listed diagram high شبه
بعض ولا مش شبه بعض؟ طبعاً في طريقة أولى تعتمد على
النظر والمقارنة، لكن مش هي اللي هتعتمدها، وفي طريقة
ثانية تعتمد على method واضحة، بدنا نمشي عليها بشكل
واضح عشان نعرف النتيجة، الطريقة الأولى اللي تعتمد
على النظر، باجي بدرسها واحدة واحدة، باجي بقول: هذه الـ
A اللي بتلف على نفسها إذا اجى input واحد وبتطلع
صفر وبتروح على دائرة ثانية إذا اجى صفر وبتطلع
output صفر، هل في دائرة مشابهة تكون شبهها في الدائرة
الثانية أو في الـ diagram الثانية؟ هل في واحدة
شبهها؟ لو اجينا نتطلع شوية هنلاقي أن الاتنين هدول
بلفوا على بعض، لكن لسه أنا مش عارف مين الأقرب لهذه
من هذه، تعالوا نطلع: هذه بتلف عند واحد بتطلع صفر،
شايفين؟ هذه بتلف عند واحد بتطلع صفر، هذه بتلف عند
واحد بتطلع واحد، إذًا مستحيل الـ A تكون S3 لكن في
إمكانية أن الـ A و الـ S2 يكونوا شبه بعض، وطبعاً هذا مش
كافي عشان أنا أقول إن هاي الـ state diagram شبه هاي
لازم هذا الكلام يتحقق لكل الدوائر، ألاقي دوائر
مكافئة في الرسم الثاني والعكس صحيح حتى أقول إن
هاي وهاي equivalent ولا لأ؟ الآن بالنظر هنقول: اه
والله هذه شكلها موجودة، الـ A هي شبه مين؟ هتقولوا لي هي
شبه الـ S2 بالكامل، لإيش؟ لأنه واضح إذا اجى واحد
بتلف على نفسها بتطلع صفر، وإذا اجى صفر بتروح على
حد ثاني بتطلع صفر، إذا اجى واحد بتلف على نفسها
بتطلع صفر، وإذا اجى صفر بتروح على حد ثاني بتطلع
صفر، فممتاز، فاحتمال الـ A تكون S2، طيب السؤال: عشان
أكمل الـ equivalent ولا لأ؟ الـ A، و اين راحت بعد هيك؟
لاحظوا، تعالوا نشوف هذه الـ B، هل هذه الـ B هي نفسها هذه
الـ S ولا لأ؟ برضه بتعمل مقارنة بنفس الشكل، هل هدول
اتنين واحد ولا لأ؟ وكمل، تعالوا نشوف: هل الـ B والـ S
نوت شبه بعض؟ تعالوا نتأكد، الـ B إذا اجاله واحد هيروح
على مكان جديد ويطلع واحد، تعالوا نشوف: الـ S1 إذا
اجاها واحد، هي راحت على مكان جديد وطلع واحد، لحد
الآن، والله شكلها شبهها، طيب تعال نشوف الحالة
الثانية، الـ B لو اجاها صفر هتروح على دائرة غير
الدائرة اللي قبل شوي راحت عليها، وتطلع صفر، تعال
نشوف: لو اجاها صفر، هي راحت على دائرة غير الدائرة
اللي راحت عليها وطلع صفر، إذًا واضح كمان عندي أن
الـ B بعد الفحص هي نفسها من الـ S node، يعني لحد الآن
بالنظر واضح أن الـ A هي نفسها الـ S2، واضح معايا أن
الـ B هي نفسها الـ S node، الآن بنكمل بنفس الآلية، هل
هذه الـ B اللي طلعت على الـ D وهذه اللي راحت هنا
طلعت على الـ S1، هل الـ S1 والـ D شبه بعض ولا لأ؟
هنعمل نفس الفحص ونفحص S مع D ونعيد الفحص بين C وS
هنجيبهم فعلياً شبه بعض، equivalent وبالتالي هاخد على
طول الـ conclusion وأقول إن فعلاً الـ state diagram
الأولى شبه الـ state diagram الثانية، لكن إيش مشكلة
الطريقة هاي؟ مشكلتها إنها بتعتمد أكثر على النظر
وأني بدي أشوف وين الدائرة و وين الدائرة المكافئة لها،
وأمشي وأتبع فيها وهكذا زي ما أنا عملت قبل شوية، لكن
مشكلة الطريقة هاي، لو الدوائر كتيرة والأسهم كتيرة،
صعب إني أقارن كل دائرة بدائرة وبالتالي أكيد في
طريقة ثانية systematic اللي أنا لو اتبعتها تعطيني
النتيجة النهائية، إن هل الـ diagram شبه الـ diagram ولا
لأ، equivalent للـ diagram ولا لأ؟ واللي أبدأ أتعلمها
الآن، إيش هذه الطريقة الـ systematic اللي أنا من
خلالها بقدر أحكم إن الـ diagram equivalent للـ diagram ولا لأ؟
تعالوا نشوف الطريقة الثانية اللي هي أحسن من الـ
subjective أو أحسن من النظر والمقارنة، تعالوا نشوف
كيف هذه بتشتغل، طبعاً الطريقة الثانية بتعتمد على الـ
implication chart اللي أخذناها قبل شوية، كيف يعني؟
يعني تعالوا نشوف إيش بدنا نعمل، بنفس الطريقة اللي
قبل شوية، بدي أعمل implication chart، مربع، أبدأ أضع
هنا كأعمدة دوائر إحدى الرسمتين، مش كان الرسمتين عندي
واحدة A, B, C, D والرسمة الثانية S0, S1, S2, S3 وبالتالي
أبدأ أضع كـ rows الـ states بتاع الـ circuit الأولى أو الـ
state diagram الأولى، وأضع هنا كـ columns الـ states
تبعون الـ state diagram الثانية، هذا أول ما يحدث، زي
هيك أسوي، هيّا
أعمل مربع بشكل واضح، سهل، أخليه فاضي عشان نعرف كيف
نشتغل عليه، هنا S0, S1
S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15
S16, S17, S18, S19, S21, S22, S23, S21, S22, S23, S21, S21
S21, S21, S21, S21, S21, S21, S21, S21, S21, S21, S21, S21
830 01:
يكونوا شبه بعض مستحيل لأن الـ output تبع التنتين
هدول مختلف أساسا، إذا مستحيل يكونوا شبه بعض الآن.
بنفس الطريقة هنكمل و نقول بس هنعمل الـ B و هنشوف
النتيجة مباشرة في الكتاب، بس الـ B من باب التأكيد
على المعلومة. الـ B الآن مع الـ S node كيف نقارن؟ همسح
الآن هذا الكلام هنا، أُعلم على الـ B عشان ما نخبطش، و
أبدأ الـ B، أفحصها بالدور مع الأربع هدول، هبدأ
بالأولى، الـ B هيها، هبدأ بالأولى، الـ B مع الـ S node.
هي مربعها أول شيء بتطلع عليه الـ output، الـ output في
الاتنين إيش؟ واحد. إذا في احتمال يكونوا شبه بعض.
لكن شو الشروط؟ الـ C والـ S3 يكونوا شبه بعض على طول.
بقول الـ C و الـ S3 شبه بعض، وشو الشرط الثاني اللي عند
الواحد؟ و الـ D و الـ S1 يكونوا شبه بعض، و الـ D و الـ
S1 يكونوا شبه بعض. الآن، بعيد بين الـ B وأفحصها مع
مين؟ مع الـ S1. الشاطرين على طول هيقولوا X على طول.
لأن الـ output هنا غير الـ output هنا، وبالتالي
مستحيل الـ B والـ S1 يكونوا شبه بعض، وبالتالي على
طول باجي بحط X مباشرة بدون ما أكمل، لأن الـ output
مختلف. طيب، بنكمل بنفس الطريقة، الـ B مع S2، طالما الـ
output برضه مختلف، بحط إيش مباشرة؟ X. الـ B مع S3، الـ B
مع الـ S3، طالما نفس الـ output، هرجع أقول ماشي، بتشبه
بشرط الـ C مع S2، وشو الثانية؟ الـ C مع S2 و الـ D
مع S3، وهنكمل بنفس الطريقة، ونحصل على هذا الجدول
اللي هو A، تمام؟
اللي هو هذا الجدول. صار عندي الآن الجدول هذا جاهز.
الآن، كيف نشتغل عليه بعد
ما جهز الجدول؟ هنعمل نفس الشغل اللي عملناه قبل شوية
في الـ state reduction. همشي عليهم مربع مربع، مش
مشتتات، وأعمل المقارنة، وإذا جيت X، هرجع أكس عليه
بالترتيب، تعرفوا يعني كيف القصة؟ تعرفوا نبدأ نشتغلوا
هعيد الـ round أكتر من مرة زي ما قلنا قبل شوية.
تعالوا نشوف الآن، بدأ نفحص مين؟ الـ B مع states صح؟
وين الـ B؟ وين states؟ هي الـ B هي states
مافيش شطب، مش هشطب هنا، خلاص. بتظل، بمشي، طيب وين الـ A مع
states؟ هي الـ A طلعت، هي A مع states شو؟ X. إيش معناه الـ X؟
أن الشرط هذا مش متحقق، وبالتالي إيش هعمل على طول؟
هشطب هذا مباشرة. ليش شطبته؟ لأنه في شرط مش متحقق، أنه
لازم الـ A والـ states يكونوا شبه بعض. لما جيت أفحص الـ
A مع الـ states، لجيت، مستحيل يكونوا شبه بعض، إذا
بالتالي A و states مستحيل يكونوا شبه بعض، فشطبت على
طول. الآن بمشي بنفس الطريقة، الـ B مع S node، وين الـ
B مع S node؟ هي الـ B مع S node، مش مشطبة، بسيبها. بمشي
جامب تحتها A-2، A-2 هي نفسها، ما استفدتش منها، بسيبها.
باجي هنا C-3، C-3، C-3 هي مش مشطبة، بسيبها، لسه ما أخدش
فيها قرار. D-1، D-1، لحظة هنا برضه مش مشطبة، بسيبها،
ما أخدش فيها قرار، بمشي، بمشي بالترتيب لغاية ما أخلص
المربع هذا، بسميه round one. نكمل C2، أين C2؟ هاي، هتطلع
فيه تشطيب هنا، شايفين؟ هاي C2 مشطبة، إذا بالتالي حاجة
على طول، المربع هذا ماله؟ أشطبه. أكمل الآن A3، A3 هي X،
إذا على طول هذه مالها؟ بشطبها. أكمل، A-2، بشطبها، بسيبها،
C-3 نفسها،
بسيبها، باجي هنا C-3 نفسها، بسيبها، B-0، B مع states بس، C
لأن مافيش تشطيب. باجي هنا C مع states، وين C مع states؟
هاي C، شايفين؟ مع states، مشطبة، إذا أنا على طول باجي
بقول هذا مشطبة. ليش؟ لأن الـ C مع states مشطبة، وبالتالي
بتشطب. الآن خلصنا هذا اللي أنا خلصنا، بنسميها round
one. الآن طالما شطبنا في round one، لازم أعيد round
two. إذا شطبت في round 2، لازم أعيد round 3 لغاية ما
يبطل فيه تشطيب. باخد النتائج زي ما عملنا قبل شوية.
الآن، طالما صار فيه تشطيب في round 1، هرجع ثاني وأ
أعيد، أبدأ من جديد، ب مع S node، وين ب مع S node؟ هاي
ب مع S node، مش مشطبة، سبتها. A مع S2، A مع S2
مش مشطبة، سبتها. امشي هنا، C مع S3، C مع S3 مش
مشطبة، سبتها. D مع S1، D مع S1 مش مشطبة برضه،
بسيبها. جيه ثاني A-2، A-2 مش مشطبة، بسيبها. C-3، C-3 مش
مشطبة، بسيبها. C-3 مش مشطبة، بسيبها. B-0، B-0 مش مشطبة،
بسيبها.
B-0، B-0 مش مشطبة، بسيبها. B-0 B-0 B-0 B-0 B-0 B-0 B
-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0
-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 B-0 هذا
الأول، ما تشطبش، ما هي المعلومة بتاعتها أن الـ A
equivalent لـ S2، هاي أول معلومة. إذا الـ A
equivalent لـ S2. طيب، ومين ما تشطبش؟ هذه ما تشطبتش،
إيش بتدينا معلومة؟ أن الـ B equivalent لـ S0. ومين ما
تشطبش كمان؟ هذه ما تشطبتش، إيش يعني؟ أن الـ C
equivalent
لـ S3، ومن لم يتشطب أيضا، هذا أيضا، ما يعني أن D
هو equivalent لـ S1. هذه النتيجة، تعالوا الآن ماذا
يعني؟ انظروا إلى هذه الرسمتين، الرسمتين هذه اللي
قبل قليل اشتغلنا عليهم، ما يقول لك هذه الرسمتين؟
ماذا يقول لك؟ يقول لك هي أول معلومة أن الـ A شبه الـ
S2، يعني هذه الـ A والـ S2 شبه بعض، ماشي؟ وشو كمان؟ و
بقول الـ B شبه الـ S0، هاي الـ B والـ S0 شبه بعض، ماشي؟
هاي الدائرة الثانية، مكان equivalent لها، و الـ وشو
كمان عندي؟ و الـ C، S3، يعني هذه الدائرة فيها مكان
equivalent هي S3. وأخر معلومة، الـ D شبه S1، إذا إيش
لاحظنا هنا؟ لاحظنا أن كل دائرة في الـ state diagram
الأولى لها دائرة equivalent لها في الـ state
diagram الثاني، وهذا متحقق لكل الدوائر اللي عندي.
هنا لهم دوائر equivalent لهم هنا، وبالتالي على طول
بنقول إذا state diagram ألف هو شبه state diagram باء.
باختصار، إذا الطريقة اللي هنمشي عليها أفضل من موضوع
النظر، نعمل الـ table اللي عملناها قبل شوية، المربع
اللي قبل شوية، ونحط المعلومات، ونشطب زي ما عملناها
قبل شوية، وفي الآخر بعد ما نخلص تشطيب المربعات،
الغير مشطبة بتعطيني main equivalent لمين؟ main
equivalent لمين؟ إذا جيت كل دائرة إلها دائرة في
الرسمة الثانية، وكل الدوائر اللي هنا هم اللي موجودين
في الرسمة الثانية، وما ضلش دوائر هنا فاضية مالهاش
حدّ هنا، إذا على طول الرسمتين بنقول عليهم equivalent.
هاي باختصار، ناخد
break تلت دقائق. طيب، الآن بدنا نستكمل كلّه في درس
الـ State Reduction، يعني أول ما بدأنا في الـ State
Reduction، كانت كل المعلومات موجودة، فبالـ Simple
Matching كخطوة أولى، شلنا المتشابهين، بعدين بالـ
Implication Chart اللي هو طريقة الدرج، عرفنا مين
الـ Equivalent وخلصنا الموضوع على هيك. لكن الآن في
إشكالية في هذا الدرس تحديدًا، أنه كيف بدنا نشتغل لو
كانت بعض المعلومات incomplete، مش موجودة، مش متوفرة.
يعني على سبيل المثال، طبعا هذه عنوان، reducing
incompletely specified state tables، يعني عند state
table، بعض المعلومات مش موجودة، مجهولة، مش معروفة في
الحالة هذه، كيف بدنا نسوي؟ ما بنقدرش نستخدم الطرق
السابقة، معناه هذا لازم نتعامل معاه بطريقة شوية
مختلفة، وتعالوا نحاول ناخد مثال ونشوف كيف بدنا
نشتغل فيه.
زي ما تشوفوا، في، أنا عندي state table، وكمان مرة
نذكر أن هذا الـ state table جاء من الـ state diagram،
يعني كان الـ state diagram معمول زي ما اتعلمنا، جاء
الـ state table. لو جيت تطلع في هذا الرسم هنا، الـ
state table، هتلاحظ أن هذه القيمة مش موجودة، مجهولة،
حاطط عليها شرطة، لا هي صفر ولا هي واحد، وهذه القيمة
مالها؟ مش موجودة، مجهولة، لا هي صفر ولا واحد،
وبالتالي، كيف بدنا نشتغل؟ يعني حتى لو بتتكلم في موضوع
الـ Simple Matching، أنه اثنين rows شبه بعض، طيب إيش
أتعامل مع هذا الفراغ؟ أتعامل معاه صفر ولا واحد؟
ووالله على كيفّي؟ كيف أختار؟ دورتين زي بعض ولا مش زي
بعض؟ ففي عندي مشكلة في موضوع الـ Simple Matching في
حال وجود الفراغات هذه، مش بس في الـ Simple Matching،
حتى في طريقة الدرج اللي أخذناها، كيف بدنا نقارن S0 مع
S1 في ظل وجود هذه الفراغات؟ كيف ده نحلّه؟ طبعا إيش
بيقولوا هنا؟ طبعا في عندنا طريقتين هنتعامل معاهم.
الآن، طريقة سهلة وطريقة ثانية بدها شوية شغل وبدها
شوية كتابة. الطريقة السهلة الأولى، واللي هي طويلة
شوية، إيش بيقول؟ بيقول بدي أحل هذا السؤال أربع مرات.
كيف يعني؟ قال بدي أعمل أربع فرضيات، الفرضية الأولى
قال بدي أعتبر صفر وصفر، وأشتغل زي ما اتعلمنا قبل
شوية في الـ Simple Matching وفي الدرج، وأطلع نتائج.
بعدين قال عيد الحل، إيش في احتمال ثاني غير الصفر و
الصفر؟ احتمال ثاني، واحد وصفر، فهي حيصير حله كمان
مرة بالطريقة القديمة قبل شوية، الدرج. بعدين عيد حل
ثالث، إيش الحل الثالث؟ أنه هذا واحد وهذا صفر، فأنا
حلّيته ثلاث مرات نفس السؤال، بعدين الاحتمال الأخير
الموجود، واحد واحد، وأحلّه للمرة الرابعة، بعدين أعتمد
الحل اللي أعطاني أكثر تبسيط ممكن. يعني الفكرة مش
صعبة، لكن طويلة، أنه طالما عندك فراغين وأنت بدك تحطّ
صفر أو واحد، معناه ما عندك إلا أربع احتمالات، يا
يكونوا صفرين، يا يكونوا واحدين، يا يكونوا صفر
واحد، يا يكونوا واحد وصفر، ففكرتهم هي أنه أحطّ
الاحتمال الأول، أحل عليه. طيب كيف ده أحل عليه؟ زي ما
اتعلمنا قبل شوية، Simple Matching، بعدين الدرج،
وبعدين مين اللي بتشبهوا مع بعض، وأطلع نتاجي زي ما
اشتغلنا. ليش؟ لأن لما بحط مثلا، مثلا صفرين، خلاص صار
سؤال زي اللي شفناه قبل شوية، سؤال كامل، مافيش فيه
فراغات، هشتغل الـ Simple Matching في الأول عشان أشيل
اللي بسرعة، اللي واضحين، وبعدين هشتغل موضوع الدرج
عشان أشيل اللي مش مبينين، اللي زي بعض مش مبينين، فده
حلّ، أحلّه، وأعيد للاحتمال الثاني، وللاحتمال الثالث، و
للاحتمال الرابع، وأحسن حل هو اللي هعتمده. طيب، وريني
كيف حلّوا الكتاب على السريع؟ أديك مثال، لو فرضناهم 1049 01:17:46
كله مشطب طلعت هذه مش مشطبة وطلعت هذه مش مشطبة بعد
ما حلنا إيش يعني مش مشطبة يعني أنه طلع عنده الـ S
node والـ S ثلاثة equivalent وطلع عنده أن الـ S1 والـ S2
equivalent إيش يعني في اثنين equivalent اثنين
equivalent يعني السؤال اللي قبل شوية هيتبسط ويصير
أصغر بشرط أنك فرضت الحالتين واحد وواحد بس هي
باختصار فلسفتهم يعني هو اللي الحل الأخير اللي هيتم
اعتماده يعني لو واحد سأل الآن السؤال بسطها تمد الحل
اللي فيه هذا واحد وهذا واحد ليش أنا اعتمدت هذا
الحل لأنه بس في اللحظة هاي لما بحط هذه واحد وهذه
واحد بيطلع فيه اختصارات بيطلع فيه تبسيط بيطلع فيه
state reduction وأنا معنى بالتبسيط ليش معنى
بالتبسيط عشان دائرتي اللي كبار شوية بدي أجيبها الـ
circuit الـ hardware يكون ماله سريع وefficient
وبالتالي هاخد الحل الأفضل والأمثل ليه بس زي ما
تشوفين الطريقة هذه مشكلتها مرهقة أن أنت قاعد تفرض
أكثر من فرضية وكل مرة بتعيد الحل عشان تدور على
أفضل طريقة وللأسف الشديد أنه مش بالضرورة كمان
أنها تطلع لك دائما التبسيط الأكثر يعني ممكن حتى
الطريقة هذه ما تطلع لكش الـ most simplified state
diagram أو state table وهذه مشكلة ناهيك أن أنت قاعد
بتجرب كتير كيف أنا بقصد بتجرب كتير يعني مثلاً مثلاً
لو أجاني سؤال زي كده مثلاً، هاي، زي هذا زي هذا،
خليني أكبره ونشوفه إيش بيقول لي هنا؟ بيقول لي بسط
اعملها state reduction هنا مصيبة هذا السؤال لإيش
لأنه طلع كم missing value هاي واحدة هاي اثنين هاي
ثلاثة هاي أربعة هاي خمسة هاي ستة وبالتالي لو بدك
تحط عدد الاحتمالات كلها هتلاقي عدد كبير جداً يعني
بدك تقول 000000 هذا حل 010000 هذا حلّين يعني
هتلاقي حالك عندك خيارات كثيرة تملي الـ 6 فراغات
هدول وعندك محاولات كبيرة جداً عشان كلهم أحلهم و
ياريت في الآخر كمان تكون الطريقة تعطيني الـ most
simplified state هذه المشكلة أنها مرهقة كلما كثرت
الفراغات طبعاً أكيد لو على جد missing وحيد مش مشكلة
لأن الـ missing الوحيد عندك حلّين يا صفر يا واحد طب
لو اثنين missing values عندك أربع احتمالات طب لو
ثلاثة missing values عندي ثمان احتمالات لأنه 2 أس
3 هذه عارفين كم حل فيها ده بنحلها ونلاحقها هلأ 1
2 3 4 5 6 2 أس 6 كم؟ 64 يعني بدك تعمل 64 احتمال
وتحل 64 حل وفي الآخر تعتمد الأحسن في الـ 64 حل و
المشكلة كمان أن ممكن يجي واحد ثاني بطريقة ثانية
يعمل حل أحسن من حلك وبالتالي هذه الطريقة متعبة ولأ
ضروري نشوف الطريقة الثانية أقوى وأفضل وأسرع وهو
فعلاً ضايل طريقة عشان نختم درس اليوم فيها لازم
نحاول نعرف الطريقة الأخيرة اللي خاصة بالـ state
reduction اللي أبدأ فيها إن شاء الله في هذا المثال
تحديداً طيب خليني أشوف كيف نشتغله
كمان مرة لو كانوا الـ values هدول معبيات وموجودات
ولا حتة فاضية ولا بدها مني أي حاجة خلاص هعمل simple
matching بعد الـ simple matching هعمل الدرج وأعرف
مين شبه مين وخلصنا هذا لو كانوا كلهم مليانات إحنا
مشكلتنا لو عندي سؤال فيه فراغات الحل الأول أنه أملأ
الفراغات بكل الاحتمالات الممكنة وقلنا هذا الحل
بدناه شيئاً أو ممكن نمشي عليه لو كان فراغ فراغين
ممكن نمشي عليه لكن أكثر من هيك صعب يعني لازم نشوف
طريقة جديدة والطريقة الجديدة الصحية اللي بنتعلمها
الآن بدها شوية تركيز لأنها بتعتمد على حاجة اسمها
compatibility بدنا نحاول نشوف إيش يعني وكيف نتعامل
مع هذا السؤال طبعاً عشان نقدر نتعامل مع هذا السؤال
لازم برضه نعمل طريقة الدرج يعني زي ما تشوفين
طريقة الدرج طريقة مهمة جداً استخدمناها من أول
المحاضرة للآن وإحنا كل شوية بنرسم فيها الدرج حتى
لو أبدأ أقارن الـ study diagram مع الـ study diagram
اعمل طريقة الدرج أو المربعات فهذه طريقة مهمة جداً
تكونوا فاهمينها وعارفين تتعاملوا معاها لأن زي ما
تشوفين عليها شغل كتير الآن أنا عشان أشتغل هذا
السؤال بدي أتخيل طريقة الدرج وأبدأ أشتغلها في هذا
السؤال صح هتقولولي طب ما هدول فراغات كيف أتعامل
معاهم؟ الآن هنشوف كيف هنتعامل معاهم بطريقة الدرج
يعني فيه ها اعتبار بسيط هنعمله الآن طيب طريقة
الدرج عشان نبسط الـ state table head هتقولولي عادي
هعمل درج زي ما اتعلمت قبل شوية هتقول لي هبدأ زي هيك
هنبدأ مش من الـ S note قلنا بنبدأ من الـ S اللي وراها
فهتقولولي S1 في الأول وبعدين هتقولولي S2 وبعدين
S3 وبعدين أخر واحدة S4 تمام؟ وهنيجي نمسح
الزيادات هي اللي أنا رسمها خلاص تمام؟ هي طريقة
الدرجة اللي بنعملها وهنبدأ نحط تحت من أول واحدة
يعني هنيجي نحط S0 S1 S2 S3 وهنشتغل زي ما اشتغلنا
طريقة الدرج تماماً والحلو فيها أن أنت حر افرض
اللي بدك إياه أديكم مثال كيف يعني أديكم مثال الآن
هنأتي نشتغل سنقول S0 بأقارنها مع S1 وين الـ S0
هتقول بأقارن الـ S0 وبأقارنها مع الـ S1 أول شيء
قلنا أن نشوف الـ output تبع هذا والـ output تبع هذا
إذا الـ outputين مختلفين بنحط الـ X إذا الـ output
شبه بعضه بنحط الشروط زي ما إحنا متفقين في الدرجة
الآن لما نجي تطلع هذا فراغ وهذا فراغ وهذا فرق وهذا
فرق أنا حر في فرضيتي الآن بقدر أفرض أي اللي بدي إياه
فأنا هفرضهم عشان يصير فيه متساوي فأعتبر مثلاً صفرين
وبدي أعتبر هذه صفرين وبدي أعتبر هذه واحدين وبدي
أعتبر هذه واحدين وبالتالي أنا بالنسبة لي ما في
قيمة بتنفي أن هم متشابهين ومش متشابهين بالعكس ساب
الكورة في ملعبي أني أحط القيمة اللي بتعجبني هنا و
بتعجبني هنا القيمة اللي بتعجبني هنا وبتعجبني هنا
وبالتالي أنا معنى ألاقي تبسيط عشان أوصلها دائرة الـ
hardware تكون مبسطة فأنا معنى بالتبسيط وبالتالي
هأفترض على طول أنه ما فيش مشاكل من ناحية الـ output
هأفترضهم متشابهين إذا هقول بس بدي شرط أن S1 يكون
شبه S3 ويكون S2 شبه S4 وبهيك بكون قارنت يعني S0 مع
S1 هذا بده حل كامل عشان قصة الـ incomplete حاولوا
تشوفوا كيف هتتعاملوا معاه الآن نقارن يعني S0 مع S2 S0
بدي أقارنها مع S2 أول حاجة بتطلع عليها الـ output
مع الـ output هنا ما فيش إعاقة طالما أنه ما فيش قيم
ما فيش قيم ما فيش شيء يعيقني أن أقول هدول متشابهين
إذا أنا على طول هقول إذا ضايل عندي شرط S1 مع S4
هسجله S1 مع S4 الآن ركزوا في اللي جاي الآن بيقول لي
S2 مع فراغ إيش بدي أعتبر أنا؟ أنه ما فيش مشكلة، بدي
أعتبر في دماغي الفراغ S2 فـ S2 شبه S2، ما هي شبه
بعض، وبالتالي مش هسجلها المعلومة التالية، لأنه ما
بدي أكتب S2 مع S2، المتشابه ما بكتبش الـ issue
شبهه، لأنه إحنا عارفين أن هما شبه بعض بس الجديد في
الموضوع أنه أنا فرضت أن هاي هي S2 عشان أنا أرتاح
منها وأحاول ألاقي تشابه وبالتالي هذا بيساعدني
الفراغ اللي موجود بيساعدني فما نفيت الموضوع فخلاص
S2 مع فراغ ما سجلتاش لأني بقدر أعتبر الفراغ
whatever أنا بدي إياه وبالتالي مش هسجل S2 مع S2 و
هكتفي بس بشرط S1 مع S4 اللي هو الشرط اللي هان طيب،
الآن بنفس الطريقة، بدنا نعمل S NOT مع S ثلاثة كيف
بنعمل S NOT مع S ثلاثة؟ هنيجي نقول هاي S NOT بدها
أقارنها مع S ثلاثة، ركزوا معي الآن الـ output هنا
موجود 1 و0 الـ output هنا مش موجود وبالتالي بقدر
أمشي بدون مشاكل بقدر أعتبر في دماغي أن الـ output
اللي هنا هو نفس الـ output اللي هنا وأكمل وأكتب
الشروط لأن أنا معنى بالتبسيط فطالما في فراغات هذا
بريّحني أن أعتبرهم أهو متشابهين لكن لو كانت القيم
محطوطة فعلياً في السؤال ما بقدرش أقول إذا هم مختلفين
أو متشابهين لكن قدرت الآن أقول متشابهين ليش لأنه
فراغات فالكورة في ملعب الآن فبدي أعتبر أن شبه هدول
طيب إذا بدي أكمل مين ضايل أن يكون شبه مين S1 وS0
متشابهين وS2 وS0 متشابهين ده سجلها S1 وS0
متشابهين وS2 متشابهين وS2 متشابهين وS2 متشابهين
وS2 متشابهين وS2 متشابهين وS2 متشابهين وS2
متشابهين وS2 متشابهين وS2 متشابهين وS2 متشابهين
وS2 متشابهين وS2 متشابهين وS2 متشابهين وS2
متشابهين وS2 متشابهين وS2 متشابهين وS2 متشابهين
وS2 متشابهين وS2 متشابهين وS2 متشابهين وS2
متشابهين وS2 متشابهين وS2 متشابهين وS2 متشابهين
وS2 متشابهين وS2 متشابهين وS2 متشابهين وS0 وS2
يكون متشابهين وما فيش إعاقة عندي من الـ output الآن
بقي لنقارن مين عشان يخلص العمود الأول بنقارن الـ S0
مع S4 كيف نقارن الـ S0 مع S4 هاي تعالوا شوفوا هاي S4
طالما هنا فراغات فما فيش مشاكل عندي في الـ output فبدي
أكمل إيش التكميل أنه لازم S0 يكون شبه S1 ولازم S0
يكون شبه S2 على طول بسجلها لازم S0 يكون شبه S1 و
لازم S0 يكون شبه S2 ممتاز الآن خلصنا العمود الأول
بدنا نرجع الآن نقارن مين مع مين عشان نخلص بدنا
نبدأ الآن S1 هي S2 تعالوا نكتبهم طالما هنا فراغات
فراغات ما فيش مشاكل من ناحية الـ output إذا الـ Min
يكون شبه مين؟ S3 يكون شبه S4
وإيش الشرط الثاني؟ آه هنا فراغ خلاص مش هسجلها
هأعتبرها في دماغي S4 وبالتالي ليش أكتب S4 مع S4 ما
خلاص ما بتكتبش الشيء وشبهه ما بنكتبه حكينا قبل شوية
إذا هذه مش هحطها كشرط إذا خلصنا من الآن S1 مع S2
الآن بدنا نعمل S1 مع S3 وين S1 مع S3؟ هاي بدنا
نمسح اللي تحت هاي وأعلم S3 طبعاً أنا بحب أعلم هيك
ليش؟ عشان ما يصيرش لخبطة عشان ما تلخبطوش الآن يلا
نشتغل أول شيء بتطلع الـ output حتى لو في output فعلي
هنا طبعاً ما فيش output هنا ما فيش تعارض ما فيش مشاكل
إيش هنقول؟ S0 مع S3 S0 مع S4 تمام؟ S0 مع S3 وS0 مع
S4 تمام؟ طيب وأنا الآن خلصنا مقارنة S1 مع S3 سنقارن
آخر إيش الآن؟ S1 مع S4 S1 مع S4 عشان نقدر نقارنهم 12