Как стать автором
Обновить

Квантовая запутанность для чайников

Время на прочтение4 мин
Количество просмотров24K
В обсуждениях недавней темы я заметил несколько сообщений, от людей, которые думают, что «физики договорились» о существовании суперпозиции. Что это просто удобная математическая/физическая модель, не имеющая под собой реальных экспериментов, доказывающих нахождение квантов в суперпозиции. Что кванты, на самом деле находятся всегда в конкретных позициях, а проведение эксперимента, лишь обнаруживает эти позиции. Некоторое время это было спором и у физиков, пока в 1964 году Джон Стюарт Белл не сформулировал свою известную теорему Белла(неравенства Белла), которая в последствии была улучшена другими учеными и неоднократно проверена экспериментально. Для желающих ознакомиться непосредственно с его теоремой, я советую пропустить эту статью, и сразу перейти к прочтению книг, ссылки на которые даны ниже, и в комментариях. Для понимания ее основ не требуются глубокие познания физики и математики. Для тех же, кому даже статья в Википедии кажется сложной для понимания, я приведу довольно упрощенную аналогию.

Для простоты, скажем, у кванта есть некоторые 3 характеристики: A, B и C, которые могут принимать значения 1 или 0. Возьмем два запутанных кванта, таких, что:
1) Если при измерении у первого кванта одной из характеристик мы получаем 1, то у другого кванта, эта же характеристика при измерении будет равна 0.
2) Если мы выбираем для сравнения характеристику случайным образом, то в половине случаев мы получаем одинаковые значения, а в половине — разные. (!)

Сперва кажется что выполнить эти два условия очень легко, написав простенькую программу мы можем смоделировать эту ситуацию. НО! Давайте просто проверим это статистически, программно, кто как хочет и может, пусть проведет свое собственное исследование: Поставит такой эксперимент: Создаст N заранее определенных пар троек значений: (1,0,1)-(0,1,0); (1,1,0)-(0,0,1)… итп, далее построит модель, которая будет удовлетворять обоим вышеуказанным пунктам.

Окажется, что это не только непросто сделать, но и в принципе невозможно. Если мы с такими исходными данными будем измерять одинаковые параметры, мы будем получать противоположные значения. Что понятно и согласуется с пунктом 1. Но вот если, мы будем измерять случайные параметры, то противоположные значения у нас будут появляться в более чем 50% случаев. Что противоречит пункту 2.

Небольшой кусок кода на С#, с попыткой написать такую модель
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {
            int confirm = 0, notconfirm = 0;
            Random rnd = new Random();
            List<Tuple<bool, bool, bool>> p = new List<Tuple<bool, bool, bool>>();
            for (int i = 0; i < 500000; i++)
            {
                var t = new Tuple<bool, bool, bool>(rnd.Next(2) == 1 ? true : false, rnd.Next(2) == 1 ? true : false, rnd.Next(2)==1?true:false);

                p.Add(t);
            }

            for (int i = 0; i < 500000; i++)
            {
                var t = p[i];
                bool first, second;
                switch (rnd.Next(3))
                {
                    case 0: first = t.Item1;
                        break;
                    case 1: first = t.Item2;
                        break;
                    case 2: first = t.Item3;
                        break;
                    default:
                        first = false;
                        throw new Exception("first error");
                  
                }

                switch (rnd.Next(3))
                {
                    case 0: second = !t.Item1;
                        break;
                    case 1: second = !t.Item2;
                        break;
                    case 2: second = !t.Item3;
                        break;
                    default:
                        second = true;
                        throw new Exception("second error");                      
                }
                if (first != second)
                    confirm++;
                else
                    notconfirm++;
            }

            Console.WriteLine((double)confirm / (double)(confirm+notconfirm));
            Console.ReadKey();
        }
    }
}

А именно, в нашем эксперименте, вероятность обнаружения противоположных значений будет лежать в диапазоне [5/9; 2/3] (0.555;0.667). В самой лучшей модели мы не сможем добиться получения разных результатов в менее чем 55,5% случаев. В то время как в реальности можно поставить подобный эксперимент с квантами, в котором она останется равной 1/2.

Объясняется это очень просто: При наличии «заранее определенных квантов» мы всегда имеем «перевес» его значений в одну сторону. Там либо две единицы, и один ноль, либо два нуля и единица, либо вообще все 3 значения равны или единице или нулю.

Именно этот мысленный эксперимент показал мне, что в мире квантов нет места детерминированным параметрам. Заставил изучить тему подробнее и найти в ней очень много необычного интересного и захватывающего.

P.S. Очень хорошо данный эксперимент был описан в книге Ричарда Фейнмана (надеюсь сообщество подскажет в какой именно, я немного запутался)
P.P.S. Ан-нет, это Брайан Грин «Ткань космоса. Пространство, время и текстура реальности». Вот как раз этот момент. Может быть так кому-то станет понятнее.

Upd1
Пояснение с математической стороны:
Например 1 квант имеет такие характеристики (1,1,0), а спутанный с ним (0,0,1). Мы, случайно выбираем и измеряем характеристику первого кванта и случайно выбираем и измеряем характеристику второго кванта. При большом числе экспериментов у нас будут результаты всех возможных комбинаций: A1A2,A1B2,A1C2,B1A2,B1B2,B1C2,C1A2,C1B2,C1C2 (9 штук) примерно с одинаковой вероятностью появления каждой.
Теперь, если мы выпишем с нашей пары квантов все комбинации мы получим:
10,10,11,10,10,11,00,00,01. 5 пар разные значения. 4 пары одинаковые. Таким образом мы для подобных квантов будем иметь перевес 5:4 в пользу разных пар.
Для запутанных пар (0,0,0)-(1,1,1) — мы всегда будем получать разные пары.
Имеем 8 вариантов распределения трех двоичных параметров: 000,001,010,100,011,101,110,111.
2/8 из них с тремя одинаковыми значениями, значит запутанная пара всегда будет с противоположными значениями (p=1).
6/8 из них с двумя одинаковыми и одним противоположным значением. 9 различных комбинаций с такими запутанными тройками. Из них 5 — это разные значения, 4-одинаковые. (p=5/9)
Итого, общая вероятность пар с разными значениями: 5/9*6/8+1*2/8=2/3 > 1/2

Upd2
Хочу выразить отдельное спасибо пользователю Shkaff, за указание ошибок в первоначальном варианте статьи, и за полезные ссылки в его комментарии. Статью пришлось немного изменить, но я постарался сохранить первоначальную идею.
Теги:
Хабы:
Всего голосов 31: ↑21 и ↓10+11
Комментарии60

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн