파이썬 for문

파이썬에서 for문은 정해진 횟수만큼 반복하는 구문이다. 여기에 range를 써서 몇 번 돌아갈지를 정한다.
for i in range(10):
이러면 10번 돌아간다.

하지만 생각해보니 for는 이런데 쓰라고 만든게 아니다. in 뒤에 들어갈 수 있는 것은 다양한 리스트들인데, range는 그중 10개의 성분을 가지는 리스트를 만드는 것이다. 이 구문은 파이썬을 C언어처럼 쓰고 싶어하는 사람을 위해서 만들어진 것이다. 하지만 문제가 있다. C언어에서 for는 인덱스를 미리 만들어 놓지 않고 1씩 더해가면서 반복한다. 하지만 파이썬에서 range는 리스트를 미리 만들어서 거기서 하나씩 꺼내오는 방식이기 때문에 메모리를 사용하게 된다. 이게 반복의 수가 적을 때는 별 문제가 없는데, 반복해야 하는 수가 엄청 많아지면 문제가 된다. 예를 들어 10억번이라든가, 100억번이라든가. range에서 100억개의 원소를 가지는 리스트를 만드는 것 자체가 시간과 메모리가 필요한 일이 되는 것이다. 따라서
i=0
while i<10: 이렇게 해 놓고 뒤에다가 i+=1 이라고 써서 반복을 시키는 것이 더 좋다. 반복횟수가 수만번 정도일 때는 별 차이가 없겠지만, for i in range(10)처럼 썼다가 10이 10억이 되면 메모리 문제가 발생할 수도 있다.

에어컨 설치

에어컨 설치 완료. 공구 사는데 7만원, 자재 사는데 3만원 정도 들었다. 10시간 정도 걸려서 설치했다. 에어컨 설치에서 가장 어려운 점은 공구가 없다는 것이었다. 볼트 4개 풀었다 조이고 전선 3가닥 연결하고 밸브 2개 열어주면 되는 일이라 실험실 장비 설치/사용보다 훨씬 쉬운 작업인데 배관용 공구가 없으니 뭐가 없을 때 마다 사러 가고 해야 해서 날짜 수로는 이틀 걸렸다. 냉매만 충분하면 괜찮은데, 냉매가 부족하다면 업자 부르던가 (6만원) 직접 하든가(4만원짜리 게이지 + 14만원짜리 냉매). 직접 하는 경우 14만원짜리 냉매는 20회 정도 충전할 수 있는 거라 앞으로 이사 다니면서 계속 내가 설치, 철거 시공할거면 돈이 절약되는데 크흠……

자유총연맹

한국자유총연맹은 영어로 Korea Freedom Fedoration이라고 한다.
https://www.koreaff.or.kr/

한편 그들은 자유주의와 자유민주주의를 수호하기 위한 활동을 한다고 하더라.
https://namu.wiki/w/%EC%9E%90%EC%9C%A0%EB%AF%BC%EC%A3%BC%EC%A3%BC%EC%9D%98

그런데, 그들이 수호하는 자유주의는 Liberalism과 Liberal democracy이다.

Freedom과 Liberty는 어떻게 다른가?

사전을 보자.
Liberty: https://endic.naver.com/search.nhn?sLn=kr&searchOption=all&query=liberty
“(지배・권위 등으로부터의) 자유”라고 되어 있다.

Freedom: https://endic.naver.com/search.nhn?sLn=kr&searchOption=all&query=freedom
“(권리로서의) 자유”

그들은 이름에는 “권리로서의 자유”를 써 놓고서 지키는 것은 “지배, 권위로부터의 자유”라고 주장하고 있다.

뭐 사실 그들이 뭘 지키든 뭘 주장하든 그렇게 막 중요한 얘기는 아닌데, 이 사람들이 생각하는 자유란 도대체 무엇인지 모르겠어서 몇 자 적어둔다.

지배, 권위로부터의 자유라면 대체로 집회, 시위, 언론, 사상의 자유를 뜻한다. 지배자들과 권력자들은 그런걸 싫어하니까. 권리로서의 자유는 사유재산을 맘대로 사용할 권리, 내 몸을 마음대로 움직일 수 있는 권리, 다른 사람을 때릴 권리 등이 있다. (난독증인 사람을 위해 덧붙이자면, 이 문장은 그런 권리가 “누구에게나 있다”고 주장하는 것이 아니라, “예를 들어” 그런 것들이 있다는 뜻이다.)

