در این مطلب ما با معانی شبیهسازهای کوانتومی و محاسبات کوانتومی آشنا شدیم. همچنین آموختیم Qiskit چگونه در این دو حوزه میتواند به ما کمک کند. ما در این مطلب در مورد Qiskit Aer و قابلیتهایش در شبیهسازی مدارات کوانتومی، اطلاعات کسب کردیم. همچنین دیدیم که Qiskit میتواند در حوزه محاسبات کوانتومی به کار رود زیرا Qiskit به ما قابلیتهایی نظیرِ طراحی مدارها، اجرای کدها بر روی کامپیوترهای کوانتومی واقعی و کتابخانههایی مانند Qiskit Aqua را فراهم میسازد. این مطلب یک محتوای مقدماتی در حوزه شبیهسازها و محاسبات کوانتومی است. ما در آینده در مورد الگوریتمهای کوانتومی و پیادهسازی آنها در بستر Qiskit بیشتر صحبت خواهیم کرد.
ما در مرکز تحقیقات فناوریهای کوانتومی ایران، بر روی حوزههای مرتبط با حوزهی محاسبات کوانتومی تحقیق میکنیم. از مواردی که قصد داریم در این مطلب با شما به اشتراک بگذاریم، اطلاعاتی در مورد شبیهسازی کوانتومی و محاسبات با ابزار Qiskit است.
Qiskit چیست؟ آیا میتوانیم از آن بهعنوان شبیهساز کوانتومی و برای محاسبات کوانتومی استفاده کنیم؟ در این مطلب، به این سؤالات پاسخ خواهیم داد. ولی اول باید بررسی کنیم که “شبیهساز کوانتومی” و “محاسبات کوانتومی” چه معنایی دارند؟
شبیهساز کوانتومی چیست؟
بر اساس مقاله What is a quantum simulator (یک شبیهساز کوانتومی چیست) (توسط T. H. Johnson و همکاران)، شبیهسازهای کوانتومی دستگاههایی هستند که از اثرات مکانیک کوانتوم استفاده میکنند تا سوالاتی در رابطه با سیستمهای مدل شده را پاسخ دهند. به این ترتیب، میتوان پاسخ به سؤالات مرتبط با سیستمهای واقعی را هم به دست آورد. شبیهساز کوانتومی یک ابزار برای شبیهسازی رفتارها و ویژگیهای سیستمهای کوانتومی است. شبیهسازها یک مکانیزمی ارائه میدهند که از طریق آنها میتوانیم بدون نیاز به اینکه یک سختافزار کوانتومی فیزیکی داشته باشیم، پدیدههای کوانتومی را درک کنیم.
محاسبات کوانتومی چیست؟
استفاده از سیستمهای کوانتومی مانند کیوبیتها در انجام عملیات محاسباتی و حل آن عملیات بهصورت بهینه نسبت به کامپیوترهای کلاسیک را محاسبات کوانتومی تعریف میکنیم. محاسبات کوانتومی از برخی از ویژگیهای مکانیک کوانتوم مانند برهمنهی (Superposition) و درهمتنیدگی (Entanglement) برای دستیابی به افزایش سرعت نسبت به کامپیوترهای کلاسیک استفاده میکند.
Qiskit چیست؟
یک بسته توسعه نرمافزار (Software Development Kit – SDK) متنباز برای استفاده در کامپیوترهای کوانتومی، Qiskit است که در سطح مدارها و الگوریتمها عمل میکند. Qiskit به شما اجازه میدهد تا برنامه کوانتومی خود را بر روی یک شبیهساز با استفاده از کامپیوتر خودتان اجرا کنید. نسخهی Qiskit Aer یک شبیهساز کوانتومی با کارایی بالا (high-performance quantum computing simulator)، با قابلیت شبیهسازی واقعی مدلهای نویزی است. Qiskit Aer دارای یک رابط است که به شما اجازه میدهد تا مدارات کوانتومی را با نویز یا بدون نویز از طریق روشهای مختلف شبیهسازی بدون اینکه یک سختافزار کوانتومی واقعی داشته باشید، انجام دهید. شبیهسازهای مختلف درون Qiskit Aer گنجانده شدهاند که برای اهداف مختلف میتوانند مورداستفاده قرار گیرند. مثلاً شبیهساز statevector، شبیهسازی unitary و غیره.
محاسبات کوانتومی با Qiskit
Qiskit به پژوهشگران، برنامه نویسان و دیگر افراد اجازه میدهد تا با کامپیوترهای کوانتومی و الگوریتمهای کوانتومی کار کنند. ما میتوانیم در Qiskit از مجموعهای از ابزارها و کتابخانهها مرتبط با محاسبات کوانتومی بهره بگیریم. برخی از ابزارها و کتابخانهها که میتوانیم برای محاسبات کوانتومی از آنها استفاده کنیم عبارتاند از:
- طراحی مدارهای کوانتومی: Qiskit به کاربران اجازه میدهد با زبان برنامهنویسی سطح بالای پایتون طراحی مدارهای کوانتومی را انجام دهند. کاربران میتوانند از گذرگاههای مختلف تک و چند کیوبیتی، گذرگاههای کنترلی و دیگر موارد استفاده کنند.
- دسترسی به سختافزار کوانتومیِ واقعی: به لطفِ هماهنگی بین Qiskit و IBM Quantum، میتوانیم کدهای Qiskit را بر روی یک رایانهی کوانتومی واقعی نیز اجرا کنیم.
- الگوریتمهای کوانتومی: Qiskit دارای یک کتابخانه به نام Aqua است. Aqua مخفف “Algorithms for Quantum Applications” (الگوریتمها برای کاربردهای کوانتومی) است. Qiskit Aqua میتواند در حوزههای مثل شیمی، امور مالی، یادگیری ماشین، و بهینهسازیها مورد استفاده قرار گیرد. Qiskit Aqua امکان تجربه کاربردهای واقعی و بهروز محاسبات کوانتومی را میدهد.
- شبیهسازهای کوانتومی: همانطور که قبلتر گفتیم، Qiskit یک شبیهساز قدرتمند به نام Qiskit Aer دارد. برای تست و بررسی یک الگوریتم، میتوانیم مدار آن را با Qiskit پیادهسازی کنیم و سپس آن را با Qiskit Aer بازسازی میکنیم تا با نوع رفتار آن مدار آشنا شویم.