본문 바로가기

분류 전체보기

[Discrete Mathematics] lecture 8 - Graphs IntroductionGraph is a particular class of discrete structure for representing relations. We deal with various types of graphs, their representations and trees.GraphsDefinition 1A simple graph $G = \left$ consists of‣ a set $V$ of vertices(=nodes)‣ a set $E$ of edges(=arcs, links), which are unordered pairs of distinct elements in $V$. Definition 2A multigraph is a graph with multiple edges. For.. 더보기
[Discrete Mathematics] lecture 7 - lattice OverviewThis lecture covers the lattice theory and boolean algebra.Introduction to LatticeDefinition 1 (lattice) A poset $\left$ which every pair of elements in L has lub and glb is called a lattice.lub is denoted as $+$ and glb is denoted as $*$.We say that $a$ and $b$ join at $a+b$ and meet at $a*b$.Example 1.Consider a poset $\left$ where $L = {a, b, c, d}$ and $ \preceq = I_L ∪ {(a, c),(a, d.. 더보기
[Discrete Mathematics] lecture 6 - algebra OverviewThis lecture introduces the concept of an algebraic structure, defined by a carrier set, operations, and constants. It covers foundational ideas like closure, subalgebras, identity and zero elements, and inverses. Key structures are introduced, including semigroups, monoids, and groups, along with the hierarchy among them.The lecture also defines homomorphisms (structure-preserving maps .. 더보기
[Docker] 용도와 사용법 소개웹 개발 시 환경 문제웹 개발을 하게 되면 내 로컬 환경에서는 잘 돌아가지만 웹 서버에서는 안 돌아가는 경우가 생길 수 있다. 이러한 경우는 실행환경이 달라서 발생하게 되는데, 예를 들어 내 pc의 python은 3.11 버전인데 웹서버는 3.10을 쓰고 있는 상황을 예시로 들 수 있다. 이러한 문제를 해결할 때 배포 환경도 pc와 동일하게 맞추어주면 되지만,- 만약에 dependency가 바뀐다면?- 만약 새로운 환경에서 개발을 시작해야한다면?- 이미 다른 버전에 종속된 프로그램이 이미 돌아가고 있다면?이렇게 매번 동일한 환경을 만들기도 어려울 뿐더러 항상 똑같은 환경에서 배포를 하기 어려워진다는 문제가 있다. 그래서 현재 환경에 구애받지 않고 매번 동일하게 배포를 할 수 있는 방법이 필요해진다. .. 더보기
푸리에 급수와 변환 - Fourier Series/Transform IntroductionTrigonometric Series→ $a_0 + a_1 \cos x + b_1 \sin x + a_2 \cos 2x + b_2 \sin 2x + \cdots$어떠한 함수가 삼각함수들의 합으로 나타내진다고 하자. Example$f(x) = \begin{cases}-k \:\: & -\pi 위 경우 푸리에 수열을 찾으면$$\frac{4k}{\pi} (\sin x + \frac{1}{3} \sin 3x + \frac{1}{5} \sin 5x + \cdots)$$(How는 잠시후에, 지금은 이렇게 표현될 수 있다는 것만!)Fourier Series다음과 같이 벡터공간을 정의하자.$$V=\left\{f:[-\pi, \pi] \rightarrow \R \:| \:f\: \text{is .. 더보기
6강-순차회로 순차회로소개1강에서 회로에 대한 개요를 설명할 때 언급했듯 순차회로(sequential circuit)은 출력값이 이전 입력값에도 영향을 받는 회로이다. 따라서 어떠한 상태나 순서를 지닌 회로를 작성할 때 사용하게 된다. 예를 들어 도어락이나 자판기의 회로들은 모두 상태가 필요하기에 순차회로로 구성되어 있다.구현Feedback loop순차회로의 구현을 보기에 앞서 기본이 될 회로를 보고 가자.위 회로는 초기값을 유지하는 기능을 하는데, 빨간선의 값을 $x$라 하면 $~(~x)$로 값이 유지되는 것을 알 수 있다. 이 회로에 기능을 더 추가한다고 생각해보자. 주어진 값을 로드하는 기능과 그 값을 유지할지 정하는 기능을 넣는다면 아래처럼 구현할 수 있다.기존의 회로에 2개의 스위치를 추가했다. Load가 닫.. 더보기
1강 - 논리설계의 배경지식과 회로 개요 (Introduction)논리설계에서는 소프트웨어 디자인과는 달리 물리적인 하드웨어를 설계하는 것에 초점을 둔다.그러기 위해 기본적인 회로들을 학습한 후 이를 조합하여 복잡한 회로를 설계하는 방법을 배운다.또, HDL을 활용하여 이러한 회로를 설계하는 방법도 배울 예정이다.그럼 논리설계가 어디에 쓰일까? → CPU, USB, 모니터, 키보드, 스마트폰, 등등 모든 전자기기의 기본이 되는 하드웨어를 설계하는 데 사용세계의 프로세서 / 컨트롤러의 수요를 보면 단순히 desktop cpu 외에도 8bit, 4bit 프로세서가 월등히 많이 쓰이는 것을 확인할 수 있다.그러한 cpu들은 각각의 용도에 맞게 사용될 것이다.즉, 용도에 맞게 하드웨어를 설계하는 것 또한 중요함을 알 수 있다.자, 이제 논리설계의.. 더보기
[Discrete Mathematics] lecture 5 - counting OverviewThis lecture introduces the fundamentals of counting and recurrence relations. It begins by defining finite and infinite sets, emphasizing the concept of cardinality and distinguishing between countable and uncountable sets. Key counting principles such as the Pigeonhole Principle, sum and product rules, and formulas for permutations and combinations are presented, along with proofs and .. 더보기