예를 들어, 윗사람이나 어른이 담배를 피지 말라고 할 때 내가 맘대로 담배를 피우는 것은 Liberty이다. 그런데 길거리에서 내가 담배를 피우는 것은 Freedom이다.

아마 자유총연맹이 지키는 자유주의는 Freeism이나 Freedomism이고 자유민주주의는 Free democracy인 것 같다.

천문학, 천체물리학….?

누군가 이메일로 조언을 구해왔다.

안녕하세요!:D

우선 바쁜 시간 내어 상담을 허락해 주셔서 감사합니다.

앞서 말했듯이, 저는 공과대 졸업을 앞두고 있습니다. 나이는 24살이구요.

저는 약 6개월 전부터 대학원 진학을 고려 중에 있습니다. 여기서 가장 큰 문제는 제가 공부했던 전공과 다른 분야로의 진학을 희망한다는 것입니다.

저는 최종적으로 천체물리학 분야로 진출하기를 희망하고 있습니다. 하지만 부족하고 확신할 수 없는 정보들에 물리 전공 석사를 해야 할 지, 천문학 전공으로 해야 할 지조차 제대로 갈피를 못 잡고 있습니다.

그러던 중 남기환 님의 블로그를 들리게 되었고, 대학원 진학을 고민하는 사람들에게 상담을 해주신 글들을 보면서 현실적이고 유익한 도움을 많이 받았습니다.

저에게도 여러 가지 궁금증을 해결해 주실 기회를 주심에 감사드립니다.

1. 천체물리를 목표로 물리학 석사를 하는 것이 올바른 선택인가요?

인터넷에서 여러 가지 정보를 찾던 중 천체 물리학 쪽으로 가려면 대학원을 천문학으로 가야 한다, 물리학으로 가야 한다 의견이 분분했습니다. 이에 대한 의견을 여쭤보고 싶습니다.

2. 어떤 공부가 필요한가요?

일단은 물리 전공으로 대학원 진학을 염두에 두고 있습니다. 현재 뭐라도 해야겠다는 생각에 일반 물리학과 영어공부를 하고 있구요. 일반 물리학의 경우 대학에서 수업을 들었습니다만, 누가 물어보면 잘 설명할 수 있는 수준은 못 됩니다. 다시 제대로 공부하는 것이 나을까요? 아니면 다른 공부를 해야 할까요?

3. 해주고 싶으신 충고나 조언 있으신가요?

궁금한 게 정말 많았는데 막상 적고 나니 질문들이 바보 같고 간단하네요. 제가 봐도 지금 제 모습이 어떻게 해야 할 지 모르고 벌벌 떠는 한심한 예비졸업생 같은데, 하물며 기환 님인들 어떻겠습니까.

그래도 저에게 지금 순간은 지나가 버리면 다신 이루지 못할 꿈 같습니다. 많이 늦었지만, 도전도 안 해보고 포기하면 후회할 거 같아요.

그런 의미에서 다 잘될 거라는 둥 의미 없는 응원 대신 현실적이고 뼈 아픈 조언을 남기신 기환 님의 글들은 오히려 제게 정신 차리고 의욕을 불타오르게 해 준 계기가 되었습니다.

다시 한번 감사드리며, 글솜씨가 없어 읽는 동안 힘드셨을 텐데 죄송합니다.

연락 기다리고 있겠습니다.

1.
가장 중요한건 본인이 하고 싶은게 천체물리학인지 천문학인지 정하는 거예요. 공부하다가 나중에 바뀌는건 뭐 어쩔 수 없는데, 일단 대학원에 진학하기로 마음먹은 지금 이 시점에서 하고싶은게 도대체 어느쪽인지 분명히 구분해야 합니다. 천체물리학은 “물리학”에 방점이 찍혀 있고, 물리학 연구를 하는데 그 대상이 천체인 겁니다. 물리학은 고전역학, 전자기학, 양자역학, 통계역학 같은 몇가지 도구들이 있고, 이것들을 천체에 적용해서 천체의 특성을 알아내게 되죠. 천문학은 우주를 연구합니다. 우주를 관찰하는 것도 있고, 관찰 결과를 해석하기도 하고, 분광분석을 하기도 하고, 시뮬레이션을 하기도 하죠. 여기에 물리학은 우주를 해석하는데 사용하는 도구가 되죠. 물론 모든 이론이 하나로 통한다고 하듯이, 이것도 궁극의 깨달음의 경지에 다다르면 천체물리를 하든 천문학을 하든 거기서 거기겠지만, 일단 입문하는 단계에서 어느 분야로 시작하느냐 정하는 것은 매우 중요하죠. 동네 뒷산도 못 올라가는데 굳이 에베레스트를 절벽부터 공략할 필요는 없잖아요.

