or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
실전 줄리아 첫걸음 연습문제
알고리즘
015. n번째로 큰 인덱스 ☆
argmax
는 최대값의 위치를,argmin
는 최소값의 위치를 리턴하는 함수다. 이와 유사하게, 부분순서배열A
에서n
번째로 큰 원소의 인덱스를 리턴하는argnth(n, A)
를 작성하라.검증예시
답안예시
002. 가중치 샘플링 ☆
\(\mathbb{R}_{-}^{c} = \left\{ r \in \mathbb{R} : r \ge 0 \right\}\) 이라고 하자. 임의의 \(d\)-튜플 \(\mathbf{I}\) 와 영벡터가 아닌 벡터 \(\mathbf{w} \in \left( \mathbb{R}_{-}^{c} \right)^{d}\) 를 입력받아서 \(\frac{\left( \mathbf{w} \right)_{k}}{\sum_{k} \left( \mathbf{w} \right)_{k}}\) 의 확률로 \(\mathbf{I}\) 의 \(k\)번째 원소 \(\left( \mathbf{I} \right)_{k}\) 을 리턴하는 함수
randw(item, weight)
를 작성하라.검증예시
003. 비복원 샘플링 ☆☆
선수문제: 002. 가중치 샘플링
randw
함수를 사용해서 가중치 샘플링을n
번 반복하되, 비복원 샘플링(sample without replacement)을 할 수 있는 함수randw(item, weight, n; replace = true)
를 재정의하라.replace
키워드의 디폴트는true
로 주어지며,false
일 때 비복원 샘플링이 수행된다.검증예시
답안예시
다음은 샘플 벡터가 제약조건을 만족시키지 못하면 폐기하고 원하는 결과가 나올때까지 반복하는 방법이다.
다음은 샘플된 아이템을 하나씩 금지 시켜가며 가중치를 업데이트하는 방법이다. 이 방법의 결과로 얻는 샘플 벡터의 원소들이 적법한 순서를 가지는지 논하라.
네트워크
012. 길버트 모델 ☆
길버트 모델을 통해 에르되시-레니 그래프와 유사한 결과를 얻을 수 있다. 노드의 수 \(n \in \mathbb{N}\) 과 확률 \(p \in [0,1]\) 을 입력받아 길버트 모델에 따라 랜덤 그래프를 리턴하는 함수
gilbert(n, p)
를 작성하라.013. 유클리드 그래프 ☆☆
노드의 수 \(n \in \mathbb{N}\) 과 컷오프 \(\delta \ge 0\) 를 입력받아 유클리드 그래프을 리턴하는 함수
euclidean(n, δ)
를 작성하라.004. 바라바시-알버트 모델 ☆☆☆
선수문제: 003. 비복원 샘플링
최종 노드의 수 \(N \in \mathbb{N}\) 과 링크 파라미터 \(m \in \mathbb{N}\) 를 입력받아 바라바시-알버트 모델을 통해 스케일 프리 네트워크를 리턴하는 함수
barabasi_albert(N, m = 1)
를 작성하라.검증예시
답안예시
선형대수
007. 라플라스 전개 ☆
정사각행렬 \(A = \left( a_{ij} \right) \in \mathbb{R}^{n \times n}\) 에 대해 \(i\)번째 행과 \(j\)번째 열을 제거한 행렬의 행렬식determinant \(M_{ij}\) 를 소행렬식minor, \(C_{ij} := (-1)^{i+j}M_{ij}\) 를 코팩터cofactor라 한다.
\[ \det A = \sum_{j=1}^{n} a_{ij} C_{ij} \qquad \text{, for fixed row } i \]
위의 공식을 라플라스 전개Laplace expansion라 한다. 정사각행렬을 입력받아 라플라스 전개를 리턴하는 함수
laplace(A)
를 작성하라.검증예시
008. 한켈 매트릭스 ☆
\[ H = \begin{bmatrix} h_{11} & h_{12} & h_{13} & \cdots & h_{1n} \\\ h_{21} & h_{22} & h_{23} & \cdots & h_{2n} \\\ h_{31} & h_{32} & h_{33} & \cdots & h_{3n} \\\ \vdots & \vdots & \vdots & \ddots & \vdots \\\ h_{m1} & h_{m2} & h_{m3} & \cdots & h_{mn} \end{bmatrix} \]
주어진 행렬 \(H = \left( h_{ij} \right) \in \mathbb{R}^{m \times n}\) 가 모든 \(k = 2 , 3 , \cdots , m+n\) 에 대해 다음을 만족하면 한켈 행렬Hankel Matrix라 한다.
\[ i_{1} + j_{1} = k = i_{2} + j_{2} \implies h_{i_{1} j_{1}} = h_{i_{2} j_{2}} \]
다시 말해, 한켈 행렬이란 다음과 같이 반대각선의 성분이 모두 같은 행렬이다.
\[ H = \begin{bmatrix} h_{2} & h_{3} & h_{4} & \cdots & h_{1+n} \\\ h_{3} & h_{4} & h_{5} & \cdots & h_{2+n} \\\ h_{4} & h_{5} & h_{6} & \cdots & h_{3+n} \\\ \vdots & \vdots & \vdots & \ddots & \vdots \\\ h_{m+1} & h_{m+2} & h_{m+3} & \cdots & h_{m+n} \end{bmatrix} \]
벡터 \(\left( h_{2}, \cdots , h_{m+n} \right)\) 과 두 자연수 \(m, n\) 을 입력받아 위와 같은 한켈 행렬 \(H \in \mathbb{R}^{m \times n}\) 을 리턴하는 함수
hankelizer(vec, m, n)
을 작성하라.검증예시
011. 역행렬 ☆☆
주어진 행렬 \(M \in \mathbb{R}^{n \times n}\) 에 대해 가우스 소거법을 통해 역행렬 \(M^{-1}\) 을 리턴하는 함수
gauss(M)
을 작성하라.014. 특이값 분해 ☆☆
행렬 \(A \in \mathbb{R}^{n \times n}\) 에 대해 \(A^{T} A\) 가 \(\operatorname{rank} A = r\) 이라 하자. \(A\) 의 고유값이 \(\lambda_{1} \ge \cdots \lambda_{n} \ge 0\) 과 같이 정렬 되어 있다고 하고, 각자에 대응되는 고유벡터를 \(\mathbf{v}_{1} , \cdots , \mathbf{v}_{n}\) 이라고 할 때, 다음과 같은 계산을 할 수 있다.
\[ \begin{align} \sigma_{j} :=& \sqrt{\lambda_{j}} & , j = 1 , \cdots , n \\ \mathbf{u}_{j} :=& \frac{1}{\sigma_{j}} A \mathbf{v}_{j} & , j \in 1 , \cdots , r \end{align} \]
두 직사각행렬 \(\hat{U} := \left( \mathbf{u}_{1}^{T} , \cdots , \mathbf{u}_{r}^{T} \right) \in \mathbb{R}^{m \times r}\) 과 \(\hat{V} := \left( \mathbf{v}_{1}^{T} , \cdots , \mathbf{v}_{r}^{T} \right) \in \mathbb{R}^{n \times r}\) 과 대각행렬 \(\hat{\Sigma} := \operatorname{diag} \left( \sigma_{1} , \cdots , \sigma_{r} \right) \in \mathbb{R}^{r \times r}\) 에 대해
\[ A = \hat{U} \hat{\Sigma} \hat{V}^{T} \]
가 성립하고, 이를 축소 특이값 분해reduced singular value decomposition이라 한다. \(A\) 의 모든 고유값과 고유벡터를 알고 있다고 가정할 수 있을 때, \(A\) 의 특이값 분해를 리턴하는 함수
mySVD(A)
를 작성하라.LinearAlgebra.jl
라이브러리의rank
,eigen
,diagm
,svd
와 같은 함수를 사용해도 좋다.검증예시
SVD가 원래의 폼으로 되돌아 오면 분해 자체는 성공한 것이다. 표준 라이브러리인
LinearAlgebra.jl
과 비교하면 다음과 같다. 차원에는 차이가 있으나 근본적인 수치들, 특히 고유값의 경우 정확히 같음을 확인하라.답안예시
해석학
009. 극값 ☆
주어진 시퀀스 \(x_{t}\) 에 대해 \(x_{t} \ge x_{t-1}, x_{t+1}\) 혹은 \(x_{t} \le x_{t-1}, x_{t+1}\) 를 만족하면 \(x_{t}\) 를 극값extreme value이라 정의한다. 배열
arr
\(=x_{t}\) 를 입력받아 모든 극값의 위치를 리턴하는 함수argext(arr)
를 작성하라.010. 바이섹션 메소드 ☆
주어진 함수 \(f : \mathbb{R} \to \mathbb{R}\) 가 \(f(a) f(b) < 0\) 를 만족한다고 하자. 바이섹션 메소드를 구현한 함수
bisect(f,a,b;atol=eps())
를 작성하라.atol
은 절대허용오차(absolute tolerance)를 의미한다.검증예시
다이내믹스
005. 로지스틱 맵의 트래젝터리 ☆
\[ x_{t+1} = f_{r} \left( x_{t} \right) = r x_{t} \left( 1 - x_{t} \right) \]
위와 같이 로지스틱 패밀리logistic family를 통해 정의된 다이내믹 시스템이 주어져 있다고 하자.
logistic(r, x)
을 작성하라.iter(f, p, x0, n)
을 작성하라.검증예시
006. 로지스틱 맵의 바이퍼케이션 ☆☆