كيف الكم برمجة الكمبيوتر؟ يعلمك لإنشاء الكم PC محاكاة

المصدر: CSDN

https://blog.csdn.net/li2008kui/article/details/78867791

1 والبرمجة الكم الكم الحاسوب

1.1 الكم الحاسوب

الحوسبة الكوانتية والحوسبة باستخدام الظواهر الكمومية، مثل تراكب والتشابك. الكمبيوتر والكم هو جهاز الحوسبة ينفذ الكم.

أي ما يسمى الكم الحوسبة الظواهر الميكانيكية الكمومية أن تكون محسوبة، على سبيل المثال، تراكب الكم والتشابك. كمبيوتر الكم هو جهاز أداء الحوسبة الكمومية.

1.2 غات البرمجة الكم

برمجة الكم هي عملية تجميع سلاسل من تعليمات، ودعا البرامج الكم، التي هي قادرة على تشغيل على جهاز كمبيوتر الكم. الكم لغات البرمجة تساعد خوارزميات الكم صريحة باستخدام يبني على مستوى عال.

الكم هو تسلسل المبرمج التعليمات قادرة على تشغيل على جهاز كمبيوتر الكم، ودعا البرنامج الكم. الكم لغة برمجة تسهل استخدام الهيكل الرفيع المستوى للتعبير عن الخوارزميات الكمومية.

1.3 الكم لغة البرمجة

الكم لغة البرمجة حتمية، بما في ذلك الكم لغة البرمجة، لغات البرمجة وظيفية متعددة والكم الكم فئات لغة البرمجة النموذج. لغات البرمجة حتمية الكم QCL، الكم شبة الكود، Q | SI > ، Q اللغة، qGCL، QMASM. الكم غات البرمجة الوظيفية ومركز قطر للمال QPL، QML، LIQUI | > ، الكم امدا حسابات التفاضل والتكامل، Quipper، ولكن هنا نحن نريد أن نقدم Q # ينتمي إلى متعددة في النموذج الكم لغة البرمجة.

برمجة الهياكل الكم البيئة 2

يمكن أن أجهزة الكمبيوتر الكم تستخدم حقا هناك فترة طويلة من الزمن، وهناك لم تنضج بيئة البرمجة الكم وأدوات المترجم، وتعتبر مايكروسوفت في الشركة والفرق الميدانية السابقة. في ال11 من هذا الشهر أصدرت نسخة معاينة مجانية من أدوات تطوير الكم، وهذه المادة سوف أعرض استخدام مايكروسوفت الكم تطوير مجموعة (مايكروسوفت الكم أدوات تطوير، ويشار إلى QDK) كانت نوعية Q # البرمجة في Visual Studio.

2.1 مقدمة أدوات تطوير الكم

الجمعية اشعال اليوم في أواخر سبتمبر، مايكروسوفت سوف الكم الحوسبة واحدة من التكنولوجيات الرئيسية الثلاثة (الاثنان الآخران هو الذكاء الاصطناعي والواقع الافتراضي)، وهذه التكنولوجيات الرئيسية الثلاثة سوف تغير الطريقة التي تعرف صناعة التكنولوجيا. كما أعلنت الشركة عن خطط لإصدار لغة برمجة جديدة من أجهزة الكمبيوتر الكم في وقت لاحق هذا العام.

2017 من نهايته، ومن المقرر أيضا مايكروسوفت لإطلاق نسخة معاينة مجانية من مجموعة تطوير الكم، تتضمن عدة الكم الحوسبة محاكاة، Q لغة البرمجة # (وضوحا "Q شارب") وغيرها من الموارد.

مايكروسوفت الكم أدوات تطوير إصدار المعاينة يوفر تطوير ومحاكاة بيئة كاملة، والذي يتضمن العناصر التالية: Q # لغة ومترجم، Q # المكتبة القياسية، المحلية آلة الكم محاكاة، والكم تتبع جهاز محاكاة، تمديد البصرية ستوديو .

مايكروسوفت تعمل أيضا على تطوير مجموعة شاملة من الوثائق، وكذلك المكتبات والبرامج عينة، وتوفير المعرفة الأساسية اللازمة للناس لفهم النظم الكم فريدة من نوعها، مثل تحريك تخاطر الكم.

2.1.1 Q غات البرمجة # الكم

وصفت مايكروسوفت Q # بأنها "وسيلة للتعبير عن الكم خوارزمية لغة البرمجة الفن محددة." يتم استخدامه في إعداد معالج الكم التابعة روتين، تحت سيطرة برنامج المضيف وأجهزة الكمبيوتر التقليدية.

مع قوة من Visual Studio، ومستقبل استخدام Q # البرمجة التلاعب المكدسة الكم، مثل استخدام C #، F #، أو تطور اللغة C ++ وغيرها من التطبيقات الكلاسيكية بسيطة.

2.1.2 محاكي الكم

الكم محاكاة كجزء من هذه المجموعة، يمكنك محاكاة منطقية نحو 30 المكدسة في جهاز كمبيوتر محمول كمبيوتر الكم. لذلك، لا تحتاج إلى الاعتماد على الملقم البعيد. إذا كنت على استعداد لإطلاق أكثر من 40 حدود منطقية ومحاكاة بت الكم، يمكنك استخدام جهاز محاكاة استنادا أزور.

الكم محاكاة لا يمكن إلا أن تشغيل البرنامج، يمكنك حتى الاختبار والتصحيح في Visual Studio الكم البرنامج، مثل تحديد نقاط التوقف، خطوة واحدة، وتتبع متغير.

وميزة استخدام مجموعة أدوات تطوير أننا عندما إدراج الأجهزة الكم، لا يغير من التعليمات البرمجية. هذا، في الواقع، ونحن نستخدم المحاكي دائرة الرقابة الداخلية محاكاة أو الروبوت تطوير التطبيقات النقالة هو نفسه، والفرق محاكاة حماية الأجهزة الأساسية.

المتطلب السابق:

1. باستخدام مجموعة تطوير الكم يتطلب أحدث إصدار من برنامج Visual Studio 2017.

2. يعمل محاكاة حاليا فقط على أنظمة ويندوز 64-بت.

3. الحاجة تدعم مجموعة التعليمات المتقدمة المتجهات الامتدادات (AVX) من وحدة المعالجة المركزية.

عند تشغيل أفاد برنامج System.DllNotFoundException مماثلة: "غير قادر على تحميل DLL" Microsoft.Quantum.Simulator.Runtime.dll ": استثناء من HRESULT :. 0xC000001D" عندما استثناء، ربما لأن وحدة المعالجة المركزية الخاصة بك لا يدعم مجموعة التعليمات AVX، النظر في استبدال جهاز الكمبيوتر الآن!

(ووفقا لمايكروسوفت، وإنتل 2011 والربع الأول بعد شحنات CPU دعم ميزة AVX). يمكنك استخدام أداة مثل CPU-Z الاختبار الذاتي. كما هو مبين أدناه شرح يدعم وحدة المعالجة المركزية AVX مجموعة التعليمات الخاصة بك:

تحميل وتثبيت البصرية ستوديو 2.2

إذا لم تقم بتثبيت Studio مرئية بيئة التطوير المتكاملة، فيجوال ستوديو 2017 يرجى تحميل وتثبيته. لاحظ أنه عند تثبيت، حدد "تطوير منصة Windows العامة" و "الصافي تطوير سطح المكتب" الصندوقين الاختيار في علامة التبويب "عبء العمل".

2.3 تحميل وتثبيت أدوات تطوير الكم

2.3.1 الأسلوب 1: تحميل السوق في Visual Studio 2.3.1.1 تحميل

في Visual Studio السوق تحميل الكم سوق أدوات تطوير، والذي هو عبارة عن حزمة تمديد ستوديو البصرية، واسمه QsharpVSIX.vsix، صغيرة جدا، فقط حوالي 1MB في الحجم. الكم أدوات تطوير يقدم الدعم لQ لغة البرمجة # الخوارزميات الكم المتقدمة.

إذا كنت ترغب في الحصول على أدوات رسالة تحديث أو موارد التنمية، يمكنك النقر فوق حاول مجموعة تطوير الكم، وملء استمارة على الانترنت. بما في ذلك الاسم والبريد الإلكتروني والهاتف وشركة المعلومات والأدوات والموارد المطور تحديث مرة واحدة، وسوف يتم إرسال آخر الأخبار لملء صندوق البريد الخاص بك. (ملاحظة: املأ المعلومات في صفحة تحميل المحاكمة، والشبكة الداخلية الذي تقريبا لا تقفز إلى صفحة التحميل أعلاه).