“천체물리”를 목표로 “물리학 석사”를 하는 것은 올바른 선택이 맞습니다. 문제는 본인이 하고 싶은게 “천체물리학”인가 “천문학”인가 잘 고르는 거예요. 그리고 우주와 천체를 연구할 때에도 분야가 많습니다. 행성, 소행성, 위성, 항성, 은하, 퀘이사, 초신성, 중성자별, 블랙홀, 그리고 우주 전체 등등. 전반적으로 학습은 하겠지만, 연구는 그 중 하나를 정해서 깊이있게 파게 되고요.

하고싶은게 도대체 뭔지 정하세요. 음, 대학원 가고 나서 바뀔 수도 있는데, 가기 전에 주제가 분명하지 않으면 대체로 가고 나서 후회해요.관심있는 주제나 연구 분야가 연구하다가 바뀌는 건 상관 없는데, 일단 대학원에 가기 전에는 분명히 정하고 가야 합니다. 물론 대충 대학원 가서 대충 연구분야 정하고 대충 연구하다가 대충 논문쓰고 대충 졸업해서 대충 취업하다가 정신을 차려보니 유명 연구소의 소장이 되어 있었다 뭐 그런 신나는 스토리의 주인공이 되지 말라는 법은 없지만 그게 본인에게 일어날 일이라고 확신하면 안되는 거니까요.

2.
공대라고 하셨는데 기계과, 전자과, 화공과라면 각각 고전역학, 전자기학, 열/통계역학은 좀 아실 것 같네요. 컴공이라면 컴퓨터 시뮬레이션 하는데 조금 유리할 수 있을 거고요. 그런데 일반물리학 정도에서 남에게 설명할 수 없을 수준이면 상위권 대학은 면접에서 떨어질 수도 있고, 합격한다고 해도 들어가서 수업 따라가기에 벅찰거예요. 이쪽 질문은 일단 앞에서 뭐 전공할지 정한 다음에 생각하죠.

영어공부는 매우 중요합니다. 연구하려면 읽기가 되어야 하고, 논문쓰려면 쓰기가 되어야 하고, 학회가서 발표하려면 말하기와 듣기가 되어야겠죠. 한국에서 하는 학회만 다닐 거 아니라면 영어공부는 열심히 해 두세요. 객관적 지표로 말한다면 토플 IBT로 80점 이상, 100점 정도는 되어야 합니다. 지금 못한다고 연구를 못하는 건 아닌데, 장기적으로는 그렇게 되어야겠죠.

3.
대학원 가면 대략 5년에서 길면 10년정도, 남들보다 돈 못 버는 상태로 살게 됩니다. 그 이후에 박사학위 갖고 취업을 잘 해도 친구들이 10년전에 받던 월급을 그제서야 받을 테니 별로 보람도 없고요. 그때쯤이면 다른 친구는 어딘가의 대기업 중소기업에서 대리, 과장 달고 돈 많이 벌고 있을 거예요. 뭘 해도 본업이 백수가 아닌 이상 대학원생보다는 많이 벌어요. 물론 대학원생의 삶이라는게 그렇다고 굶어 죽을 정도로 가난하지는 않기는 한데, 어쨌든 절대로 넉넉하게는 못 살아요. 대학원에서 공부하는게 그 이상의 가치를 준다고 생각되는 경우에만 도전하세요. 공부와 연구에 미치지 않은 상태에서 대학원에 가게 되면 자기가 한게 얼마나 미친 짓이었는지 알게 될 뿐이에요. 저를 포함해서 많은 후배들이 이런걸 모르고 대학원에 와서 당황하고 힘들어 해서 해주는 얘기예요. 물론 알고 와도 당황스럽고 뭘 예상해도 그거보다 힘들겠지만. 그래도 번지점프 할 때 예상치 못한 순간에 누가 밀어버리는 거랑 결심하고 직접 뛰어내리는 거랑은 좀 다르잖아요.

