المنطق الضبابي (Fuzzy Logic): المفهوم والتطبيقات والتابع ـ رامي فيتالي

رامي فيتالي

رامي فيتالي

ربما تكون هذه أول مرة أكتب فيها عن شيء ليس من نتاج بحثي الخاص، لكني أحببت أن أشارك قراء المدونة بهذا الموضوع خصوصاً أنه غير مطروق كثيراً في الكتابات باللغة العربية وهو بنفس الوقت موضوع شيق وسهل (مع أنه يُعتبَر من الرياضيات الحديثة والمتقدمة) والاهتمام به يزداد بشكل كبير مع اكتشاف يوماً بعد يوم تطبيقات مفيدة وشيقة تنتج عنه.

مفهوم المنطق الضبابي

أعتقد أن معظمنا لديه ألفة مع المنطق الرياضي، وحتى الذين لم يأخذوا أو لا يتذكرون هذا

الموضوع من أيام الثانوية العلمية العامة، يمكنهم فهمه بسهولة. المنطق الرياضي التقليدي يعطي لكل قضية قيمة وتكون إحدى قيمتين صح أو خطأ، ويعبر في العادة عن قيمة صح بالعدد 1 والقيمة خطأ بالعدد 0. مثلاً “العسل طعمه حلو” هذه المقولة تعتبر قضية وقيمة صحتها 1 لأنها صحيحة. أما القضية “العسل لونه أزرق” فهي قضية خاطئة وقيمة صحتها صفر.

أيضاً يتم التعامل مع القضايا بما يسمى بالعوامل المنطقية، وهي بالأساس ثلاثة، العامل “و” والعامل “أو” والعامل “ليس” (النفي).

العامل “و” – وكما في اللغة العادية – يشكِّل من قضيتين قضية واحدة تكون صحيحة فقط إذا كانت كلتا القضيتين صحيحتين، مثلاً “العسل طعمه حلو و لونه أزرق” قضية خاطئة لأن الحد الثاني “العسل لونه أزرق” قضية خاطئة.

أما العامل “أو” فيشكِّل من قضيتين قضية واحدة تكون صحيحة إذا كانت واحدة من القضيتين على الأقل صحيحة، مثلاً “العسل طعمه حلو أو لونه أزرق” قضية صحيحة لأن الحد الأول “العسل طعمه حلو” قضية صحيحة.

القضية “ليس العسل طعمه حلو” هي عكس القضية “العسل طعمه حلو” وتكون صحتها معاكسة للقضية الأصلية، أي بما أن “العسل طعمه حلو” هي قضية صحيحة فتكون القضية “ليس العسل طعمه حلو” هي قضية خاطئة.

الآن لنفرض أن باسل شاب ما ولننظر هذه القضية “باسل طويل“. قد تكون القضية صحيحة أو خاطئة إذ قد يكون باسل فعلاً طويل أو قد لا يكون. لنفرض أن باسل طوله 170 سنتمتر، فهل القضية تكون صحيحة عندئذٍ؟ في الواقع إنه ليس قصيراً فهو طويل نوعاً ما. ماذا إذا كان طوله 180 سنتمتر؟ إنه فعلاً طويل فالرقم 180 سنتمتر معتمد معياراً عالمياً لنقول عن شخص أنه طويل. ماذا لو كان طوله متران؟ إنه طويل للغاية. حسناً ماذا لو كان طوله 160 سنتمتر؟ إنه قصير إلى حد ما. ماذا إذاً إذا كان طوله 140 سنتمتر؟ إنه بالحقيقة قصير جداً.

إن قيمة هذه القضية يمكن حصرها بـ”صح” أو “خطأ” “طويل” أو “غير طويل” لكنها ليست إجابة كافية وغالباً لا تعطي معلومات وافية للغاية التي من أجلها يُسأل هذا السؤال عادةً، إذ يريد السائل أن يعرف هل باسل قصير جداً أو قصير أو متوسط الطول أو طويل أو طويل جداً …الخ.

لوضع كل هذه الإجابات وغيرها ضمن إطار رياضي تم ابتكار ما يسمى المنطق الضبابي، وهو من عمل العالم الرياضي لطفي زاده الأذري الأصل، الذي يقيم حالياً في الولايات المتحدة ويعلم في جامعة البحث العلمي في كاليفورنيا – بيركيلي، ورغم سنه الكبير (حوالي تسعين سنة) مازال ينشر دراساتٍ وأبحاثاً.

