Skip to content

논리적 사고를 기르는 알고리즘 수업(2025.01.17)

sungkmi edited this page Jan 17, 2025 · 4 revisions

논리적 사고를 기르는 알고리즘 수업

논리적 사고를 기르는 알고리즘 수업

Ch 14.5 문제 6 ~ 10

체크인 (기분/근황/기대하는 바)

  • 성큼이
    • 좀 피곤하다
    • 특별한 일 없다
    • 문제 잘 풀었으면
  • 상호
    • 조금 피곤
    • 관리 일이 조금 늘어나 더 피곤해짐
    • 한 문제 이상 풀기
  • Wayne
    • 살짝 피곤
    • 특별한 것 없다
    • 새로운 것 잘 배우고 갔으면

문제풀이

  • 14.5
  1. 하나의 점 규칙 (14.5), 중첩 규칙 (14.2), 그리고 재배열 규칙 (14.3)으로부터 (14.8)을 유도하라.

    힌트: 유도는 $f$가 전단사 함수라는 사실을 이용해야 한다. 즉, 모든 $j \in J$$k \in K$에 대해,

    $f(j) = k \equiv j = g(k)$

    를 만족하는 함수 $g$가 있다는 것이다. 하나의 점 규칙을 이용해, 두 번째 더미 변수를 만들어 보아라. 그러면 위 성질을 사용할 수 있게 될 것이다.

[(14.5) 하나의 점] $[\braket{\sum k : k = e: T} = T[k := e]]$

[(14.2) 중첩] $[\braket{\sum j, js : R \land S : T} = \braket{ \sum j : R : \braket{ \sum js : S : T}}]$

[(14.3) 재배열] $[\braket{\sum j, k : R : T} = \braket{\sum k, j: R : T}]$

[(14.8) 변형]

모든 $j \in J$$k \in K$에 대해,

$f(j) = k \equiv j = g(k)$

를 만족하는 함수 $g$가 있을 때, $[\braket{\sum k \in K : R : T} = \braket{\sum j \in J : R[k := f(j)] : T [k := f(j)]}]$

$\braket{\sum j \in J : R[k := f(j)] : T [k := f(j)]}$

= { (14.5) 에서 $e$ 대신 $f(j)$ }

$\braket{\sum j \in J : R[k := f(j)] : \braket{\sum k \in K : k = f(j) : T}}$

= { (14.2) 중첩에서 $js$ 대신 $k$, $S$ 대신 $k = f(j)$ }

$\braket{\sum j \in J, k \in K : R \land (k = f(j)) : T}$

= { (14.3) 재배열, 그리고 f가 전단사 함수}

$\braket{\sum k \in K, j \in J : R \land (j = g(k)) : T}$

= { (14.2) 중첩에서 $j$ 대신 $k$, $js$ 대신 $j$, $S$ 대신 $j =g(k)$ }

$\braket{\sum k \in K: R : \braket{\sum j \in J: j = g(k) : T}}$

= { (14.5) 하나의 점에서 $k$ 대신 $j$, $e$ 대신 $g(k)$}

$\braket{\sum k \in K: R : T[j := g(k)]}$

= { T 는 애초에 k에 대해 표현되는 식이었으므로 $[j:=g(k)]$생략가능 }

$\braket{\sum k \in K: R : T}$

  1. 다음과 같이 일반화된 분배 법칙을 증명하라.

$\braket{\sum j : P : S} \times \braket{\sum k : Q : T} = \braket{\sum j, k: P \land Q: S \times T}$

이 규칙을 적용할 때의 부가 조건은 무엇인가?

[(14.12) 분배법칙] $[\braket{\sum k: R : c \times T} = c \times \braket{\sum k : R : T}]$

를 이용한다.

$\braket{\sum j : P : S} \times \braket{\sum k : Q : T}$

= { (14.12) 분배법칙에서 $R$ 대신 $Q$, $c$ 대신 $\braket{\sum j : P : S}$ }

$\braket{\sum k: Q: \braket{\sum j: P: S} \times T}$

= { (14.12) 분배법칙에서 $k$ 대신 $j$, $R$ 대신 $P$, $T$ 대신 $S$, $c$ 대신 $T$ }

$\braket{\sum k: Q: \braket{\sum j: P: S \times T}}$

= { (14.2) 중첩에서 $k$ 대신 $j$, $js$ 대신 $j$, $R$ 대신 $Q$, $S$ 대신 $P$ }

$\braket{\sum k, j : Q \land P : S \times T}$

= { (14.3) 재배열, 논리곱의 대칭성 }

$\braket{\sum j, k: P \land Q: S \times T}$

여기서 $P, S$$k$에 대해 독립이어야 하고, $Q, T$$j$에 대해 독립이어야 한다.

  1. 다음 규칙 $\braket{\bigoplus k:P:T} = \braket{\bigoplus k: P \land Q: T} \oplus \braket{\bigoplus k: P \land \neg Q: T}$ 을 유도하라. 이 규칙을 이용해 $\oplus$가 멱등일 때에, (14.40)으로부터 (14.41)을 도출하라.

