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

دانلود رایگان کتابخانه منطق و محاسبات فازی برای دات نت یا DotFuzzy

منطق فازی که از ابداعات پرفسور لطفی زاده است، امروزه جایگاه ویژه ای در میان مباحث هوش مصنوعی و هوش محاسباتی دارد. بسیاری از پیشرفت هایی که در این زمینه ها و سایر رشته های علمی مرتبط صورت پذیرفته است، بدون استفاده از ریاضیات و منطق قازی، عملا غیر ممکن است. استفاده ها و کاربردهای گوناگونی که از منطق و محاسبات فازی در رشته های مختلف علمی و فنی به وجود آمده است، باعث جدی تر شدن نیاز محققین و دانشجویان به وجود ابزار محاسبات فازی شده است. نرم افزار متلب دارای جعبه ابزار (تولباکس) نسبتا کاملی برای کار با انواع سیستم های فازی است. اما در برخی مواقع، احتمال دارد شما نیازمند پیاده سازی روش های محاسبات و منطق فازی در یک زبان برنامه نویسی دیگر باشید. از جمله این دلایل می توان به این موارد اشاره نمود: (الف) دسترسی به سرعت محاسباتی بیستر، (ب) تکمیل پروژه ای بزرگ که تا این مرحله با زبان خاصی پیاده سازی شده است، و (پ) استفاده از قابلیت های زبان های برنامه نویسی پیشرفته در زمینه طراحی نرم افزار (که قطعا در محیط نرم افزار متلب در دسترس نیستند).
در این پست قصد داریم تا کتابخانه ای رایگان از توابع و کلاس ها برای منطق و محاسبات فازی را معرفی نماییم، که با استفاده از زبان برنامه نویسی سی شارپ پیاده سازی شده است و در تمامی زبان های برنامه نویسی مبتنی بر دات نت قابل استفاده است؛ از جمله سی شارپ، ویژوال بیسیک دات نت، سی پلاس پلاس دات نت، و اِف شارپ. این کتابخانه که دات فازی یا DotFuzzy نام دارد، توسط آقای مایکل برتولی (یک برنامه نویس و مهندس ایتالیایی) پیاده سازی شده است، و دارای امکانات وسیعی برای کار با مجموعه های فازی و پیاده سازی محاسبات فازی می باشد. در ادامه مطلب با ما همراه باشید.
کتابخانه دات فازی کاملا رایگان اسنت و کد آن نیز به صورت متن باز و تحت مجوز LPGL توزیع شده است. پیاده سازی این کتابخانه کاملا متاثر از قواعد برنامه نویسی شیئ گرا (Object-Oriented Programming) است و این امر باعث انعطاف پذیری و ثبات کتابخانه دات فازی می شود. در این کتابخانه امکان تعریف توابع عضویت فازی از انواع مختلف وجود دارد. همچنین تمام بخش های مورد نیاز برای موتور استنتاج فازی نیز، که شامل فازی سازی، ارزیابی قواعد فازی، و نافازی سازی است، به طور کامل در این کتابخانه پیاده سازی شده اند. کار کردن با دات فازی بسیار ساده است و نیاز به هیچ تخصص اضافی (به غیر از آشنایی به زبان برنامه نویسی مورد استفاده) ندارد. علاوه بر این موارد کتابخانه دات فازی امکان ذخیره سازی سیستم های فازی را در قالب فایل XML فراهم می آورد که در آن از ساختاری مشابه با زبان کنترل فازی استفاده شده است.

به عنوان راهنما و نمونه ای از استفاده از کتابخانه دات فازی در زبان سی شارپ C#، یک قطعه کد برای شما آورده ایم:
كد:
LinguisticVariable water = new LinguisticVariable("Water");
water.MembershipFunctionCollection.Add(new MembershipFunction("Cold", 0, 0, 20, 40));
water.MembershipFunctionCollection.Add(new MembershipFunction("Tepid", 30, 50, 50, 70));
water.MembershipFunctionCollection.Add(new MembershipFunction("Hot", 50, 80, 100, 100)); 
LinguisticVariable power = new LinguisticVariable("Power");
power.MembershipFunctionCollection.Add(new MembershipFunction("Low", 0, 25, 25, 50));
power.MembershipFunctionCollection.Add(new MembershipFunction("High", 25, 50, 50, 75));
FuzzyEngine fuzzyEngine = new FuzzyEngine();
fuzzyEngine.LinguisticVariableCollection.Add(water);
fuzzyEngine.LinguisticVariableCollection.Add(power);
fuzzyEngine.Consequent = "Power";
fuzzyEngine.FuzzyRuleCollection.Add(new FuzzyRule("IF (Water IS Cold) OR (Water IS Tepid) THEN Power IS High"));
fuzzyEngine.FuzzyRuleCollection.Add(new FuzzyRule("IF (Water IS Hot) THEN Power IS Low"));
water.InputValue = 60;
try
{
    MessageBox.Show(fuzzyEngine.Defuzzify().ToString());
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}

در ادامه لینکهای مربوط به این کتابخانه قرار داده شده اند:

دانلود کتابخانه دات فازی یا DotFuzzy

نمونه کد سی شارپ برای استفاده از دات فازی

نمونه ای از بیان سیستم فازی طراحی شده با دات فازی با استفاده از XML و زبان کنترل فازی یا FCL

راهنمای کامل استفاده از توابع و کلاس های دات فازی (مشابه با MSDN)

تماس با طراح کتابخانه برای دریافت اطلاعات، و اعلام پیشنهادها و انتقادات


منبع: دانلود رایگان کتابخانه منطق و محاسبات فازی برای دات نت یا DotFuzzy
Astaraki آفلاين است   پاسخ با نقل قول
از Astaraki تشكر كرده اند:
Babakrz (۰۴-۱۴-۱۳۹۰), mehdinajafinia (۰۲-۲۵-۱۳۹۰)

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

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