في المنطق الضبابي لا تعطى القضية فقط قيمة صفر أو واحد، بل قد تأخذ قيمة صحة القضية أيَّ عددٍ يتراوح بين الصفر والواحد. مثلاً إذا كان باسل طوله 170 سنتمتراً وكانت القضية “باسل طويل” فيمكن أن نعبر عن صحة القضية بالقول إن قيمة صحتها 0.75 أو بصيغة أخرى 75%.

قد يُعبَّر عن هذا أيضاً بصيغة الانتماء إلى مجموعة، إذ في نظرية المجموعات يكون انتماء عنصر ما إلى هذه المجموعة إما أمراً صحيحاً أو خاطئاً، ينتمي أو لا ينتمي، أما باستخدام المنطق الضبابي يمكن القول أن عنصر ينتمي بنسبة 65% مثلاً إلى هذه المجموعة، وفي المثال أعلاه يمكن القول أن باسل ينتمي بنسبة 75% إلى مجموعة طويلي القامة. تسمى مثل هذه المجموعة “مجموعة ضبابية” حيث أن موضوع الانتماء لها هو موضوع ضبابي.

كيف حددنا القيمة أعلاه 75% بالنسبة لكون باسل طويل؟ في الواقع إن نظرية المنطق الضبابي بحد ذاتها لا تتدخل في الطريقة التي نقوم بها بتحديد قيم الصحة للقضايا لأن طريقة التحديد تختلف كثيراً حسب الحالة موضوع القضية وينبغي وضعها بطريقة مفيدة للتطبيق العملي المطلوب، الشرط الإلزامي الوحيد أن تكون القيم ضمن المجال [0،1]. تسمى الطريقة التي نحدد بواسطتها قيم الصحة “تابع الانتماء” أي الانتماء إلى المجموعة الضبابية.

يخلط كثيرون بين المنطق الضبابي وبين نظرية الاحتمالات، ولهذا ما يبرره إذ إن قيمة الاحتمال مثلما هي قيمة المنطق الضبابي تتراوح بين الصفر والواحد. لكن في الحقيقة مفهوم الاحتمال يختلف كثيراً عن مفهوم المنطق الضبابي، فعندما نقول أن “باسل 75% طويل” فهذا يختلف جداً عن قولنا “احتمال أن يكون باسل طويل هو 75%” ففي الحالة الأولى بخلاف الثانية نعلم تماماً ما هو طول باسل، فقيم المنطق الضبابي تعبر عن شيء حتمي وليس احتمالي.

أيضاً وضع لطفي زاده صيغة لاستخدام العوامل المنطقية “و“، “أو“، “ليس” في المنطق الضبابي، فالعامل “و” يُحسَب بأخذ القيمة الأصغر لقيمتي القضيتين minimum، أما العامل “أو” فيُحسَب بأخذ القيمة الأكبر لقيمتي القضيتين maximum، والعامل “ليس” يُحسَب بطرح قيمة صحة القضية المتأثرة بالعامل من العدد 1.

مثلاً إذا كانت القضية “باسل طويل” صحتها 75% والقضية “باسل سمين” صحتها 60% فإن القضية “باسل طويل و سمين” تكون صحتها 60% والقضية “باسل طويل أو سمين” تكون صحتها 75% والقضية “ليس باسل طويلاً” صحتها 1 – 75% = 25%.

يمكن بسهولة ملاحظة أنه في حال كانت قيم صحة القضايا المدروسة هي واحد أو صفر فقط فإن المنطق الضبابي يصبح مثل المنطق الرياضي التقليدي وقيم العوامل أيضاً تعطي نفس النتيجة التي تعطيها عوامل المنطق التقليدي، لذلك يمكن اعتبار المنطق الضبابي توسيع للمنطق التقليدي، ويكون المنطق التقليدي حالة خاصة من المنطق الضبابي عندما تكون قيم صحة القضايا هي صفر أو واحد فقط.