$\braket{\bigoplus k: P \land Q: T} \oplus \braket{\bigoplus k: P \land \neg Q: T}$

= { (14.40) 분리 }

$\braket{\bigoplus k: (P \land Q) \lor (P \land \neg Q): T} \oplus \braket{\bigoplus k: (P \land Q) \land (P \land \neg Q): T}$

= { $Q \lor \neg Q = true$, $Q \land \neg Q = false$ }

$\braket{\bigoplus k: P: T} \oplus \braket{\bigoplus k: false: T}$

= { (14.38) 빈 구간 }

$\braket{\bigoplus k: P: T} \oplus 1_{\oplus}$

= { 항등원 생략가능 }

$\braket{\bigoplus k: P: T}$

$\oplus$가 멱등이면 $P \lor Q \supset P \land Q$ 이므로 $\braket{\bigoplus k: P \lor Q: T} \oplus \braket{\bigoplus k: P \land Q: T} = \braket{\bigoplus k: P \lor Q: T}$

  1. 합에 대한 변형 규칙 (14.8)에서, $f$가 전단사 함수라는 조건이 있었다. 이 규칙은 합계뿐 아니라 다른 모든 한정 기호에 대해 적용할 수 있었다.

    한정 기호가 멱등일 때, 이 규칙을 간략하게 할 수 있다. 멱등 한정 기호에 대한 변형 규칙은 다음과 같다. 함수 $f$가 더미 $j$의 자료형에서 더미 $k$의 자료형으로 가는 함수라고 하자. $f$

    $\braket{\forall k :: \braket{ \exists j :: k = f(j)}}$

    를 만족하면, 다음이 성립한다.

    $\braket{\bigoplus k:R:T} = \braket{\bigoplus j: R[k:=f(j)]:T[k:=f(j)]}$

    위 규칙을 증명하라.

$\braket{\bigoplus j: R[k:=f(j)]:T[k:=f(j)]}$

= { (14.39) 하나의 점 }

$\braket{\bigoplus j: R[k:=f(j)]:\braket{\bigoplus k: k=f(j): T]}}$

= { (14.36) 중첩 }

$\braket{\bigoplus j, k: R \land (k = f(j)): T]}$

= { (14.37) 재배열, $f$는 전단사 }

$\braket{\bigoplus k, j: R \land (j = g(k)): T]}$

= { (14.36) 중첩 }

$\braket{\bigoplus k: R:\braket{\bigoplus j: j = g(k): T]}}$

= { (14.39) 하나의 점}

$\braket{\bigoplus k: R:T}$

  1. 아래 표는 결합법칙과 교환법칙을 만족하는 이진 연산자와 단위원을 함께 보여준다. 각각에 대해서, 본문에 명시되어 있지 않은 분배법칙 (14.46)의 예시를 대어라
    연산자 단위원 한정기호
    $\land$ $\forall$
    $\lor$ 거짓 $\exists$
    $+$ $0$ $\sum$
    $\times$ $1$ $\prod$
    $\downarrow$ $\infty$ $\Downarrow$
    $\uparrow$ $-\infty$ $\Uparrow$
    $\equiv$ $\equiv$
    $\not\equiv$ 거짓 $\not\equiv$
    $\cup$ $\emptyset$ $\bigcup$
    $\cap$ $\mathcal{U}$ $\bigcap$
  • $\downarrow, \uparrow$ 의 경우

$f(x) = - x$를 생각하면 $f(\infty) = -\infty$이고 $f(x \downarrow y) = -x \uparrow -y$이다. 따라서

$-\braket{\Downarrow k: R: T} = \braket{\Uparrow k: R: -T}$

  • $\equiv, \not\equiv$의 경우

$f(x) = \neg x$를 생각하면 $f(참) = 거짓$이고 $f(x \equiv y) = \neg x \not\equiv \neg y$ 이므로,

$\neg\braket{\equiv k: R: T} = \braket{\not\equiv k: R: \neg T}$

  • $\cup, \cap$의 경우

$f(x) = \neg x$를 생각하면 $f(\emptyset) = \mathcal{U}$이고 $f(x \cup y) = \neg(x \cup y) = \neg x \cap \neg y$ 이므로,

$\neg\braket{\bigcup k: R: T} = \braket{\bigcap k: R: \neg T}$

회고 (좋았던 점/ 아쉬웠던 점/ 다음주 이 시간까지 할 일)

  • 성큼이
    • 문제를 다 풀었다
    • 크게 없다
    • 다음 내용 살짝 보고 오겠다
  • 상호
    • 자꾸 보다 보니 조금 눈에 익는다
    • 하나도 못 풀었다
    • 잘 쉬다 오겠다
  • Wayne
    • 진도 좀 나갔다
    • 증명은 너무 어렵다
    • 잘 쉬고 오겠다

나머지 공부

Clone this wiki locally