hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
양자 담금질 D-웨이브 구현
양자 얽힘에 대한 시연이 발표되었음에도 불구하고, D-Wave 머신이 모든 고전 컴퓨터에 비해 양자 우월성을 시연할 수 있는지 여부는 여전히 미해결로 남아 있다. 2014년 6월 사이언스에 발표된 연구는 "D-Wave 머신의 성능에 대해 수행된 가장 철저하고 정확한 연구일 가능성이 높다"고 묘사되었고 "가장 공정한 비교"로, 양자 속도 향상을 정의하고 측정하려고 시도했다. 일부는 경험적 테스트로 확인할 수 없는 반면, 다른 일부는 위조되었음에도 불구하고 성능 이점의 존재를 허용할 수 있으므로 여러 정의가 제시되었다. 연구 결과 D-Wave 칩은 "양자 속도 향상을 생산하지 못했으며" 미래 테스트에서의 가능성도 배제하지 않았다. 취리히 연방 공과대학교의 마티아스 트로이어가 이끄는 연구진은 전체 테스트 범위에서 "양자 속도 향상"을 발견하지 못했으며, 테스트의 부분 집합을 살펴보았을 때만 결론을 내릴 수 없는 결과를 얻었다. 그들의 연구는 "양자 속도 향상 질문의 미묘한 본질"을 보여주었다. 추가 연구는 이러한 테스트 지표와 평형 시스템에 대한 의존성에 대한 이해를 발전시켜 양자 역학으로 인한 이점의 어떤 징후도 놓치지 않도록 했다.
양자 담금질 D-웨이브 구현
양자 속도 향상에 관해서는 많은 미해결 질문이 있다. 이전 섹션의 ETH 참조는 벤치마크 문제의 한 클래스에 불과하다. 잠재적으로 양자 속도 향상이 발생할 수 있는 다른 문제 클래스가 있을 수 있다. 구글, LANL, USC, 텍사스 A&M, D-웨이브의 연구원들은 그러한 문제 클래스를 찾기 위해 노력하고 있다.
2015년 12월, 구글은 D-웨이브 2X가 어려운 최적화 문제 집합에서 담금질 기법과 양자 몬테카를로를 최대 100,000,000배까지 능가한다고 발표했다.
D-Wave의 아키텍처는 전통적인 양자 컴퓨터와 다르다. 보편적인 양자 컴퓨터와 다항식적으로 동일하지 않은 것으로 알려져 있으며, 특히 쇼어 알고리즘을 실행할 수 없는데, 쇼어 알고리즘은 양자 담금질 아키텍처에서는 현재 사용할 수 없는 정밀한 게이트 연산과 양자 푸리에 변환을 필요로 하기 때문이다. 쇼어 알고리즘은 보편적인 양자 컴퓨터를 필요로 한다. D-Wave가 주최한 Qubits 2021 컨퍼런스에서 회사가 QAOA 및 VQE와 같은 다른 게이트 모델 알고리즘 외에 쇼어 알고리즘을 실행할 수 있는 최초의 보편적인 양자 컴퓨터를 개발하고 있다고 발표했다.
"양자 담금질 기반 알고리즘에 대한 다학제적 소개"는 NP-난해 조합 최적화 문제, 양자 담금질 기반 알고리즘의 일반적인 구조, 최대 SAT(최대 만족 가능 문제) 및 최소 멀티컷 문제 사례를 해결하기 위한 두 가지 알고리즘 예제, 그리고 D-Wave Systems가 제조한 양자 담금질 시스템에 대한 개요를 제시한다. 대규모 이산-연속 최적화 문제를 위한 하이브리드 양자-고전 알고리즘은 양자 우월성을 보여주기 위해 보고되었다.
양자 담금질 더 읽어보기
Bapst, V.; Foini, L.; Krzakala, F.; Semerjian, G.; Zamponi, F. (2013). 《The quantum adiabatic algorithm applied to random optimization problems: The quantum spin glass perspective》. 《Physics Reports》 523. 127–205쪽. arXiv:1210.0811. Bibcode:2013PhR...523..127B. doi:10.1016/j.physrep.2012.10.002. S2CID 19019744.
Chandra, Anjan K.; Das, Arnab; Chakrabarti, Bikas K., 편집. (2010). 《Quantum Quenching, Annealing and Computation》. Lecture Note in Physics 802. Heidelberg, Germany: Springer. ISBN 978-3-64211-469-4.  지원되지 않는 변수 무시됨: |name-list-style= (도움말)
양자 담금질 더 읽어보기
Das, Arnab; Chakrabarti, Bikas K., 편집. (2005). 《Quantum Annealing and Related Optimization Methods》. Lecture Note in Physics 679. Heidelberg, Germany: Springer. ISBN 978-3-54027-987-7.  지원되지 않는 변수 무시됨: |name-list-style= (도움말)
Dutta, A.; Aeppli, G.; Chakrabarti, B. K.; Divakaran, U.; Rosenbaum, T. F.; Sen, D. (2015). 《Quantum Phase Transitions in Transverse Field Spin Models: From Statistical Physics to Quantum Information》. Cambridge, England & Delhi, India: Cambridge University Press. ISBN 978-1-10706-879-7.  지원되지 않는 변수 무시됨: |name-list-style= (도움말)
양자 담금질 더 읽어보기
Li, Fuxiang; Chernyak, V. Y.; Sinitsyn, N. A. (2013). 《Quantum Annealing and Computation: A Brief Documentary Note》. 《Science and Culture》 79. 485–500쪽. arXiv:1310.1339. Bibcode:2013arXiv1310.1339G.
Suzuki, S.; Inoue, J.-I.; Chakrabarti, B. K. (2013). 〈Chapter 8 on Quantum Annealing〉. 《Quantum Ising Phases & Transitions in Transverse Ising Models》 2판. Heidelberg: Springer. ISBN 978-3-64233-038-4.  지원되지 않는 변수 무시됨: |name-list-style= (도움말)
양자 담금질 더 읽어보기
Tanaka, S.; Tamura, R.; Chakrabarti, B. K. (2017). 《Quantum Spin Glasses, Annealing & Computation》. Cambridge & Delhi: Cambridge University Press. ISBN 978-1-10711-319-0.  지원되지 않는 변수 무시됨: |name-list-style= (도움말)
Chakrabarti, B. K.; Leschke, H.; Ray, P.; Shirai, T.; Tanaka, S. (January 2023). 《Quantum Annealing and Computation: Challenges and Perspectives》. 《Philosophical Transactions A》 381 (Royal Society, London, England). Bibcode:2023RSPTA.38110419C. doi:10.1098/rsta.2021.0419. PMC 9719792. PMID 36463926.
완화 (NMR)
자기공명영상(MRI) 및 핵자기 공명 분광법(NMR)에서 관찰 가능한 핵 스핀 편극(자기화)은 균일한 자기장에 의해 생성된다. 이 자기장은 샘플의 자기 쌍극자 모멘트가 핵의 공명(라모어) 주파수에서 세차운동하게 한다. 열평형 상태에서 핵 스핀은 인가된 자기장 방향을 중심으로 무작위로 세차운동한다. 자기장에 수직으로 생성된 공명 주파수의 무선주파수(RF) 펄스를 받으면 갑자기 위상 결맞음이 발생한다. RF 펄스는 스핀 상태의 모집단이 열평형 값에서 벗어나게 한다. 생성된 횡방향 자기화는 RF 코일에 신호를 유도할 수 있으며, 이 신호는 RF 수신기에 의해 감지되고 증폭될 수 있다. 자기화의 종방향 성분이 평형 값으로 돌아오는 것을 스핀-격자 완화(Relaxation)라고 하는 반면, 스핀의 위상 결맞음 상실을 스핀-스핀 완화라고 하며, 이는 관찰된 자유유도감쇠(FID)로 나타난다.
스핀-⁠1/2⁠ 핵(예: 1H)의 경우, 자기장 방향에 정렬된 스핀 N−이 자기장 반대 방향에 정렬된 스핀 N+에 대한 편극은 볼츠만 분포에 의해 주어진다.
완화 (NMR)
여기서 ΔE는 두 스핀 집단 간의 에너지 준위 차이, k는 볼츠만 상수, T는 샘플 온도이다. 실온에서 낮은 에너지 준위의 스핀 수 N−는 높은 에너지 준위의 스핀 수 N+보다 약간 더 많다. MRI 및 NMR 분광법에 일반적으로 사용되는 자기장에서 NMR의 스핀-업 및 스핀-다운 상태 간의 에너지 간격은 원자 방출 표준에 비해 미미하다. NMR에서의 에너지 방출은 자연방출에 의해서가 아니라 핵과 외부 환경의 직접적인 상호작용을 통해 유도되어야 한다. 이러한 상호작용은 다른 핵, 전자 또는 분자에 의해 생성된 전기장 또는 자기장을 통해 이루어질 수 있다. 에너지의 자연방출은 광자 방출을 포함하는 복사 과정이며 형광 및 인광과 같은 현상으로 대표된다. 아브라함이 언급했듯이, 광자의 자연방출을 통해 핵 스핀-1/2이 + 상태에서 - 상태로 전이할 단위 시간당 확률은 무시할 수 있는 현상이다.
오히려 평형으로의 회복은 분자 또는 전자(자유 라디칼) 회전 운동으로 인한 국부 자기장의 변동에 의해 유도되는 훨씬 느린 열 과정이며, 이는 과도한 에너지를 열의 형태로 주변 환경으로 되돌려준다.
완화 (NMR) T1 및 T2
RF 유도 NMR 스핀 편극의 감쇠는 각각 자체 시간 상수를 갖는 두 가지 개별 프로세스로 특성화된다. T1이라고 불리는 한 프로세스는 펄스 여기 후 공명 강도 손실을 담당한다. T2라고 불리는 다른 프로세스는 공명의 폭 또는 넓이를 특성화한다. 더 공식적으로 말하면, T1은 외부 자기장 B0(일반적으로 z축으로 지정됨)에 평행한 핵 스핀 자기화 벡터 M의 구성 요소 완화를 담당하는 물리적 프로세스의 시간 상수이다. T2 완화는 B0에 수직인 M의 일관성 있는 구성 요소에 영향을 미친다. 기존 NMR 분광법에서 T1은 펄스 반복률을 제한하고 NMR 스펙트럼을 얻을 수 있는 전체 시간에 영향을 미친다. T1 값은 분자의 크기, 용액의 점도, 샘플의 온도, 상자성 종(예: O2 또는 금속 이온)의 존재 가능성에 따라 밀리초에서 수 초까지 다양하다.
종방향(또는 스핀-격자) 완화 시간 T1은 핵 스핀 자기화의 z 성분 Mz가 열평형 값 으로 회복되는 감쇠 상수이다. 일반적으로 다음과 같다.
특정 경우:
즉, 자기화는 하나의 시간 상수 T1 후에 평형 값의 63%로 회복된다.
완화 (NMR) T1 및 T2
T1 완화는 열평형 분포에 도달하기 위해 핵 스핀 상태의 모집단을 재분배하는 것을 포함한다. 정의상 이는 에너지 보존이 아니다. 더욱이, 자연방출은 NMR 주파수에서 무시할 수 있을 정도로 느리다. 따라서 진정으로 고립된 핵 스핀은 T1 완화율이 무시할 수 있을 정도로 낮게 나타날 것이다. 그러나 다양한 완화 메커니즘은 핵 스핀이 주변 환경(격자라고 함)과 에너지를 교환하여 스핀 모집단이 평형을 이루도록 한다. T1 완화가 주변 환경과의 상호작용을 포함한다는 사실은 대체 설명인 스핀-격자 완화의 기원이다.
T1 완화율(즉, 1/T1)은 일반적으로 NMR 주파수에 강하게 의존하므로 자기장 강도 B에 따라 상당히 달라진다. 샘플에 소량의 상자성 물질이 있으면 완화 속도가 매우 빨라진다. 탈기하여 용해된 산소를 제거하면 액체 샘플의 T1/T2가 쉽게 10초 정도까지 올라간다.
특히 느리게 완화되는 (T1) 신호를 나타내는 분자의 경우, 스핀 포화 전이(SST) 기술은 화학적 교환 반응에 대한 정보를 제공한다. 이 방법은 가변 분자에 널리 적용 가능하다. 이 자기화 전이 기술은 1/T1을 초과하는 경우 속도를 제공한다.
완화 (NMR) T1 및 T2
횡방향(또는 스핀-스핀) 완화 시간 T2는 B0에 수직인 M의 구성 요소, 즉 Mxy, MT 또는 의 감쇠 상수이다. 예를 들어, 시간 0의 초기 xy 자기화는 다음과 같이 0(즉, 평형)으로 감쇠한다.
즉, 횡방향 자기화 벡터는 하나의 시간 상수 T2 후에 원래 크기의 37%로 떨어진다.
T2 완화는 복잡한 현상이지만, 가장 기본적인 수준에서는 횡방향 핵 스핀 자기화의 결잃음에 해당한다. 국부 자기장의 무작위 변동은 다른 스핀의 순간 NMR 세차운동 주파수의 무작위 변동으로 이어진다. 그 결과, 핵 스핀의 초기 위상 결맞음이 손실되고, 결국 위상이 무질서해져 순 xy 자기화가 없어진다. T2 완화는 다른 핵 스핀의 위상만을 포함하기 때문에 종종 "스핀-스핀" 완화라고 불린다.
T2 값은 일반적으로 T1 값보다 자기장 강도 B에 훨씬 덜 의존한다.
하네 에코 감쇠 실험은 아래 애니메이션에 표시된 것처럼 T2 시간을 측정하는 데 사용될 수 있다. 두 인가된 펄스의 간격에 따라 에코의 크기가 기록된다. 이는 180° 펄스에 의해 재초점되지 않는 결잃음을 나타낸다. 간단한 경우,  시간으로 설명되는 지수적 감쇠가 측정된다.
완화 (NMR) T1 및 T2
이상적인 시스템에서는 자기장 내의 주어진 화학적 환경에 있는 모든 핵이 동일한 주파수로 세차운동한다. 그러나 실제 시스템에서는 화학적 환경에 미미한 차이가 있어 이상적인 주파수 주변에 공명 주파수 분포가 발생할 수 있다. 시간이 지남에 따라 이 분포는 자기 스핀 벡터의 밀집된 분포를 분산시키고 신호 손실(자유유도감쇠)을 초래할 수 있다. 실제로 대부분의 자기 공명 실험에서는 이러한 "완화"가 지배적이다. 이는 탈위상을 유발한다.
그러나 자기장 불균일성으로 인한 결잃음은 진정한 "완화" 과정이 아니다. 이는 무작위적이지 않고 자석 내 분자의 위치에 따라 달라진다. 움직이지 않는 분자의 경우 이상적인 완화로부터의 편차는 시간이 지남에 따라 일관되며, 스핀 에코 실험을 수행하여 신호를 복구할 수 있다.
해당 횡방향 완화 시간 상수는 T2*이며, 이는 일반적으로 T2보다 훨씬 작다. 둘 사이의 관계는 다음과 같다.
여기서 γ는 자기회전비율을 나타내고, ΔB0는 국부적으로 변하는 자기장의 강도 차이를 나타낸다.
T2와 달리 T2*는 자기장 기울기 불균일성에 영향을 받는다. T2* 완화 시간은 항상 T2 완화 시간보다 짧으며, 일반적으로 영상 자석의 물 샘플의 경우 밀리초이다.
NMR 시스템에서 다음 관계는 절대적으로 참이다. . 대부분의 상황에서(원칙적으로는 아니지만) 은 보다 크다. 인 경우는 드물지만 불가능하지는 않다.
완화 (NMR) 블로흐 방정식
블로흐 방정식은 완화 시간 T1과 T2가 존재할 때 핵 자기화 M = (Mx, My, Mz)를 시간의 함수로 계산하는 데 사용된다. 블로흐 방정식은 1946년 펠릭스 블로흐가 도입한 현상학적 방정식이다.
여기서 는 벡터 곱이고, γ는 자기회전비율이며, B(t) = (Bx(t), By(t), B0 + Bz(t))는 핵이 경험하는 자기 플럭스 밀도이다.
자기 플럭스 밀도 B의 z 성분은 일반적으로 두 항으로 구성된다. 하나는 B0이며 시간에 따라 일정하고, 다른 하나는 Bz(t)이며 시간에 따라 달라진다. 이는 자기공명영상에 존재하며 NMR 신호의 공간적 디코딩을 돕는다.
T1 및 T2 완화 섹션에 나열된 방정식은 블로흐 방정식에 있는 것들이다.
완화 (NMR) 솔로몬 방정식
솔로몬 방정식은 쌍극자 시스템에서 완화로 인한 자기화의 전이를 계산하는 데 사용된다. 이는 분자 구조를 결정하는 중요한 도구인 핵 오버하우저 효과를 설명하는 데 사용될 수 있다.
완화 (NMR) 인체 조직의 일반적인 완화 시간 상수
다음은 비병리학적 인체 조직에서 수소 핵 스핀의 두 완화 시간 상수에 대한 대략적인 값 표이다.
다음은 인체 뇌 자기 공명 분광법(MRS) 연구에서 생리학적 또는 병리학적으로 흔히 나타나는 화학 물질에 대한 두 완화 시간 상수의 대략적인 값 표이다.
완화 (NMR) 회전 프레임에서의 완화, T1ρ
위의 설명은 일정한 자기장 B0 존재 하에서의 핵 자기화 완화에 대해 기술한다. 이를 실험실 프레임에서의 완화라고 한다.
회전 프레임에서의 완화라고 불리는 또 다른 기술은 B0 자기장과 시간 의존적인 자기장 B1이 함께 존재할 때의 핵 자기화 완화이다. B1 자기장은 B0에 수직인 평면에서 핵의 라모어 주파수로 회전한다. B1의 크기는 일반적으로 B0의 크기보다 훨씬 작다. 이러한 상황에서 자기화의 완화는 B1 자기장에서의 실험실 프레임 완화와 유사하다. B1을 따라 자기화 성분이 회복되는 감쇠 상수는 회전 프레임에서의 스핀-격자 완화 시간이라고 하며 T1ρ로 표시된다.
회전 프레임에서의 완화는 핵의 느린 움직임에 대한 정보를 제공하기 때문에 유용하다.
완화 (NMR) 미시적 메커니즘
핵 스핀의 완화는 핵이 인가된 자기장에 대해 방향을 바꾸고/바꾸거나 주변 환경(격자라고 함)과 에너지를 교환할 수 있는 미시적 메커니즘을 필요로 한다. 가장 일반적인 메커니즘은 핵의 자기 모멘트와 다른 핵 또는 다른 실체(전자, 원자, 이온, 분자)의 자기 모멘트 사이의 자기 쌍극자-쌍극자 상호작용이다. 이 상호작용은 한 쌍의 쌍극자(스핀) 사이의 거리에 따라 달라지지만, 외부 자기장에 대한 상대적 방향에도 의존한다. 몇 가지 다른 완화 메커니즘도 존재한다. 화학적 이동 이방성(CSA) 완화 메커니즘은 핵 주변의 전자 환경이 비구형일 때 발생하며, 이때 핵의 전자 차폐 크기는 (고정된) 외부 자기장에 대한 분자 방향에 따라 달라진다. 스핀 회전(SR) 완화 메커니즘은 핵 스핀과 전체 분자 회전 각운동량과의 결합 사이의 상호작용에서 발생한다. 스핀 I ≥ 1인 핵은 핵 쌍극자뿐만 아니라 사극자도 가질 것이다. 핵 사극자는 핵 위치에서 존재하는 전기장 기울기와의 상호작용을 가지며, 이는 위에서 설명한 다른 메커니즘과 마찬가지로 방향 의존적이며, 소위 사극자 완화 메커니즘으로 이어진다.
완화 (NMR) 미시적 메커니즘
분자 재배향 또는 회전 운동은 이러한 방향 의존적 스핀 상호작용 에너지를 변조할 수 있다.
양자역학에 따르면, 시간 의존적 상호작용 에너지는 핵 스핀 상태 간의 전이를 유발하여 핵 스핀 완화를 초래한다. 양자역학의 시간 의존적 섭동 이론을 적용하면 완화율(및 시간)이 변동하는 자기 쌍극자 상호작용의 자기상관 함수의 푸리에 변환인 스펙트럼 밀도 함수에 의존함을 보여준다. 스펙트럼 밀도 함수의 형태는 물리적 시스템에 따라 다르지만, BPP 이론이라는 간단한 근사법이 널리 사용된다.
또 다른 완화 메커니즘은 전기 사극자 모멘트를 가진 핵과 주변 전하로 인해 핵 위치에 존재하는 전기장 기울기 사이의 정전기적 상호작용이다. 핵의 열 운동은 변동하는 정전기적 상호작용 에너지를 초래할 수 있다. 이러한 변동은 자기 쌍극자-쌍극자 상호작용과 유사한 방식으로 핵 스핀 상태 간의 전이를 생성한다.
완화 (NMR) BPP 이론
1948년, 니콜라스 블룸베르헌, 에드워드 밀스 퍼셀, 그리고 로버트 파운드는 분자의 회전 운동이 국부 자기장 교란에 미치는 영향을 고려하여 물질의 상태에 따른 순수 물질의 완화 상수를 설명하기 위해 소위 블룸베르헌-퍼셀-파운드 이론(BPP 이론)을 제안했다. 이 이론은 순수 물질에 대한 실험과 잘 일치하지만, 인체와 같은 복잡한 환경에서는 그렇지 않다.
이 이론은 완화를 일으키는 미시적 변동의 자기상관 함수가 에 비례한다고 가정하는데, 여기서 는 상관 시간이라고 불린다. 이 이론에서 자기 쌍극자 완화에 대해 T1 > T2를 얻을 수 있다.
,
여기서 는 주 자기장 의 강도에 해당하는 라모어 주파수이다. 는 분자의 회전 운동의 상관 시간이다. 은 스핀-1/2 핵에 대해 정의되며, 는 자유 공간의 자기 투자율이고, 는 환산 플랑크 상수이며, γ는 해당 핵종의 자기회전비율이고, r은 자기 쌍극자 모멘트를 가진 두 핵 사이의 거리이다.
완화 (NMR) BPP 이론
예를 들어, 산소-17 오염이 없는 액상의 H2O 분자의 경우, K 값은 1.02×1010 s−2이고 상관 시간 는 피코초 =  s 정도인 반면, 1.5 테슬라에서 수소 핵 1H (양성자)는 약 64 MHz의 라모어 주파수로 세차운동한다(단순화된 값. BPP 이론은 실제로 각주파수를 사용한다). τc = 5×10−12 s를 사용하여 추정할 수 있다.
(무차원)
= 3.92 s
= 3.92 s,
이는 실험값인 3.6 s와 가깝다. 한편, 이 극단적인 경우 T1이 T2와 같음을 알 수 있다.
BPP 이론에 따르면, T1 시간을 측정하면 핵간 거리 r을 알 수 있다. 한 가지 예는 다음 방정식을 통해 가변 온도 완화 실험에서 1H 선택적 및 비선택적 T1 시간을 측정하여 용액 내 금속-수소(M-H) 결합 길이를 정확하게 결정하는 것이다.
, 여기서
여기서 r, 주파수 및 T1은 각각 Å, MHz, s 단위로 측정되며, IM은 M의 스핀이다.
스핀-격자 완화
핵자기 공명 관찰 중 스핀-격자 완화(Spin–lattice relaxation)는 총 핵자기 모멘트 벡터의 종방향 성분(일정한 자기장과 평행)이 더 높은 에너지의 비평형 상태에서 주변(또는 "격자")과의 열역학적 평형 상태로 지수적으로 완화되는 메커니즘이다. 이는 스핀-격자 완화 시간 또는 T1으로 알려진 시상수로 특징지어진다.
다른 매개변수인 T2, 즉 스핀-스핀 완화 시간은 핵 자화 벡터의 횡방향 성분(외부 자기장에 수직)의 지수적 완화를 다룬다. 서로 다른 물질에서 T1과 T2의 변화를 측정하는 것은 일부 자기공명영상 기법의 기본이다.
스핀-격자 완화 핵물리학
T1은 다음 방정식에 따라 자화 벡터의 종방향 Mz 성분이 열역학적 평형을 향해 지수적으로 회복되는 속도를 특징짓는다.

또는 인 특정 경우:
따라서 90° 무선 주파수 펄스에 의해 자기 횡단 평면으로 뒤집힌 후 종방향 자화가 초기 값의 약 63% [1-(1/e)]를 회복하는 데 걸리는 시간이다.
핵은 분자 구조 내에 포함되어 있으며 끊임없이 진동하고 회전 운동을 하며 복잡한 자기장을 생성한다. 격자 내 핵의 열 운동으로 인해 발생하는 자기장을 격자장이라고 한다. 낮은 에너지 상태의 핵의 격자장은 높은 에너지 상태의 핵과 상호 작용하여 높은 에너지 상태의 에너지가 두 핵 사이에 분산될 수 있다. 따라서 RF 펄스로부터 핵이 얻은 에너지는 격자 내 진동 및 회전 증가로 소산되며, 이는 시료의 온도를 약간 증가시킬 수 있다. 스핀-격자 완화라는 이름은 스핀이 RF 펄스로부터 얻은 에너지를 주변 격자에 다시 전달하여 평형 상태를 회복하는 과정을 의미한다. 동일한 과정은 주변 정자기장의 변화(예: 고자기장으로의 사전 편광 또는 삽입)에 의해 스핀 에너지가 변경된 후 또는 비평형 상태가 다른 수단(예: 초편극화 광펌핑)에 의해 달성된 경우에도 발생한다.
스핀-격자 완화 핵물리학
완화 시간 T1(높은 에너지 상태의 핵의 평균 수명)은 핵의 자기회전비율과 격자의 이동성에 따라 달라진다. 이동성이 증가함에 따라 진동 및 회전 주파수가 증가하여 격자장의 구성 요소가 높은 에너지 상태에서 낮은 에너지 상태로의 전이를 자극할 가능성이 높아진다. 그러나 극도로 높은 이동성에서는 진동 및 회전 주파수가 더 이상 상태 간 에너지 간격과 일치하지 않으므로 확률이 감소한다.
조직마다 T1 값이 다르다. 예를 들어, 유체는 긴 T1(1500-2000 ms)을 가지며, 수성 조직은 400-1200 ms 범위에 있고, 지방 기반 조직은 더 짧은 100-150 ms 범위에 있다. 강자성 또는 상자성과 같은 강한 자기 이온 또는 입자의 존재도 T1 값을 크게 변경하며 MRI 조영제로 널리 사용된다.
스핀-격자 완화 T1 강조 영상
자기공명영상은 양성자의 공명을 사용하여 이미지를 생성한다. 양성자는 적절한 주파수(라모어 주파수)의 무선주파수 펄스에 의해 여기되고, 스핀이 열 평형 상태로 돌아오면서 초과 에너지는 미미한 양의 열 형태로 주변에 방출된다. 양성자 앙상블의 자화는 시간 상수 T1(참조: 이완 (NMR))으로 특징지어지는 지수 곡선으로 평형 값으로 돌아간다.
T1 강조 영상은 기존 스핀 에코 시퀀스에서 짧은 반복 시간 (TR, 예: < 750 ms) 및 에코 시간 (TE, 예: < 40 ms)을 설정하거나, 그라디언트 에코 시퀀스에서는 플립 각도를 50°보다 크게 설정하고 TE 값을 15 ms 미만으로 설정하여 얻을 수 있다.
T1은 회색질과 백색질 사이에 유의미한 차이가 있으며 뇌 스캔 시 사용된다. T1 대조는 유체와 더 단단한 해부학적 구조 사이에 강하게 나타나므로, T1 대조는 정상 또는 병리학적 해부학의 형태학적 평가에 적합하며, 예를 들어 근골격계 적용에 사용된다.
스핀-격자 완화 회전 좌표계에서
회전 좌표계에서의 스핀-격자 완화는 핵자기 공명 (NMR) 및 자기공명영상 (MRI)에서 무선주파수 (RF)장의 영향 하에 자화 벡터의 횡방향 성분인 Mxy가 영의 평형 값으로 지수적으로 감쇠하는 메커니즘이다. 이는 회전 좌표계에서의 스핀-격자 완화 시간 상수인 T1ρ로 특징지어진다. 이는 스핀-격자 완화 시간인 T1과 대비하여 명명되었다.
T1ρ MRI는 횡단 평면의 자화에 스핀-록(SL) 펄스라고 하는 장시간, 저전력 무선주파수를 사용하여 기존 T1 및 T2 MRI를 대체하는 방식이다. 자화는 인가된 B1과 비공명 성분의 벡터 합에 의해 생성된 유효 B1 장 주위에 효과적으로 스핀-록된다. 스핀-록된 자화는 T1ρ라는 시간 상수로 완화되며, 이는 자기 공명 신호가 초기 값 의 37%(1/e)에 도달하는 데 걸리는 시간이다. 따라서 다음 관계가 성립한다.

여기서 tSL은 RF 장의 지속 시간이다.
스핀-격자 완화 회전 좌표계에서
T1ρ는 스핀-록 펄스의 진폭(γB1~0.1-수 kHz)을 고정한 상태에서 스핀-록 펄스의 지속 시간에 따른 위 신호 표현을 곡선 맞춤하여 정량화(릴랙소메트리)할 수 있다. 정량적 T1ρ MRI 완화 맵은 조직의 생화학적 구성을 반영한다.
T1ρ MRI는 연골, 추간판, 뇌, 심장 및 특정 유형의 암와 같은 조직을 영상화하는 데 사용되었다.
Qiskit
Qiskit(Quantum Information Software Kit)은 IBM 리서치가 개발하고 2017년에 처음 출시된 양자 컴퓨팅을 위한 오픈 소스, 파이썬 기반의 고성능 소프트웨어 스택이다. 이 소프트웨어는 양자 프로그램(양자 회로 및 연산 정의를 통해)을 생성하고 이를 양자 컴퓨터 또는 고전 시뮬레이터에서 실행하기 위한 도구를 제공한다. "Qiskit"이라는 이름은 광범위하게 양자 소프트웨어 도구 모음을 지칭한다. 이는 핵심 Qiskit SDK를 중심으로 하며, 클라우드를 통해 최적화된 계산을 가능하게 하는 Qiskit Runtime 서비스와 같은 양자 계산을 위한 도구 및 서비스 모음과 결합되어 있다. Qiskit은 사용자가 양자 회로를 작성하고 이를 실제 양자 프로세서(초전도 큐비트 시스템 등) 또는 다양한 호환 가능한 양자 장치에서 실행할 수 있도록 한다. 시간이 지남에 따라 Qiskit의 기능은 Qiskit Functions 및 Qiskit 애드온과 같은 새로운 구성 요소와 개선 사항으로 확장되었으며, 양자 컴퓨팅 연구 및 애플리케이션 개발을 위한 오픈 소스 생태계를 유지하고 있다.
Qiskit 구성 요소
Qiskit SDK는 확장된 (정적, 동적 및 스케줄링된) 양자 회로, 연산자 및 프리미티브 수준에서 양자 컴퓨터와 작업하기 위한 핵심 소프트웨어 개발 키트이다. 파이썬 패키지 qiskit으로 배포되는 이 프레임워크는 사용자가 양자 회로를 구성하고, 양자 연산자를 조작하며, 양자 하드웨어 또는 시뮬레이터와 인터페이스할 수 있도록 하는 오픈 소스 프레임워크이다. Qiskit SDK는 Qiskit 소프트웨어 스택의 기본 구성 요소이며, 가장 큰 기능 집합을 제공하며 다른 Qiskit 서비스 및 모듈이 구축되는 기반 역할을 한다.
Qiskit 구성 요소
Qiskit SDK의 주요 기능에는 양자 회로를 구축하고 양자 연산을 등록하기 위한 모듈, 사전 정의된 양자 논리 회로 및 매개변수화된 회로 라이브러리, 양자 상태 및 연산자와 작업하기 위한 양자 정보 모듈, 특정 양자 하드웨어 백엔드에서 실행되도록 회로를 최적화하고 변환하는 트랜스파일러가 포함된다. 예를 들어, Qiskit은 사용자가 직관적인 파이썬 API를 사용하여 양자 회로를 생성한 다음, 트랜스파일러를 사용하여 특정 장치의 토폴로지 및 제약 조건에 맞게 이러한 회로를 조정하고 최적화할 수 있도록 한다(필요에 따라 게이트 수 또는 회로 깊이 감소). SDK는 또한 노이즈 모델링을 위한 도구를 제공하고 프리미티브를 지원한다 – 기본 양자 프로그램 구성 요소(회로 결과에 대한 샘플러 및 추정기와 같은) – 이는 상위 수준 양자 알고리즘의 빌딩 블록 역할을 하며 로컬 시뮬레이터 또는 클라우드 서비스를 사용하여 실행될 수 있다. 이러한 기능들이 합쳐져 Qiskit SDK는 하드웨어에 구애받지 않는 방식으로 양자 알고리즘 및 실험을 개발하기 위한 포괄적인 플랫폼이 된다.
Qiskit 구성 요소
Qiskit Runtime은 IBM Quantum 시스템에서 양자 계산 실행을 간소화하기 위해 IBM이 도입한 클라우드 기반 양자 실행 서비스이다. 이 서비스는 사용자가 추가 서버 측 관리와 함께 양자 프로그램을 실행할 수 있도록 하여, 고전-양자 통신의 지연 시간을 최소화하고 고급 양자 오류 완화 기술을 활용하여 성능을 향상시킨다. 본질적으로 Qiskit Runtime은 양자 회로(또는 상위 수준 프리미티브 프로그램)가 양자 하드웨어에 더 가깝게 실행되는 IBM 클라우드에서 최적화된 환경을 제공하여, 전통적인 작업 제출 방식의 요청-응답 방식보다 대기 시간을 줄이고 더 복잡한 워크플로우를 가능하게 한다. 이 서비스는 양자 프로그램 실행을 특히 반복적인 회로 평가 또는 반복 프로세스를 포함하는 알고리즘에 대해 더 효율적이고 확장 가능하게 설계되었다.
Qiskit 구성 요소
Qiskit Runtime은 추가적인 고전 및 양자 컴퓨팅 리소스를 활용하여 양자 프로세서에서 얻은 결과의 품질과 정확도를 높이는 오류 완화 전략을 통합한다. 예를 들어, Qiskit Runtime은 동적 디커플링(회로 실행 중 노이즈를 억제하기 위해) 및 제로 노이즈 외삽 또는 기타 형태의 판독 오류 완화(측정 오류의 영향을 줄이기 위해)와 같은 기술을 자동으로 적용하여 노이즈가 많은 양자 하드웨어에서 더 높은 품질의 결과를 반환하는 것을 목표로 한다. 런타임 서비스는 또한 양자 작업을 실행하기 위한 여러 실행 모드를 지원하며, 각 모드는 다른 사용 사례에 적합하다. 사용자는 단일 작업(지정된 샷 수로 한 번의 회로 또는 프리미티브 호출)을 실행하거나, 그 사이의 오버헤드를 줄여 일련의 작업을 대화식으로 실행하기 위한 세션을 생성하거나, 큐에서 병렬 실행을 위해 배치 모드로 작업을 제출할 수 있다. 이러한 모드는 실험 관리에 유연성을 제공한다 – 예를 들어, 세션 모드는 중간 결과에 따라 적응하는 반복적인 알고리즘을 가능하게 하는 반면, 배치 모드는 많은 독립적인 회로를 동시에 실행하는 데 유용하다.
Qiskit 구성 요소
Qiskit Serverless는 양자-고전 워크로드를 분산된 클라우드 네이티브 방식으로 실행할 수 있도록 하는 Qiskit 생태계의 확장이다. 이는 원격 서버에서 컴퓨팅 리소스를 관리하고 양자 워크플로우의 일부를 실행하기 위한 간단한 인터페이스를 제공하여, 사용자가 양자 프로그램과 그에 수반되는 고전 처리 단계를 IBM Quantum 클라우드 또는 심지어 여러 클라우드 환경에 배포할 수 있도록 효과적으로 허용한다. Qiskit Serverless의 목표는 필요에 따라 양자 처리 장치와 고전 컴퓨팅 리소스의 할당을 모두 처리하여 유틸리티 규모의 양자 애플리케이션을 용이하게 하는 것이며, 이는 하이브리드 알고리즘 및 대규모 실험에 특히 유용하다. Qiskit Serverless는 다음을 위해 사용될 수 있다:
클라우드에서 장기 실행 워크로드 지속, 사용자의 로컬 환경(예: 랩톱)이 오프라인 상태여도 양자 작업이 계속 실행되고 결과를 수집할 수 있도록 한다. 이는 연구원이 복잡한 양자 실험을 시작하고 지속적인 연결을 유지하는 것에 대해 걱정할 필요가 없음을 의미한다. 서버리스 시스템은 실행을 처리하고 사용자가 검색할 때까지 결과를 유지한다.
Qiskit 구성 요소
IBM Quantum 플랫폼에 재사용 가능한 프로그램(양자 애플리케이션 또는 알고리즘 루틴)을 배포하여 필요에 따라 호출한다. 이는 사용자 지정 양자 알고리즘을 서비스로 전환하여 협업 및 재사용을 가능하게 한다: 예를 들어, 최적화 알고리즘 또는 화학 시뮬레이션 루틴은 한 번 업로드한 다음 필요에 따라 다른 매개변수로 반복적으로 실행될 수 있다.
클라우드 리소스 관리의 세부 사항을 추상화함으로써 Qiskit Serverless는 양자 실험을 확장하고 이를 더 큰 컴퓨팅 워크플로우에 통합하는 것을 더 쉽게 만드는 것을 목표로 한다.
Qiskit 구성 요소
Qiskit Add-ons (Qiskit addons로 표기)는 양자 알고리즘 개발을 위한 Qiskit의 기능을 확장하도록 설계된 모듈식의 별도로 설치되는 도구이다. 이들은 Qiskit의 핵심 프레임워크를 기반으로 구축되며, 사용자의 워크플로우에 연결되어 새로운 알고리즘을 확장하거나 설계하는 데 도움을 줄 수 있다. 각 애드온은 독립적인 파이썬 패키지(예: SQD 도구를 위한 qiskit-addon-sqd)로 배포되며, 이는 파이썬 패키지 색인(PyPI)을 통해 설치한 다음 Qiskit SDK와 함께 사용할 수 있다. 이러한 공식 애드온은 회로 매핑, 최적화 및 결과 후처리(post‑processing)와 같은 작업을 향상시키면서 Qiskit의 기능과 완벽하게 통합된다.
각 애드온은 깃허브 Qiskit 조직에서 오픈 소스 확장으로 유지 관리되며, IBM Quantum에서 문서 및 튜토리얼을 제공한다. 이 모듈식 접근 방식은 연구원들이 필요에 따라 고급 알고리즘 기술을 선택할 수 있도록 하여, Qiskit의 핵심은 가볍게 유지하면서도 애드온을 통해 최첨단 기능을 가능하게 한다.
Qiskit 구성 요소
Qiskit 생태계는 핵심 SDK의 일부가 아니면서 Qiskit과 인터페이스하는 더 넓은 오픈 소스 프로젝트 모음을 지칭한다. IBM Quantum 또는 더 넓은 커뮤니티에서 개발된 이러한 프로젝트는 Qiskit 프레임워크를 보완하는 추가 기능 및 특수 도구를 제공한다. IBM은 모듈식 및 확장 가능한 아키텍처로 Qiskit을 설계함으로써, 외부 패키지가 시뮬레이션, 작업 관리 및 오류 완화와 같은 영역에서 쉽게 통합되고 기능을 확장할 수 있도록 했다. 이 생태계는 기본 라이브러리의 범위를 넘어선 작업을 해결함으로써 Qiskit의 유용성을 향상시키며, 사용자가 커뮤니티 중심 솔루션으로 양자 컴퓨팅 워크플로우를 맞춤화할 수 있도록 한다. Qiskit 생태계의 주목할 만한 프로젝트는 다음과 같다:
qBraid SDK (qbraid) – 양자 작업의 전체 수명 주기를 간소화하는 플랫폼에 구애받지 않는 양자 런타임 및 클라우드 관리 프레임워크이다. qBraid 회사에서 개발하고 유지 관리하는 이 도구는 다양한 공급자 간에 양자 컴퓨팅 워크로드를 관리하는 복잡성의 많은 부분을 추상화하여, Qiskit의 개발 도구를 클라우드 배포 기능으로 보완한다.
mthree (mthree) – 매트릭스 프리 측정 완화(M3)를 위한 라이브러리로, 실제 하드웨어에서 큐비트 측정 결과의 정확도를 향상시킨다. 이 IBM Quantum이 개발한 패키지는 측정 프로세스에서 노이즈의 축소된 모델을 구성한 다음, 큰 보정 행렬을 역전시킬 필요 없이 보정된 결과 확률을 계산함으로써 판독 오류를 해결한다.
이러한 생태계 프로젝트를 통해 Qiskit 사용자는 핵심 SDK에 포함되지 않은 확장된 기능에 접근하여 연구 및 애플리케이션 개발을 향상시킬 수 있다. 예를 들어, Aer는 시뮬레이션에서 알고리즘의 철저한 테스트를 가능하게 하고, qBraid는 다양한 클라우드 하드웨어에서 Qiskit 프로그램을 실행하는 것을 용이하게 하며, mthree는 더 정확한 실험 데이터를 얻는 데 도움을 준다. Qiskit 생태계 프로젝트의 포괄적인 카탈로그는 Qiskit Ecosystem 페이지에서 확인할 수 있으며, 사용자는 Qiskit과 함께 작동하는 다른 도구 및 라이브러리를 발견하고 심지어 자신의 것을 기여할 수도 있다. 이러한 모든 생태계 노력은 Qiskit을 중심으로 하는 더 다재다능하고 견고한 양자 컴퓨팅 툴킷에 기여한다.
Acme (문서 편집기)
Acme는 벨 연구소 플랜 9 운영체제의 문서 편집기이자 그래픽 셸이며, 롭 파이크가 설계하고 구현했다. Sam 명령어를 사용할 수 있다. 인터페이스 디자인은 오베론의 영향을 받았다. 9P 서버로 작동한다는 점에서 다른 편집 환경과 다르다. 사용자 인터페이스의 독특한 요소는 마우스 코드이다.
Acme (문서 편집기) 개요
Acme는 메일 및 뉴스 리더 또는 wikifs의 프론트엔드로 사용할 수 있다. 이러한 응용 프로그램은 파일 시스템 인터페이스를 통해 acme와 상호 작용하는 외부 구성 요소로 인해 가능하다. 롭 파이크는 "Acme"라는 이름이 타임스 스퀘어에서 영화를 보던 중 펜 & 텔러의 펜 질렛이 "모든 것을" 수행하는 문서 편집기에 적합한 이름을 물었을 때 그에게 제안했다고 언급했다.
Acme (문서 편집기) 포트
인페르노 운영체제용 포트는 인페르노의 기본 배포판에 포함되어 있다. 인페르노는 다른 운영체제 위에서 응용 프로그램으로 실행될 수 있으므로 인페르노의 acme 포트는 마이크로소프트 윈도우 및 리눅스를 포함한 대부분의 운영체제에서 사용할 수 있다. acme: stand alone complex라는 프로젝트는 acme를 호스트 운영체제에서 독립 실행형 응용 프로그램으로 실행하도록 의도하고 있다.
유닉스 계열 운영체제용 acme의 작동 포트는 Plan 9 from User Space에 포함되어 있으며, 이는 플랜 9에서 포팅된 다양한 프로그램 모음이다. 현재 다음을 포함한 다양한 운영체제에서 테스트되었다. 리눅스, Mac OS X, FreeBSD, NetBSD, OpenBSD, 솔라리스 및 썬OS.
분자 질의 언어
분자 질의 언어(Molecular Query Language, MQL)는 화학정보학에서 더 복잡하고 문제별 검색 방법을 허용하도록 설계되었다. 널리 사용되는 SMARTS 질의와 달리 MQL은 원자와 결합의 공간적 및 물리화학적 특성을 지정할 수 있다. 또한, "축소된 특성" 그래프로도 알려진 비원자 기반 그래프를 처리하도록 쉽게 확장될 수 있다.
이 질의 언어는 확장 백쿠스-나우어 형식(자바CC)을 기반으로 한다.
분자 질의 언어 내용주 및 각주
E. Proschak, J. K. Wegner, A. Schüller, G. Schneider, U. Fechner, Molecular Query Language (MQL)-A Context-Free Grammar for Substructure Matching, J. Chem. Inf. Model., 2007, 47, 295-301. doi:10.1021/ci600305h
기능 요구사항
소프트웨어 공학과 시스템 공학에서 기능 요구사항(Functional requirement)은 시스템 또는 그 구성 요소의 기능을 정의하며, 이 기능은 입력과 출력 사이의 동작에 대한 요약(또는 명세나 진술)으로 기술된다.
기능 요구사항에는 계산, 기술적 세부사항, 데이터 조작 및 처리, 그리고 시스템이 수행해야 할 기타 특정 기능이 포함될 수 있다. 동작 요구사항은 시스템이 기능 요구사항을 사용하는 모든 경우를 설명하며, 이는 유스 케이스에 기록된다. 기능 요구사항은 "품질 요구사항"으로도 알려진 비기능 요구사항에 의해 뒷받침되며, 이는 설계 또는 구현에 제약(예: 성능 요구사항, 보안 또는 신뢰성)을 가한다. 일반적으로 기능 요구사항은 "시스템은 <요구사항>을 수행해야 한다"는 형식으로 표현되는 반면, 비기능 요구사항은 "시스템은 <요구사항>이 되어야 한다"는 형식을 취한다. 기능 요구사항 구현 계획은 시스템 설계에 상세히 기술되고, 비기능 요구사항은 시스템 아키텍처에 상세히 기술된다.
기능 요구사항
요구공학에서 정의된 바와 같이, 기능 요구사항은 시스템의 특정 결과를 명시한다. 이는 비용 및 신뢰성과 같은 전반적인 특성을 명시하는 비기능 요구사항과 대조된다. 기능 요구사항은 시스템의 애플리케이션 아키텍처를 주도하는 반면, 비기능 요구사항은 시스템의 기술 아키텍처를 주도한다.
어떤 경우에는 요구사항 분석가가 기능 요구사항 집합을 수집하고 검증한 후 유스 케이스를 생성한다. 기능 요구사항 수집 및 변경의 계층은 광범위하게 말하면 다음과 같다: 사용자/이해관계자 요청 → 분석 → 유스 케이스 → 통합. 이해관계자는 요청을 하고, 시스템 엔지니어는 요구사항의 측면을 논의하고 관찰하며 이해하려고 시도하고, 유스 케이스, 개체 관계 다이어그램 및 기타 모델이 요구사항을 검증하기 위해 구축되며, 문서화되고 승인되면 요구사항이 구현/통합된다. 각 유스 케이스는 하나 이상의 기능 요구사항을 통해 동작 시나리오를 보여준다. 그러나 분석가는 종종 유스 케이스 집합을 도출하는 것으로 시작하며, 이를 통해 분석가는 사용자가 각 유스 케이스를 수행할 수 있도록 구현해야 하는 기능 요구사항을 도출할 수 있다.
기능 요구사항 과정
일반적인 기능 요구사항은 고유한 이름과 번호, 간략한 요약 및 근거를 포함한다. 이 정보는 독자가 요구사항이 왜 필요한지 이해하고 시스템 개발 과정에서 요구사항을 추적하는 데 도움이 된다. 요구사항의 핵심은 명확하고 읽기 쉬워야 하는 필수 동작에 대한 설명이다. 설명된 동작은 조직 또는 비즈니스 규칙에서 비롯될 수도 있고, 사용자, 이해관계자 및 조직 내 다른 전문가와의 도출 세션을 통해 발견될 수도 있다. 많은 요구사항이 유스 케이스 개발 중에 발견될 수 있다. 이 경우 요구사항 분석가는 이름과 요약을 포함하는 임시 요구사항을 생성하고, 나중에 더 잘 알려지면 채워질 세부 사항을 연구할 수 있다.
느슨한 결합
컴퓨팅 및 시스템 설계에서 느슨하게 결합된(loosely coupled) 시스템은 다음 중 하나이다.
느슨한 결합 장점과 단점
느슨하게 결합된 시스템의 구성 요소는 동일한 서비스를 제공하는 대체 구현으로 교체될 수 있다. 느슨하게 결합된 시스템의 구성 요소는 동일한 플랫폼, 언어, 운영체제, 또는 빌드 환경에 덜 구속된다.
시스템이 시간적으로 분리되면 트랜잭션 무결성을 함께 제공하기 어렵고, 추가적인 조정 프로토콜이 필요하다. 다른 시스템 간의 데이터 복제는 느슨한 결합(가용성 측면)을 제공하지만, 일관성 유지에 문제를 야기한다.
느슨한 결합 통합에서
더 넓은 분산 시스템 설계에서 느슨한 결합은 트랜잭션, 메시지 지향 미들웨어가 제공하는 큐, 그리고 상호 운용성 표준을 사용하여 달성된다.
느슨한 결합을 촉진하는 네 가지 유형의 자율성은 참조 자율성, 시간 자율성, 형식 자율성 및 플랫폼 자율성이다.
느슨한 결합은 서비스 지향 아키텍처의 아키텍처 원칙이자 설계 목표이다. 느슨한 결합의 11가지 형태와 그에 대응하는 강한 결합은 다음과 같다:
엔터프라이즈 서비스 버스(ESB) 미들웨어는 여러 차원에서 느슨한 결합을 달성하기 위해 발명되었다. 그러나 과도하게 설계되거나 잘못 배치된 ESB는 오히려 원치 않는 강한 결합과 중앙 집중형 아키텍처 핫스팟을 만들어낼 수도 있다.
이벤트 기반 아키텍처도 느슨한 결합을 촉진하는 것을 목표로 한다.
느슨한 결합 통합에서
인터페이스의 느슨한 결합은 표준 형식(예: XML 또는 JSON)으로 데이터를 게시함으로써 향상될 수 있다.
프로그램 구성 요소 간의 느슨한 결합은 매개변수에 표준 데이터 유형을 사용함으로써 향상될 수 있다. 사용자 지정 데이터 유형이나 객체를 전달하려면 두 구성 요소가 사용자 지정 데이터 정의를 알아야 한다.
서비스의 느슨한 결합은 서비스에 전달되는 정보를 핵심 데이터로 줄임으로써 향상될 수 있다. 예를 들어, 편지를 보내는 서비스는 고객 식별자만 전달하고 고객 주소는 서비스 내에서 얻을 때 가장 재사용성이 높다. 이렇게 하면 서비스가 특정 순서(예: GetCustomerAddress, SendLetter)로 호출될 필요가 없어 서비스가 분리된다.
느슨한 결합 프로그래밍에서
결합은 한 구성 요소가 다른 구성 요소에 대해 직접적으로 아는 정도를 나타낸다. 컴퓨팅에서 느슨한 결합은 비캡슐화와 대비되는 캡슐화로 해석된다.
강한 결합의 예는 의존적인 클래스가 필요한 동작을 제공하는 구체적인 클래스에 직접 포인터를 포함하는 경우이다. 이 의존성은 의존적인 클래스를 변경하지 않고는 대체되거나 "서명"이 변경될 수 없다. 느슨한 결합은 의존적인 클래스가 인터페이스에만 포인터를 포함하고, 이 인터페이스는 하나 또는 여러 구체적인 클래스에 의해 구현될 수 있을 때 발생한다. 이를 의존성 역전이라고 한다. 의존적인 클래스의 의존성은 인터페이스에 의해 지정된 "계약"에 있으며, 이는 구현 클래스가 제공해야 하는 메서드 및 속성의 정의된 목록이다. 따라서 인터페이스를 구현하는 모든 클래스는 해당 클래스를 변경할 필요 없이 의존적인 클래스의 의존성을 충족시킬 수 있다. 이는 소프트웨어 설계에서 확장성을 허용한다. 인터페이스를 구현하는 새로운 클래스는 종속 클래스를 변경할 필요 없이 일부 또는 모든 상황에서 현재 종속성을 대체하도록 작성될 수 있다. 새로운 클래스와 이전 클래스는 자유롭게 교환될 수 있다. 강한 결합은 이를 허용하지 않는다.
느슨한 결합 프로그래밍에서
다음은 의존적 클래스와 필요한 동작을 제공하는 구체적 클래스 집합 간의 느슨한 결합을 보여주는 UML 다이어그램이다.
비교를 위해, 이 다이어그램은 의존적 클래스와 제공자 간의 강한 결합을 가진 대체 설계를 보여준다.
함수를 핵심 모듈로 삼거나(참고: 함수형 프로그래밍) 함수를 객체로 삼는 개념을 가진 컴퓨터 프로그래밍 언어는 느슨하게 결합된 프로그래밍의 훌륭한 예시를 제공한다. 함수형 언어는 Continuation, 클로저 또는 생성자 패턴을 가지고 있다. 클로저 및 리스프를 함수형 프로그래밍 언어의 예시로 보라. 스몰토크 및 루비와 같은 객체 지향 언어는 코드 블록을 가지고 있으며, 에펠은 에이전트를 가지고 있다. 기본 아이디어는 다른 어떤 둘러싸는 개념(예: 객체 함수를 둘러싸는 객체에 대한 직접적인 지식으로부터 분리)과 독립적으로 함수를 객체화(객체로 캡슐화)하는 것이다. 함수를 객체로 이해하는 더 깊은 통찰력을 얻으려면 일급 함수를 보라. 이것은 일급 함수의 한 형태이다.
느슨한 결합 프로그래밍에서
예를 들어, 객체 지향 언어에서 객체의 함수가 객체로 참조될 때(둘러싸는 호스트 객체에 대한 지식으로부터 자유롭게) 새로운 함수 객체는 전달, 저장 및 나중에 호출될 수 있다. 이 함수 객체를 받은 객체는 둘러싸는 호스트 객체에 대한 직접적인 지식 없이도 자신에게 편리한 시간에 포함된 함수를 안전하게 실행(호출)할 수 있다. 이러한 방식으로 프로그램은 함수 객체의 체인 또는 그룹을 실행할 수 있으며, 둘러싸는 호스트 객체에 대한 직접적인 참조로부터 안전하게 분리될 수 있다.
전화번호는 훌륭한 비유이며 이러한 분리 정도를 쉽게 설명할 수 있다.
예를 들어, 어떤 개체가 다른 개체에게 특정 작업을 수행하도록 전화번호를 제공한다. 전화가 걸려오면 발신 개체는 효과적으로 "이 작업을 저를 위해 해주세요."라고 말하는 것이다. 분리 또는 느슨한 결합은 즉시 명확해진다. 전화번호를 받는 개체는 전화번호가 어디서 왔는지(예: 번호 제공자에 대한 참조) 알지 못할 수 있다. 반대로, 발신자는 자신이 누구에게 전화를 거는지, 그들이 어디에 있는지, 수신자가 내부적으로 어떻게 작동하는지에 대한 특정 지식으로부터 분리된다.
느슨한 결합 프로그래밍에서
예를 한 단계 더 나아가면, 발신자는 수신자에게 "이 작업을 저를 위해 해주세요. 끝나면 이 번호로 다시 전화해주세요."라고 말할 수 있다. 수신자에게 제공되는 '번호'를 "콜백"이라고 한다. 다시 말하지만, 이 함수 객체의 느슨한 결합 또는 분리된 특성은 분명하다. 콜백의 수신자는 무엇 또는 누구에게 전화가 걸리는지 알지 못한다. 단순히 전화를 걸 수 있다는 것만 알고 언제 전화할지는 스스로 결정한다. 실제로는 콜백이 처음에 콜백을 제공한 사람에게 조차 아닐 수도 있다. 이러한 간접성은 함수 객체를 느슨하게 결합된 프로그램을 달성하기 위한 훌륭한 기술로 만드는 이유이다.
느슨하게 결합된 구성 요소 간의 통신은 언급된 비동기 통신 방식 또는 동기 메시지 전달 방식과 같은 다양한 메커니즘을 기반으로 할 수 있다.
느슨한 결합의 정도는 송신 또는 수신 시스템에서 발생할 수 있는 데이터 요소 변경 횟수를 기록하고 컴퓨터가 여전히 올바르게 통신할 수 있는지 판단함으로써 측정할 수 있다. 이러한 변경에는 다음과 같은 항목이 포함된다.
뷰 모델
시스템 공학, 소프트웨어 공학, 기업공학에서 뷰 모델(view model) 또는 뷰포인트 프레임워크(viewpoints framework)는 시스템 아키텍처, 소프트웨어 구조 또는 엔터프라이즈 아키텍처 구축에 사용될 일관된 뷰 집합을 정의하는 프레임워크이다. 뷰는 관련 문제 집합의 관점에서 전체 시스템을 나타낸 것이다.
1990년대 초반부터 시스템 아키텍처를 설명하고 분석하는 접근 방식을 규정하려는 많은 노력이 있었다. 이러한 노력의 결과는 뷰(또는 뷰포인트) 집합을 정의하는 것이었다. 이러한 것들은 때때로 아키텍처 프레임워크 또는 엔터프라이즈 아키텍처 프레임워크라고도 불리지만, 일반적으로 "뷰 모델"이라고 불린다.
일반적으로 뷰는 특정 시스템에 대한 특정 아키텍처 데이터를 제시하는 작업 산출물이다. 그러나 동일한 용어가 때로는 특정 뷰포인트와 각 구체적인 뷰를 정의하는 해당 지침을 포함하는 뷰 정의를 참조하는 데 사용되기도 한다. 뷰 모델이라는 용어는 뷰 정의와 관련이 있다.