זה לא הסבר מדויק. המטרה במפות קרנו היא להקיף את כל ה-1 בכמה שפחות מלבנים, כשכל מלבן כמה שיותר גדול. אלה התכונות של המלבנים: 1. במלבן יכולה להיות משבצת עם 1 או עם dont care (אפשר לקרוא להם X), אבל לא 0. 2. יכולה להיות משבצת בשני מלבנים שונים. 3. אורך כל צלע במלבן צריכה להיות בחזקה של 2 (כלומר במפה של 4*4 לא יכול להיות מלבן עם צלע באורך 3). 4. מותר לחבר את ה"קצוות", כלומר את השורה הראשונה עם השורה האחרונה ואת העמודה הראשונה עם העמודה האחרונה.
אחרי שסיימת להקיף את כל ה-1 במלבנים, קח כל מלבן ותעשה איתו את הפעולה הבאה: עבור כל משתנה (A עד D), תבדוק מה הערך שלו בכל משבצת במלבן. ערך של משתנה מוצג בצורה הזאת: יש שני משתנים שנמצאים למעלה (בדוגמה שלך AB), ושניים שנמצאים בשמאל (CD). אם מסתכלים על משבצת כלשהי שנמצאת בעמודה הראשונה למשל, אז מעליה כתוב 00. זה אומר שהערך של A הוא 0 וגם הערך של B הוא 0. אם מסתכלים על משבצת כלשהי בשורה האחרונה, אז משמאלה כתוב 10. זה אומר שערך של C הוא 1 והערך של D הוא 0. אם הערך של משתנה הוא 1 בכל המשבצות במלבן שעליו אנחנו מסתכלים, תרשום את המשתנה כמו שהוא. אם הערך שלו הוא 0 בכל המשבצות, תרשום את ההופכי שלו (A גג). אם בחלק הוא 0 ובחלק 1, אל תרשום אותו בכלל. בכל מלבן, בין כל משתנה שרשמת צריך לשים כפל. בסוף בין כל המלבנים צריך לשים חיבור.
ניקח את הדוגמה שכתבת. אפשר להקיף את כל ה-1 בשני מלבנים של 8 משבצות - מלבן אחד תופס את כל העמודה הראשונה והאחרונה, ומלבן שני תופס את שתי העמודות האחרונות.
נסתכל על המלבן הראשון. A: בעמודה הראשונה הערך שלו הוא 0, ובעמודה האחרונה הערך שלו הוא 1. לכן לא נרשום אותו. B: גם בעמודה הראשונה וגם באחרונה הערך שלו הוא 0, לכן נרשום B גג. C ו-D: סימנו עמודה שלמה, אז בחלק מהשורות הערכים שלהם הם 0 ובחלק 1. לכן לא נרשום אותם. סה"כ קיבלנו מהמלבן הראשון B גג.
עכשיו נסתכל על המלבן השני. A: בשתי העמודות הערך שלו הוא 1. לכן נרשום A. B: בעמודה השלישית הערך שלו הוא 1, ובעמודה הרביעית הערך שלו הוא 0. לכן לא נרשום אותו. C ו-D: כמו במלבן הראשון, מאותה סיבה לא נרשום אותם. סה"כ קיבלנו מהמלבן השני A.
נשים פעולת חיבור בין מה שקיבלנו מהמלבנים ונקבל גגA + B.
|