كذلك إضافةً للعوامل المنطقية الأساسية الموجودة في المنطق التقليدي هناك عوامل إضافية يمكن تطبيقها على المنطق الضبابي، منها مثلاً العاملين “قليلاً” و”كثيراً“؛ مثلاً إذا كانت القضية الأساس “الطقس جميل” يعطينا هذان العاملان قضيتان جديدتان وهما “الطقس جميل قليلاً” و”الطقس جميل كثيراً“. العامل “قليلاً” يحسب بأخذ جذر لقيمة صحة القضية (أس أصغر من الواحد)، مثلاً الجذر التربيعي الذي هو الأس 1\2. يحسب العامل “كثيراً” بأخذ قيمة صحة القضية مرفوعة إلى أس (أكبر من الواحد)، مثلاً إلى الأس 2.

مثلاً بالنسبة للقضية “الطقس جميل” إذا كانت قيمة صحتها 0.65 فإن قيمة صحة القضية “الطقس جميل قليلاً” فهي الجذر التربيعي للقيمة 0.65 وهي 0.81 (قيمة أكبر)، أما قيمة صحة القضية “الطقس جميل كثيراً” هي مربع القيمة 0.65 وهي 0.42 (قيمة أصغر)

التطبيقات العملية

تعرضت في التدوينة السابقة إلى التعريف بمفهوم المنطق الضبابي، وسوف أعرض هنا بعض التطبيقات العملية المفيدة للمنطق الضبابي.

في معظم المراجع التي تذكر تطبيقات المنطق الضبابي نجد أشياء مثل “الذكاء الاصطناعي”، أو “الأجهزة الإلكترونية المتطورة” أو “المتحكمات الصناعية”، لكني هنا سأحاول أن أعرض ما أجده تطبيقات عملية للمنطق الضبابي في حياتنا اليومية.

في المسابقات

في مسابقة انتخاب ملكات جمال العالم في إحدى السنوات كان الطول الأدنى المقبول هو 165 سنتيمتراً، ولذلك تم رفض ميليسا لأن طولها كان 164.8 سنتمتراً، وذلك بالرغم من أنها تتمتع بجمال باهر تفوق به على جميع منافساتها بالإضافة إلى أنها ذات ثقافة عالية وذكاء خارق وسرعة بديهة وقوة شخصية.

في المسلسل التلفزيوني الشهير غريز أناتومي Grey’s Anatomy، أثار جورج استعطاف المشاهدين حين اضطر للعودة إلى صفوف المتدربين الداخليين في المستشفى لأنه حصل على مجموع يقل بعلامة واحدة فقط عن المجموع المطلوب للقبول في سلك أطباء المستشفى، مما أدى إلى رفضه بالرغم من أن رسائل التوصية التي بحوزته كانت ممتازة.

بمنطقنا العادي نجد أن مثل هذه القرارات غير عادلة، لكننا مضطرون للموافقة عليها لأننا تعودنا على فكرة أنه لا بد من وجود قواعد للقبول والرفض وكذلك أن من صفات هذه القواعد أن تكون صمّاء وحاسمة، إليك الخبر السعيد، مع المنطق الضبابي يختلف الأمر كثيراً.

في المنطق التقليدي يوجد حد واضح تماماً بعد اجتيازه يكون المتقدم لمسابقة معينة مقبولاً وسوى ذلك يكون مرفوضاً، في المنطق الضبابي بالرغم من أن هناك قرار واضح في النهاية بالقبول أو عدم القبول إنما يمكن أن يؤجل هذا الموضوع لما بعد حساب النتيجة (الناتجة عن معادلة منطقية ضبابية تدخل فيها جميع العوامل المطلوبة للقبول) والمفاضلة بين النتائج المختلفة لأخذ القرار بالقبول من عدمه.

لنأخذ مثال مبسّط قليلاً عن طلب موظف للعمل لدى شركة، ولنقل أن الشروط الموضوعة كانت: أن يجيد طالب الوظيفة اللغة الانكليزية، وأن يكون جيداً جداً في استخدام الحاسوب، وأن يكون ذو مظهر لائق وأن يكون حاصل على شهادة أكاديمية عالية في علوم التسويق أو (حاصل على شهادة عادية في التسويق وله خبرة عملية جيدة في مجال التسويق).

