سلام و به دوره جدید من خوش آمدید راهنمای Dummies برای محاسبات کوانتومی عملی با IBM Qiskit. فناوری محاسبات کلاسیک فعلی ما مبتنی بر بیت ها یا ارقام باینری 1 و 0 است. 1 برای روشن و 0 خاموش. حتی اگر دارای دو حالت باشد، یک بیت می تواند در یک زمان تنها در یک حالت وجود داشته باشد. درست مانند سکه ای که دو روی سر و دم دارد.
توجه: در کامپیوترهای کلاسیک یک برنامه نویس به سادگی می تواند کد سطح بالا را بنویسد و آن را اجرا کند. اما برای کامپیوترهای کوانتومی باید مدارهایی را برای انجام وظایف خاص طراحی کنیم.
مفهوم محاسبات کوانتومی کاملاً با مفهوم کلاسیک متفاوت است. برای انجام محاسبات از خاصیت مکانیکی کوانتومی ذرات کوچک زیر اتمی مانند الکترون ها استفاده می کند. به جای 1 و 0، یک کیوبیت یا بیت کوانتومی از موقعیت اسپین "بالا" و "پایین" الکترون ها استفاده می کند.
اما بر خلاف بیت ها، کیوبیت ها می توانند در هر دو حالت به طور همزمان وجود داشته باشند. همانطور که یک سکه به چرخش خود ادامه می دهد، می توانیم بگوییم که احتمال یکسانی برای سر و دم دارد. یا همزمان سر و دم است.
به عنوان مثال یک محاسبه 1 بیتی برای یافتن بهترین مسیر در نظر بگیرید. 0 به معنای راست و 1 به معنای چپ است. یک کامپیوتر کلاسیک با یک بیت باید ابتدا بیت را روی 0 تنظیم کند تا به مسیر چپ برود و بعداً 1 را برای رفتن به مسیر راست قرار دهد تا بهترین مسیر را پیدا کند. اما یک کامپیوتر کوانتومی با یک کیوبیت می تواند هر دو مسیر را به طور همزمان طی کند و تنها در نیمی از زمان به یک راه حل برسد.
با افزایش تعداد کیوبیت ها، این سرعت در مقایسه با کامپیوترهای کلاسیک به طور تصاعدی افزایش می یابد. محاسباتی مانند تجزیه و تحلیل دادهها، هوش مصنوعی که به توانایی پردازش موازی زیادی نیاز دارند، میتوانند محاسبات را در چند میلیثانیه انجام دهند، جایی که اکنون تکمیل آن به سنی نیاز دارد.
اگرچه قرار نیست جایگزین لپتاپها یا تلفنهای همراه ما شود، اما رایانههای کوانتومی میتوانند این موانع رایانههای سنتی را در پردازش دادهها حل کنند. اخیراً گوگل اعلام کرد که یک رایانه کوانتومی دارد که 100 میلیون بار سریعتر از هر رایانه کلاسیک موجود در آزمایشگاه خود است.
در بخش اول دوره ما از جلسات 1 تا 6، ما در حال یادگیری جزئیات اساسی در مورد مکانیک کوانتومی و بیت های کوانتومی هستیم که با مقدمه ای بر مکانیک کوانتومی شروع می شود. ما سعی خواهیم کرد در ساده ترین روش توضیحی در مورد تفاوت بین مکانیک کوانتومی و فیزیک کلاسیک، ماهیت دوگانه ذرات، آزمایش دو شکاف، برهم نهی، درهم تنیدگی کوانتومی و غیره داشته باشیم.
در جلسه بعدی در مورد تفاوت بین بیت های کلاسیک و بیت های کوانتومی به نام کیوبیت بحث خواهیم کرد. ایجاد، نمایش و پردازش یک بیت کلاسیک. سپس چگونه یک کیوبیت تولید میشود، چه چیزی درون کیوبیت است، چگونه دادهها در کیوبیت نمایش داده میشوند و چه چیزی آن را سریعتر از بیتهای کلاسیک میکند.
سپس ما با جزئیات خواهیم دید که یک کیوبیت چگونه ایجاد می شود و چگونه اطلاعات خود را حفظ می کند. همچنین در مورد ساختار یک کامپیوتر کوانتومی و نحوه برخورد کیوبیت ها در آن بحث خواهیم کرد.
سپس با اسکالرها و بردارها آشنا می شویم. چگونه از بردارها و ماتریس ها برای نمایش وضعیت یک بیت کوانتومی استفاده می شود. درباره نمایش کیوبیت به عنوان بردارها و ماتریس های Ket. همچنین عملیات اصلی ماتریس را یاد خواهیم گرفت.
پس از یادگیری در مورد بیتها و کیوبیتهای کلاسیک، اکنون میتوانیم با گیتها ادامه دهیم. در ابتدا با دروازه های کلاسیک، نحوه عملکرد آن و همچنین انواع دروازه های کلاسیک و جداول حقیقت آنها آشنا می شویم.
در جلسه بعدی، با چارچوبهای کوانتومی محبوب شرکتهای پیشرو که در مورد کامپیوترهای کوانتومی تحقیق میکنند، مزایا و معایب آنها آشنا میشویم.
با روشن بودن همه مفاهیم، اکنون میتوانیم به بخش عملی دوره خود ادامه دهیم. ما در ابتدا کامپیوتر خود را با نصب محیط پایتون راه اندازی می کنیم. این کار با نصب توزیع پایتون به نام آناکوندا آسان شده است. سپس به نصب و تست qiskit، فریم ورک کوانتومی توسط IBM
خواهیم پرداختهنگامی که qiskit را در رایانه خود داریم و شبیه ساز کوانتومی در حال اجرا است، اولین مدار کوانتومی خود را با استفاده از دروازه کوانتومی ساده به نام دروازه x Pauli کدگذاری می کنیم. بعداً سعی خواهیم کرد ورودی و خروجی را به دروازه Pauli x سفارشی کنیم و عملیات را تأیید کنیم.
وقتی در شبیه ساز تأیید شد، زمان آن رسیده است که می توانیم آن را در یک کامپیوتر کوانتومی واقعی امتحان کنیم. IBM دسترسی به تعداد کامپیوترهای کوانتومی خود را که در مراکز تحقیقاتی در سرتاسر جهان قرار دارند، فراهم می کند. با استفاده از رابط تجربه کوانتومی IBM، میتوانیم به سادگی مدار گیت Pauli x خود را ایجاد کنیم تا در یک کامپیوتر کوانتومی واقعی کار کند و خروجی بگیرد.
سپس بررسی خواهیم کرد که چگونه میتوانیم ماتریسها را بهعنوان بردار حالت با استفاده از نماد dirac نشان دهیم. خواهیم دید که چگونه ماتریس های دروازه ایکس Pauli به عنوان بردار حالت نمایش داده می شوند.
به طور مشابه با گیت Pauli Y ادامه خواهیم داد. ما بردار حالت را بررسی می کنیم و ابتدا با عملیات شبیه ساز qiskit خود امتحان می کنیم و سپس آن را در رایانه کوانتومی واقعی IBM پیاده سازی می کنیم.
مانند آن، دروازه دیگری به نام دروازه Pauli Z. برای این مورد نیز ابتدا در مورد عملیات شبیه ساز qiskit خود یاد می گیریم و سپس آن را در رایانه کوانتومی واقعی پیاده سازی می کنیم.
در جلسه بعدی، با مقدار ویژه و بردارهای ویژه دروازههای Pauli x، y و z آشنا میشویم.
پس از آن، با دروازه جدیدی به نام دروازه هادامارد یا دروازه H آشنا خواهیم شد. این گیت قادر به ایجاد برهم نهی از یک کیوبیت کلاسیک است. در مورد عملیات H gate مقدمه ای خواهیم داشت. سپس گیت H را در شبیه ساز qiskit خود پیاده سازی می کنیم. ما کره بلوخ و نمایش هیستوگرام را با استفاده از qiskit بررسی خواهیم کرد.
با استفاده از گیت H، ما همچنین سعی خواهیم کرد مدارهای سفارشی کمی ایجاد کنیم که در آنها سعی می کنیم عملیات گیت X را فقط با استفاده از گیت های H و Z تکرار کنیم. در مدار بعدی
را انجام خواهیم دادهنگامی که کیوبیت را اندازهگیری میکنیم، پدیده فروپاشی برهمنهی را بررسی کنید.
سپس گیت هادامارد را در یک کامپیوتر کوانتومی IBM امتحان خواهیم کرد.
بعد از گیت H، چند جلسه سریع خواهیم داشت که با چند گیت دیگر سروکار داریم. اولین مورد به عنوان دروازه R Phi نامیده می شود. سپس دو گیت دیگر به نام گیت های S و T را بررسی می کنیم. و در نهایت با دروازه های U و I برخورد خواهد کرد. ماتریس انتقال و عملیات آن گیت ها را بررسی می کنیم.
آنها دروازه هایی با عملیات تک کیوبیت بودند. حال به سراغ گیت هایی می رویم که قابلیت انجام عملیات چند کیوبیتی را دارند. قبل از آن، با نمایش چند کیوبیت و حالت های آن آشنا خواهیم شد. ما از بسته ای به نام qiskit-notebook برای نمایش بردار حالت چند qiskit استفاده خواهیم کرد.
در ابتدا سعی می کنیم با استفاده از گیت های تک کیوبیتی یک مدار چند کیوبیتی ایجاد کنیم. در ابتدا سعی می کنیم با ترکیب دروازه های X و H مدار را تشکیل دهیم. و بعداً سعی خواهیم کرد از دو کیوبیت و یک گیت استفاده کنیم.
پس از آن با یک گیت واقعی چند کیوبیتی به نام گیت CNOT یا گیت Controlled NOT ادامه خواهیم داد. ما در مورد دروازه CNOT، جدول حقیقت و عملیات آن بیشتر خواهیم آموخت. در ابتدا گیت CNOT را با کیوبیت های کلاسیک امتحان خواهیم کرد. ما آن را در qiskit پیاده سازی خواهیم کرد. بعداً دروازه CNOT را فقط با یک کیوبیت برهم نهی و بعد از آن با هر دو کیوبیت برهم نهی امتحان خواهیم کرد.
سپس ما به پیاده سازی گیت CNOT در کامپیوتر کوانتومی واقعی از IBM ادامه خواهیم داد.
ما همچنین میتوانیم مدارهای هویتی را با استفاده از گیت CNOT ایجاد کنیم. با استفاده از این مدار هم ارزی می توانیم عملیات گیت های دیگر را تقلید کنیم که در یک کامپیوتر کوانتومی واقعی قابل انجام نیستند.
در ابتدا با استفاده از یک دروازه CNOT که با گیت های H پیچیده شده است، یک مدار هویت ایجاد می کنیم تا مانند یک دروازه CNOT در جهت مخالف عمل کند.
سپس مدار هم ارزی دیگری را با استفاده از یک گیت CNOT در بین گیت های هادامارد امتحان می کنیم که عملیات یک گیت Z کنترل شده یا گیت CZ را ایجاد می کند.
مانند آن، یک مدار هم ارزی برای گیت نظری دیگری به نام گیت CY یا گیت Y کنترل شده ایجاد خواهیم کرد.
دریچه دیگری به نام دروازه SWAP وجود دارد. همانطور که از نام آن مشخص است، می تواند حالت های کیوبیت را بین یکدیگر جابجا کند. ما همچنین هویت مدار یا معادل مداری را برای دروازه swap ایجاد خواهیم کرد.
به طور مشابه برای گیت دیگری به نام گیت Tiffoli، ما هویت مدار یا معادل مداری را برای گیت tiffoli ایجاد می کنیم و آن مدار را در qiskit پیاده سازی می کنیم.
و این همه با گیتها است، اکنون به یادگیری یک الگوریتم مهم به نام الگوریتم Deutsch–Jozsa یا الگوریتم DJ ادامه میدهیم که موازیسازی کوانتومی را نشان میدهد.
ریاضیات اساسی این الگوریتم بسیار پیچیده است و ما فقط سعی می کنیم آن را به روشی بسیار کم عمق یاد بگیریم. در ابتدا مشکل DJ را که الگوریتم با آن سروکار دارد می بینیم و بعداً با طراحی الگوریتم آشنا می شویم. بعداً آن را در qiskit پیادهسازی میکنیم و نتایج را تأیید میکنیم.
سپس به بحث در مورد دو فناوری جالب ادامه خواهیم داد.
اولین توزیع QKD یا توزیع کلید کوانتومی نامیده می شود که از ویژگی های منحصر به فرد سیستم های کوانتومی برای تولید و توزیع کلید رمزنگاری استفاده می کند. رمزنگاری کوانتومی همچنین از همان اصول فیزیک برای برقراری ارتباط دادههای غیرقابل هک از طریق یک پیوند ارتباطی اختصاصی استفاده میکند.
سپس در مورد تله پورت کوانتومی که تکنیکی برای انتقال اطلاعات کوانتومی از یک فرستنده در یک مکان به یک گیرنده در فاصله ای دورتر است، بحث خواهیم کرد.
به طور کلی، این دوره آموزشی خوبی برای مبتدیانی خواهد بود که شیفته محاسبات کوانتومی هستند و می خواهند درباره محاسبات کوانتومی اطلاعات بیشتری کسب کنند. محاسبات کوانتومی واقعی همه چیز در مورد ریاضیات و فرمول های خسته کننده پیچیده است که من حداکثر تلاش خود را برای جلوگیری از تبدیل آن به روشی بسیار ساده انجام داده ام تا برای یک مبتدی قابل درک باشد.
در این دوره ما به شدت از مستندات و کتاب متنی IBM Qiskit پیروی می کنیم. تقریباً تمام تصاویر و نمونههای مورد استفاده در این دوره از وبسایت اسناد qiskit IBM است که میتوانید برای یادگیری بیشتر از این نقطه به آن مراجعه کنید.
رایانههای کوانتومی میتوانند به پیشرفتهای جدید در علم، داروها، یادگیری ماشینی، علم مواد، مالی کمک کنند که به بشر کمک میکند تا به بهترین تمدن در کل جهان تبدیل شود. در واقع کامپیوتر کوانتومی آنقدر قدرتمند است که هیچ کس نمی داند چگونه از پتانسیل واقعی آن استفاده کند و تاکنون هیچ الگوریتم کوانتومی کامل نیست. سخت افزار و کد هنوز در مرحله توسعه هستند و فرصت های بزرگی را در آینده برای متخصصان محاسبات کوانتومی فراهم می کنند.
این همه در مورد موضوعاتی است که در حال حاضر در این دوره سریع گنجانده شده است. کدها و فایل های نوت بوک jupyter مورد استفاده در این دوره آپلود شده و در یک پوشه به اشتراک گذاشته شده است. لینک دانلود آنها را در آخرین جلسه یا قسمت منابع این دوره قرار خواهم داد. شما آزاد هستید که از کد در پروژه های خود استفاده کنید بدون اینکه سوالی پرسیده شود.
همچنین پس از اتمام این دوره، گواهی پایان دوره به شما ارائه می شود که ارزش افزوده ای به مجموعه شما خواهد داشت.
بنابراین فعلاً تمام است، به زودی شما را در کلاس می بینیم. یادگیری مبارک و اوقات خوبی داشته باشید.
مرجع و اعتبار
-------------------------
qiskit IBM - یادگیری
Qiskit IBM - کتاب درسی
qiskit IBM - مستندات
blog cloudflare - the-quantum-menace
towardsdatascience -demysifying-quantum-gates-one-qubit-at-a-time-54404ed80640
wikipedia - Quantum_logic_gate
jonathan-hui - qc-quantum-computing-series-10ddd7977abd
youtube - کدنویسی با Qiskit
youtube - Veritasium، توضیحی بسیار ساده برای هر مفهوم کوانتومی پیچیده
بسیار الهام گرفته از آثار و مقالات پروفسور آندریا مورلو. مهندسی کوانتوم، دانشگاه نیو ساوت ولز
استاد و برنامه نویس ارشد مهندسی کامپیوتر در دبی من یک پیشگام ، با استعداد و امنیت گرا Android/iOS Mobile و PHP/Python Web Developer Application Developer با بیش از هشت سال تجربه کلی فناوری اطلاعات که شامل طراحی ، پیاده سازی ، یکپارچه سازی ، آزمایش و حمایت از تأثیر است برنامه های کامل وب و تلفن همراه. من دارنده مدرک کارشناسی ارشد کارشناسی ارشد در رشته علوم کامپیوتر و مهندسی هستم. تجربه من با برنامه نویسی PHP/Python یک مزیت اضافی برای برنامه های سرویس گیرنده Android و iOS مبتنی بر سرور است. من در حال حاضر تمام وقت به عنوان یک معمار ارشد راه حل مشغول به کار هستم که پروژه های مشتری خود را از ابتدا تا انتها مدیریت می کنم تا از طراحی با کیفیت ، ابتکاری و کاربردی اطمینان حاصل کنم.
نمایش نظرات