محاسبات کوانتومی – Telegram
محاسبات کوانتومی
258 subscribers
4 photos
35 links
در این کانال به بررسی عملکرد کامپیوترهای کوانتومی می پردازیم و راجع به این صحبت می کنیم که چطور میشه ازشون استفاده کرد!
Download Telegram
حالا بیاید دلیل این پدیده رو بررسی کنیم و ربطش بدیم به محاسبات کوانتومی!

برای فوتون (بسته ی کوچک انرژی تشکیل دهنده ی نور) می تونیم یک پولاریزیشن تعریف کنیم که میتونه افقی یا عمودی باشه. مثل یک بیت که می تونه صفر یا یک باشه. اما فوتون خاصیت کوانتومی داره و با یک بیت فرق میکنه. یعنی همزمان میتونه پولاریزیشن افقی و عمودی داشته باشه، البته با یک احتمال خاص. مثلا پولاریزیشن یک فوتون می تونه با احتمال ۳۰ درصد افقی و با احتمال ۷۰ درصد عمودی باشه.

حالا فرق کنید که ما یک تشعشع نور داریم که فقط ۱۰۰ فوتونه که در کنار هم حرکت می کنن و هر کدوم یک پولاریزیشن دارن. نور در دنیای فیزیکی این طوری ساده نیست و این فقط یک مثاله. پولاریزیشن ها هم همگی احتمالاتی و با احتمالا مساوی فقط و یا عمودی هستن. وقتی یک فوتون از یک لنز پولاریزه رد میشه مجبوره یک پولاریزیشن خاص داشته باشه، یا افقی یا عمودی. یعنی نمیتونه در یک لحظه هر دو تا رو داشته باشه و با توجه به احتمال هر وضعیت باید یکی رو انتخاب کنه. پس در لحظه ی برخورد با لنز، پنجاه تا از فوتون ها انتخاب میکنن که افقی باشن و پنجاه تای دیگه انتخاب میکنن که عمودی باشن. اگر لنز اول افقی باشه، پس اون ۵۰ تای عمودی دیگه رد نمیشن. در نتیجه شدت نور اون طرف لنز نصف نور اصلی میشه. پس حالا ۵۰ تا فوتون افقی داریم. حالا اگر یک لنز با پولاریزیشن عمودی (زاویه ی ۹۰ درجه با لنز قبلی) جلوی لنز اولی بذاریم، دیگه هیچ فوتونی رد نمیشه، چون فقط اون ۵۰ تا افقی باقی مونده بودن و اون لنز اولیه جلوی همه ی فوتون های عمودی رو گرفته بوده. پس بعد از دو لنز با زاویه ی ۹۰ درجه دیگه هیچ نوری وجود نداره.
اما حالا بیاید بین دو لنز، یک لنز با زاویه ی ۴۵ درجه بگذارید. این جا دیگه حالات انتخابی صفر (افقی) و ۹۰ درجه (عمودی) نیست. چون یکی از حالت ها ۴۵ درجه است و حالت دوم باید بر اولی عمود باشه، حالت دوم میشه ۴۵+۹۰=۱۳۵ درجه. پس حالا اون ۵۰ فوتون افقی (صفر درجه) که از لنز اول رد شدن باید انتخاب کنن که ۴۵ درجه باشن یا ۱۳۵ درجه. چون احتمالات یکیه ۲۵ تاشون ۴۵ درجه میشن و و ۲۵ هاشون هم ۳۵ درجه. اون ۴۵ درجه ای ها از لنز رد میشن (چون لنز ۴۵ درجه بوده خودش) و بقیه رد نمیشن. پس ۲۵ تا فوتون ۴۵ درجه به لنز سوم میرسن که دوباره باید انتخاب کنن که افقی یا عمودی باشن (چون لنز یکی از این دو حالته، و در این مورد لنز سوم عمودیه) که ۱۲.۵ هاشون انتخاب میکنن افقی و ۱۲.۵ هاشون هم انتخاب می کنن عمودی باشن. که اون عمودی ها از لنز سوم رد میشن. این طوری میشه که اضافه کردن اون لنز ۴۵ درجه باعث میشه که ۱۲.۵ فوتون بتونه رد بشه از لنز آخری! البته فوتون قابل تقسیم نیست و این جا مثلا ۱۲ به ۱۳ تقسیم میشن.