لاحظ أن كل البنود من مثل “يجيد اللغة الانكليزية” و“يجيد استخدام الحاسوب” و“ذو مظهر لائق” و“حاصل على شهادة” و“له خبرة جيدة” …الخ كلها ليست تحديدات واضحة قيمتها صح أو خطأ بل تتدرج بقيم صحة ضبابية، والعوامل التي تم جمع هذه البنود هي عوامل منطقية ضبابية مثل “جداً” و”و” و”أو“. إذاً عند تقييم أي طالب للوظيفة توضع له علامة (بين الصفر والواحد) لكل بند من البنود، وباستخدام العوامل المنطقية نحصل على علامة مواءمته لهذه الوظيفة وبالمفاضلة بين العلامات النهائية التي نحصل عليها من جميع المتقدمين يكون صاحب القيمة الأعلى هو الموظف المنشود.

أما بالمقابل إذا أصرينا على وضع الشروط بطريقة تجعل من الممكن استخدام المنطق العادي فإننا سنضطر أولاً لوضع تحديدات واضحة قيمتها صح أو خطأ مثل “حاصل على شهادة توفل في اللغة الانكليزية” و”حاصل على شهادة معينة في علوم الحاسوب” …الخ، وهي ستظلم الكثير من الأشخاص بالإضافة إلى أنها لا تقدم لنا طريقة واضحة للمفاضلة بين المتقدمين المختلفين ويعود الأمر بالنهاية إلى مزاجية مدير المصادر البشرية في الشركة.

من الواضح إذاً أنه في المسابقات يكون لاستخدام المنطق الضبابي أفضلية على المنطق العادي.

الطقس

لنأخذ مثال آخر يتعلق بموضوع مهم للكثير من الأمور كالسياحة والتجارة والسفر وغيرها وهو الطقس. لنسأل السؤال التالي: هل الطقس يكون جميلاً في هذا البلد في وقت معين من السنة؟

من الواضح أن عبارة “الطقس جميل” لها قيمة ضبابية فقد يتدرج الطقس من سيء جداً إلى جميل للغاية، بالإضافة إلى أنها عبارة مركبة تشمل العديد من العوامل، فالطقس الجميل يعني مثلاً أن يكون الجو صاحياً بشكل مقبول وأن تكون الحرارة معتدلة وأن تكون الرطوبة ضعيفة وأن تكون الريح معتدلة السرعة. من الواضح أن كل هذه القيم ضبابية وبالتالي إن العبارة السابقة تشكل معادلة ضبابية.

في الطب

رغم أني لست خبيراً في مجال الطب لكني أتوقع أن يكون للمنطق الضبابي دور كبير أيضاً في التشخيص الطبي وفي تحديد الأدوية والجرعات.

من المعلوم أن التشخيص وتحديد الجرعات يعتمد على أعراض معينة لدى المريض. بالرغم من أن الأعراض التي يذكرها المريض مثل وجود وجع أو حرارة أو شعور بالغثيان …الخ لا يمكن أخذها بشكل قيم ضبابية لأن المريض قد يبالغ أو يقلل من مدى فداحة هذه الأعراض بحسب ثقافته وشعوره النفسي، إلا أن نتائج التحاليل والفحوص الطبية هي دائماً بشكل ضبابي، فالنتائج لا تكون فقط “الضغط مرتفع” أو “السكر مرتفع في الدم” أو “توجد حرارة” بل تحدد مقدار هذا الضغط ومقدار السكر في الدم ومقدار الحرارة، وباعتبار أن التشخيص يقوم عادةً على عبارات منطقية مثل “إذا كان المريض يعاني من حرارة مرتفعة وضغط مرتفع وعمره صغير ولديه عدد كبير من كريات الدم البيضاء فإنه يعاني من المرض الفلاني” يمكن إدخال قيم الفحوصات والتحاليل ضمن هذه المعادلات المنطقية بشكلها الضبابي والحصول كذلك على نتيجة ضبابية تساعد الطبيب على تحديد مقدار جرعة الدواء المطلوبة، فستختلف الجرعة أو الدواء مثلاً فيما إذا كان المريض يعاني من التهاب بسيط أو التهاب حاد جداً.

