살아오면서 궁금한 게 너무 많아 평소에 고전 물리학에 관해서는 꽤 찾아봤었고,
나에게 물리학은 절대적인 것이고 불변의 진리였다.
처음 상대성 이론을 접하고 오는 쇼킹함은 " 와 이걸 이렇게 생각하구나 " 였는데,
양자역학을 접하고 나서는 진짜 " 아니 이걸 왜 이렇게 생각하지? " 였을 만큼 이해가 가지 않았다.
공부가 하기 싫어서 갑자기 양자역학에서 해석이라면 " 내 존재가 세상에 중심이 되지 않을까? " 라는
이상한 생각이 문득 들어서 .. 알아보고 싶어졌다.
우리는 양자와 원자들로 이루어져 있다.
맞는 진 모르겠지만 내가 대충 이해한 개념으로는 원자들이 모여서 분자가 되고,
원자는 더 작은 최소 단위인 양자로 이루어져 있다고 이해를 했는데,
근데 과학적, 양자역학적으로 양자와 원자를 구분하는 거 같기도 해서 애매하다.
(이거부터 이해하기 힘든데.. 양자역학을 제대로 이해할 수 있을 리가.. )
.
GPT 형님은 자꾸 말도 바꾸고 개념도 흔들어놔서 모르겠지만 결과적으로 맞다고 한다.
형님 타이틀 내려놓구 싶나 보네 대우해주니까 아주 그냥 ..
내가 알기로는 양자역학에서는 인지의 개념이 매우 매우 중요하다고 했다.
내가 양자 시스템 관찰하기 전까지는 여러 가지 상태를 동시에 중첩해서 가질 수 있다.
이를 "중첩 상태" 라고 하는데 더 쉽게 예를 들어 설명하자면,
박스 안에 고양이가 있는데 50%의 확률로 한 시간 뒤 박스 내에서 독가스가 방출된다고 가정하고,
(자세하게 가정해야 하지만 다 적기 귀찮다. 그냥 대충 가정하자.)
우리는 외부에서는 어떠한 조건으로도 독가스가 방출된 지도 모르고
박스를 관찰하거나 고양이의 현재 상태를 알 수 있는 방법이 없다면 그 고양이는 우리가 박스를 열어 확인하기 전까진
죽거나 살았거나를 중첩해서 가지고 있다고 한다.
무슨 소린가 싶지 ? 다 똑같은 마음이다.
그 이게 유명한 슈뢰딩거의 고양이이다.
더 TMI 하자면 대표적인 고전 물리학파인 아인슈타인이 이걸 반박하기 위해 여러 실험을 했는데, 역설적이게도
그런 실험들이 오히려 더 양자역학 이론에 힘을 실어주게 되었다.
코펜하겐 해석이라구 찾아보면 재밌움..
마무리하자면
"중첩 상태"인 고양이를 관찰하는 순간 ! 고양이가 죽었는지 살았는지 혹은 (뭐 반만 죽었거나..) 등의 무작위의 상태로 결정이 된다는 것인데 이것을 "인지 붕괴" 라고 한다.
양자역학을 이렇게 보기만 하면 말도 안 되고, 뭐야! 할 수 있지만
이중 슬릿 실험 등을 보면 이해는 못해도 천재들이 그냥 이렇다 하면 신기해..
여튼 이 결과로 나는 제일 궁금한 게 왜 보면 다들 어릴 때 세상이 내 위주로 돌아간다고 생각한 적 있지 않나 ?
저기 새들은 내가 여기서 산책을 하고 있을 때 보여주기 위해 존재하고,
저기 나무가 있는 이유도 내가 그 길을 지나다닐 때 그저 날 위한 풍경의 일부분이라고..
즉 "모든 세상은 나를 위주로 돌아가고 나 때문에 존재한다!"라고 생각한 적 있을 것이다.
(생각해 보면 나만 이런 이상한 사람인가?? 싶기도 하다.)
그렇다고 따지면 우리는 원자보다 작은 단위인 양자로 이루어져 있다. 우리도 양자역학을 받는다고 치면
내가 가정한 "모든 세상은 나를 위주로 돌아가고 나 때문에 존재한다 !" 가 맞는 말이라고도 할 수 있지 않을까 ?
결국 초딩의 내가 옳았던 거였다!
농담이구 내가 생각하는 양자역학은 도저히 말이 안 되기 때문에 다른 차원에서 더 높은 고차원에서의 증명이 있어야만
이해할 수 있을 거 같다.
분명 양자역학의 이론이 증명이 된 부분들이 있으니, 학자들이 받아 드린 거잖아?
하지만 우리 차원에서는 아직 보거나, 제대로 된 예를 들 수 없는 이유는 우리 차원의 단계에선 이해하지 못할 것 같다.
내가 한번 증명해서 노벨상 타볼까? ...
이상한 소리가 일단 길었고 다시 자바 공부로 가자면
알고리즘 공부를 하는데, 문제는 이렇다.
즉 문자열 안에서 'a' 로 시작해서 5글자 후 'b' 로 끝나는 문자열이 포함되어 있거나,
문자열 안에서 'b' 로 시작해서 5글자 후 'b' 로 끝나는 문자열이 포함되어 있으면 true를 반환해야 한다.
처음에 보고 딱 드는 생각이 chatAt()이나 indexOf()를 쓰면 간단하게 해결될 거 같았고,
일단 먼저 대소문자를 구분하지 않기 위해 쉽게 모두 대문자로 바꿔 주었다..
조금만 더 생각해 보면 대문자로 만들지 않고 그 사이에서도 규칙을 찾을만할 거 같았는데 그러면 복잡해지구,,
어려워질까 봐ㅠ
그리고 조건문을 돌면서 indexOf() 조건식을 만족하면 true 반환하는 형식으로 코드를 짰다.
그 결과 대부분의 문자열들은 통과했지만,
한 문자열에서 'a' 로 시작하고 'b' 로 끝나는 예를 'HK9J6YjrAcMbq8qKrbS3Ea PRT' 이런 문자열의 경우
먼저 나온 'AcMbq8qKrb' 이 문자열이 통과하지 못하자 'bS3Ea' 뒤에 문자열이 조건식에서 만족해도
false 값이 반환되었다.
혹시 몰라 chatAt()을 써보니 간단하게 해결되었다..
이유가 궁금해서 찾아봤는데 indexOf()는 0부터 시작해서 값이 들어가 있는 index 값을 반환하기 때문에
그런 거 같았다.
조금만 더 깊게 생각해 보면 lastIndexOf()도 있으니까 당연히 0부터 시작해서 나온 값에서 바로 멈추는 게 맞는 건데..
생각이 짧았네 ㅠ
만약 indexOf()를 쓸 거면 조건문을 활용해 else의 조건을 더 추가해서 나눠주거나 for문을 돌면서 더 추가해도 될 거 같았다.
나는 멍청하지만 이런 걸 알아 가는 게 너무 좋다.
솔직히 이거보다 양자역학이 훨씬 재밌었다.
'java' 카테고리의 다른 글
증감 연산자 (0) | 2024.01.23 |
---|---|
String이란? (0) | 2023.10.31 |
내맘대로 디버깅(Debug) (0) | 2023.05.17 |
몰래 온 손님 toString() (2) | 2023.05.16 |
동일 Package에서 같은 이름의 Class 정의 (1) | 2023.05.15 |