분류 전체보기 89

Weigthed Mean

Weighted Mean Wdigted Mean이란 각 요소의 값과 대응되는 가중치를 곱해서 모두 더한 값을, 가중치의 합으로 나누는 것이다.수식으로 표현하면 다음과 같다. ∑i=1n(xi∗wi)∑i=1nwi \frac{\sum{^n_{i=1} ({x_i} * {w_i}}) } {\sum^n_{i=1}w_i} ∑i=1n​wi​∑i=1n​(xi​∗wi​)​A라는 학생의 한 과목 점수 계산을 예시로 들어 이해해보자.A 학생의 한과목 점수의 가중치가 다음과 같이 정해져있고 항목 가중치 중간고사 40 퀴즈 10 출석 10 기말고사 40 획득한 점수가 다음과 같을 때 항목 점수 중간고사 70 퀴즈 90 출석 100 기말고사 75 각 항목당 점수와 가중치를 곱해서 모두 더한뒤 가중치의 합으로 나눈다. (40∗70)..

Math/Statistics 2018.06.10

Mean,Median,Mode

MeanMean이란 Average(평균)이랑 같은 의미로 사용된다.data set이 다음과 같이 주어 졌을 때2,3,4,5,6 모든 값을 더하고, 요소의 개수로 나누면 된다.2 + 3 + 4 + 5 + 6 = 20 요소의 개수 : 5개 Mean = 20/5 = 4 MedianMedian은 Data set을 정렬 했을 때 가운데에 있는 값을 의미한다.data set이 다음과 같이 주어졌을 때5,2,3,4,6 정렬을 한다.2,3,4,5,6 가운데에 위치 한 값이 Median이다2,3, "4", 5,6, Median : 4주어진 데이터 셋이 짝수인 경우, 가운데 2개를 선정한후에 더해서 2로 나눈다.2,"3","4",5 Median = 3 + 4 / 2 = 7 / 2 = 3.5 MdoeMode는 요소의 개수중..

Math/Statistics 2018.06.10

Unreal Engine 4 Network Features

Unreal Engine 4 Network Features언리얼 엔진에서 네트워크 기능 예제를 제공하고 있습니다.Contents Example 프로젝트를 받아서 Map 하위 폴더에 NetworkFeature를 열면 살펴 볼 수 있습니다.오늘은 언리얼 엔진 네트워크 기능에 대해 간단하게 핵심만 정리하려합니다. 액터란?우선, UE4에서 액터란 게임 씬에 배치할수 있는 모든 오브젝트를 말합니다.(유니티를 아시는 분들이라면 게임오브젝트와 비슷한 개념으로 보시면 좋겠습니다.)액터에 게임 매니져 컴포넌트를 붙여서 게임의 시작/종료 조건을 체크하는 매니저로 만들수도 있고,액터에 이동/조작 관련 컴포넌트를 붙여서 플레이어로 만들수도 있습니다.UE4에서는 액터를 상속받아서 특정한 속성을 가진 개념들을 구현하고 있는데요,..

Memory Allocation API

Memory Allocation APIWindows 운영체제에서 메모리 할당 API를 이해하는것은 중요합니다.만약 메모리 관리를 요하는 언어를 사용할 계획이라면(C++ 같이) 아래에 있는 그림이 도움이 될것입니다.Windows 운영체제에 특화된 관점이며이 다이어그램을 보는 방법은 위로 갈수록 고차원적인 구현이 이루어져있습니다.아래 부분부터 살펴봅시다 Kernel-Mode memory manager커널 모드 메모리 매니져는 운영체제에서 메모리를 예약하고 할당하는 기능을 제공합니다.잘 알려진 Memory Mapped file과 Shared memory, copy-on-write 기능들도 지원하며직접적으로 User-Mode code에서 접근이 불가합니다. 그러므로 간단하게만 소개하고 넘어갑니다. Virtual..

프로그래밍/C++ 2018.05.27

Ubuntu에서 OpenGL 시작하기

Ubuntu에서 OpenGL 프로그래밍 환경 구축하기우분투에서 OpenGL을 이용해서 빨간 창을 띄우는 방법을 소개해드리려 합니다. 1. Ubuntu를 설치하세요Ubuntu 홈페이지에서 Ubuntu를 받아 USB에 부트디스크를 만들어 우분투를 설치합니다.검색을 해보면 많은 사람들이 이 방법에 대해 설명을 해놓았으니 참고하시면 좋겠습니다. 2. 종속성 다운로드처음 시작하는 사람들에게 openGL은 interface라는것을 아는것이 중요합니다.opengl에서 제공해주는 여러 라이브러리들(예) glew) 그래픽스 프로그래밍을 편리하도록 함수(인터페이스)를제공해주는 것이지요.이제 이 관련 라이브러리들(종속성)을 다운 받습니다.터미널을 실행시키고 다음 명령어를 실행합니다.sudo apt-get install cm..

프로그래밍 2018.05.22

CUDA Tutorial 2

CUDA Tutorial 2지난 Tutorial 1은 간단한 예제였습니다만, 이번 튜토리얼에서는 더 재미있는 것을 만들어봅시다.오늘 구현할 것은 병렬적 덧셈입니다. Device Code가장 간단한 덧셈 함수 부터 시작해봅시다.__global__ void add(int *a, int *b, int *c) { } 지난 시간에 이야기한 __global__ keyword가 보이시나요?__global__ keyword를 사용하면 add() 라는 함수는 다음과 같은 의미를 지닌다고 했습니다.add()는 Host가 호출하며, GPU에서 실행되는 코드이다 이제 실제 내용을 구현해 보죠.__global__ void add(int *a, int *b, int *c) { *c = *a + *b; }문제가 없어보이죠? 그런데..

프로그래밍 2018.05.12

CUDA Tutorial 1

쿠다 튜토리얼 Cuda C/C++ BasicsCuda란?CUDA ("Compute Unified Device Architecture", 쿠다)는 그래픽 처리 장치(GPU)에서 수행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어를 사용하여 작성할 수 있도록 하는 GPGPU 기술입니다. 이번 튜토리얼에서 우리는 C/C++ 프로그래밍 언어를 가지고 쿠다를 배워 볼 것입니다.사전 지식C/C++에 대한 경험이 있으면 튜토리얼을 이해하는데 도움이 될것입니다.gpu, graphics 에 대한 지식들을 반드시 알아야 하는것은 아닙니다.Heterogeneous Computing두개의 계산기를 사용합니다. 앞으로 쓰일 용어는 다음과 같습니다.Host : CPU와 CPU 메모리를 의미합니다. (o..

프로그래밍 2018.04.15

DirectXMath

DirectX11의 Math LibraryDirectX 9, 10의 경우 d3dx 라이브러리를 링크해서 D3DXVECTOR, D3DXMATRIX와 같이D3DX 객체와 유틸 함수를 편리하게 사용할 수 있었다.DirectX11 부터는 DirectXMath(XNAMath) 라이브러리를 사용해서 프로그래밍을 할 수 있다.이를 사용하는 방법은 간단하다. 그냥 DirectXMath.h 헤더를 include 하면 끝이다. XNA Math Library의 특징XNA Math 라이브러리는 Xbox와 Windows에서 사용할 수 있는 특별한 하드웨어 Register를 사용한다.SIMD(Single Instruction Multiple Data)를 활용해서 여러개의 데이터를 하나의 명령어로 처리 할 수 있다.다음과 같이 벡..