هوش مصنوعی در مقابل برنامه‌نویسی الگوریتمی کلاسیک

به سمت هوش مصنوعی از برنامه‌نویسی الگوریتمی کلاسیک

آنتونی کوآترون، دکترا 30 آوریل 2022

پیشرفت‌های هوش مصنوعی امکان حل کارآمد مسائل محاسباتی پیچیده‌ای را فراهم کرده است که پیش از این دشوار، غیرقابل حل یا به شدت ترکیبیاتی بودند. این مسائل شامل تشخیص چهره، تشخیص اشیاء، برنامه‌ریزی مسیر و سیستم‌های توصیه‌گر آنلاین بسیار شخصی‌سازی‌شده است.

چالش سازمان‌ها در حرکت به سوی آینده این است که تصمیم‌گیرندگان استراتژیک باید بین رویکردهای کلاسیک سنتی و رویکردهای هوش مصنوعی برای حل مسائل محاسباتی پیچیده تصمیم‌گیری کنند. هر یک از این روش‌ها در ارائه یک سیستم قدرتمند در ابعاد دقت، هزینه، دشواری پیاده‌سازی و قابلیت نگهداری، چالش‌های منحصربه‌فردی دارند.

رویکرد برنامه‌نویسی الگوریتمی کلاسیک برای حل مسائل

پارادایم برنامه‌نویسی کلاسیک شامل حل مسائل از طریق الگوریتم‌های دستوری و استفاده از دنباله‌ای از دستورالعمل‌های به‌خوبی تعریف‌شده است. ورودی‌ها تعریف و محدود می‌شوند و الگوریتم‌هایی برای پردازش ورودی‌ها از طریق پارادایم‌های برنامه‌نویسی تعریف‌شده (رویه‌ای، شیءگرا، تابعی و منطقی) به‌منظور تولید خروجی‌ها توسعه می‌یابند.

کشف الگوریتم‌ها برای حل مسائل کارآمد از نظر زمانی و مکانی به‌طور بدنام چالش‌برانگیز است. در نظریه پیچیدگی محاسباتی، مسائل یا P (چندجمله‌ای)، NP (چندجمله‌ای غیرقطعی)، NP-Complete یا NP-Hard هستند. مسائل چندجمله‌ای می‌توانند به سرعت حل و تأیید شوند، در حالی که مسائل غیرچندجمله‌ای نمی‌توانند. مسائل NP از طریق رویکردهای الگوریتمی کلاسیک حل دشوار هستند.

نمونه‌ای از یک مسئله P، یافتن کوتاه‌ترین مسیر بین دو نقطه است، در حالی که نمونه‌ای از یک مسئله NP، مسئله فروشنده دوره‌گرد است که هنگام دریافت مجموعه‌ای از مکان‌ها، چه مسیر بهینه‌ای برای بازدید از همه سایت‌ها با طی کوتاه‌ترین مسافت ممکن وجود دارد. اتفاقاً بسیاری از مسائلی که در حال حاضر باید از نظر محاسباتی حل شوند در دسته NP قرار می‌گیرند. در بیشتر موارد، برای اهداف عملی، یک راه‌حل تقریبی اغلب کافی است. هنگام مواجهه با زندگی روزمره، انسان‌ها همیشه راه‌حل‌های تقریبی ارائه می‌دهند، یعنی ناوبری.

چالش‌هایی در پیاده‌سازی برای حل مشکلات تحت یک پارادایم الگوریتمی کلاسیک به شیوه‌ای کارآمد وجود دارد. پیچیدگی الگوریتمی شاخه‌ای از علوم کامپیوتر است که به کارایی اجرای الگوریتم‌ها در حوزه‌های زمانی (پیچیدگی زمانی) و مکانی (پیچیدگی فضا) می‌پردازد.

اگرچه روش‌های مختلفی برای پیاده‌سازی الگوریتم‌ها وجود دارد، یک روش بدیهی اما به طور بالقوه ناکارآمد برای پیاده‌سازی یک الگوریتم اغلب به عنوان الگوریتم «ساده‌لوحانه» شناخته می‌شود. کشف کارآمدترین الگوریتم‌ها آسان نیست و دانشمندان علوم کامپیوتر سال‌های متمادی برای یافتن بهترین الگوریتم‌ها جهت حل طبقاتی از مسائل تلاش کرده‌اند. الگوریتم‌ها در سیستم‌های تولیدی به روش‌هایی از نظر زمانی و مکانی کارآمد پیاده‌سازی می‌شوند. بزرگترین شرکت‌های نرم‌افزاری بالاترین استانداردهای الگوریتمی را از طریق برنامه‌نویسی همتا، مشابه داوری همتا، تضمین می‌کنند. پیاده‌سازی کارآمد الگوریتم‌ها نیازمند سال‌ها آموزش و درجه بالایی از مهارت است.

از نظر عملی، در حالی که تکنیک‌های برنامه‌نویسی تکامل یافته‌اند و زبان‌های برنامه‌نویسی (یعنی C، C++، Java، JavaScript، PHP، Python) از نظر محبوبیت متنوع بوده‌اند، اصول بنیادین از زمانی که آزمایشگاه‌های بل در دهه ۱۹۷۰ اولین ماژول‌های C را نوشتند، ثابت مانده‌اند. روش‌های عملی‌ای وجود دارند که مشکلات چالش‌برانگیز از نظر تئوری را در محیط تولید به کار می‌گیرند، مانند استفاده از سیستم‌های توزیع‌شده. رویکردهای پیشرفته با هزینه بالاتری همراه هستند و خارج از توانایی همه سازمان‌ها به جز پیشروترین سازمان‌ها از نظر فناوری قرار دارند.

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

رویکرد AI به حل مشکلات

پارادایم هوش مصنوعی تلاش کرد تا مسائل را به‌صورت کلی از طریق ورودی دادن ورودی‌ها و خروجی‌های مطلوب به یک سیستم و اجازه دادن به سیستم برای یادگیری نحوه حل مسائل، حل کند. رویکردهای فعلی هوش مصنوعی از طریق تکنیک‌های برنامه‌نویسی کلاسیک روی رایانه‌های کلاسیک اجرا می‌شوند. هیجان‌انگیزترین روش‌های هوش مصنوعی، شبکه‌های عصبی و یادگیری تقویتی هستند.

شبکه‌های عصبی مصنوعی از درک انسانی از نحوه یادگیری و تعمیم مسائل توسط ذهن انسان بهره می‌برند. یادگیری تقویتی از عامل‌هایی استفاده می‌کند که یک حالت هدف و مجموعه‌ای از سناریوها را دریافت می‌کنند. الگوریتم یادگیری پیامدهای مطلوب را حفظ کرده و پیامدهای نامطلوب را در طول تکرارهای متعدد کنار می‌گذارد. یادگیری تقویتی مشابه شرطی‌سازی عملیاتی است. عامل در طول تکرارهای آموزشی متعدد یاد می‌گیرد که چگونه به هدف دست یابد.

یک الزام برای آموزش راه‌حل‌های هوش مصنوعی یا یک مجموعه داده وسیع و به‌خوبی تعریف‌شده است که معمولاً با استفاده از ترکیبی از انبارهای داده مختلف یا جمع‌سپاری تدوین می‌شود، یا یک سیستم می‌تواند با اجرای یک سری تکرارها یاد بگیرد به یک وضعیت هدف برسد. نمونه‌ای از این، سیستمی است که در مقابل خودش بازی می‌کند، مانند شطرنج یا Go، تا بیشتر یاد بگیرد چگونه استراتژی‌هایی برای بهبود نتایج توسعه دهد. شبکه مصنوعی و یادگیری تقویتی هر دو روی سناریوهایی اجرا می‌شوند که برای آن‌ها آموزش ندیده‌اند و مشابه سایر رویکردهای یادگیری ماشین ارزیابی می‌شوند. این رویکردها به‌خوبی تعمیم می‌یابند و با توجه به یک کلاس از مسائل، راه‌حل‌های کارآمدی ارائه می‌دهند. راه‌حل‌های مبتنی بر هوش مصنوعی برای مسائلی مناسب هستند که نمی‌توان به‌راحتی با استفاده از دنباله‌ای از دستورالعمل‌ها آن‌ها را تعریف کرد؛ در عوض به «شهود» و قضاوت‌های ارزشی بیشتری نیاز دارند.

معمولاً، سیستم‌های هوش مصنوعی با استفاده از مجموعه‌داده‌ها آموزش داده می‌شوند و سپس روی یک مجموعه ارزیابی ارزیابی می‌شوند. هرچه داده‌های آموزشی باکیفیت‌تری وارد یک سیستم AI شود، احتمال عملکرد سیستم به استانداردی بالاتر بیشتر است. مزیت رویکردهای AI این است که می‌توانند به مرور زمان با یادگیری بیشتر سیستم، به بهبود خود ادامه دهند. بنابراین، مشکلات پیچیده می‌توانند توسط سیستم‌های محاسباتی تعمیم داده و حل شوند. این موارد شامل مسائلی است که به‌طور سنتی با ورودی انسانی حل می‌شدند، اگرچه هوش مصنوعی محدود می‌تواند به‌عنوان مکمل ورودی انسانی موجود برای حصول نتایج بهتر در نظر گرفته شود.

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

به طور کلی، ما پیش‌بینی می‌کنیم که دقت بهبودیافته‌ای که سیستم‌های AI به همراه خواهند آورد، در کنار کارایی‌های حاصل از تکمیل ورودی انسانی، انگیزه مالی بسیار بزرگی برای بسیاری از سازمان‌ها ایجاد خواهد کرد تا در سال‌های آینده آن را نادیده نگیرند و سیستم‌های AI همه‌گیر خواهند شد.

چه زمانی هوش مصنوعی را انتخاب کنیم و چه زمانی رویکرد برنامه‌نویسی الگوریتمی کلاسیک را برای حل مشکلات برگزینیم

اگرچه هیچ قواعد قطعی و مشخصی برای زمان استفاده از هر یک از این رویکردها وجود ندارد، به عنوان یک قاعده کلی، مسائلی که نیازمند راه‌حل‌های تقریبی هستند و شامل برنامه‌ریزی بلندمدت هدف‌محور، تشخیص الگوهای پیچیده و پردازش متغیرهای متعدد می‌شوند، بیشتر مناسب AI هستند. رویکردهای الگوریتمی کلاسیک برای راه‌حل‌های دقیق یا نزدیک به بهینه که شامل منطق و محاسبات سنگین هستند، مناسب‌ترند.

انتخاب رویکرد صحیح می‌تواند مزایای قابل‌توجهی برای سازمان شما به همراه داشته باشد، در حالی که انتخاب روشی کمتر بهینه می‌تواند منجر به زیان‌های سرمایه‌ای قابل‌توجهی شود، زیرا پروژه‌های فناوری پرهزینه هستند. اغلب، استفاده از سیستم‌های اثبات‌شده و قابل‌نمایش مانند Telemus AI™ می‌تواند به سازمان‌ها کمک کند تا موفقیت در تحول دیجیتال هوش مصنوعی خود را تضمین کنند.

همین امروز با ما تماس بگیرید تا یک مشاوره رایگان در مورد نحوه ادغام Telemus AI™ در سازمان شما دریافت کنید.