Monday, August 8, 2016

الجواب الفصيح في الكون الفسيح : 9

السؤال التاسع: من الاسرع ال Classic computers ولا Quantum computers ؟

قبل ما نجاوب علي السؤال، هنشرح الاول ايه الفرق بين الاتنين. ال Classic computers زي الابتوب، او الموبايل الي معاك، ال processors فيها مبنية علي ال transistors، ال transistor ببساطة عبارة عن switch زي مفتاح النور كده، بس علي عكس مفتاح النور مش محتاج حد يضغط عليه عشان يشتغل، هوا بياخد electric signal اشارة كهربية بدل من الحركة الميكانيكية، و لما ال transistor او المفتاح ده يبقي مش شغال (open) بنسمي الحالة دي state 0 و لما يكون شغال (closed) بنسمي الحالة دي 1 state. كل transistor اسمه bit. و هنا بقي يجل الشغل التقيل، اي data داخلة الكمبيوتر بتتحول ل 0 أو 1، و بالتالي بيجي دور العلماء انهم ازاي يقدروا يحولوا اي عملية حسابية او منطقية لطريقة يقدر الكمبيوتر يعملها بال 0 و 1. و كل ما عدد ال transistors أو ال bits يزيد نقدر نسجل data اكتر و بالتالي نقدر نعمل operations اكبر و اعقد وكل فترة بيتم تطوير ال processors عشان تكون ال computers بتاعتنا اقوي و اسرع و الدنيا كانت جميلة و زي الفل، لغاية ما حصل حاجتين، اولا بقي صعب نصغر الtransistors اكتر من كده (اصغر transistor اتعمل تقريبا 22nm يعني تقريبا حوالي 50 ذرة جنب بعض بس!) و تاني حاجة ان حجم ال problems الموجودة بقي اصعب بكتير (زي التنبؤ بالطقس مثلا) فمحتاجين حل تاني.

وهووب دبل  كيك يجي ال quantum computer، بدل الtransistors ال classical bits العلماء قرروا يتسخدموا quantum bits , واختصارا Qubits ودي ممكن تكون ذرة، فوتون او الكترون. كل حاجة من دول ليها خاصية مهمة جدا اسمها Magnetic Spin، و باختصار دي عاملة زي البوصلة كده، لو حطيت البوصلة في اي مجال مغناطيسي هتلاقي الابرة بتشاور علي الشمال، نفس الكلام بالنسبة لل qubits و الحالة دي هي ال 0 بالنسبة للquantum computer، تخيل بقي لو انت فتحت البوصلة و بايديك حركت الابرة عشان تكون في الاتجاه المعاكس، نفس الكلام ممكن يحصل مع ال qubits و بسموا الحالة دي high energy state لانك بتحتاج طاقة عشان تعمل كده، ودي بتبقي ال 1 بالنسبة لل qubits. تمام كده؟ 
نخش بقي علي التقبل، العلماء اكتشفوا ان  qubit مبيبقاش في حالة واحدة بس (0 أو 1) هوا ممكن يكون في الحالتين مع بعض بنسب مختلفة و ده اسمه quantum superposition و بالتالي في اي لحظة بيبقي فيه احتمالية ان ال qubit يكون 0 أو 1. و هنا تيحي قوة ال quantum computers. لو افترضنا ان عندنا 2 tranistors الي هيا classical bits عشان تعرف ايه متخزن فيهم، محتاج تعرف ايه الحالة بتاعتهم مثلا 11 أو 01 أو 10 أو 00، لكن لو عندك 2 Qubit أنت متعرفش هما 1 ولا 0 انت تعرف احتمالية انهم يكونوا في اي حالة من دول مثلا 20% 11، 20% 01، 50% 10، 10% 00.
يعني كده لو فيه 2 bits ليهم 4 احتمالات لكن لو 2 qubits ليهم 16 احتمال!يعني لو عندي عدد n من ال qubits هيشيل data قدbits  2

يعني لو فيه 300 qubit بس (مثلا 300 ذرة، يعني حاجة صغيرة جدا) بيساوا bit 2300 .يعني اكتر من الذرات الي في الكون كله. نيجي بقي مين اسرع؟ في الحاجات البسيطة زي انك تتفرج علي فيديو او تفتح الانترنت ال classical computers هتكون اسرع! لأن ال quantum computers بتستغل فكرة ان فيه احتمالات كتير (states) عشان تعمل حاجة اسمها computational parallelism يعني تعمل اكتر من حاجة في نفس الوقت بتقلل عدد الخطوات الي محتاج اعملها عشان اوصل للناتج، بس في نفس الوقت الخطوة الواحدة بتكون ابطا عشان عملبة التحكم في ال qubits معقدة جدا. فالعمليات البسيطة مفيهاش خطوات كتيير اصلا، فالبتالي لما ال quantum computer يقلل عدد الخطوات مش هيعوض البطئ بتاع كل خطوة. بس قوة ال quantum computers بتبان في العمليات المعقدة زي التنبؤ بالطقس او ال decryption او العمليات الحسابية المعقدة جدا.

يعني من الاخر ال quantum computers مش هتبقي بديل لل classical computers. و هوا ده الجواب الفصيح! 


2 comments:

  1. طيب سؤال يطرح نفسه ، انا عشان احل عملية حسابية لو فرضنا هتحتاج اربع خطوات عشان تتحل ، كده انا لازم احل خطوه ١ و بعدها ٢ و كده لا اوصل لاربعه
    طيب هو ازاي الكوانتام كومبيوتر هيقدر يحل خطوه ٢ قبل واحد او ٣ قبل تنين بشكل موازي ؟؟

    ReplyDelete
  2. هو ده دور ال algorithms الناس بتحاول تتطور الموضوع بحيث ان ال algorithm يقسم الproblem لحاجات اصغر و يقدر يجمع الناتج مع بعضه. الكمبيوتر بيحول كل حاجة لجمع، فمثلا انت تقدر تجمع رقمين زي 10+10 بسرعة مثلا في ثانية بس لو اديتك رقمين زي 7569+34345 مش هتعرف تجمعهم في ثانية هتاخد منك مثلا 50 ثانية تخيل بقي لو انا قدرت اقسمهم لمجموعة من 10+10 و اقدر اعمل tracking بحيث اني اجمع الناتج النهائي. يبقي ممكن اجمع الرقمين دول في ثانية واحدة بس، بافتراض ان هيبقي فيه كذا شخص كل واحد فيهم هيجمع 10+10 في ثانية الواحدة. الموضوع بيبقي مفيد لو عمليت التقسيم و اني اجمع النواتج دي سريعة بحيث تكون اوفر من ال50 ثانية. و عشان كده الناس بتدور علي algorithms قوية.

    ReplyDelete