هذه أمثلة بسيطة ويمكن إيجاد الكثير غيرها، وأعتقد أن السبب في أن المنطق الضبابي لا يستخدم بشكل واسع لا يعود إلى قلة تطبيقاته بل إلى عدم اطلاع الناس عليه بشكل كافي بعد.

تابع الانتماء

لقد تحدثت في التدوينتين السابقتين عن تعريف المنطق الضبابي وتطبيقاته العملية. في هذه التدوينة سوف أتعرض لما يسمى تابع الانتماء (الانتماء إلى مجموعة ضبابية).

تحذير … هذه التدوينة تحوي معادلات رياضية فيها شيء من التعقيد، ينصح بعدم قراءتها من كل من يشعر بالرعب من الرياضيات!

كما وجدنا المنطق الضبابي يتعامل مع قيم صحّة غير حدية بالضرورة، أي ليست فقط خطأ (0%) أو صواب (100%) بل قد تأخذ قيمة الصحة أية قيمة تقع بين هاتين القيمتين. مثلاً إذا كان طول باسل 170 سم فالقضية “باسل طويل” ليست صحيحة مئة بالمئة وبالمقابل من غير الممكن وصفه بأنه غير طويل أي قصير، بل يمكن القول أن باسل طويل بنسبة 75%. السؤال هو كيف نحدد القيمة 75% وعلى أي معيار يكون ذلك؟ فلم تكون 75% وليس 68.5% مثلاً؟

في الحقيقة للإجابة على هذا السؤال يجب أن ننتقل من عالم الرياضيات النظرية البحتة إلى عالم الرياضيات التطبيقية، التي تشمل بعض فروع الرياضيات مثل علم الإحصاء الذي يقوم بمحاولة للمطابقة بين توابع رياضية والمقاربة البشرية لوصف ظواهر طبيعية أو اجتماعية، وهنا سنقوم بنفس الأمر، سنقوم بمحاولة وضع صيغ لتوابع تعبر بشكل جيد عن المقاربة البشرية في وصف الظواهر المختلفة.

إنّ أبسط طريقة لوضع قيم قيمة الصحة لظاهرة ما هي في تقسيم الظاهرة المراد دراستها إلى مجالات ووضع قيمة صحّة لكل مجال من هذه المجالات، مثلاً يمكن القول أنه إذا كان الرجل البالغ طوله 50 سم فأقل فهو ليس طويلاً بالمرة أي طويل بقيمة0%، أما إذا كان بين 50 سم إلى أقل من 150 سم فهو طويل قليلاً جداً، مثلاً طويل بقيمة 20%. أما إذا كان بين 150 و165 سم فهو طويل قليلاً وقيمة صحة القضية 40%، إذا كان بين 165 و175 سم فهو متوسط الطول قيمة صحة القضية 60%، أما إذا كان بين 175 و185 سم فهو طويل بشكل جيد وقيمة صحة القضية 90% أما أكثر من 185 فهو طويل وقيمة صحة القضية 100%. انظر المخطط البياني.

image001

المخطّط البياني لتابع الانتماء بالمجالات ( المحور الأفقي يمثّل الطول والمحمور العمودي يمثّل قيمة صحّة القضيّة )

للأسف هذه الطريقة تجعل المنطق الضبابي يرث مشكلة من المنطق التقليدي يفترض به أن يتجاوزها، وهي مشكلة الحدّيّة، أي إنه إذا كان طول الشخص 174.995 فإنه يكون في فئة طول معينة، بينما إذا كان طوله 175.005 فإنه يصبح في فئة طول مختلفة، والطريقة البشرية المنطقية في النظر إلى الأمر لا يوافقها هذا، فالفرق بينهما هو 0.01 سم، أي واحد على عشرة من المليمتر ومن غير المقبول أن يكون هذا كافياً للتفريق بين فئتين، حتى أن هذه الطريقة يمكن الاستعاضة عنها بالمنطق التقليدي عن طريق تعقيد القضية قليلاً، فبالنهاية إما أن يكون طول الشخص ضمن فئة معينة أو لا يكون، وبوضع مجموعة محدودة من القضايا يمكن باستخدام المنطق التقليدي التعبير بدقة عن طريقة التقسيم أعلاه.

