نمايش پست تنها
قديمي ۰۹-۲۰-۱۳۸۸, ۰۳:۲۴ بعد از ظهر   #1 (لینک دائم)
Astaraki Female
Administrator
 
آواتار Astaraki
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: تهران-کرج!
پست ها: 3,465
تشكرها: 754
16,337 تشكر در 3,127 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به Astaraki
Wink الگوریتم تورینه

الگوریتم تورینه

الگوریتم تورینه (Rete Alghorithm)، الگوریتم تطابق الگوی کارآمدی برای پیاده‌سازی سامانه‌های خِبره‌ٔ مبتنی بر قانون‌ها (Rules) است. الگوریتم تورینه در سال 1979 توسط دکتر چارلز فورگی از دانشگاه کارنگی ملون طراحی شده است. مفهوم تورینه به‌عنوان پایهٔ بسیاری از سامانه‌های خبره مانند OPS5, JESS, CLIPS و LISA درآمده است ولی اولین بار در OPS5 بکار گرفته شد.

یک پیاده‌سازی ساده از یک سیستم خبره ممکن است هر قانون را به ازای واقعیت‌های (Facts) موجود در پایگاه دانش بررسی نموده و در صورت لزوم آن قانون را فعال کند و سپس سراغ قانون بعدی برود (و زمانی که قوانین به انتها رسید در یک حلقه به اولین قانون بازگردد). حتی برای پایگاه‌های دانش با تعداد واقعیت‌ها و قوانین متوسط نیز این دیدگاه ساده‌انگارانه بیش از حد کند عمل می‌کند.

الگوریتم تورینه یا Rete (که از لغت لاتین "rete" به معنای تور یا شبکه مشتق شده‌است) پایه‌ای برای پیاده‌سازی بهینه‌تر یک سامانهٔ خبره را تأمین می‌کند. یک سامانهٔ خبره‌ٔ مبتنی بر تورینه، شبکه‌ای از گره‌ها را می‌سازد که در آن هر گره (بجز ریشه) هم‌ارز با یک الگو است که در بخش سمت چپ یک قانون رخ می‌دهد. مسیری که از ریشه به یک گره‌ٔ برگ وجود دارد، بخش سمت چپ یک قانون را به طور کامل توصیف می‌کند. هر گره حافظه‌ای دارد از واقعیت‌هایی که الگوی مد نظر آن گره را داشته‌اند.

زمانیکه واقعیت‌های تازه‌ای وارد می‌شوند یا واقعیت‌هایی تغییر داده می‌شوند، ویژگی‌های این واقعیت‌های جدید در سراسر شبکه منتشر می‌شود و موجب می‌گردد که گره‌ها وضعیت خاصی که آن واقعیت با الگوی موجود در گره مطابق می‌شود را در حافظه‌ٔ خود ثبت کنند. زمانیکه یک واقعیت یا ترکیبی از واقعیت‌ها باعث ارضای کلیه‌ٔ الگوهای یک قانون شدند، به یک گره‌ٔ برگ می‌رسیم و قانون هم‌ارز آن فعال می‌شود.

الگوریتم تورینه به شکلی طراحی شده است که حافظه مصرفی را فدای سرعت بیشتر می‌نماید. در اغلب مواقع، سرعت این روش در مقایسه با پیاده‌سازی ساده‌انگارانه‌ای (که در بالا توصیف شد) چند برابر است (چرا که کارآیی الگوریتم تورینه به شکل نظری مستقل از تعداد قوانین موجود در سیستم است). هر چند در سیستم‌های خبرهٔ بسیار بزرگ، استفاده از الگوریتم تورینه به شکل بدون تغییر مشکلات کمبود حافظه را بوجود می‌آورد. از زمان طراحی الگوریتم تورینه، الگوریتم‌های دیگری – چه مبتنی بر تورینه و چه الگوریتم‌های کاملاً جدید – طراحی شده‌اند که نیاز به حافظهٔ کمتری دارند.

ویژگی‌های کارکردی الگوریتم تورینه

* قوانین حاصله می‌توانند با هدف بهینه‌سازی فرآیند تطبیق الگو مرتب‌سازی مجدد گردند.
* الگوریتم تورینه یک درخت تصمیم‌گیری می‌سازد که الگو را در تمامی قوانین پایگاه دانش ادغام می‌کند.
* این الگوریتم از یک گراف دارای ریشه، بدون دور و جهت دار به‌عنوان درخت تصمیم‌گیری استفاده می‌کند.
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
lilipooh (۰۸-۱-۱۳۹۰), samane_89 (۰۱-۴-۱۳۹۰)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online