섀넌의 정보이론아날로그 데이터를 전송할 때는 먼저 인코딩 과정을 거쳐 bit 의 형태로 변형한 뒤 변형된 데이터를 채널을 통해 전송한다.이때 채널을 통해 전송되는 데이터에는 잡음이 껴서 데이터가 손상될 수 있다. (패킷 오염)따라서 정보를 수신하는 측에서는 잡음을 제거하고, bit 데이터를 디코딩하여 본래의 아날로그 데이터 형태로 변환하여 데이터를 수신한다. 잡음을 제거하는 방법 중 하나는 비트를 전송할 때 3번씩 전송해서 수신한 3개의 비트중 더 많은 값을 최종 비트로 결정하는 방법이 있다.만약 bit 하나가 뒤바뀔 가능성이 10% 라고 한다면, 3개의 비트중 2개 이상의 비트가 뒤바뀔 가능성은 많이 낮아진다.하지만 결국 0%는 아니기 때문에 이 방법이 완전한 방법은 아니다. 해밍 코드그래서 해밍 코드..
CAP 이론두 저장소가 서로 단절된 상태에서는 Consensus 를 유지하는 동시에 Available 을 유지하는 것이 불가능하다는 이론이다.간단히 말하면, 단절된 상태에서는 가용성과 강한 일관성을 동시에 만족할 수 없다.(P = Partition tolerance, 단절 내성, 분할 허용성, 네트워크 장애등으로 노드간 통신이 끊겨도 시스템이 동작 가능해야 한다는 특성.정확하게는 분산시스템에서 CAP 3가지 특성을 모두 만족하는 것은 불가능하다는 이론이다.) 먼저 두 저장소가 서로 단절된 상태에서 각 저장소에 서로 다른 데이터가 업데이트 되었다고 해보자.각 저장소는 상대방 저장소에 어떤 데이터가 들어있는지 알 수 없으므로 일관성을 유지할 수 없다. 만약 일관성을 유지하고자 한다면, 직접 (수동으로) 일관..
이중화된 데이터베이스 문제어떤 큰 대형은행이 있다.이 은행은 서울에 데이터베이스가 하나 있고, 부산에 데이터베이스가 하나 있다.이 은행의 어떤 계좌에는 잔액이 10,000원 들어있다.그리고 서울에 살고 있는 이 계좌의 주인이 계좌에 1,000원을 입금했다.그런데 부산에서는 모든 계좌에 이자를 지급할 시점이 되어 현재 계좌의 잔고를 기준으로 1%의 이자를 지급하였다.그래서 서울에 있는 데이터베이스의 잔액은 11,000원이 되었고, 부산에 있는 데이터베이스의 잔액은 10,100원이 되었다. 그리고 이 두 데이터베이스는 상대방의 상태를 알지 못한 채서울에 있는 데이터베이스는 부산에 있는 데이터베이스에게 잔액을 1,000원 늘리라고 지시하고부산에 있는 데이터베이스는 서울에 있는 데이터베이스에게 잔액을 1% 늘리..
계좌 이체 문제은행에서 돈을 다른 계좌로 이체할 때, 안전하게 이체하는 것은 어려운 일이다.단순하게 생각하면 내 통장에서 돈을 2000원 감소시키고, 상대방 통장의 돈을 2000원 증가시키면 될 것 같다.하지만 나와 상대방이 둘 다 같은 액수에 대해 동시에 돈을 감소시키고 증가시켜야 한다는 점을 생각하면 쉽지 않다는 것을 알 수 있다. 온라인으로 돈을 보내는 것은 비동기적인 통신이다.나는 돈을 보냈다고 생각해서 2000원을 감소시켰는데, 상대방은 돈을 받았다는 신호를 못 받아서 돈을 증가시키지 않았다면 나의 잔액만 2000원이 줄어들 뿐이다. 돈의 액수에 대한 원만한 '합의' 를 위해서 사이에 중간자를 두는 방법을 생각할 수 있다.우리나라로 치면 금융결제원 같은 중간자를 두는 것이다. 안전성과 라이브니..
두 장군 이야기어느 중세시대, 적의 부대 Z를 아군부대 A와 B가 동시에 공격하려고 한다.이때 이 두 부대가 동시에 적의 부대를 공격해야만 이길 수 있으며, 두 부대 사이에는 적의 부대가 존재하기 때문에, 전령이 메세지를 전달하기 위해서는 적진을 은밀하게 뚫고 지나가야 한다고 해보자. 과연 A와 B는 동시에 Z를 공격하는 것이 가능할까? 우선 A와 B는 언제 동시에 공격할 지 먼저 공격 시간을 정해야 한다.만약 현대같이 그냥 카톡같은 메신저가 있다면 A가 '10시에 공격하자' 라고 해도 B가 빠르게 이를 확인하여 서로 합의에 다다를 수 있을 것이다.하지만 이 상황에서는 사람이 직접 적진을 뚫고 메세지를 전달해야 하기 때문에 전령이 중간에 잡혀서 죽으면 메세지가 유실될 수도 있다. 만약 전령이 메세지를 전..
샘 알트만은 2025년이 agent 의 해가 될 것이라고 했다.즉, AI 가 사람 대신 특정한 일을 수행하는 것이다. (문제 풀이, 영상 제작 등) 그런데 agent 와 관련한 용어로 AI Agent 와 Agentic AI 가 있다.얼핏 비슷해보이지만, 이 둘은 엄밀하게는 다르다. 올해 5월에 이와 관련하여 논문이 하나 나왔다. (https://arxiv.org/pdf/2505.10468)AI Agent 는 하나의 개별 Agent 를 말한다.위 그림으로 보면, 온도를 자동으로 세팅하는 한가지 일만 수행하는 AI 가 AI Agent 이다. 반면, Agentic AI 는 여러 Agent 가 모여서 각자의 역할을 수행하며 하나의 큰 작업을 처리하는 것을 말한다.위 그림으로 보면, 전기 사용량을 체크하는 A..