연구라는건 운과, 노력과, 재능이 모두 뒷받침 되어야 합니다. 음, 그중 뭐 하나가 부족하다고 절대 안되는 건 아니고, 다른걸로 채울 수도 있긴 하죠 노력이 없어도 운이 엄청 좋으면 노벨상 받을 수도 있고, 그 반대도 마찬가지고요. 아무리 노력했어도 그냥 순수하게 운이 없어서 망할 수도 있고요. 아무리 재능과 노력이 있어도 지도교수 잘못 만나서 커리어 꼬이면 그건 그거대로 인생에서 헤쳐 나가야 할 악몽일 뿐이죠. 그러니까, 10년쯤 후에 어떤 결과가 나와도 괜찮다는 달관의 자세로 진학할 필요가 있어요. 상상 가능한 가장 좋은 경우와 가장 나쁜 경우 사이에 있는 수만가지의 결과 중 뭐가 나올지는 아무도 몰라요.

4.
한국에서 대학원을 갈지, 외국 유학을 노릴지도 고려해 보세요. 우리나라에 천문학, 천체물리학 전공이 없는건 아닌데 해외에 비해서는 확실히 지원이나 인프라가 적다고 할 수 있으니까요. 세종대 천문학과 다니는 친구가 있는데, 뭐 그렇게 막 힘들기만 한건 아니긴 한데, 아무튼 그렇다는 거죠.

저한테만 조언을 받지 말고, 가능한 다양한, 많은 사람들에게 조언을 구하고 자료조사를 하세요. 물론 결정은 누구의 것도 아닌 본인이 하고, 그에 따르는 결과도 받아들여야겠죠. 누가 어떻다더라 하는 말 듣고 진로 선택하면 대체로 망해요. 로또라는게 남의 말 듣고 사든 내 맘대로 골라서 사든 어차피 당첨 안 될 텐데 남의 말 듣고 사면 왠지 돈이 아깝잖아요. 인생도 마찬가지예요. 후회는 10년뒤의 자신에게 떠넘기고, 결정을 지금 잘 하면 됩니다. 그때가서 후회하면 뭐 어쩔 겁니까. 자기가 자신을 잘 알면 그때 가서 후회할 때 어떻게 할지도 잘 알겠죠. 대학원 진학 해도 되고 안해도 되는데, 원서 접수는 마감시간이 있으니까 그 전에 결정하기만 하면 됩니다.

퀀텀에너지를 사용한 자동차 연비개선 용품

http://ecodrivercoop.com/sub03/sub03_02

http://24h365.co.kr/bbs/board.php?bo_table=gallery&wr_id=76

http://ekw.co.kr/bbs_detail.php?minihome_id=&bbs_num=19&tb=board_han&b_category=&minihome_id=&pg=1

http://www.cartvnews.com/news/articleView.html?idxno=264822

http://www.cartvnews.com/news/articleView.html?idxno=213201

https://cqc.modoo.at/

http://www.navinside.com/bbs/zboard.php?id=navi_after&no=15550&mobile_mode=on

http://blog.naver.com/PostView.nhn?blogId=burton99&logNo=221219542077

과학을 공부했다면 이런걸 다 테스트 해보고 싶은 것이 인지상정이지. (이런게 진짜 효과가 있는지 없는지는 모릅니다. )

미래

미래에 대한 짧은 생각을 적어본다.

배터리 기술. 배터리는 전기를 공급하는 장치인데, 그 중 한번 연료를 공급하면 외부에서 에너지를 공급하지 않아도 되는 것들이다. 즉, 에너지 저장장치다. 물리적인 한계를 생각해 보면, 모든 종류의 발열반응을 에너지원으로 사용할 수 있고, 마찬가지로 그 역반응은 배터리의 재료로 사용할 수 있다. 리튬 폴리머가 좋은 것 같다. 니켈이나 소듐 기반의 전지도 개발되고 있는 것 같다. 어쨌든. 연료전지의 연료로 뭐든 사용할 수 있을텐데, 사실 수소가 좋겠지만 수소는 저장이 어렵다. 아마 에탄올이나 메탄올 정도에서 타협할 것으로 보인다. 아니면 미래의 언젠가는 생물이 사용하는 ATP를 직접 전원으로 쓸 수 있을지도 모르지.