می دونم که احتمالا خیلی راحت نبود این. چون خود کوانتوم خیلی سرراست نیست، به قولی باید قبولش کرد به جای این که توجیهش کرد. شکل زیر رو هم ببنید:
این که فوتون میتونه همزمان پولاریزیشن افقی یا عمودی داشته باشه یکی از سه ویژگی مهم کوانتوم یعنی superposition رو نشون میده. در یک کیوبیت (بیت در کامپیوتر های کوانتومی) که مثلا با فوتون پیاده سازی شده، دیگه محدود به صفر و یک (افقی و عمودی) نیستیم و می تونیم هر مقداری بین این دو رو هم داشته باشیم. کیوبیت ها (فوتون ها در این جا) این دو مقدار همزمان احتمالاتی رو حفظ می کنن تا وقتی که اندازه گیریشون کنیم. اما وقتی که اندازه گیریشون کنیم (مثلا از لنز پولاریزه ردشون کنیم) دیگه تبدیل به یکی از دو حالت میشن و هیچ راهی هم برای این که به حالت احتمالی قبل برشون گردونیم نیست. به عبارت دیگه، یک کیوبیت رو فقط و فقط یک دفعه میشه خوند، بعدش دیگه نمیشه باهاش کاری کرد. پس منطق یک کامپیوتر کوانتومی این طوریه:
۱. اول همه ی کیوبیت ها رو در حالت پایه ی صفر قرار میدیم، یعنی <0|.
۲. بعد با استفاده از گیت Hadamard، کیوبیت ها رو به superposition می بریم تا مقدار صفر و یک رو با احتمال یکسان نگه دارن.
۳. یک مدار (مجموعه ای گیت ها) طراحی می کنیم تا احتمال صفر یا یک شدن هر کیوبیت رو طوری عوض کنن که بعد از خوندن کیوبیت ها، هر کدوم بیت مورد نظر جواب مساله رو نگه دارن.
۴. در نهایت کیوبیت ها رو می توخونیم تا ببینیم خروجیشون چی میشه.

از اون جایی که کل این فرآیند احتمالاتیه، لازمه چهار مرحله ی بالا در دفعات زیاد آنجا بشه، مثلا ۱۰۰۰ تا. بعد می بینیم چه جوابی بیشترین تکرار رو داشته و اون رو به عنوان جواب مساله درنظر میگیریم. کل ۱۰۰۰ بار تکرار این چهار مرحله در حد نانوثانیه (به طور تئوری) طول می کشه!
حالا اصلا چرا این قدر آزمایش کردیم و نتایج رو توضیح دادیم؟

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

متن این خبر در مجله ی Nature:
https://www.nature.com/articles/d41586-020-03434-7

اصل مقاله ی منتشر شده و اسلایدهای مربوط به این کامپیوتر توسط محققانی که این کامپیوتر رو طراحی کردن در مجله ی Science:
https://science.sciencemag.org/content/370/6523/1460

چون هنوز در حال بررسی منابع هستم و در نتیجه فعلا وارد جزئیات این کامپیوتر نمیشم و مطلب رو با توضیحات پایه ای ادامه میدم که برای ما از دید عملی مفید تر هم هست.
"محاسبات کوانتومی" یک کانال تلگرامه که سعی میکنه نحوه ی کار کوانتوم کامپیوترها رو به زبان ساده توضیح بده و بگه که چطور میشه با اون ها به شکل عملی کار کرد.

ما رو به دوستانتون هم معرفی کنید!

