서브메뉴

본문

양자 컴퓨터 프로그래밍 (IBM Q Experience로 하는 양자 컴퓨터 프로그래밍)
양자 컴퓨터 프로그래밍 (IBM Q Experience로 하는 양자 컴퓨터 프로그래밍)
저자 : 블라디미르 실바
출판사 : 에이콘출판
출판년 : 2019
정가 : 35000, ISBN : 9791161753393

책소개


새로운 분야인 양자 컴퓨팅에서 프로그램을 작성하는 방법을 설명하는 책이다. 우선, 양자 역학이 우리의 직관과 어떻게 다르게 동작하는지 주요 개념을 소개한 후, 양자 컴퓨터의 특징인 큐빗, 얽힘, 논리 게이트 등을 설명한다. 그리고 QISKit, 파이썬 SDK, QASM를 사용해서 IBM의 Q Experience 클라우드 양자 플랫폼에서 프로그램을 작성하고 실행하는 방법을 안내한다. 그로버와 쇼어 알고리즘, 양자 컴퓨터의 킬러 애플리케이션 후보인 양자 순간이동에 대한 설명도 빼놓지 않는다.

목차


1장. 양자역학의 기이하고 놀라운 세계
__20세기의 물리학 황금시대
__막스 플랑크와 자외선 파탄이 모든 것의 시작
__보어의 양자 도약
__두 거물의 충돌: 양자 고양이와 불확정성 원리
____전지전능한 파동 함수
____ψ의 확률론적 해석: 파동 함수의 원래 의도는 양자역학을 무너뜨리기 위한 것
____양자 고양이가 보른의 확률론 진영을 무너뜨리려고 시도
____불확정성 원리
____간섭과 이중 슬릿 실험
__아인슈타인이 보어에게: 신은 주사위를 던지지 않는다
__보어가 아인슈타인에게: 신이 주사위를 갖고 무엇을 하든 상관하지 말라
__얽힘과 EPR 역설: 도깨비 같은 원격 작용
__벨의 부등식: 얽힘 테스트
__EPR 역설의 패배: 보어가 마지막에 웃다
__우리를 속이고 있는 실재: 모든 것은 서로 연결돼 있다

2장. 양자 컴퓨팅: 현실의 뼈대 자체를 구부리다
__트랜지스터는 물리 법칙과 충돌하고 있다
__5나노 트랜지스터: 커다란 문제
__양자 범위와 트랜지스터의 소멸
____전자 터널링
____슬릿 실험
__트랜지스터의 미래
__리처드 파인만과 양자 컴퓨터의 세계로
__큐빗은 이상하고 놀랍다
____상태의 중첩
____얽힘: 큐빗 관측이 다른 큐빗의 상태를 드러내다
____양자 게이트로 큐빗 조작
____큐빗 설계
__양자 컴퓨터와 기존 컴퓨터
____복잡한 시뮬레이션
____분자 모델링과 신소재
____정교한 딥러닝
____양자 신경망(QNN)과 인공지능(AI)
__양자 컴퓨터의 함정: 결깨짐과 간섭
____결깨짐(수명)
____양자 오류 정정(QEC)
__50-큐빗 프로세서와 양자 우위를 위한 탐험
__양자 어닐링(QA)과 에너지 최소화 논쟁
____2000 큐빗: 눈에 보이는 것이 항상 진실은 아니다
____양자 어닐링: 양자 컴퓨팅의 부분집합
__범용 양자 컴퓨팅과 미래
____구글과 양자 인공지능
____데이터 센터의 양자 컴퓨터
____경쟁은 전 세계적으로 벌어지고 있다
____미래의 응용 분야

3장. IBM Q Experience 시작: 유일무이한 클라우드 양자 컴퓨팅 플랫폼
__IBM Q Experience에 발 담그기
____양자 컴포저
____양자 게이트
____사용 가능한 양자 백엔드 프로세서
__작품 번호 1: 벨 상태와 GHZ 상태의 변형
____벨 상태와 도깨비 같은 원격 작용
____더욱 도깨비 같은 GHZ 상태 테스트
____초결정론:도깨비스러움을 벗어나는 방법.아인슈타인이 옳았는가?
__REST API를 통한 원격 접근
____인증
____사용 가능한 백엔드 목록
____특정 프로세서의 캘리브레이션 정보 얻기
____백엔드 매개변수 얻기
____프로세서 대기열의 상태 가져오기
____실행 대기열 내의 작업 목록 얻기
____계정의 크레딧 정보 가져오기
____사용자의 실험 목록 얻어오기
____실험 실행
____작업 실행
____API 버전 얻기
__IBMQuantumExperience용 Node.js 클라이언트
____IBMQuantumExperience를 위한 Node.js 모듈 구축
____API 메소드 내보내기
____토큰으로 인증
____백엔드 목록 가져오기
____캘리브레이션 매개변수 목록 가져오기
____실험 실행
____디버깅과 테스트
____세상과 공유: 모듈을 게시

4장. QISKit: 파이썬으로 양자 프로그램을 작성할 수 있는 멋진 SDK
__QISKit 설치
____윈도우에 설치
____리눅스 CentOS에서의 설치
__큐빗 101: 아주 기본적인 대수학
____양자 비트의 대수적 표현
____양자 게이트로 큐빗의 상태 변경
____보편적 양자 계산은 고전적 계산보다 지름길을 제공한다
__첫 번째 양자 프로그램
____SDK의 내부: 회로 컴파일과 QASM
____실제 양자 장치에서 실행
__양자 어셈블리: 무대 뒤에 숨은 힘

5장. 엔진 시동: 양자 난수, 양자 순간 이동, 초고밀도 코딩
__양자 난수 생성
____아다마르 게이트를 이용한 무작위 비트 생성
____무작위 결과 값 검증
__초고밀도 코딩
____컴포저용 회로
____파이썬을 사용해 원격으로 실행
____결과 보기
__양자 순간 이동
____컴포저용 회로
____파이썬을 사용해 원격으로 실행
____결과 분석

6장. 양자 게임으로 놀아보자
__양자 전함 게임
____설정 방법
____초기화
____보드에 전함 배치
____메인 루프와 실행 결과
__클라우드 전함: 원격 접근이 가능하게 개선
____연습문제 1: 게임 로직과 사용자 인터페이스를 분리
____연습문제 2: 전함-폭탄 보드를 위한 웹 인터페이스 구축
____연습문제 3: 아파치 HTTPD로 배포 및 문제 해결
____해답 1: 재사용 가능한 파이썬 프로그램
____해답 2: 사용자 인터페이스
____해답 3: 배포 및 테스트
____문제 해결
____추가적인 개선 사항

7장. 게임 이론: 양자역학에서 확률은 언제나 호의적이다
__위조 동전 퍼즐
____위조 동전, 양자 컴퓨터의 해결 방법
____1단계: 양자 저울에 질의
____2단계: 양자 저울을 생성
____3단계: 위조 동전을 식별
____임의의 개수의 위조 동전으로 일반화
__머민-페레즈 매직스퀘어
____머민-페레즈 매직스퀘어 연습문제
____양자 승리 전략
____얽힘 상태 공유
____유니타리 변환
____계산 기준의 측정
____머민-페레즈 매직스퀘어 연습문제의 해답

8장. 그로버와 쇼어 알고리즘을 통한 검색 속도 향상과 비대칭 암호화 위협
__비구조적 양자 검색
____위상 반전
____평균에 대한 반전
____실용적인 구현
____일반화된 회로
__쇼어 알고리즘을 사용한 소인수 분해
____비대칭 암호화에 도전하는 양자 인수 분해
____주기 찾기
____ProjectQ에 의한 쇼어 알고리즘