플라스틱 환원기술. 플라스틱은 환경오염의 주범이다. 하지만 동시에 현대문명의 상징이다. 다양한 종류의 플라스틱이 있고, 대체로 탄소 기반의 중합체이다. 플라스틱의 중합체 연결 고리를 끊어서 원래의 단량체로 만들 수 있으면 환경오염도 막을 수 있고 석유 사용량도 줄일 수 있고 뭐 그 밖에 여러가지가 가능하다. 쉽게 말해서, 플라스틱 재활용은 석유 재활용이다. 다른 화학공학 기법 중, 촉매 기술에서 성과가 나지 않을까 싶다.

인공지능. 특히 강인공지능. 인공지능에 관심이 있는 사람이라면 강인공지능과 약인공지능에 대해 알 수 있을텐데, 나는 강인공지능이 가능하다고 생각하며, 특히 이른 미래에(=내가 살아있을 동안) 실현될 것이라고 믿는다. 컴퓨터 기술의 발전은 지수함수적으로, 지난 10년간 발전한 컴퓨터의 기술은 그 전 100년간 발전한 컴퓨터 기술을 가볍게 압도한다. 물론 기술 발전이란 선행기술이 먼저 나타나고 나서 단계적으로 발전하는 것이므로 지난 10년간의 컴퓨터 발달을 그 이전 세대의 기술 없이 따로 떼어놓고 생각할 수 없다. 그러나, 이제 컴퓨터의 설계 자체에도 컴퓨터가 활용되고 있고, 인간이 경험적으로 알 수 없는, 검토하기 어려운 부분의 최적화에도 컴퓨터가 도움을 주고 있다. 그리고 그 속도는 컴퓨터가 빨라질수록 더욱 빨라진다. 어느 시점에서는 튜링테스트를 확실히 통과할 수 있는 강인공지능이 출현할 것이며, 그것은 4차 산업혁명이 아니라 첫번째 인공지능 혁명이 될 것이다.

뇌-컴퓨터 연결 기술. 또는 생명-기계 융합 기술. 스스로 움직일 수 있는 대다수의 동물은 골격계와 신경계를 갖고 있으며, 여기에는 전기화학적인 에너지가 사용된다. 매트릭스나 공각기동대에서 소개된 것과 같이 뇌를 직접 컴퓨터에 연결하는 기술은 아직 실용화 단계는 아니지만, 그 이전의 기술은 활발하게 연구되고 있다. 꿈을 시각화 하는 기술이라든가, 생각만으로 기계를 움직이는 기술이라든가. 비용의 문제는 있겠지만, 인공지능 이후의 기술 개발을 생각하면 이쪽 방향이 될 것이다.

생명-기계 융합기술이 극한으로 발달하면 생물학적 영생이 가능해진다. 이미 ECMO라는 장비가 있어서, 죽기 직전에 있는 상태의 환자를 어떻게든 살려놓고 있는 것이 가능하다. 물론 ECMO가 만능의 장치는 아니지만, 같은 역할을 하는 기계를 작게 만들고 몸 안에 내장할 수 있도록 한다면 가능한 일이다. 인공심장, 인공신장 같은 장치는 이미 만들어져 있다. 이것 역시 비용과 시간의 문제일 뿐 가능할 것이다. 그리고 앞서 말한 인공지능 기술과, 뇌-컴퓨터 연결 기술, 생물학적 영생이 가능해지면 그 다음은 논리적 영생이 가능해진다. 논리적 영생은 흔한 SF소설에서 많이 쓰이는 설정인, 마인드 업로딩으로 실현된다. 마인드 업로딩은 인간의 생각을 컴퓨터로 복사하는 기술이다.

강인공지능이 개발되면 우주개척이 활발해 질 것이다. 우주개발에 가장 문제가 되는 것은 현재의 자동화, 무인화 시스템으로는 우주에서 나타날 수 있는 다양한 상황에 맞게 적응적으로 대처할 수 없고 이를 대응하려면 인간이 직접 가야 하는데 인간의 수명은 너무 짧아서 멀리 갈 수가 없다. 이 역할을 강인공지능이 대체할 수 있다. HAL9000이 구현되는 것이다. 이 시점 이후부터는 자원 부족이나 에너지 문제는 일단 인류의 관점에서는 해결된다. 태양계 전체에서 자원을 끌어 오면 1만년은 쓸 수 있을 것이고, 1만년 후에는 외부 행성계에 도달할 수 있을테니까. 뭐 그리고 이 예측이 틀려도 그때쯤 되면 나보고 뭐라 할 사람도 없고 나도 없을테니 알게 뭔가. 다만 빈부격차, 불평등, 자원불균형 같은 문제는 훨씬 심화되어서 인류의 99%는 빈민 또는 난민에 가까운 생활을 할 것으로 보인다.

 

논리회로

논리회로라는 어려운 이름에 비해서 하는 일은 매우 단순하다. 논리회로를 구성하는 기본 소자에는 OR, AND, NOT의 세가지가 있고, 여기서 NOR, NAND, XOR의 세가지 파생형태가 나타난다. 이 회로들은 0이나 1에 해당하는 값을 입력받고, 0이나 1에 해당하는 값을 출력한다. 특히 NOT을 제외하면 모두 2개의 값을 받아서 1개의 값을 내놓는 회로들이다.

먼저, 1개의 값을 받아서 1개의 값을 내놓는 회로를 생각해 보자. 들어오는 값에 상관 없이 0이나 1을 내놓는 회로는 그냥 상수함수라고 한다. 이것들은 입력이 변해도 출력이 바뀌지 않으므로 컴퓨터의 작동에 별다른 역할을 하기 어렵다. (아주 없지는 않지만.) 들어오는 값에 따라 출력이 달라지는 함수는 두가지가 가능한데, 하나는 들어오는 값을 그대로 내보내는 것과, 들어오는 값의 0과 1을 바꿔서 내보내는 것이다. 들어오는 값을 그대로 내보내는 것은 항등함수(Identity)라고 부르는데, 어려운 이름이 붙어있지만 하는 역할은 단순히 0이 들어오면 0을 내보내고 1이 들어오면 1을 내보내는 일이다. 그리고 들어오는 값을 바꿔서 내보내는 것을 NOT이라고 부르는데, 이것은 0이 들어오면 1이 나가고 1이 들어오면 0이 나간다.

OR, AND는 2개의 값을 받아서 1개의 값을 내놓는 회로이다. OR은 그 영어 단어가 알려주듯이 “또는”이다. 2개의 값이 모두 0이면 0을 내놓고, 그 외에는 1을 내놓는다. AND는 “그리고”이다. 2개의 값이 모두 1이면 1을 내놓고, 그 외에는 0을 내놓는다. OR은 논리합, AND는 논리곱이라고 부르기도 한다.

NOR, NAND는 OR과 AND에 NOT이 붙은 것이다. 즉, NOR은 2개의 값이 모두 0이면 1을 내놓고, 그 외에는 0을 내놓는다. NAND는 2개의 값이 모두 1이면 0을 내놓고, 그 외에는 1을 내놓는다.

그리고 XOR은 Exclusive OR인데, 2개의 값이 같으면 1을 내놓고, 다르면 0을 내놓는다. XOR에 NOT이 붙은건 없냐고 물으신다면, 그런게 필요하면 그냥 NOT을 붙여서 쓰면 되는 것이 인지상정이다.

여기서, NOR과 NAND의 가장 중요한 특성은, 이 것 중 한 종류만 잘 만들 수 있으면 나머지 다른 소자들을 모두 만들어 낼 수 있다는 것이다. 즉, OR, AND, NOT, NOR, NAND, XOR은 NOR만 갖고 조합해서 만들거나, NAND만 갖고 조합해서 만들어 낼 수 있다. 언론에서 자주 등장하는 NAND플래시 소자가 바로 그것이다.

컴퓨터의 작동 원리

이 글이 목표하는 대상은 컴퓨터에 대해서 아무것도 모르고 뭔가 신기한 기계라고 생각하는 사람들이다.

컴퓨터는 정해진 일을 순서대로 처리하는 기계이다. 컴퓨터가 할 수 있는 일은 사칙연산을 많이 반복하는 것과, 두 수를 비교해서 어느 쪽이 큰가에 따라 처리해야 할 다음 명령어를 정하는 것이다. 여기에 부가적으로 계산해야 할 값을 메모리에서 불러오는 기능과, 계산이 끝나면 그 결과물을 메모리에 저장하는 기능이 있다. 현대의 컴퓨터는 모두 이와 같은 방식으로 작동한다.