2.3.1.2 التثبيت

حدد موقع الملف الذي تم تنزيله، انقر نقرا مزدوجا فوق لتشغيل QsharpVSIX.vsix، انتظر بضع لحظات لإكمال التثبيت.

2.3.2 الطريقة الثانية: ملحقات ستوديو البصرية والتحديثات

إذا كنت تعرف تمديد الاسم أو الكلمة، وذلك باستخدام هذا النهج هو الأكثر بسيطة وسريعة التركيب، مجرد البحث عن الكلمة التي تريد العثور على التمديد، انقر هنا لتحميل وتثبيت.

2.3.2.1 تحميل

فتح Visual Studio 2017، حدد "أدوات (T)" - > "الموسع والمحدث (U) ..." وتوسيعها وتحديثها في نافذة منبثقة، حدد "أون لاين" القائمة، أدخل "الكم" على يمين مربع البحث واضغط، انقر على "أدوات تطوير مايكروسوفت الكم" في "تحميل ( وD "مربع الحوار تنزيل) يطفو على السطح. التنزيلات البحث QDK بمد كما هو مبين أدناه:

2.3.2.2 التثبيت

انتظر التحميل إلى النهاية، على مقربة سوف تبدأ كل نافذة البصرية ستوديو تلقائيا لتنفيذ عملية التثبيت.

تحقق من تثبيت 2.4

إذا أي شيء آخر، والتثبيت بنجاح، سوف ترى ثلاثة قوالب اضافية عند إنشاء مشروع جديد، وهي: Q # التطبيق، Q # مكتبة ومشروع Q # اختبار. كما هو مبين أدناه:

وفي الوقت نفسه في Visual Studio، حدد "تعليمات (H)" - > "معلومات عن مايكروسوفت البصرية ستوديو" يمكن أن نرى "مايكروسوفت الكم أدوات تطوير - 0 و 1" كلمات. كما هو مبين أدناه:

3 برنامج الكم الأول

يمكنك الذهاب إلى جيثب استنساخ مايكروسوفت مايكروسوفت الكم المطور عينات كيت ومشروع نموذج المكتبات وتشغيله التحقق مباشرة من التثبيت والتحقق من النتائج. نحن هنا تبدأ مشروع جديد، كتابة بعض الرموز تنفيذ بعض العمليات يدويا على المكدسة (و qubit)، بحيث بت حالة تراكب أو الكم قدمت اثنين من الكم التشابك، ومن ثم إخراج نتائج الاختبار. تثبت للعالم الكم، وأبسط الكم التشابك - دولة بيل.

3.1 خلق حلول ومشاريع

فتح Visual Studio 2017، حدد "ملف (F)" - > "الجديد (N)" - > "مشروع (P) ..."، و "تثبيت" - > "مرئي C #"، ثم حدد قوالب Q # التطبيق. ملء اسم المشروع واسم الحل، وحدد الدليل لتخزين العنصر، ثم انقر على زر "موافق".

بعد إنشاء ومشروع Visual Studio توليد وفتح الملفين على التوالي Operation.qs وDriver.cs. لاحقة .qs س # الملف هو برنامج الكم ملف التعليمات البرمجية، ولكنها وحدها لا يمكن تشغيلها، وتحتاج إلى استخدام C # (يمكن أن تستخدم أيضا بيان البرمجة الأخرى لدعوة، مثل F #، VB، C ++، أو بيثون، الخ) البرنامج بمثابة دعوة سائق . بنية المشروع كما هو مبين أدناه:

قانون مكتوب في Q # 3.2