@quantum_farsi
محاسبات کوانتومی pinned «"محاسبات کوانتومی" یک کانال تلگرامه که سعی میکنه نحوه ی کار کوانتوم کامپیوترها رو به زبان ساده توضیح بده و بگه که چطور میشه با اون ها به شکل عملی کار کرد. ما رو به دوستانتون هم معرفی کنید! @quantum_farsi»
شبکه های 5G نسل پنجم شبکه های اینترنت برای وسایل همراه هستن. این شبکه ها خیلی سر و صدا کردن چون به طور تئوری می تونن سرعت اینترنت رو در موبایل های ما تا ده ها برابر (از نظر تئوری) افزایش بدن. اما ممکنه سوال کنید که مگر سرعت اینترنت همین الان هم کافی نیست؟ با یک اینترنت معمولی نسل چهارم می تونیم با موبایل ویدئوی با کیفیت بینیم و مثلا با یک نرم افزار تحت وب هم چت کنیم. پس چرا باید یک نسل جدید تر و سریع تر وجود داشته باشه؟ به دلیل این که خیلی از وسائل روزمره قراره به اینترنت وصل بشن و اون ها نیاز به پهنای باند خیلی بیشتری دارن، چیزی که به نام اینترنت اشیا می شناسیم. مثلا خودروهای خودران (مثل تسلا) رو در نظر بگیرید که در یک ساعت ده ها گیگابایت اطلاعات از طریق سنسور دریافت میکنن و خیلی خوب میشه اگر میشد این اطلاعات رو با cloud به اشتراک گذاشت. این روزها دوچرخه ها، بطری های آب، کوله پشتی ها و ... می خوان به شبکه وصل بشن و برای همین ما هر روز به یک اینترنت سریع تر نیاز پیدا می کنیم.

اما تفاوت های فنی نسل پنجم نسبت به قبل:
۱. فرکانس بسیار بالا (حدود ۴۰ گیگاهرتز) که بعضی ها اون رو برای بدن مضر می دونن. این امواج برد کمی دارن و نمی تونن از موانع رد بشن. در نتیجه ما به آنتن های بیشتری برای 5G نیاز داریم. فرکانس بابا این که هر فوتون انرژی زیادی داره.
۲. ارسال و دریافت جهت دار و متمرکز در آنتن. بر خلاف شبکه های نسل قبل که امواج در همه ی جهت ها منتشر می شد‌.

امواج این شبکه های مخابراتی، الکترومغناطیس هستند که از بسته های انرژی به نام فوتون تشکیل میشن‌. این بسته ها "کوانتایز " هستن یعنی یک مقدار مشخص انرژی رو می تونن بگیرن و نه هر مقداری رو. وقتی فرکانس بالاست (مثلا 5G) یعنی انرژی هر فوتون خیلی زیاده. نگرانی در مورد 5G اینه که نکنه که این فوتون های پرانرژی این قدر قوی باشن که بتونن ساختار مولکول ها (مثلا DNA ما) رو عوض کنن و در نتیجه برای ما مضر باشن. اما فرکانس 5G اون قدر بالا نیست که بتونه به ما از این طریق ضرر برسونه. فرکانس همه چیز نیست، مثلا مایکروفر و روتر شبکه ی خونگی ما تقریبا موج هایی با ۲ گیگاهرتز فرکانس درست می کنن. پس چرا روتر ما رو نمی پزه!؟ چون انرژی مایکروفر بین ۴۰۰ تا ۱۰۰۰ واته و برای روتر در حد میلی وات! در ثانی، امواج مایکروفر در یک محل کوچک متمرکز میشه اما روتر در فضای وسیعی امواج رو پخش میکنه که تاثیر مخرب فرضی رو باز هم کم تر میکنه. اما امواج 5G به شکل متمرکز تری با تعداد آنتن های زیاد پخش میشه و این چیزی نیست که قبلا روش مطالعه ای انجام شده باشه.
اما نکته دیگه توان (انرژی) ساطح شده از آنتن های 5G هستش، یعنی جمع انرژی همه ی فوتون ها. اما این امواج متمرکز با انرژی می تونن (نه الزاما) پوست رو گرم و چشم رو خسته کنن. اما آیا 5G واقعا ضرر داره؟ نمیدونیم، هنوز نمیدونیم!

متن بالا خلاصه ی ساده شده ی من از یکی از ویدئو های Sabine Hossenfelder بود که از دانشمندان و نویسنده های سرشناس فیزیک (جاذبه ی کوانتومی) هستن. این هم لینک ویدئو اصلی که توصیه می کنم حتما خودتون ببینید:
https://youtu.be/FBsP-bmDLOo

در مورد ایشون بیشتر بخونید:
https://en.m.wikipedia.org/wiki/Sabine_Hossenfelder
بدن موجودات زنده خیلی قبل از این که ما راجع به فیزیک کوانتوم چیزی بدونیم، از این خاصیت استفاده می کردن که بهش Quantum Biology میگیم.

