پشتیبانی: 09131253620
ارتباط با ما
تلگرام: 09131253620

برجسته ترین ها
گروه های مقاله ها
HyperLink


پایگاه داده های هوشمند بخش سوم تاریخ درج: ١٣٩۶/٠٧/١۶

واسط بانک اطلاعاتی هوشمند IDI یک واسط قابل حمل و مبتنی بر حافظه کش است که برای ایجاد سیستم های هوش مصنوعی در سیستم های عمومی و تخصصی که نیاز به دسترسی موثربه یک یا چند بانک اطلاعاتی در یک یا چند DBMS راه دور که از SQL استفاده می کنند، دارند به کار می رود. زبان پرس و جوی IDI زبان واسط بانک اطلاعاتی هوشمند است که بر اساس مجموعه ای از عبارات عملکرد آزاد Horn است که هِدِر (سرآمیز) هر عبارت لیست هدف (یعنی لیستی از نتایج) را مشخص می کند و بدنه هر عبارت اجتماع تعداد از علائم (لیترال) است که رابطه های پایگاه داده یا عملیات روی رابطه‌ها و صفات آن ها (یعنی منفی سازی، اجتماع و عملیات حسابی) را نشان می‌دهد. 

IDI یکی از عناصر کلیدی سرور سیستم هوشمند (ISS) است که بر اساس Protem ایجاد شده و ترکیبی از سیستم های ارائه دانش منطق گرا و فریم‌گرا ایجاد می کند و از استدلال زنجیره ای پیش رو، استدلال زنجیره ای پس رو و نگهداری منطقی پشتیبانی می کند. IDI به گونه ای طراحی شده که با شمای ارائه دانش منطق گرای ISS سازگار باشد. 
IDI همچنین برای پیاده سازی یک سرور پرس و جو که پایگاه داده سیستم اطلاعاتی مسافرت هوایی را پشتیبانی می کند و با سیستمی که با زبان پرولوگ نوشته شده، قابل دستیبای است، به کار می رود. 
علاوه بر فراهم ساختن دستیابی موثر به DBMS های راه دور، IDI مزایای دیگری هم دارد. از IDI می توان به عنوان واسطه ای بین انواع مختلف DBMS که از SQL برای ارتباط با DBMS های راه دور استفاده می کنند، بهره برد. همچنین، اتصالات زیادی در DBMS های یکسان یا متفاوت به طور همزمان وجود دارند و باید بتوانند در مقابل هر تعداد پرس و جو، فعال باقی بمانند زیرا اتصالات به DBMS های راه دور، اشیاء انتزاعی هستند که به عنوان منابع توسط IDI مدیریت می شوند. نهایتاً، اطلاعات شمای دستیابی به طور اتوماتیک توسط IDI اداره می شود یعنی برای نگهداری اطلاعات شما به صورت به روز، نیاز به برنامه کاربری نداریم. این ویژگی، به طور قابل توجهی میزان خطاهای ناشی از اشتباه در وارد کردن داده ها و اطلاعات قدیمی را کاهش می دهد. IDI را می توان به صورت یک واسطه DBMS نشان داد که پرس و جوهایی به شکل عبارت IDIL را می پذیرد و نتایج را به صورت مجموعه ای از تاپل ها (سطرها) بر می گرداند. (به کمک رشته ها در زبان Lisp) پرس و جوهای IDIL به زبان SQL ترجمه می شوند و برای اجرا به DBMS مناسب فرستاده می شوند. سپس نتایج به دست آمده از DBMS به کمک IDI  به تاپل هایی از اشیاء Lisp تبدیل می شوند. هر چند IDI برای استفاده مستقیم کاربر طراحی نشده است. آنچه در زیر آمده است نحوه استفاده از IDI به عنوان یک سیستم مستقل را شرح می دهد. ما به علت پیچیدگی بحث به جزئیات سیستم های هوش مصنوعی مثل ISS نمی پردازیم. طراحی IDI به شدت از تحقیقات گذشته در حوزه تلفیق بانک های اطلاعاتی و هوش مصنوعی اثر گرفته است. این یکی از مهم ترین معیارهای طراحی است که باعث شده IDI  از پرس و جوهای دشوار IDIL پشتیبانی کند. این اجازه می دهد که پرس و جوها در بیش از یک رابطه در بانک اطلاعاتی انجام گیرند. این قابلیت به سیستم های هوش مصنوعی اجازه می دهد تا محاسباتی که پردازش آن ها توسط DBMS بسیار کارآمدتر است، به جای سیستم هوش مصنوعی توسط DBMS انجام گیرند. در بسیاری از موارد، این کار باعث کاهش اندازه مجموعه داده هایی که توسط DBMS برگردانده می شود، می‌گردد.
شکل 1: با توجه به چهار راهکار موجود برای تلفیق AI (هوش مصنوعی) و DB (بانک اطلاعاتی)، واسط بانک اطلاعاتی هوشمند نمونه ای از واسط AI/DB پیشرفته است. 
پایگاه داده و هوش مصنوعی
زمانی که IDI در یک سیستم کوچک به کار گرفته شود، قابلیت حمل و نقل بالایی را ایجاد می کند و این به خاطر پیاده سازی آن با Lisp ، برقراری ارتباط با DBMS های راه دور با استفاده از SQL و پایپ  های یونیکس و بیان پرس و جوهای IDIL و نتایج آن ها به صورت اشیاء Lisp است. 
در بخش های بعد نگاه مختصری به حوزه تلفیق AI و DB که قسمت عمده‌ای از IDI را تشکیل می دهد داریم، سپس به سازماندهی و عناصر اصلی IDI می پردازیم و در آخر با ارائه مثال به اینکه چگونه IDI در دو برنامه کاربردی استفاده می شود خواهیم پرداخت. 
تلفیق AI/DB (هوش مصنوعی و بانک اطلاعاتی) 
ترکیب AI (هوش مصنوعی و تکنولوژی های DBMS نقش مهمی در آینده کامپیوترها و محاسبات سازی می کند. همان طور که اشاره شد تلفیق AI/DB نه تنها بر نسخه های جدید کامپیوترها بلکه بر ادامه توسعه تکنولوژی DBMS اثر خواهد گذاشت و با استفاده از تکنولوژی هوش مصنوعی آن ها را کارآمدتر خواهد ساخت. زمانی که هر دو سیستم AI و DBMS ، به خصوص سیستم‌های خبره، ترکیب شوند، تحقیق و توسعه در این زمینه از تلفیق AI/DB امری نوین به شمار می آید. انگیزه های ما برای تلفیق این دو تکنولوژی شامل الف) نیاز به حجم زیادی از داده اشتراکی برای پردازش دانش ب) نیاز به مدیریت کارآمد داده ها به خوبی دانش ج) نیاز به پردازش هوشمند داده ها است. 
علاوه بر این اهداف، میل به نگهداری و حفظ سرمایه قابل توجه که توسط پایگاه های داده موجود بیان می شود، نیز یک عامل انگیزشی دیگر برای این کار است. 
برای رسیدن به این هدف، یک معیار کلیدی برای طراحی IDI به طوری که استفاده از DBMS های موجود به عنوان عناصر مستقل سیستمی را پشتیبانی کنند، لازم است همان طور که در شکل 1 نشان داده شده و در زیر شرح داده شده راهکارهای زیادی برای تلفیق AI/DB کشف و گزارش داده شده است. 
گسترش سیستم های هوش مصنوعی: 
در این راهکار، سیستم AI توسط قابلیت های DBMS گسترش داده می‌شوند تا دسترسی موثر و مدیریت حجم زیاد داده های ذخیره شده را فراهم آورد. در کل، چنین سیستم هایی نمی توانند کاملاً تکنولوژی DBMS را پیاده‌سازی کنند. ترجیحاً، نقاط قوت سیستم AI  و قابلیت های DBMS با یک روش محدود کننده و ad hoc فقط لایه دسترسی به داده ها را پیاده سازی می‌کنند. متناوباً، یک سیستم نسخه جدید از سیستم مبتنی بر دانش مثل LDL ساخته می شود. در هر مورد، این راهکار همه یا قسمتی از تکنولوژی DBMS را به طور موثری می سازد. مادامی که چنین سیستم هایی ابزارهای پیچیده و محیط هایی برای توسعه برنامه های کاربری مثل سیستم های خبره فراهم می‌آورند، نمی توانند از بانک های اطلاعاتی موجود استفاده کنند. بنابراین، توسعه برنامه های کاربردی هوش مصنوعی که به بانک های اطلاعاتی موجود دسترسی داشته باشند بسیار مشکل و حتی ناممکن است. (به این معنا که وقتی پایگاه داده طبق روال معمول از طریق برنامه های کاربردی سنتی دستیابی و به روز می شود).
 توسعه سیستم DBMS : این راهکار یک DBMS را توسعه می دهد تا قابلیت های جوالگویی و ارائه دانش را فراهم کند، در این جا، قابلیت های DBMS در نقطه مرکزی قرار دارد و قابلیت های هوش مصنوعی به روش ad hoc به آنها افزوده می شود. 
