منطق الضبابيّة Fuzzy Logic ـ معين رومية

معين رومية

معين رومية

يهدف منطق الضبابية، والرياضيات المرتبطة به، إلى معالجة مفهوم الحقيقة الجزئية partial truth أو درجة انتماء degree of membership عنصر إلى مجموعة. وقد اتسعت تطبيقاته الحالية لتشمل التحكم الخطي واللاخطي والنظم الخبيرة ونماذج التعرف وبحوث العمليات وتحليل البيانات والنظم المالية. وضع أسس هذا المنطق الأستاذ الإيراني لطفي أسد زاده أثناء عمله في جامعة بيركلي في الستينات، لكنه لم ينتشر ويستخدم على نطاق واسع حتى عقد التسعينات.

كان أرسطو، قبل الميلاد بثلاثمائة عام تقريبًا، قد وضع قواعد منطقه الثنائي الذي يعد مبدًأ أساسيًا للرياضيات، وهو يرتد، في النهاية، إلى قانون واحد:

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

نظرية المجموعات الكلاسيكية:

يرتبط المنطق الرياضي الثنائي مع نظرية المجموعات الكلاسية التي نقول فيها إن المجموعة U هي مجموعة جزئية من S إذا أجرينا تطبيقًا من عناصر S إلى القيمتين {0,1}، ونعبر عن ذلك رمزيًا:

U: S → {0,1

يحتوي هذا التطبيق على مجموعة الأزواج المرتبة (a,b) التي يكون عنصرها الأول a واقعًا في المجموعة S وعنصرها الثاني b يأخذ حصريًا إحدى القيمتين 1 أو 0. تعبر القيمة (1) عن انتماء العنصر x إلى المجموعة U بينما تعبر القيمة (0) عن عدم الانتماء. إذن تكون العبارة:

x Î U (العنصر x ينتمي إلى المجموعة U)

صحيحة إذا وجدنا الزوج المرتب (x,1) وتكون خاطئة إذا وجدنا الزوج المرتب (x,0). ومن الناحية المنطقية نقول إن العبارة “x ينتمي إلى U” إما صحيحة أو خاطئة. أي أن المنطق الرياضي الكلاسي يحتوي قيمتين فقط للحقيقة هما الصحة التامة أو الخطأ التام.

مثال:

S مجموعة الرجال،U مجموعة جزئية منها تضم الرجال طوال القامة.

يكون العنصر x (أحمد مثلاً) إما طويل (أي ينتمي إلى U) أو غير طويل (أي لا ينتمي إلى U)، ونضع دالّة (تابع) انتماء Tall(x) للحكم على الطول وفق معيار محدد لارتفاع الرجل الذي نرمز إليه h(x):

Tall(x) = 1 if h(x) > 160 cm

Tall(x) = 0 if h(x) <= 160 cm

وبذلك نستطيع أن نضع الجدول التالي:

Capture

ونعبر عن الدالّة تخطيطيًا كما في الشكل (1).

Capture
الشكل (1)

المجموعة الجزئية الضبابية:

نقول إن F مجموعة جزئية ضبابية من S إذا أجرينا تطبيقًا من عناصر S إلى المجال الحقيقي [0,1]:

F: S →[0,1]

أي أن هذا التطبيق يحتوي مجموعة الأزواج المرتبة (a,b) التي ينتمي عنصرها الأول إلى S وعنصرها الثاني إلى المجال الحقيقي [0,1]. تعبر القيمتان (1) و(0) عن الانتماء التام وعدم الانتماء التام – كما في نظرية المجموعة الكلاسية – وتعبر القيم اللانهائية بينهما ]0,1[ عن درجات انتماء وسيطة. تسمى المجموعة S عالم المقال universal of discourse للمجموعة الضبابية F، ونصف التطبيق السابق كتابع أو دالّة نسميها دالّة الانتماء function of membership إلى المجموعة F. إذن تكون صحة العبارة:

x Î F

ذات درجة حقيقة degree of truth وفق القيمة العائدة إلى المجال [0,1] التي يرتبط معها العنصر x.

مثال:

لنتحدث عن الناس والطول. تكون المجموعة S (عالم المقال) في هذه الحالة هي مجموع أفراد الناس. نعرّف عليها مجموعة جزئية ضبابية هي الطول Tall ونريد بواسطتها الإجابة على السؤال التالي: إلى أية درجة يكون الشخص طويلاً؟ لهذا الغرض نعرّف دالّة انتماء (x) tall بالاعتماد على h(x) قياس (ارتفاع) الشخص:

tall(x) = { 0, if h(x) <= 160 cm,

(h(x)-160)/60), if 160 < h(x) 195 cm, }

ونعبر عن الدالة بجدول كالتالي:
Capture

ونعبر عن الدالّة تخطيطيا كما في الشكل (2).
Capture

الشكل (2)

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

العمليات الأساسية:

لنضع التعريفين التاليين:

تعريف 1: لتكن X مجموعة من الأشياء عناصرها x فنكتب: X={x}

تعريف 2: نقول إن A مجموعة ضبابية من X معرّفة بدّالة انتماء F ونكتب:

FA(x) دالّة تربط كل عنصر x من X إلى قيمة في المجال الحقيقي [0,1]. وكلما اقترب FA(x) من الواحد فإن درجة انتماء x إلى A تزداد.

تكون العمليات المنطقية كما يلي:

الفراغ EMPTY: إذا كان FA(x)=0 من أجل جميع قيم x.

المساواة EQUAL: A=B إذا كان FA(x)=FB(x) من أجل جميع قيم x.

النفي NOT: FA (x)= 1-FA(x).

الاحتواء CONTAINNMENT: تكون A محتواة في B إذا كان FA(x) < BA(x) من أجل جميع قيم x.

الاجتماع UNION: C = A or B وفق القاعدة: CF(x) = Max(FA(x),FB(x))

التقاطع INTERSECTION: C = A and B وفق القاعدة: CF(x) = Min(FA(x),FB(x))

ملاحظة: Max = Maximum، Min = Minimum

مثال:

لتوضيح العمليات السابقة لنعتبر ما يلي:

A مجموعة ضبابية على محور الأعداد بين 5 و8

Capture

الشكل (3)

B عدد ضبابي (مجموعة أيضًا) يقع في جوار 4
Capture

الشكل (4)

يعبر الخط الأزرق في الأشكال 5 و6 و7 على التوالي عن عمليات النفي والتقاطع والاجتماع.
Capture

الشكل (5)
Capture

الشكل (6)
Capture

الشكل (7)

الضبابية والاحتمال:

من المهم أن نلاحظ أن عمليتي التقاطع and والاجتماع or تميزان مفهوم الضبابية عن مفهوم الاحتمال. لنوضح ذلك بالمثال التالي:

لتكن S مجموعة ضبابية للناس الأذكياء.

لتكن T مجموعة ضبابية للناس الطوال.

ليكن أحمد x= أحد أفراد الناس ويتصف بما يلي:

درجة ذكاء: FS(x)= 0.9

درجة طول: FT(x)= 0.7

فتكون، مثلاً، عملية التقاطع and بين الصفتين كما يلي:

في منطق الاحتمال:

FS(X) * FT(X) = 0.9 * 0.7 = 0.63

في منطق الضبابية:

Min(FS(X),FT(X)) = Min(0.9,0.7) = 0.7

التحكّم الضبابي:

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

IF x is low and y is high THEN z = medium

حيث:

x , y متغيرات دخل input معلومة.

z متغير خرج output ينبغي حسابه.

low دالّة انتماء (مجموعة جزئية ضبابية) معرّفة على x.

high دالّة انتماء معرّفة على y.

medium دالّة انتماء معرّفة على z.

مثال:

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

الشكل (8)
Capture
لتحسين عمل عنصر التحكم ندخل على المسألة مفهوم الضبابية، أي نسمح لقيم الدخل بأن تتغير تدريجيًا من حالة إلى أخرى باستخدام دوالّ انتماء مناسبة. ففي الشكل (9)، عرّفنا حالات الدخل الضبابية لدرجة الحرارة.

Capture
الشكل (9)

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

إذا كانت درجة حرارة المكابح دافئة والسرعة ليست كبيرة عندها يتناقص ضغط المكابح تدريجيًا (slightly decreasing). ونعبر رمزيًا عن ذلك كما يلي:

IF t=warm and vvast THEN p=sd

بالطبع يكون ثمة العديد من القواعد، بحسب تعقيد كل مسألة، تستخدم دوال الانتماء وقيم الحقيقة المحصَّلة من المدخلات، ويصدر عنها نتائج تغذّي دالّة الانتماء لمتغير الخرج، ثمّ يتم تركيب جميع النتائج و”نزع الضبابية defuzzification” وفق تعليمات محددة بحيث نستخلص نتيجة واحدة فقط تمثل الضغط الفعلي للمكابح.

*** *** ***
معين رومية : سوريا ، جامعة تشرين ، كلية الهندسة المدنية ، عضو هيئة فنية
ــــــــــــــــــــــــــــ

المراجع

1- Ron Yager and Dimitar Filev, Essentials of Fuzzy Modeling and Control, John Wiley & Sons, 1994.

2 – Earl Cox, The Fuzzy Systems Handbook, AP Professional, 1994.

on the web:

http://www.quadralay.com/www/Fuzzy/overview.html

http://www.generation5.org/fuzzyclass.html

http://www.austinlinks.com/fuzzy/basics.html

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