Провел первый отпуск с семьей в Крыму. Одурев от прогулок, купания в стылом море и прочего отдыха, стал осваивать квантовую информатику и вычисления. Если голову ничем не загружать, то чувствуешь, как течет время, а это неприятное ощущение.
Тема квантовых компьютеров так меня увлекла (хотя и сильно разочаровала тоже), что пишу в свободное от работы и семейных обязанностей время, эмулятор квантового компьютера на Scala, попутно разбираясь и в языке, и в квантовой информатике. За два дня написал все основные гейты, реализовал присваивание, сложение и вычитание. Теперь пытаюсь реализовать умножение. Конечная цель -- реализация алгоритма Саймона (поиск периода функции), но до него еще пахать и пахать.
А вот как сделать a^b таким образом, чтобы число инструкций в программе были фиксированы, я пока не понимаю. Более детально: у нас есть классический регистр, где записано число a и квантовый регистр, находящийся в суперпозиции всех возможных b, нужно посчитать a^b, в третий (квантовый) регистр.
PS Spell check'er от livejournal'а предлагает заменить слово гейты на "гей ты" или "гей-ты".
angry