컴퓨터는 입력장치, 출력장치, 연산장치, 기억장치, 제어장치로 이루어져 있다. 이것들이 하는 역할은 이름에 써 있는 그대로인데, 실제로 하는 일을 보면 어떤 전기적 신호를 입력 받아서 자신의 역할에 맞게 신호를 처리해서 내보내는 일이다.

입력장치 – 컴퓨터의 외부에서 입력 신호를 받아서 그 신호에 해당하는 전기적 신호를 컴퓨터에 보낸다.

출력장치 – 컴퓨터에서 전기적 신호를 받아서 그에 해당하는 출력을 컴퓨터 외부로 보낸다.

연산장치 – 두 수와 사칙연산 중 뭘 할지를 받아서 그에 해당하는 수 하나를 내보낸다.

기억장치 – 주소 값을 받으면 그 위치에 기록되어 있는 수를 내보낸다.

제어장치 – 입력받은 두 수를 비교해서 어느 쪽이 큰지 내보낸다.

실제 컴퓨터는 위의 다섯 가지 장치가 한 개 씩 쓰인것이 아니라, 매우 많이 사용되고 있으며, 그 구조도 매우 복잡하다. 하지만 저것들을 엮어서 컴퓨터를 만든 것은 맞다. 그리고 저 장치들은 모두 단 하나의 소자를 매우 복잡하게 엮은 것으로 되어 있다. 그것은 곧 NAND 소자이다. NAND 소자는 두개의 신호를 받아서 거기에 맞는 하나의 신호를 내보내는 장치인데, 컴퓨터의 회로를 이루는 가장 작은 기본 단위라고 보면 된다. 즉, NAND소자 1개부터 “컴퓨터”라고 부를 만한 것을 상상할 수 있는 것이다. 이 개념은 우리가 “물질”이라고 부르는 것을 원자로부터 만들어지는 것으로 생각하고, “생물”이라고 부르는 것을 세포로부터 만들어지는 것으로 생각하는 것과 같은 방법이다. 컴퓨터는 실제로 만들어진 재료와 성분이 기술의 발전에 따라 달라질 수는 있어도, 모두 NAND 소자를 엮어서 만든 것이다. 이것을 우리는 논리회로라고 부른다.

오차

실험을 통해서 얻게 되는 측정값은 참값과 다를 수 있다. 같을 확률이 사실상 0이다. 따라서 실험 결과를 보강하기 위해서는 반복실험을 통해 여러 개의 측정값을 얻고, 그로부터 참값을 추정하는 방법이 이용된다. 반복실험을 통해서 얻게 되는 측정값은 측정할 때 마다 다른 값이 나올 수 있는데, 측정할 때 마다 다른 값이 나오는 이유는 여러가지가 있을 수 있다. 즉, 실험적 오차, 이론적 오차, 통계적 오차이다.

실험적 오차는 실험장치를 실제로 만든 것이 설계된 실험 장치와 다를 수 있어서 나타나는 오차이다. 예를 들어, 입자 검출기의 효율이 100%일 것을 전제하고 실험을 설계했을 때, 실제로 입자 검출기는 100% 효율이 나오지 않으므로 그에 따른 오차가 나타난다.

이론적 오차는 측정값을 이론적으로 해석할 때 나타나는 오차이다. 이론적으로 어떤 현상을 설명할 때 얻게 되는 결과는 구체적인 물리적 수치를 집어넣어서 실제 실험값으로 계산을 하게 되는데, 이 때 사용되는 물리적 수치에 오차가 있기 때문에 나타나는 오차이다.

통계적 오차는 우리가 측정을 할 때 모집단의 실제 분포를 알 수 없기 때문에 나타나는 오차이다. 즉, 우리가 구할 수 있는 것은 어디까지나 표본공간의 분포이며, 결국 검증할 수 있는 것은 실험 결과에 대한 내용일 뿐 실제 참값과는 다를 수 있다.

물리학에서 말하는 불확정성 원리는 그 중 통계적 오차들 사이의 관계에 대해 이야기한다. 즉, 실험 오차나 이론 오차가 전혀 없다고 하더라도, 어떤 두 변량의 측정 오차에 대해서는 그 곱을 어떤 값 이하로 줄일 수 없는 경우가 발생한다는 것이다.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