مثلا این که پرنده ها چطور جهت برگشت به خونه رو پیدا می کنن، اون هم وقتی صدها کیلومتر باهاش فاصله دارن؟ اون ها خطوط میدان مغناطیسی زمین رو حس می کنن، و یا به عبارت بهتر، می بینند! در چشم پرنده ها از یکی از ویژگی های کوانتوم یعنی entanglement استفاده میشه. این وقتی به وجود میاد که ما دو ذره ی کوانتومی (الکترون، فوتون، و ...) داریم که خواص کوانتومی شون با هم دیگه پیوستگی دارن. مثلا جفتشون صفر یا یک هستن. دلیل این که ما نمی تونیم از این ویژگی به خوبی در کوانتوم کامپیوتر ها استفاده کنیم اینه که این خاصیت در مدت خیلی کوتاه به خاطر نویز (گرمای محیط) از بین میره. برای همین هست که کوانتوم کامپیوترها رو خیلی سرد نگه می داریم. اما چشم پرنده ها ساز و کاری داره که میتونه در دنیای واقعی و دمای محیط از این ویژگی استفاده کنه!

ویژگی entanglement که بعدا مفصل راجع بهش صحبت می کنیم از عجیب ترین خواص کوانتوم و مبنای رمزنگاری کوانتومی هستش.

برای توضیح بیشتر، این ویدئو رو ببینید:
https://youtu.be/0A1ouV7iD8o
#کوانتومی_عملی

معمولا اگر در مورد کاربردهای عملی کوانتوم کامپیوتر ها جستجو کنید بیشتر به مفاهیم مرتبط به رمزنگاری می رسید، اما چرا؟ آیا این اصلی ترین کاربرد کوانتوم کامپیوتر هاست؟ نه!

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

محققان به دنبال مسائلی بودن که یک کوانتوم کامپیوتر "شاید" بتونه سریع تر از یک کامپیوتر عادی حلشون کنه. با این کار می خواستن نشون بدن که کاربردهای کوانتوم می تونه وارد زندگی عادی هم بشه. اما موضوع وقتی جالب شد که اون ها دیدن که میشه الگوریتم کوانتومی طراحی کرد که بتونه دوره ی تناوب رو در یک رشته عدد صحیح خیلی خیلی سریع تر از یک کامپیوتر عادی محاسبه کنه. اما این چرا مهم بود؟ چون اصلی ترین روش رمزنگاری که ما استفاده می کنیم، یعنی RSA، فرض می کنه که پیدا کردن این تناوب ساده نیست! در نتیجه زمان بر ترین بخش شکستن رمز ها همین بخشه! این جا یک پیاده سازی Python از این الگوریتم رو ببینید:
https://www.topcoder.com/shors-algorithm-in-quantum-computing/

پس رمزنگاری و شکستن رمزها کاربرد اصلی کوانتوم کامپیوتر ها نیست، بلکه تقریبا اولین کاربرد عملی کوانتوم کامپیوترها بوده و برای همین مشهوره. اما پس چرا کامپیوتر های امروزی نمی تونن تمام رمزهای ما رو بشکنن؟ چون اولا به تعداد کافی کیوبیت ندارن و در ثانی نویز زیاد مانع پیاده سازی مدارهای بزرگ میشه.

کاربردی که به نظرم در میان مدت ممکنه خیلی جالب باشه حل مسائل بهینه سازی درجه دو با کمک کوانتوم کامپیوتر هاست که کاربردهای زیادی در مهندسی، پزشکی، و اقتصاد داره.
#توضیح_پایه

پدیده ی Quantum Tunneling یکی از سه ویژگی مهم کوانتومی در فیزیکه. دو تای دیگه Superposition (همزمان صفر و یک بودن) و Entanglement (یکی بودن وضعیت صفر و یا یک بودن حتی با وجود فاصله ی زیاد) هستن.

سعی کنید که کنار یک دیوار بایستید و دست تون رو از دیوار رد کنید. چقدر احتمال داره که (با فرض سوراخ نکردن دیوار!) بتونید این کار رو انجام بدید؟ احتمالا هیچ احتمالی براش در نظر نمیگیرید. اما این وضعیت برای یک ذره ی خیلی کوچک مثل الکترون صادق نیست. بله، الکترون میتونه از "دیوار" رد بشه!

الکترون (و بقیه ی ذرات خیلی کوچک) می تونن رفتار شبیه موج داشته باشن. در حقیقت ما موقعیت مکانی دقیقشون رو نمی دونیم و صرفا می دونیم که با یک احتمال خاص این جا هستن و با یک احتمال خاص اون جا. این احتمال در حقیقت اندازه (مجذور) یک تابع موجه. پس موقعیت مکانی یک الکترون رو به جای x و y و z با یک تابع موج نشون میدیم. اصل عدم قطعیت هایزنبرگ (فیزیکدان اتریشی) میگه که حاصل ضرب عدم قطعیت مکان ضرب در عدم قطعیت در مومنتوم همیشه بزرگ تر از یک عدده و در نتیجه ما نمی تونیم هیچ وقت موقعیت مکانی دقیق یک ذره رو داشته باشیم.

حالا اگر معادله ی هایزنبرگ رو برای یک ذره ی کوچک (با جرم پایین) و یک دیوار نازک حساب کنیم می بینیم که احتمال این که الکترون بتونه از دیوار رد بشه صفر نیست. در حقیقت حتی احتمال این که خود شما بتونید از دیوار رد بشید هم صفر نیست! اما احتمالش ۱۰ به توان منفی ۴۰ هستش. برای این که درک کنید این عدد چقدر کوچکه، در نظر داشته باشد که بدن ما حدود ۱۰ به توان ۲۸ اتم داره.

از خاصیت Quantum Tunneling همین الان هم در تمام دستگاه های الکترونیکی استفاده می کنیم. ترانزیستور ها که اجزای تشکیل دهنده ی مدارهای مجتمع و پردازنده هستن مثل یک کلید سه پایه عمل می کنن. الکترون از یک پایه (Source) به پایه ی دیگه (Drain) میره اگر که پایه ی سوم (Gate) ضعیف باشه. در حقیقت پایه ی سوم که وسط دو پایه ی دیگه قرار داره نقش همون دیوار رو بازی می کنه، اما ما می تونیم این دیوار رو با جریان الکتریکی نازک یا کلفت کنیم. حالا مشکل توسعه ی کامپیوتر های جدید چیه؟ فاصله ی پایه ی اول و دوم هر روز در حال کم تر شدنه چون قراره میلیاردها ترانزیستور در یک پردازنده جا بگیره. این که میگن تکنولوژی یک پردازنده ۱۱ نانومتریه، منظورشون اینه که فاصله ی پایه ی اول و دوم این قدره. حالا اگر این عدد خیلی کوچک بشه پدیده ی Quantum Tunneling خود به خود و بدون کنترل پایه ی سوم اتفاق می افته و در حقیقت ترانزیستور دیگه کارایی نداره. به بیان دیگه، این قدر فاصله ی دو پایه کمه که الکترون خودش بدون کنترل ما از این طرف به طرف دیگه "می پره".

حالا در کوانتوم کامپیوتر ها چطور از پدیده ی Quantum Tunneling استفاده میشه؟ یک مثال در Quantum Annealing هستش، جایی که ما از کوانتوم برای حل مسائل بهینه سازی درجه دو استفاده می کنیم. تابع هزینه ی درجه دو شامل کلی پستی و بلندی هست و برای همینه که پیدا کردن نقطه ی کمینه ی اون برای روش های ریاضی و کامپیوتر های کلاسیک سخته. اما با استفاده از Quantum Tunneling، یک الکترون میتونه وقتی که توی یک کمینه ی محلی گیر کرد، "تونل بزنه" و بره اون طرف تا شاید به کمینه بهتری برسه. در این جا اون بیشینه ی محلی بین دو کمینه، نقش دیوار رو بازی میکنه.

برای اطلاعات بیشتر و دقیق تر، ویدئویی زیر رو توصیه می کنم ببینید:
https://youtu.be/YstJxj30hzs
"محاسبات کوانتومی" یک کانال تلگرامه که سعی میکنه نحوه ی کار کوانتوم کامپیوترها رو به زبان ساده توضیح بده و بگه که چطور میشه با اون ها به شکل عملی کار کرد.

ما رو به دوستانتون هم معرفی کنید!

@quantum_farsi
آیا میشه با یک کامپیوتر عادی، یک کامپیوتر کوانتومی رو شبیه سازی کرد و به همون سرعت رسید؟

جواب کوتاه اینه که، نه! اما حالا جواب بلند تر.

