CS

    [Network - 이동통신] CH3 Mobile Radio Propagation

    [Network - 이동통신] CH3 Mobile Radio Propagation Speed, Wavelength, Frequency Light speed(전파의 속도) = Wavelength(파장) X Frequency(주파수) 로 전파의 속도를 나타낼 수 있는데 이 경우 wave의 종류에 따라 wavelength와 frequency가 달라진다. (주파수와 파장은 반비례 관계다.) Types of Waves 전파의 유형에는 3가지가 있다. 위의 이미지에서 알 수 있듯이 Sky wave, Space wave, Ground wave다. 전파의 특성과 연결되는 층은 Ionosphere(이온층)이다. 그 기준으로 wave를 두 종류로 분류할 수 있다. Sky wave는 Ionosphere에서 반사되는 wave..

    [Network - 이동통신] CH1 Introduction

    [Network - 이동통신] CH1 Introduction 이동 통신이란? 말 그대로 이동하면서 통신하는 것을 말한다. 이동 통신은 기본 단위인 Cell이 있는데 단말기가 이동할 때마다 Cell이 바뀐다. 1세대때는 아날로그 방식을 사용하고 북미 방식이 대표적이었다. 2세대때는 디지털 방식으로 유럽 방식이 대표적이었다. 3세대에는 품질이 올라가고 Multimedia가 지원되었고 IMT-2000이라는 표준을 사용하며 CDMA라는 대표 기술을 사용하였다. 3세대의 경우 초기에는 정지 상태에서 2Mbps의 속도를 낼만큼 상당히 느렸다. 그 후 LTE로 대표되는 4세대에선 OFDM을 대표 기술로 사용하고 최근에 나온 5G, 즉 5세대에는 mmWave를 사용한다. 기지국(Base Station, BS)은 cel..

    [Deep Learning] Attention 메커니즘

    [Deep Learning] Attention 메커니즘 Attention Mechanism 이란? 기존의 RNN, 즉 recurrent model에서는 문장의 순차적 특성을 유지한다. 하지만, 두 정보 사이의 거리가 멀 때 해당 정보를 이용하지 못하는 문제가 발생한다. 이 문제는 Long-term dependency problem라고 한다. 다시말해 recurrent model은 학습 시 t번째 hidden state를 얻기 위해 t-1번째 hidden state가 필요하다(=과거 정보를 이용한다.) 즉, 순서대로 계산되어야 하기 때문에 병렬 처리가 불가능하고 속도라 느리다(Parallelization). 이를 해결하기 위한 방법인 Attention이란, 모델이 중요한 부분에 집중(attention)하게..

    [BaekJoon] 백준 13549번 숨바꼭질 3

    [BaekJoon] 백준 13549번 숨바꼭질 3 문제: https://www.acmicpc.net/problem/13549 내코드 - 기존의 bfs랑 약간 다른 문제 - 그렇게 쉽지도 어렵지도 않은 문제 - 전에 풀었던 [BaekJoon] 백준 1697번 숨바꼭질 문제와 내용은 비슷하지만 priority queue를 이용해서 순간이동 하는 경우를 따로 처리해줘야하는 점이 달랐다. - 순간이동하는 경우 시간이 소요되지 않기 때문에 고려해서 priority queue를 사용해주면 된다. #include #include #include #define MAXNUM 100001 using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(..

    [BaekJoon] 백준 6593번 상범 빌딩

    [BaekJoon] 백준 6593번 상범 빌딩 문제: https://www.acmicpc.net/problem/6593 내코드 - 간단한 bfs 문제 - 다른 점은 3차원 배열을 이용한다는 것. - x, y, z 위치만 헷갈리지 말고 맞춰주자. #include #include #include #define MAXNUM 30 using namespace std; int dx[] = { 0, 0, 1, -1, 0, 0 }; int dy[] = { 1, -1, 0, 0, 0, 0 }; int dz[] = { 0, 0, 0, 0, 1, -1 }; int main(void) { ios::sync_with_stdio(false); cin.tie(0); int l, r, c; cin >> l >> r >> c; ch..

    [BaekJoon] 백준 5014 스타트링크

    [BaekJoon] 백준 5014번 스타트링크 문제: https://www.acmicpc.net/problem/5014 내코드 - 간단한 bfs문제: queue이용, 너비 우선 - 알고리즘 1. 처음 있는 위치를 큐에 넣는다. 2. 큐에서 pop을 해서 pop한 위치를 기준으로 u를 더해준 값과 d를 빼준 값을 얻는다. 2-1. 여기서 만약 가고 싶은 층과 일치하면 출력후 return 3. u를 더해준 값이 최대 층보다 커지거나 d를 빼준 값이 1보다 작아지면 안되므로 아닌 경우에만 push를 해준다. (이때 visited == false인 것도 확인. 처음 방문할때가 최소값이므로 false일때만 push해준다.) 4. 2-3을 큐가 빌때까지 반복한다. 5. 큐가 비어서 나온경우 원하는 층에 갈수 없는 ..

    [Deep Learning] Recurrent Neural Network(RNN)

    [Deep Learning] Recurrent Neural Network(RNN) Recurrent Neural Network(순환 신경망, RNN) 기존의 Neural Network 알고리즘은 이미지처럼 고정된 크기의 입력을 다루는 데는 좋지만, 가변적인 크기의 데이터를 모델링하기에는 적합하지 않다. 이에 등장한 Neural Network가 RNN이다. RNN은 sequence data를 모델링 하기에 적합하다. 여기서 sequence data란 데이터 집합 내의 객체들이 어떤 순서를 가진 데이터를 의미한다. 예시로는 음성신호, 자연어 문장 등이 있다. RNN은 이러한 sequence data를 처리하기 위해 이전 출력값이 현재 결과에 영향을 미치는 구조로 설계한다. 즉, 이전 데이터에서 새로운 입력이..

    [BaekJoon] 백준 2146번 다리 만들기

    [BaekJoon] 백준 2146번 다리 만들기 문제: https://www.acmicpc.net/problem/2146 내코드 - 어렵게 생각했지만 생각보다 간단했던 문제 - bfs 및 dfs로 풀수 있는 문제다. - 알고리즘 1. 각 섬을 bfs로 돌며 1, 2, ... 라벨링 해준다. 즉, map에서 같은 섬은 같은 번호를 가지고 있다. 2. (섬의 개수 - 1)번 만큼 for문을 돌면서 각각의 섬 번호에 대해 bfs_search()함수를 돌려준다. 3. bfs_search() 함수가 1번 섬에 대해 도는 경우를 생각해보자. 3-1. 1번으로 라벨링된 지점을 모두 queue에 넣어준다. 3-2. queue가 빌때까지 상하좌우의 지점에 대해 만약 바다면 push해주는 것을 반복한다. 3-3. 바다가 ..