للراحة، ونحن سوف Operation.qs إعادة تسمية Bell.qs (ملف تعريف عملية تسمى BellTest بعد تجميع استخدام BellTest المكالمة، IED سيدفع التحسس في C #. على الرغم من عدم تغيير الاسم الرمزي كما يمكن أن تعمل بشكل طبيعي، ولكن سوف تكون هناك أخطاء في C # سائق خط أحمر).

في Q # هو من خلال الحصول على تعريف "العمل" أو تعيين حالة و qubit، قبل تحديد العملية، ونحن بحاجة إلى إدخال عمليات بدائية و qubit مساحة Microsoft.Quantum.Primitive، مساحة الاسم يعرف العديد من الأساسي الكم تشغيل بوابة المنطق، على سبيل المثال: M، X، Z، H، CNOT مثل.

تعرف Bell.qs عملية تعيين، بل هو عمل بسيط جدا، ويحدد ما إذا كانت الدولة و qubit معين يتفق مع النتيجة المرجوة. إذا كانت الإجابة بنعم، ما لم يتم ذلك، وإذا لم يكن كذلك، سيتم تشغيل أكثر من ذلك. التعليمات البرمجية كما يلي:

عملية تعيين (المطلوب: نتيجة لذلك، Q1: و qubit): {{الجسم // قياس الدولة (M) Q1 و qubit السماح التيار = M (Q1)، وإذا (المطلوب = التيار!) {// إن لم يكن يساوي المطلوب ، التي تحولت على (X) X (Q1)؛}}}

تعرف هذه العملية بسيطة جدا، ويتطلب فقط مفتاح التشغيل، يليه اسم العملية، يليه اسم الصفوف (tuple) كمعلمة العملية، اسم المعلمات واكتب تضم. متبوعا بنقطتين وراء معايير التشغيل، تليها الصفوف (tuple) يمثل قيمة الإرجاع للعملية، فقط تحتاج إلى توفير نوع البيانات قيمة الإرجاع، أي اسم، وإذا لم تتم كتابة قيمة الإرجاع مباشرة إلى زوج من الأقواس. علما بأن: رمز عملية محددة ينبغي أن تكون مكتوبة مع عضو العملية المحيطة الأقواس في الجسم {}.

التعريف التالي للعملية اختبار BellTest اثنين من المكدسة متشابكا، يتم إضافة رمز العملية إلى ملف عمليات Bell.qs مجموعة أدناه، رمز على النحو التالي:

عملية BellTest: (النتيجة، النتيجة) {{الجسم // لتخزين المحلي متغير و qubit متغير حالة قابلة للتغيير S1 = صفر، قابلة للتغيير S2 = صفر، // تخصيص اثنين من المكدسة باستخدام (المكدسة = و qubit) {// و qubit الأول أداء بوابات هادمارد تنفيذ الدولة فرضه H (المكدسة)؛ // توريط CNOT (المكدسة، المكدسة) التي تسيطر عليها اثنين الكم الاخرين في ارض الملعب، // اثنين قياس مجموعة الدولة و qubit S1 = M (المكدسة)؛ مجموعة S2 = M (المكدسة)؛ // قبل تحتاج المكدسة الافراج عن أن تكون دولة إعادة تعيين 0 تعيين (صفر، المكدسة)؛ مجموعة (صفر، المكدسة)؛} // عودة الوضع اثنين من العودة و qubit (S1، S2)؛}}

يتم تعيين العمليات المذكورة أعلاه اثنين من المكدسة، وينفذ عملية الأولى من هادمارد بوابة H و qubit، فإنه في حالة فرضه، واثنين من غير السيطرة الكم التورط من قبل بوابة CNOT، تم قياس الماضيين الكميات الدولة وعوائد الطريقة الصفوف (tuple).

لاحظ أن: استخدام المكدسة استخدام التوزيع، سوف الافراج عن نهاية الأقواس {عند الخروج من البرنامج تلقائيا، والحاجة إلى إعادة تعيين أول دولة و qubit الدولة 0 بعد الإفراج.

3.3 باستخدام عملية C # Q # الدعوة

الحاجة المذكورة أعلاه لاستخدام C # باعتباره المحرك لاستدعاء # برنامج Q، كيف نفعل ذلك؟ في الواقع البصرية ستوديو في وقت الترجمة، فإن كل ملف xxx.qs سيتم إنشاء ملف xxx.q.cs المقابلة المخزنة في هذا الكائنات \ qsharp \ SRC دليل المشروع.

في ملف xxx.g.cs، فإن كل عملية توليد فئة المقابلة، مثل تشغيل Bell.qs BellTest مجموعة المذكورة أعلاه والعملية، سوف تولد المقابلة الدرجة BellTest مجموعة والطبقات. ترث هاتين الطبقتين لعملية في فئة مجردة، كل فئة تحتوي على ثابت غير المتزامن طريقة تشغيل.

سائق في C #، أولا تعريف جهاز محاكاة الكم، والدولة بعد 10 دورة اختبار اثنين من المكدسة متشابكا، والإخراج إلى وحدة التحكم. رمز معين على النحو التالي:

الرئيسي خالية ثابت (وسائط سلسلة) {باستخدام (فار سيم = QuantumSimulator جديد) {ل(كثافة العمليات ط = 0؛ ط <  10؛ ط ++) {فار (S1، S2) = BellTest.Run (سيم) .Result؛ Console.WriteLine ($ "{أنا} أول مرة: دولة Q1 {S1، -5} دولة Q2 {S2، -5}" )؛}} Console.WriteLine ( "اضغط على أي مفتاح للمتابعة ...")؛ Console.ReadKey؛}

قبل إنشاء حاجة الكم محاكاة لMicrosoft.Quantum.Simulation.Simulators استيراد مساحة الاسم، إذا كان رمز يستخدم نتيجة الكم تعداد الدولة، كما تحتاج إلى مساحة Microsoft.Quantum.Simulation.Core الاستيراد.

3.4 نتائج التشغيل

وكما يتبين من نتائج المدى، تشغيل بغض النظر عن عدد المرات الدولة و qubit الأولى هي دائما متسقة مع حالة و qubit الثاني. تشغيل النتائج كما هو موضح أدناه:

4 المراجع

  • مايكروسوفت مجموعة أدوات تطوير الكم

  • إعداد بيئة Q # تطوير | مايكروسوفت مستندات

  • مايكروسوفت الكم عينات المطور كيت والمكتبات

  • المستقبل هو الكم: مايكروسوفت تطلق معاينة خالية من الكم أدوات تطوير

  • مايكروسوفت مجموعة أدوات تطوير الكم: مقدمة وخطوة بخطوة تجريبي

  • الكم الحاسبات - الأعلى 3 مايكروسوفت اختراقات مع Krysta Svore

  • ميكانيكا الكم

  • برمجة الكم

  • خوارزمية الكم

  • الكم الصلب

  • يفسر الكمبيوتر الكم - الحاجز تقنية الإنسان

سيارة جديدة مفتوحة فقط لبضعة أشهر، ستكون سيارة مستعملة للبيع! سخيفة المال؟

تحطم وقوف السيارات والسائق ضرب الحائط، والأصدقاء: اغفر لي نوع جدا من الضحك!

غاب عن الصواريخ السوبر! ميتشل قطع فارغة جاز في ما يقرب من مفتاح ارتفاع عال موسم من العمر 36 لا يزال يفقد الحرب

اقتصاد الهند إلى أكبر أزمة، أو سوف تصبح في نهاية المطاف وجهة استثمارية رهيبة

سوف جولة 3H تكون قادرة على توجيه "أيسلندا حلم"! هذا المكان كل شتاء تجميد "مدينة الزمرد"

سوف رخصة 5G صادر عن نهاية النصف الأول من العام المقبل إطلاق أسرع الهواتف الذكية 5G

من عبقرية أول امرأة صينية لمعرفة با رقاقة Nvzhang: كيفية تنظيف لها فوضى من AMD؟

تقاليد مهنة 2ND! سائق صغيرة رميات حرة 1.5 ثانية تقاليد سحرية 21 عاما حولت قلب الثور الجديد

فيزا! صفر ردود الفعل السلبية! يطلق عليه اسم "أقوى شعور السعادة"، الجزيرة، هو أيضا أقل أهمية من الناس!

الجيل العاشر الوفاق رسميا، 10AT لتحدي كامري الجديدة ذلك؟ بكى MAGOTAN

"العصابات" مسلحين بالسكاكين اقتحم مركز شرطة الجماهير المفروم! مهزوما من قبل الشرطة على الفور!

قبول لاعبين جدد قد بدأت الحرب --3D NAND! النقش هو أكثر أهمية من الطباعة الحجرية