ГлавнаяинетSilq: новый язык программирования высокого уровня для квантовых компьютеров

Silq: новый язык программирования высокого уровня для квантовых компьютеров

Аппаратное обеспечение для квантовых вычислений продолжает совершенствоваться до такой степени, что мы можем увидеть его использование в реальном мире в ближайшие годы, поэтому неудивительно, что мы наблюдаем постоянный рост исследовательских проектов, направленных на то, как лучше программировать эти машины. Одним из новейших достижений в этой области является Silq, язык программирования высокого уровня для квантовых компьютеров из ETH Цюрих. Исследователи этого языка программирования для квантовых компьютеров отмечают, что существующие квантовые компьютеры языки все еще работают на очень низком уровне абстракции, что делает жизнь для квантовых разработчиков гораздо сложнее.

язык для квантовых компьютеров

Мартин Вечев, доцент кафедры информатики, заявил в своем заявлении, что исследователи проекта хотели решить ключевую проблему в квантовые вычисления, Он добавил, что если вы хотите решить основную проблему в квантовых вычислениях, такую ​​как анализ и обоснование квантового исчисления. программы, у вас должен быть язык, на котором эти проблемы выражены - а такие языки существуют. Команда начала изучать разные языки, используемые пользователями, включая Q #. Microsoft и наборы для разработки программного обеспечения, такие как IBM Qiskit. Бенджамин Бичсел, который защитил докторскую диссертацию в этой области, сказал, что исследователи не считают, что им нужно будет создавать новый язык программирования. Сначала они просто хотели решить гораздо более сложные проблемы в квантовых вычислениях. Они думали о том, чтобы просто выбрать язык и затем работать с ним. И затем они поняли, что существующие языки совершенно не подходят для тех свойств более высокого уровня, которые их интересуют.


Так что насчет существующих языков? Отличный способ ответить на этот вопрос - взглянуть на одну из фундаментальных проблем квантовых вычислений, которая не встречается в классических языках, а именно на проблему отсутствия вопросов, отметил Вечев. Undisputedness лежит в основе подхода Silq и неотъемлемо интегрированы. В классических языках программирования, если вы вычисляете «A или B или C», вы сначала должны вычислить «A или B», а затем использовать его для вычисления результата. Или «C», и вы забудете это временное значение, которое вы рассчитали. Если вы сделаете это количество, у вас будут побочные эффекты. Суть в том, что то, чего можно было ожидать, в этом случае не произойдет. Так что тебе нужно как-то с этим бороться. А это означает, что практически для всех существующих квантовых языков вы должны работать на очень низком уровне абстракции, когда вы должны думать обо всех временных значениях. И это мешает мыслить на высоком уровне. Это означает, что даже если вы хотите сделать что-то относительно тривиальное, например, добавить целые числа, к кванту машинавам нужно подумать обо всех временных значениях, которые вы создаете в процессе, и обрабатывать их явно.

Вечев также добавил, что разработка программ низкого уровня более ошибки и затрудняет понимание того, что он делает алгоритм, Кроме того, контроллер типа компилятора Silq не позволяет разработчикам делать типичные ошибки. Команда также рассмотрела последние разработки в классических языках, таких как типы собственности, системы линейный пресс и т. д., и применил их в контексте квантовых вычислений - то, что также является первым в Silq. Неудивительно, что команда обнаружила, что их язык создавал программы, которые были значительно меньше, чем, например, написанные на Q # и Quipper, и использовали гораздо меньше квантовых примитивов. В настоящее время Silq все еще является исследовательским проектом, который еще не реализован ни на одной из существующих квантовых платформ. аппаратные средства. Вместо этого исследователи создали свой собственный квантовый симулятор, чтобы проверить свои гипотезы. Команда рассматривает написание как двухэтапный процесс, в котором вы сначала выражаете высокоуровневое намерение, а затем компилятор должен решить, какую архитектуру запустить и как оптимизировать конкретную архитектуру.

Pohackontashttps://www.secnews.gr
Каждое достижение начинается с решения попробовать.
spot_img

ЖИВЫЕ НОВОСТИ