گفتیم که هر کیوبیت (معادل بیت در کامپیوتر های کلاسیک) در حقیقت یک ترکیب خطی (جمع دو تا!) حالت مشخص صفر و یکه. یعنی مثلا یک کیوبیت میتونه با احتمال ۳۰ درصد "صفر" و با احتمال ۷۰ درصد "یک" باشه‌. اما این کاملا (یعنی اصلا) درست نیست. چرا که یک ذره ی کوانتومی احتمالی کار نمی کنه. اگر احتمالی کار می کرد، مثلا این طوری میشد که اون کیوبیت در وضعیت "صفر" بود، اما ما چون نمی تونستم اندازه اش بگیریم، به صورت احتمالی می گفتیم فلان قدر درصد "صفر" هست احتمالا. مثل وقتی که چشمامون رو می بندیم و یک سکه رو پرت می کنیم. رو یا پشت اومدن سکه معلومه، فقط ما تا چشم باز نکنیم نمی فهمیم رو یا پشت اومده سکه. اما یک ذره ی کیوبیت مثل الکترون (که ما در محاسبات میگیم کیوبیت) این طور نیست. درسته که ما با مدل ریاضی کوانتومی مثل احتمال برخورد می کنیم، اما در حقیقت اون کیوبیت "همزمان" در هر دو وضعیت قرار داره. تصور این برای ما ممکن نیست چرا که نمی تونیم تصور کنیم که یک سکه رو به بالا پرت کنیم و اون سکه قبل از باز کردن چشم، هم رو و هم پشت باشه!

القصه، یک کیوبیت قبل از این که ما اندازه اش بگیریم (تعیین صفر و یک بودن) تواما در هر دو وضعیت قرار داره و بعد از اندازه گیری، با یک احتمال مشخص به صفر و یا یک "تبدیل" میشه. وقتی که تبدیل شد ما دیگه هیچ وقت نمی تونیم دوباره به حالت کوانتومی قبلی برش گردونیم.

اگر قرار باشه یک محاسبه ی کوانتومی رو در کامپیوتر کلاسیک شبیه سازی کنیم، دیگه باید همه چیز رو احتمالی در نظر بگیریم و از خاصیت دوگانگی (همزمان صفر و یک بودن) کوانتوم صرف نظر کنیم. در نتیجه، کامپیوتر های عادی کلاسیک نمی تونن کامپیوتر های کوانتومی رو واقعا شبیه سازی کنن. اما وقتی تعداد کیوبیت ها پایین باشه (در حد ۱۵ تا مثلا) میشه تمام دو به توان ۱۵ حالت رو محاسبه کرد و شبیه سازی شدنیه.

#توضیح_پایه
این جا می تونید بیشتر در مورد شبیه ساز IBM بخونید:

https://www.ibm.com/quantum-computing/simulator/
آیا کوانتوم کامپیوترها می تونن باعث شکستن کدهای #بیتکوین بشن؟

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

https://www.google.com/amp/s/www.forbes.com/sites/rogerhuang/2020/12/21/heres-why-quantum-computing-will-not-break-cryptocurrencies/amp/
شبکه ی کیوبیت ها.


کامپیوتر های کلاسیک:

در یک کامپیوتر کلاسیک، میشه هر دو (یا چند) بیت مختلف رو انتخاب و روشون یک عملگر اعمال کرد. مثلا میشه به کامپیوتر گفت دو متغیر از دو جای مختلف حافظه برداره، با هم جمعشون کنه و خروجی رو یک جای دیگه حافظه ذخیره کنه. اما سوال اینه که آیا اطلاعات این بیت ها از بین نمیرن؟ مثلا چی پیشه اگر در حین خوندن یک بیت، یک مشکل فیزیکی پیش بیاد و کامپیوتر عدد رو اشتباه بخونه؟ این مشکل پیش میاد و البته تا حدودی هم شایعه.
بگذارید مثال رو ملموس تر جلو ببریم. فرض کنید دو کامپیوتر رو با یک کابل به هم وصل کردید. بعد یک فایل حجیم رو از روی یک کامپیوتر به کامپیوتر دیگه از طریق کابل شبکه انتقال میدید. حالا اگر روی کابل شبکه نویز (مثلا نزدیک کردن یک آهنربایی قوی) اعمال کنیم، اون وقت میبینیم که سرعت انتقال کم میشه، اما اگر نویز زیاد نباشه در نهایت فایل "تقریبا" سالم منتقل میشه. دلیل کم شدن سرعت اینه که اطلاعات در قالب یک بسته کددار منتقل میشن و کامپیوتر مقصد میفهمه که بسته به خاطر نویز خراب شده. در نتیجه به کامپیوتر مبدا میگه که دوباره اون بسته (بخش کوچک اطلاعات) رو ارسال کنه. این ارسال چند باره باعث میشه سرعت کم بشه. اما در نهایت کل اون فایل حجیم منتقل میشه.
برگردیم به داخل کامپیوتر . اگر یک میدان مغناطیسی قوی روی RAM اعمال کنیم چی میشه؟ چون در این سطح دیگه اطلاعات به شکل بسته با کد تایید نیستن، امکان ترمیم و یا تشخیص خطا نیست و بیت های خطا دار خونده و به پردازنده ارسال میشن. پردازنده که نمیتونه اون ها رو معنی کنه، هنگ میکنه! اما این مساله اصلا مشکل زا نیست نیست چون اولا محیط کاری ما برای کامپیوتر های کلاسیک پرنویز محسوب نمیشه، و در ثانی، خود این کامپیوتر ها هم اون قدر به نویز حساس نیستن. از طرف دیگه، در کامپیوتر ها میلیاردها بیت ذخیره و پردازش میشه و خراب شون تعداد کمی، احتمالا منجر به خطای خاصی نمیشه.

کوانتوم کامپیوترها:

در یک کوانتوم کامپیوتر نمیشه روی هر دو کیوبیت دلخواه عملیات محاسباتی انجام داد چون همگی به هم وصل نیستن! مثلا گوگل کیوبیت هاش رو به شکل شبکه ی مربعی (mesh) کنار ام قرار میده. در نتیجه اگر دو کیوبیت مستقیما به هم وصل نباشن باید با روش های نسبتا پیچیده به شکل منطقی (مجازی) به هم وصلشون کرد که احتمال خطا رو بالا میبره. از طرف دیگه چون که تعداد کیوبیت ها در کامپیوترهای امروزی کمه (کمتر از ۶۰)، از دست رفتن اطلاعات حتی یکی از کیوبیت ها هم به معنی خراب شدن کل محاسباته. در آخر، کوانتوم کامپیوتر ها به شدت به نویز حساس هستن و اندک تغییر شرایط فیزیکی باعث میشه کاملا از کار بیافتن. برای همین هم وقتی می خوایم یک مساله رو روی کوانتوم کامپیوتر حل کنیم، عموما اون رو چند هزار بار برای کامپیوتر می فرستیم و بعد می بینیم که چه جوابی بیشتر تولید شده. اما حل مساله حتی چند هزار دفعه، کمتر از یک میلی ثانیه زمان میبره.
ماشین لرنینگ روی کوانتوم کامپیوترها.

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

حالا شرح بیشتر! مشکل اصلی استفاده از کوانتوم کامپیوتر ها برای حل مسائل ماشین لرنینگ اینه که بیشتر مسائل ماشین لرنینگ تکرار شونده (iterative) هستن اما طول مدار در یک کوانتوم کامپیوتر به شدت محدوده به خاطر مشکل decoherence. مشکل بعدی کد کردن داده است. یعنی این که مثلا اگر بخوایم هر ویژگی داده رو با یک کیوبیت کد کنیم (که ما رو حدود به ویژگیهای باینری میکنه) به تعداد ویژگی ها باید کیوبیت داشته باشیم. یا اگر مساله رو برعکس بینیم، باید به تعداد داده ها کیوبیت داشته باشیم. این ما رو محدود به مسائل خیلی خیلی کوچک و ساده میکنه. راه حلی که پیشنهاد میشه اینه که بخشی از سیستم کوانتوم و بخشی از اون کلاسیک باشه که خوب باز هم نتایج فعلی بهبودی رو نشون نمیدن.

مقالات مرتبط:
https://www.xanadu.ai/research

اگر دوست دارید بیشتر بدونید در این زمینه، این کورس رو دنبال کنید:
https://www.edx.org/course/quantum-machine-learning

پی نوشت: مدرس این درس دو سال پیش در کوه های اورست گم شدن. اما این درس و چندین مقاله ی تاثیر گذار ازشون به یادگار مونده.