إن هذا يجعلنا نعتقد أن تابع الانتماء يجب أن تكون له صفة مستمرة أي أن قيمته تتغير باستمرار بتغير قيمة القياس.

أبسط صيغة للتابع المستمر هي التابع الخطّي ويمكن تطبيقها في حالتنا هنا بالشكل التالي، لنفرض أن الطول الذي هو 50 سم فأقل يعتبر بالغ القصر أو عديم الطول، أما ما بلغ 210 سم فأكثر فهو بالغ الطول، عندئذ أي طول هو 50 سم فأقل تبلغ قيمة صحة القضية عنده 0% وأي طول يبلغ 210 سم فأكثر تبلغ قيمة صحة القضية عنده 100% وبين هاتين القيمتين تكون صحة القضية بحسب قربها وبعدها عن هذين الحدين، أي تكون :

قيمة صحة القضية = ( الطول المقاس – 50 سم ) ÷ ( 210 سم – 50 سم )

وبتعبير رياضي آخر تساوي

قيمة الصحة = الطول\160 – 0.3125

وهو تابع خطّي، وفي الرسم البياني يظهر بشكل خط مستقيم.
image002

مخطط بياني تابع الانتماء الخطّي

تبدو هذه الطريقة مناسبة للوهلة الأولى، لكن .. مثلاً ماذا لو كان طول أحدهم 300 سم؟ لا شك أنه طويل للغاية ولكن هل يمكن وضعها في نفس الخانة مع الذي طوله 210 سم؟ إن طفلاً صغيراً سيرى ببساطة العيب في هكذا مقاربة، فصحيح أن كلاهما طويل ولكن لا يمكن القول أن صحة قضية طول كل منهما متساوية.

نحتاج إذاً إلى تابع رياضي يقترب من الواحد ولكن لا يصل إليه أبداً، فكلما ازدادت القيمة المقيسة يجب أن يزداد مقدار صحة القضية ولو بمقدار قليل.

لن أطيل كثيراً وسأورد التابع الذي يعطي هذا الناتج وهو بالشكل التالي:
image003

حيث x هي القيمة المقيسة، e هو العدد النيبيري المعروف في الرياضيات ويساوي تقريباً 2.718، λ عدد موجب وهو يؤثر على مدى انحناء الخط البياني.

طبعاً يمكن استخدام أي عدد موجب غير e في هذا التابع وسيعطي نفس النتيجة مع تغيير العدد λ، إلا أنّ الرياضيين يؤثرون استخدام العدد e في التوابع الأسية وذلك لأسباب لا مجال لذكرها هنا.

العدد λ يمكن تحديده من تحديد نقطة على الخط البياني، مثلاً إذا كان طول باسل 170 سنتمتر، وقلنا أن صحة القضية عندها 0.75 ( أو 75% ) فعندئذٍ يمكن حساب λ من المعادلة السابقة بالشكل:

image004

إن أهمية λ العملية تكمن في أنه يمكن استخدامها لجعل النتيجة غير متعلقة بواحدة القياس المستعملة، فمثلاً إذا كانت x في المعادلة السابقة وفي مثالنا تحسب بالمليمتر بدل السنتمتر فما علينا سوى قسمة λ على 10 ونحصل على نفس قيمة الصحة لنفس الطول.

المخطّط البياني تابع الانتماء الأسّي
image0051

المخطّط البياني تابع الانتماء الأسّي

لقد قدّمت المثال أعلاه عن الطول والتابع المناسب للتعبير عنه لأن هنالك الكثير من الظواهر الفيزيائية التي نفس الخاصية في أنها تبدأ من الصفر وليس لها حدود محددة لأعلى قيمة يمكن أن تصل إليها، مثل درجة الحرارة ( التي تبدأ من الصفر المطلق، الوزن، القوة، السرعة، شدة الإضاءة … الخ )، لكن هذا لا يعني أنه لا يمكن وضع صيغ أخرى لهذا التابع تناسب حالات مختلفة.
ــــــــــــــــــــــــــــــــــــــــــــــــــــــ
رامي فيتالي مدينة اللاذقية – سوريا عام ، مواليد 1977
بكالوريوس رياضيات
نقلا عن موقعه المسماة ( مدونتي)

Advertisements
%d مدونون معجبون بهذه: