سوآر (معماری شناختی)

**Soar** یک معماری شناختی است که هدف آن فراهم‌آوردن بلوک‌های ساختاری لازم برای توسعه عامل‌های هوشمند عمومی است.

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

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

## معماری

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

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

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

### ورودی و خروجی نمادین
ورودی و خروجی نمادین از طریق ساختارهای حافظه کاری متصل به بالاترین حالت، موسوم به **ورودی‌پیوند** (input-link) و **خروجی‌پیوند** (output-link)، انجام می‌شود. ساختارهایی که در خروجی‌پیوند حافظه کاری ایجاد می‌شوند، به دستوراتی برای اقدامات خارجی (مانند کنترل حرکتی) تبدیل می‌شوند.

### سیستم بصری فضایی و تصویرسازی ذهنی
برای تعامل با سیستم‌های دیداری و استدلال غیرنمادین، Soar از **سیستم بصری فضایی** (SVS) استفاده می‌کند. SVS جهان را به‌صورت داخلی به شکل یک گراف صحنه نمایش می‌دهد که از مجموعه‌ای از اشیاء و ویژگی‌های فضایی نظیر شکل، موقعیت، مقیاس و وضعیت نسبی تشکیل شده است. عامل Soar با استفاده از SVS می‌تواند ویژگی‌ها و روابط را استخراج کرده و به حافظه کاری اضافه کند. همچنین، عامل می‌تواند برای تصویرسازی ذهنی، اشیاء فرضی را در SVS شبیه‌سازی کرده و نتایج تعامل آن‌ها را بررسی کند.

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

## کاربردها

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

### فهم زبان طبیعی
**NL-Soar** سیستمی برای درک و تولید زبان طبیعی بود که قابلیت‌های گفتگو را با تاکید بر تجزیه و تولید افزایشی و در زمان واقعی فراهم می‌کرد.

### '''انسان‌های مجازی'''
Soar در شبیه‌سازی انسان‌های مجازی با قابلیت‌های ادراک، فهم زبان، احساسات، و کنترل بدن برای تعامل در دنیاهای مجازی استفاده شده است.

### موسیقی
**Melody-Soar** توانایی Soar را در تولید ملودی‌های ساده و منحصر‌به‌فرد از طریق مدل‌سازی سلسله‌مراتب فضاهای مسئله نشان داد.

### رباتیک
از اولین برنامه‌ریزی‌های رباتیک در سال ۱۹۹۱ تا ربات‌های پیشرفته امروزی، Soar در کنترل ربات‌های متحرک، انسان‌نما و زیرآبی مورد استفاده قرار گرفته است.

## نرم‌افزار
معماری Soar توسط گروه تحقیقاتی دانشگاه میشیگان نگهداری و توسعه داده می‌شود. این سیستم با زبان‌های C و ++C نوشته شده و به‌طور آزاد تحت مجوز BSD در دسترس است. ارتباط با محیط‌های خارجی از طریق زبان نشانه‌گذاری Soar (SML) انجام می‌شود که امکان تعامل با زبان‌های C++، Java و Python را فراهم می‌کند.

## منابع
* https://en.m.wikipedia.org/wiki/Soar_(cognitive_architecture)
* https://soar.eecs.umich.edu/
* https://acs.ist.psu.edu/projects/soar-faq/soar-faq.html
* https://soartech.com/
* https://mitpress.mit.edu/9780262538534/the-soar-cognitive-architecture/
* https://pubsonline.informs.org/doi/10.1287/isre.8.3.302

## پیوند به بیرون
*Soar Homepage on دانشگاه میشیگان
*Soar: Frequently Asked Questions List
*Soar Tech Homepage
*Paul Rosenbloom

رده:زبان‌های برنامه‌نویسی مبتنی بر عامل
رده:معماری شناختی