قابلیت های جوابگویی و ارائه دانش کاملاً محدودند و فاقد ابزارهای پیچیده و محیط اغلب سیستم های هوش مصنوعی هستند. این سیستم ها نمی توانند مستقیماً استفاده از DBMS های موجود را پشتیبانی کنند، همچنین نمی توانند برنامه های AI موجود را نیز پشتیبانی نمایند. به عبارت دیگر، این روش متضاد راهکار قبلی است. 
انسجام کم: راهکار کم کردن انسجام در تلفیق AI/DB از یک واسط ساده در بین دو نوع سیستم استفاده می کند تا یک سیستم AI با دسترسی به پایگاه داده های موجود ایجاد کند. در هر حالی که این راهکار مزیت شاخص تلفیق سیستم های AIL موجود و DBMS های موجود را دارد، پایین بودن سطح انسجام و تلفیق باعث کار این ضعیف و محدود شدن استفاده از DBMS به سیستم AI می شود. علاوه بر این، دسترسی به داده از پایگاه داده به طور ضعیفی با شمای ارائه در سیستم AI تلفیق شده است و متدهای انشعاب پذیر ارائه داده کلاً به تولید کننده برنامه یا مهندس دانش با حداقل پشتیبانی از واسط AI/DB واگذار شده اند. 
واسط AI/DB پیشرفته: آخرین راهکار تلفیق AI/DB ، یک پیشرفت اساسی در روش «انسجام کم» ایجاد می کند و یک واسط قوی و کارآمد بین دو نوع سیستم ایجاد می نماید. مانند راهکار قبلی، این روش از تلفیق AI/DB نیز مزیت ترکیب AI های موجود با DB های موجود را دارد و مشکل کارایی پایین DBMS ابتدا با افزایش عملکرد خود واسط و در درجه بعد در صورت امکان با ارتقاء بخشیدن سیستم AI یا DBMS حل شده است. 
مثلاً، سیستم BERMUDA از نوعی کش کردن نتایج برای افزایش کارایی استفاده می کند و تحلیل های ساده برنامه های AI را برای تشخیص عملیات join اتصال که توسط DBMS انجام می گیرد، به کار می برد. سیستم BrAID بسیار شبیه این سیستم است با این تفاوت که کش کردن عمومی و قابلیت های تحلیلی را پشتیبانی می کند و اجازه تجربه استراتژی های مختلف واسط ها را می دهد. 
IDI واسطی است که برای تسهیل توسعه سیستم AI/DB با استفاده از این راهکار آخر به کار می رود. IDI یک واسط مبتنی بر حافظه نهان است و به گونه ای طراحی شده است که به راحتی با انواع مختلف سیستم های AI ترکیب می گردد. طراحی IDI. همچنین اجازه می دهد که به عنوان واسطی بین DBMS و انواع دیگر برنامه های کاربردی مثل مرورگر پایگاه داده و پردازشگر پرس و جو استفاده شود. 
ویژگی های طراحی 
IDI ویژگی های زیادی که در سیستم های AI استفاده می شوند را پوشش می دهد. این ویژگی عبارتند از: 
- اتصالات به پایگاه های داده به طور شفاف مدیریت می شوند. بنابراین می‌توان با استفاده از یک اتصال باز چند پرس و جو را بر روی یک بانک اطلاعاتی انجام داد. 
- اتصالات به بانک اطلاعاتی داده شده حتی در طول تقاضا باز هستند یعنی در اولین استفاده به جای نیاز به بانک اطلاعاتی صریح، یک تقاضای باز داده می شود. 
- اطلاعات شمای پایگاه داده چه زمانی که پایگاه داده باز است و چه زمانی که اطلاعات شما برای تقاضای کاربر لازمند، بارگذاری می شوند. 
- واسط پرس و جو یک زبان منطق گرا است اما از عملیات کاربر برای تشخیص متغیرهای منطقی استفاده می کند. 
- نتایج یک پرس و جو از DBMS در حافظه نهان قرار می گیرند، افزایش کارایی سیستم و حافظه نهان توسط مدیر پرس و جو انجام می شود. 
همه این ویژگی ها به جز آخری در این بخش شرح داده شدند. سیستم حافظه نهان (کش) و کارایی اولیه در بخش هایی که در ادامه می آیند بررسی خواهند شد. 
ساختن اتصالات 
همان طور که در بالا گفته شد، راهکارهای مختلفی برای ساختن واسط بین یک سیستم AI و DBMS های موجود، وجود دارد. هر چند، راهکارهای اصلی توازن بین هزینه ساخت اتصال به DBMS را حفظ می کنند و نتایج پرس و جوهای DBMS را پردازش می نمایند. برای تشخیص اینکه کدام راهکار سیستم AI را بهتر می شناسد می تواند با آن کار کند، فاکتورهای مختلفی مثلاً «میزان سربار ارتباطات» وجود دارد. به دو حالت تراکنش های بین سیستم AI و DBMS توجه کنید: 
- سیستم AI تعداد کمی پرس و جو تولید می کند که نتایج زیادی در بردارند و سیستم AI فقط از کسری (جزئی، تعداد کمی) از جواب ها استفاده می کند. 
- سیستم AI تعداد زیادی پرس و جو تولید می کند که به طور متوسط نتایج کمی را در بردارند و سیستم AI از همه جواب ها یا اکثریت آن ها استفاده می کند. 
در مورد اول، بهتر است از پردازش همه جواب ها با استفاده از تکنیک‌های مبتنی بر تقاضا جلوگیری کنیم تا هر بار فقط یک تاپل (سطر) از رشته جواب‌های DBMS تولید شود. 
هر چند برای این کار لازم است اتصالات مجزایی برای هر پرس و جوی DBMS بسازیم. اما میزان سربار ساخت چنین اتصالاتی خیلی  کمتر از هزینه پردازش همه جواب ها است. در مورد دوم، بهتر است با استفاده از یک اتصال منفرد برای چندین پرس و جو، از هزینه ساخت اتصالات زیاد به DBMS جلوگیری نماییم. هر چند، برای این کار لازم است همه نتایج یک پرس و جو پردازش شوند اما پرس و جوهای پشت سرهم می توانند توسط یک اتصال اجرا شوند. هزینه پردازش نتایج حاصله از DBMS و ذخیره سازی محلی آن‌ها کمتر از هزینه ساخت یک اتصال جدید برای هر پرس و جوی DBMS است. 
در اغلب سیستم ها، به نظر می رسد این فرض که هزینه کل ساخت یک اتصال جدید به DBMS بالا است، معقول است. بنابراین، استفاده از یک اتصال برای پرس و جوهای مختلف DBMS باعث صرفه جویی می گردد. وقتی می‌توان نقاط انفصال مشخصی را تخمین زد، حداقل کردن تعداد اتصالات DBMS که در یک زمان باز هستند قابل توجیه است. به همین دلیل اغلب سیستم عامل ها محدودیتی روی تعداد رشته هایی که همزمان باز هستند، اعمال می کنند. 
این می تواند شدیداً تعداد اتصالات DBMS که در یک زمان وجود دارند را محدود کند. همچنین اگر کسی دوست داشته باشد اتصالاتی به بانک های اطلاعاتی مختلف، در یک یا چند DBMS ، داشته باشد. مهم است که تعداد اتصالات باز به یک پایگاه داده منفرد را حداقل سازیم. 
در عین حال موضوع قابل توجه دیگر استفاده از کش کردن نتایج پرس‌وجوی DBMS است. اگر بتوان نتایج DBMS را به طور محلی توسط سیستم AI یا یک سرویس عامل کش کرد، می توان همه نتایج DBMS را توسط یک مکانیزم کش سازی پردازش نمود. بنابراین، راهکار اول قابل اجرا نیست. (فرض اینکه نتایج DBMS ، کاملاً مصرف می شوند.) با توجه به محدودیت ها و نیازمندی ها، به نظر می رسد بهترین راه حداقل سازی تعداد اتصالات از DBMS که به طور همزمان باز هستند، می باشد. به طور خلاصه، راهکاری که IDI زمانی که یک پرس و جوی DBMS با بانک اطلاعاتی روبه‌رو می شود که اتصالی به آن ندارد، این است که یک اتصال باز ایجاد می‌کند و رشته هر بار رشته نتایج حاصل که در یک تاپل می آید را پردازش می کند تا زمانی که پرس و جوی دیگری روی همان پایگاه داده رخ دهد. در این زمان، پرس و جوی جدید به DBMS  ارسال می شود، و باقیمانده رشته نتایج پرس و جوی قبلی به طور محلی ذخیره می شود و سپس رشته نتایج جدید، همانند قبل به صورت یک تاپل در هر بار پردازش می شود. یکی از ویژگی های کلیدی IDI مدیریت اتوماتیک اطلاعات شمای پایگاه داده است. کاربر یا برنامه کاربردی نیازی به اطلاعات شما برای آن دسته از رابطه‌های پایگاه داده که از طریق پرس و جوهای IDIL در دسترس قرار می گیرند، ندارند. IDI مسئولیت به دست آوردن اطلاعات شِمای مربوطه از DBMS مناسب را به عهده می گیرد. این کار مزایای قابل توجهی برای واسط هایی که برای فراهم کردن اطلاعات شِما، به کاربر وابسته اند، دارد. این نکته بسیار مهم است که، لزوماً اطلاعات شِما با آنچه در DBMS ذخیره شده است، سازگارند و بنابراین هر خطایی که توسط کدگذاری دستی اطلاعات شما مشخص شود، حذف می گردد، تنها استثناء زمانی رخ می دهد که شِمای موجود در DBMS بعد از دسترسی IDI به آن تغییر کند، چون IDI اطلاعات شما را کش می‌کند. بنابراین یک کپی اختصاصی از آن را نگه می دارد. 
هنگامی که این اشکال در داده های قدیمی برای هر سیستمی که یک کپی مجزا از اطلاعات شِما نگه می دارد، به وجود آید، IDI یک مکانیزم ساده برای به روز رسانی اطلاعات شِما ایجاد می کند. علاوه بر این، این راهکار به طرز چشمگیری پیاده سازی مروگر پایگاه داده را ساده می کند زیرا لازم نیست کاربران نام یا ساختار رابطه های ذخیره شده در یک پایگاه داده مشخص را بدانند. 

تگها: sql server   مدیریت پایگاه داده   هوش مصنوعی   هوش مصنوعی در پایگاه داده   
 

HyperLink

ارسال نظر در مورد این مطلب
نام :  
آدرس ایمیل :  
متن پیام :  
کد امنیتی :  
   
   
نظری برای نمایش وجود ندارد
 
این مطلب را به اشتراک بگذارید: