• 검색 결과가 없습니다.

2. 그래프

N/A
N/A
Protected

Academic year: 2022

Share "2. 그래프"

Copied!
8
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

- Contents -

1. 배열과 분배

1.1. 순열과 조합 1.2. 이항계수와 그 확장 1.3. 배열과 분배 1.4. 분배와 분할

2. 그래프

2.1. 기본 개념 2.2. 여러가지 그래프 2.3. 수형도

2.4. 오일러 회로, 해밀턴 회로 2.5. 그래프 채색

2.6. 그래프와 행렬

3. 점화식과 생성함수

3.1. 알고리즘과 점화식 3.2. 생성함수

4. 게임이론과 최적화 문제

4.1. 의사결정과정

4.1.1. 게임이론 4.1.2. 선거 이론 4.1.3. 공평한 분배 4.2. 최적화 문제

4.2.1. 상자채우기 4.2.2. 배낭꾸리기 4.2.3. 그래프와 최적화

Ⅰ.기출문제

1999년시행기출(중복조합, 부정방정식의 해)

다음 조건을 만족하는 정수해 (x, y, z )는 모두 몇 개인지 구하여라. (4점)

{

x + y - z = 10

x > 0, y > 2, z < 3

2001년시행기출(분할, 분배)

크기가 100KB, 150KB, 200KB, 250KB, 300KB인 다섯 개의 파일을 용량이 각각 1440KB인 같은 색의 구별이 안 되는 세 장의 플로피 디스켓에 저장 하려고 한다. 디스켓 세 장 모두를 사용하여 다섯 개의 파일을 저장하는 방법의 수를 구하시오. (단, 디스켓에 저장하는 파일의 순서는 생각하지 않 는다.) (5점)

2002년시행 기출(그래프와 인접행렬)

다음 그래프는 어느 도시의 A, B, C, D 네 지점 사이에서 자동차로 곧바 로 갈 수 있는 경우를 화살표로 나타내고 있다. 예를 들면, A지점에서 B 지점으로 향하는 화살표는 A지점에서 B지점으로 자동차로 곧바로 갈 수 있지만 B지점에서 A지점으로는 곧바로 갈 수 없음을 나타낸다. 다음

물음에 답하시오. (총 5점)

․ ․

D

C A B

(1) 주어진 그래프를 인접행렬(adjacent matrix)로 나타내시오. (2점) (2) 어떤 지점에서 다른 지점으로 갈 때, ‘곧바로 또는 한 지점을 거쳐 서 갈 수 있는지 없는지를 알 수 있는 행렬을 구하시오.

(단, (1)에서 구한 인접행렬을 이용하시오.) (3점)

2003년 시행기출(분할, 분배)

같은 종류의 물건 n개를 m명의 학생에게 나누어주는 경우의 수를 f ( n , m )이라 할 때, 다음 물음에 답하시오. [총 5점]

(1) f ( 6, 3 )의 값을 구하시오. (1점)

(2) 모든 자연수 n에 대하여 다음 등식이 성립함을 수학적귀납법을 이용 하여 증명하시오. (4점)

f ( 1, m ) + f ( 2, m ) + … + f ( n , m ) = f ( n , m + 1 ) - 1

2004년 시행기출(채색다항식, 채색수)

단순그래프 G 와 음이 아닌 정수 n 에 대하여, n 보다 작거나 같은 개수의 색으로 그래프 G 를 적절하게 색칠하는(즉, 변으로 연결된 두 꼭지점을 서 로 다른 색으로, 모든 꼭지점을 칠하는) 방법의 수를 PG( n ) 이라 하면

PG( n ) 은 n 에 대한 다항식이다. 또, m 개의 꼭지점을 가진 선형 그래프 (linear graph 또는 path graph) Lm은 다음과 같다.

1 2 3 43 …m-2m-1m

이 때, G = Lm의 다항식 PG( n ) 을 구하고, PG( n ) 을 사용하여 이 그래프를 적절하게 색칠하는 데 필요한 색의 최소 개수를 구하시오. [5 점]

Ⅱ.내용정리

※괄호안에 벅당한 말을 연필로 쓰고 아래의 해답을 확인하세요.

1. 배열과 분배

1.1. 순열과 조합

정 의 1 (순열, 조합)

(1)(ⅰ)집합 X의 모든 원소를 일렬로 배열한 것 : X의 순열(permutation), n개의 원소로 이루어진 집합 : n-집합,

n-집합 X에서 k개의 서로 다른 원소를 뽑아 일렬로 배열한 것 : X 의 k-순열,

n-집합의 k-순열의 수 = nPk,

(ⅱ) 원소 a1, a2, …, ar를 각각 n1, n2, …, nr개 가진 집합을 {n1×a1, n2×a2, …, nr×ar}라 나타내고 이를 다중집합이라 한다.

n-집합 X = {a1, a2, …, ar}의 원소를 무수히 많이 가진 다중집합을 Y = {∞×a1, ∞×a2, …, ∞×ar}라 나타내고 Y의 k-순열을 X의

김 현 웅 전공수학

http://cafe.daum.net/hwmath

2006학년도 중등교원임용시험대비 문제풀이반

핵심내용정리(이산수학) 구평회 임용고시학원 예비교사닷컴

구평회임용고시학원․서울(노량진) 02-812-5700․대구(동성로) 053-426-0078․부산(서면) 051-808-0565

(2)

k-중복순열이라고 한다.

n-집합의 k-중복순열의 수 = nk

(2)(ⅰ)집합 X의 원소 중 일부를 뽑은 것 : X의 조합(combination), k개를 뽑은 것을 X의 k-조합,

X의 k개의 원소로 이루어진 부분집합을 X의 k-부분집합, 정수 k ≥ 0, n ≥ 0에 대하여 n-집합의 k-조합의 개수 =

( )

nk , (ⅱ) n-집합 X = {a1, a2, …, an}에 대하여 다중집합

Y = {∞×a1, ∞×a2, …, ∞×an}의 k-조합을 X의 k-중복조합이라고 한다.

n-집합의 k-중복조합의 수 = nHk

정 리 1

(1)정수 1 ≤ k ≤ n에 대하여

nPk= (1) ) : n-집합의 k-순열의 수,

nPn= n! : n개의 물건을 일렬로 배열하는 방법의 수 (2)(ⅰ) 중복순열의 수

nk=(2) ) : n-집합의 k-중복순열의 수 (ⅱ)다중집합의 순열의 수

(3) ) : {n1×a1, n2×a2, …, nr×ar}의 순열의 수 (ⅲ)일차방정식의 음 아닌 정수해의 개수

일차방정식 ( x1+ x2+ … + xn= k)의 음이 아닌 정수해의 개수

nHk= (4) ) =

(

n + k - 1k

)

(3) k-조합의 수

정수 0 ≤ k ≤ n, n > 0에 대하여

( )

nk =(5) )

1.2. 이항계수와 그 확장

정 의 2 (이항계수의 확장) 실수 α와 정수 k에 대하여

(1) [ α]k≡ α( α - 1)( α - 2) …( α - k + 1)

(2)

( )

αk

{

1 k = 0[ α]k!k k ≥ 1 0 k < 0

정 리 2

(1)ㄱ-법칙과 이항정리 음이 아닌 정수 n, k에 대하여

(ⅰ) ㄱ-법칙( =파스칼의 삼각형의 원리)

( )

nk =(6) )

1) n( n - 1)( n - 2 )…( n - k + 1) 2) nk

3) ( n1+ n2+ … + nr)!

n1!n2!…nr! 4) ( n + k - 1)!

k!( n - 1)!

5) n!

k!( n - k)!

6)

(

n - 1

)

+

(

n - 1

)

(ⅱ) 이항정리

( x + y)n= (7) ) (x+1)n= ∑

n

k = 0

( )

nk xk

(2)확장된 ㄱ-법칙과 이항정리 (ⅰ)ㄱ-법칙

실수 α와 정수 k에 대하여

( )

αk =

(

k - 1α - 1

)

+

(

α - 1k

)

(ⅱ)뉴튼(Newton)의 이항정리

|x | < 1일 때 실수 α에 대하여 (1 + x)α= ∑

n = 0

( )

αn xn

정 의 3 (다항정리와 다항계수)

A1, A2, …, Ar이 서로 다른 물건이라고 하고 n1+ n2+ … + nr= n 을 만족하는 음이 아닌 정수 n1, n2, …, nr, n 에 대하여

다중집합 {n1×A1, n2×A2, …, nr×Ar}의 순열의 개수를 n!

n1!n2!…nr! ≡

(

n1, n2, …, nn r

)

와 같이 나타내고 다항계수라고 부른다.

정 리 3

(1)다항계수에의 ㄱ-법칙의 확장

(

n1, n2, …, nn r

)

=i = 1r

(

n1, …, ni - 1, nn-1i-1, ni + 1, …, nr

)

(2)다항정리

(x1+ x2+ … + xr)n = ∑

n1+ n2+ … + nr= n

n1≥ 0, …, nr≥ 0

(

n1, n2, …, nn r

)

xn11xn22… xnrr

여기서 ∑는 방정식 y1+ y2+ … + yr= n의 모든 음이 아닌 정수해 ( n1, n2, …, nr)상에서 합한 것이다.

1.3. 배열과 분배

정 리 4

(1)비둘기집의 원리

n + 1마리의 비둘기를 n개의 비둘기집에 넣으면 2마리 이상 들어간 집이 반드시 있다.

(2)일반화된 비둘기집의 원리

m마리의 비둘기를 n개의 비둘기집에 넣으면 ⌈ m

n ⌉마리 이상 들어간 집이 반드시 있다.

(단 a ∈ ℝ에 대하여 ⌈ a ⌉ = a보다 크거나 같은 최소의 정수) (3)포함배재의 원리

유한집합 S의 부분집합 A1, A2, …, An이 주어졌을 때

각 k = 1, 2, …, n에 대하여 이들 중 모든 k개의 집합의 교집합의크기의 합을 βk라고 하면

|∪ni = 1Ai| = β1- β2+ β3- … + ( - 1)n - 1βn (단 집합의 원소의 개수를 집합의 크기라 한다.)

7) ∑n

( )

n xkyn - k

(3)

1.4. 분배와 분할

정 의 4

음이 아닌 정수 n, k에 대하여 n명을 k개의 그룹으로 나누는 방법의 수를 S( n, k)로 나타낸다.

NOTE

S( n, k)는 n-집합을 k개의 부분집합( /= φ )으로 분할하는 방법의 수와 같다.

정 리 5 (S( n, k) 의 ㄱ열-법칙) 0 < k < n 인 정수 n, k에 대하여

S( n, k) = S( n - 1, k - 1) + kS( n - 1, k), S( 0, 0) = 1

2. 그래프

2.1. 기본 개념

정 의 5 (그래프의 뜻과 기본 개념)

(1)(ⅰ)유한집합 V /= φ, V의 2-중복조합의 다중집합 E에 대하여 G = ( V, E) : 그래프(graph)

(ⅱ) V의 원소를 G의 꼭지점(vertex), E의 원소를 G의 변(edge),

G의 꼭지점의 개수를 vG ≡d( G) : G의 위수(order), G의 변의 개수를 eG라 한다.

(2)(ⅰ) x, y는 서로 인접하다. ⇔ x, y가 변으로 이어져 있다.

특히 x, y를 잇는 변이 a일 때 a는 x, y에 물려있다고 한다.

두 개의 서로 다른 변이 하나의 꼭지점에 물려 있을 때 이 두 변은 서로 인접하다고 한다.

(ⅱ)두 꼭지점을 잇는 2개 이상의 변이 있을 때 이들 변을 다중변 (multiple edge), 한 꼭지점과 그 자신을 잇는 변을 고리(loop),

다중변과 고리가 없는 그래프를 단순그래프라 한다.

(ⅲ)꼭지점 x에 물려있는 변의 수 = d( x) : x의 차수(degree), 단 차수에서 고리는 두 번 헤아려진다.

(ⅳ)차수가 홀수인 꼭지점 : 홀수점(odd vertex),

차수가 짝수인 꼭지점을 짝수점(even vertex)이라고 한다.

정 리 6

(1)단순 그래프에서는 차수가 같은 꼭지점이 2개 이상 존재한다.

(2)그래프에서 꼭지점의 차수의 합은 변의 수의 2배이다.

(3)그래프에서 홀수점의 개수는 짝수이다.

NOTE

이제 G의 꼭지점의 수( vG)와 변의 수( eG)를 각각 간단히 v, e로 G의 각 변을 [ x, y], [ y, z], …와 같이 나타내기로 한다.

정 의 6 (차수열과 동형)

(1)그래프 G = (V, E), V = {x1, x2, …, xn}에 대하여

( d( x1), d( x2), …, d( xn)) : G의 차수열(degree sequence) (2) 두 그래프 G = ( V, E), G ' = ( V ', E ')에 대하여

G ≈ G '(동형(isomorphic))

⇔ G와 G '은 위수가 같고 꼭지점 사이의 인접성이 같다.

특히 G와 G '가 단순그래프일 때 G ≈ G '

⇔ ( ∃f : V → V ' 전단사 s.t. [ x, y] ∈E ⇔ [ f( x), f( y)] ∈E ') (3)차수열이 d = ( d1, d2, …, dn)( d1≥ d2≥ … ≥ dn)인 단순그래프가 존재할 때 d를 그래프적(graphic)이라 한다.

정 리 7 (그래프적인 수열의 판정법) k = d1≥ d2≥ … ≥ dn≥ 0일 때 d = ( d1, d2, …, dn) : 그래프적

⇔ d ' = ( d2-1, d3-1, …, dk + 1-1, dk + 2, …, dn) : 그래프적

NOTE

그래프 G1, G2와 각각의 차수열 d1, d2에 대하여 G1 ≈ G2⇒ d1= d2(성분 재배열을 허용했을 때) 그러나 그 역은 일반적으로 성립하지 않는다.

역의 반례는

정 의 7 (유향그래프) (1)그래프의각 변 「 x

y에 「x•→•y」또는 「x•←•y」

와 같이 방향을 준 것을 유향그래프(directed graph), 방향을 가진 변을 유 향변(arc)이라고 한다.

(2)유향그래프에서 꼭지점 x로 들어오는 유향변 「x•←」의 개수를 x 의 입차수(indegree)( = id( x)), x에서 나가는 유향변 「x•→」의 개수를 출차수(outdegree)( = od( x)),두 유향변이 「→•→」의 꼴로 이어져 있 을 때 두 변은 순접한다고 한다.

정 의 8 (부분그래프, 회로, 경로)

(1)그래프 (또는 유향그래프) G의 꼭지점과 변의 일부 또는 전부로 이루 어진 그래프 G '을 G의 부분그래프(subgraph), G의 부분그래프 중 G의 모든 꼭지점을 포함하는 것을 G의 생성부분그래프(spanning subgraph), (2) G의 꼭지점 중 일부 또는 전부의 집합 W에 대하여 W와 W의 점을 잇 는 모든 변을 포함하는 그래프를 W에 의하여 생성되는 유도부분 그래프 (induced subgraph),

정 의 9 (경로, 폐로, 회로, 바퀴) (1)그래프(유향그래프)에서

인접(순접)하는 변(유향변)의 열을 경로(path), 경로를 이루는 변의 개수를 경로의 길이,

(2)꼭지점 x, y를 잇는 경로( x에서 y로 가는 경로)를 (x, y)-경로, (3)양 끝점이 같은 경로를 폐로(closed path),

(4)

(4)모든 변이 다른 폐로를 회로(cycle),

(5)양 끝점을 제외하고는 모든 꼭지점이 다른 회로를 바퀴, (6)양 끝점을 포함한 모든 꼭지점이 다른 경로를 직선경로, (7)차수가 1인 꼭지점을 단말점(pendant),

정 리 8 (단말점과 회로)

단말점이 없는 그래프는 회로를 가진다.

NOTE

유향그래프는 의사전달 체계, 고객 이동 추이, 여러 팀이 출전하는 게임 의 승부 기록, 일방통행로가 있는 교통망 등에 응용된다.

계장 사

과장 부

의사전달체계장

A팀 B팀

C팀 D팀

경기결과

A지점 B지점

C지점 D지점

교통망

2.2. 여러가지 그래프

정 의 10 (완전그래프, 연결그래프)

(1)임의의 서로 다른 두 꼭지점 사이에 변이 존재하는 단순 그래프를 완전 그래프(complete graph), 위수 n인 완전그래프는 Kn,

Kn의 변의 개수는

( )

n2 = n( n - 1) /2

(2)모든 꼭지점의 차수가 같은 그래프 : 정칙그래프,

(3)그래프 G의 임의의 두 꼭지점 x, y에 대하여 (x, y)-경로가 있을 때 G를 연결그래프(connected graph),

최대의 연결 부분그래프를 연결성분(connected component), (4)유향 그래프 D의 임의의 두 꼭지점 x, y에 대하여

( x, y)-경로가 있을 때 D를 강연결그래프라고 한다.

(5)그래프 G에서 몇 개의 꼭지점을 지우면 연결성이 깨어지거나 한 점 만을 가진 그래프가 되는 경우, 그러한 꼭지점의 최소 개수를

G의점연결도(vertex connectivity) ( = κ( G)),

정 의 11 (이분그래프, 평면그래프)

(1)그래프 G의 꼭지점이 두 개의 부분 X, Y로 나누어져 같은 부분에 속하는 꼭지점끼리는 인접하지 않을 때, G를이분그래프(bipartite), 이 때 (X, Y)를 V의 이분할(bipartition), G = ( X , E, Y)와 같이 나 타낸다. 특히 임의의 x ∈X, y ∈Y가 인접한 이분그래프

G = ( X , E, Y)를 완전이분그래프,

|X | = m, |Y | = n인완전이분그래프를 Km, n으로 나타낸다.

(2)모든 변이 교차하지 않도록 그릴 수 있는 그래프 평면그래프 (planar graph), 평면그래프는 평면을 몇 개의 영역으로 나눈다.

평면그래프 G에 의하여 나누어지는 각각의 영역을 G면(face), 면의 개수를 fG(혹은 f),평면그래프의 하나의 면 F에 대하여 F를 둘러싼 변의 개수를 F의 차수( = d( F))라 한다.

정 리 9 (1)오일러의 공식

연결 평면그래프에서는 등식 v-e+f = 2가 성립한다.

(2)평면그래프에서 면의 차수의 합은 변의 수의 2배이다.

정 리 10 (평면성의 판정법)

G가 위수 3이상인 연결 평면 단순그래프일 때 (1) v - e

3 ≥ 2

(2) G가 이분그래프이면 v - e2 ≥ 2 (3)쿠라토우스키(Kuratowski)의 정리 그래프 G에 대하여 G : 평면그래프

⇔ G는 K5, K3, 3또는 K5, K3, 3의 부분분할과 동형인 부분그래프를 가지지 않는다.

NOTE(부분분할)

그래프의 변 위에 몇 개의 꼭지점을 추가한 것을 원래그래프의 부분분할이라 한다.

2.3. 수형도(tree)

정 의 12 (수형도, 생성수형도) (1)회로가 없는 연결그래프를 수형도(tree),

(2) G의 어떤 변을 지우면 그 변이 들어있는 연결성분의 연결성이 깨어질 때 그 변을 다리(bridge),

(3) G의 생성부분그래프로서 수형도인 것을 G의 생성수형도, G의 부분그래프 H의 변의 무게의 합 w( H) =

e∈Ew(e)을 H의 무게, (4)수형도에서 특별히 정한 한 꼭지점을 뿌리(root),

수형도의 두 꼭지점 사이에 존재하는 경로의 길이를 그 두 점 사이의 거리, 유근수형도의 어떤 꼭지점 x에서 아래로 거리가 i인 점을 x의 i세 손, 1-세손은 자녀,

(5)뿌리를 가진 수형도에서 단말점도 아니고 뿌리도 아닌 점을 중간점, 뿌리에서 단말점까지의 거리의 최대값을 그 수형도의 높이,

(6)단말점이 아닌 각 점이 m개의 자녀를 가지는 수형도를 m진 수형도 ( m-ary tree)라 한다.

정 리 11 (단말점을 갖는 그래프) (1)수형도는 단말점을 가진다.

(2) e = v -1 인 연결그래프는 2개 이상의 단말점을 가진다.

(2)수형도의 동치 조건 연결그래프 G에 대하여

G : 수형도

⇔ e = v - 1 ( ⇒ 둘 이상의 단말점을 갖는다.)

⇔ G는 각 변이 다리이다.

⇔ G의 임의의 서로 다른 두 꼭지점 x, y에 대하여 ( x, y)-경로가 유일하게 존재한다.( ∵둘 이상의 경로를 가지면 회로를 갖는다.) (3)생성수형도 연결그래프는 생성수형도를 가진다.

NOTE

연결그래프 G = ( V, E)의 생성수형도 찾는 알고리즘

과정 ① : 임의의 꼭지점 x1을 잡고 V1 = {x1}, E1= φ, T1

= ( V1, E1)으로 둔다.

과정 ② : 수형도 Ti = ( Vi, Ej)가 잡혔을 때, Ti의 꼭지점 x와 인접 한 xi + 1∉Vi를 잡아 Vi + 1 = Vi∪ {xi + 1}, Ei + 1 = Ei∪ {ai}

(5)

(단 ai = [ x, xi + 1], Ti + 1= ( Vi + 1, Ei + 1))로 둔다.

과정 ③ : i = νG이면 멈춘다.

2.4. 오일러 회로, 해밀턴 회로

NOTE (그래프 이론에서 가장 기본적인 존재성 문제)

① 주어진 그래프는 연결그래프인가?

② 주어진 연결그래프가 강연결그래프가 되도록 변에 방향을 줄 수 있을까?

③ 주어진 그래프에는 모든 변을 꼭 한 번씩만 지나가는 회로가 존재하는가?

④ 주어진 그래프는 모든 꼭지점을 꼭 한 번씩만 지나가는 회로가 존재하는가?

정 의 13

(1)각 변에 방향을 주어 강연결 유향그래프로 만들 수 있는 그래프를 강연결화가능그래프,

(2)그래프 G에 적당히 방향을 주어 모든 변을 꼭 한 번씩만을 지나는 회로 G를 G의 오일러회로,

오일러 회로를 가지는 그래프를 오일러그래프,

(3)그래프 G를 유향화한 어떤 유향 그래프에서 모든 변을 꼭 한번씩만 지나는 경로를 G의 오일러경로(시점 /=종점),

정 의 14 (해밀턴회로)

(1)그래프 G를 적당히 유향화한 그래프에서 모든 꼭지점을 꼭 한 번씩만 지나는 유향회로 G를 G의 해밀턴회로, 해밀턴회로를 가지는 그래프를 해밀턴그래프,

(2)꼭지점을 꼭 한번씩만 지나는유향경로를해밀턴경로(시점 /=종점)

정 리 12 (연결성의 판정법)

위수가 n인 그래프의 각 꼭지점에 다음 과정을 따라 1에서 n까지의 번호를 붙인다.

(1)임의로 하나의 꼭지점을 잡아 번호 1을 붙인다.

(2) k까지의 번호가 붙여진 상태에서 꼭지점 x에 번호 k가 붙었다고 하자.

N( x)( = x와 인접한 꼭지점 전체의 집합)의 꼭지점 중 번호가 붙지 않 은 임의의 꼭지점 y를 잡아 k+1 을 붙인다. 이 때 y를 x+, x를 y- 라고 하자.

N( x)에 번호가 붙지 않은 꼭지점이 없는 경우, x-로 올라 간다.

(3) 과정 (2)를 반복하다가 다음 두 가지의 경우 멈춘다.

경우 1 : k = n,

경우 2 : N(x)의 모든 꼭지점에 번호가 붙여졌고 x-의 번호가 1이다.

명백히 위수가 n 인 그래프가 연결그래프 필요충분조건은 위의 번호 붙이기’ 과정이 k = n 으로써 끝날 것이다.

정 리 13

(1)강연결화 가능성의 판정(Robbins)

연결그래프 G에 대하여 G : 강연결화가능 ⇔ G는 다리를 갖지 않는다.

(2)오일러(Euler)

G :오일러그래프(즉 오일러회로를 갖는다.) ⇔모든 꼭지점이 짝수점이다.

(3)오일러경로의 존재성

G가 오일러경로를 가진다.(시점 /=종점) ⇔ G는 홀수 점이 꼭 2개이다.

이 때 두 홀수점이 오일러 경로의 양 끝 점이 된다.

(4)해밀턴 회로의 존재성

위수가 n( ≥ 3)인 연결그래프 G에 대하여 모든 꼭지점의 차수가 n/2 이상이면 G는 해밀턴회로이다.

2.5. 그래프 채색

정 의 15 (채색수와 채색다항식)

(1)그래프 G의 꼭지점을 k개의 색으로 인접한 꼭지점들끼리는 서로 다른 색으로 채색할 수 있을 때 G는 k-채색가능, (2)위수 v인 그래프는 v-채색가능이다.

χ( G) = min {k∈ℤ+| G는 k-채색가능 }: G의 채색수(Chromatic number)

(3) G의 꼭지점을 x개 이하의 색으로 채색할 수 있는 방법의 수를 P( G, x)라 할 때 P( G, x)( = G의 채색다항식)는 x의 다항식이 된다.

2.6. 그래프와 행렬

NOTE (행렬의 곱)

두 행렬 A = ( aij)m×n, B = ( bij)n×l에 대하여 dij= ∑

n

k = 1aikbkj ( 1 ≤ i ≤ m, 1 ≤ j ≤ l)라 두면 AB ≡( dij)m×l

정 의 16 (1)인접행렬

그래프 G의 꼭지점이 x1, x2, …, xn이라 할 때 aij= ( xi, xj를 잇는 변의 수), (i, j =1, 2, …, n)

로 정의되는 aij ( i, j = 1, 2, …, n)를 (i, j)-성분으로 하는

n × n 행렬을 G의 인접행렬(adjacency matrix)이라고 하고 A( G)와 같이 나타낸다.

(2)유향그래프의 인접행렬

유향그래프 D의 꼭지점이 x1, x2, …, xn이라 할 때

aij= ( xi, xj를 잇는 유향변의 수), (i, j = 1, 2, …, n) 로 정의되는 aij( i, j = 1, 2, …, n)를 (i, j)-성분으로 하는 n×n 행렬을 D의 인접행렬이라고 하고 A( D)와 같이 나타낸다.

정 리 14

(1)인접행렬과 경로

그래프 G의 인접행렬 A(G)k의 ( i, j)-성분은 G에서 길이 k인 ( i, j)-경로의 개수와 같다.

(2)그래프 G의 인접행렬 A( G)에 대하여 다음이 성립한다.

(ⅰ) G가 단순그래프이면 각 꼭지점 x1, x2, …, xn에 대하여 d( xi) = ( A( G)2의 ( i, i)- 성분)

(ⅱ) G에 고리가 없으면 ( G의 삼각형의 개수) = 1

3! tr( A( G)3) (3)위수 n인 그래프 G에 대하여

G : 연결그래프

⇔ (A(G) +In)n - 1> O( ⇔ (A(G) + In)n - 1의 모든 성분이 > 0이다.)

(6)

정 리 15 (인접행렬과 유향경로) 유향그래프 D에 대하여 다음이 성립한다.

(1) A(D)k의 (i, j)-성분은 길이 k인 ( i, j)-경로의 개수와 같다.

(2) D의 위수가 n일 때

D : 강연결그래프 ⇔ (A(G) + In)n - 1> O

NOTE (그래프의 인접행렬의 성질)

(1) A( G)는 대칭행렬이고 각 성분은 음이 아닌 정수이다.

(2) A( G)의 흔적 tr(A( G))는 G의 고리의 개수이다.

(3) A( G)의 제 i 행(또는 제 i 열)의 성분의 합은 꼭지점 xi의 차수이다.

(4)그래프 G가 이분그래프일 때 꼭지점의 집합 V의 이분할을 X = {x1, x2, …, xm}, Y = {y1, y2, …, yn} 이라 하면 A(G)의 모양은 다음과 같다.

A( G)

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳ 0 … 0

⋯ ⋯ A1

0 … 0

0 … 0

At1 ⋯ ⋯

0 … 0 x1

xm y1

yn

x1 … xm y1 … yn

=

정 의 17

(1)토너먼트 =완전그래프의 각 변에 방향을 준 유향그래프(즉 유향 완전 그래프)

(2)토너먼트의 꼭지점 x에서 y로 가는 유향변이 있을 때 y를 x의 직접후위, x에서 y로의 길이 2인 경로가 있을 때 y를 x의 간접 후위,

y가 x의 직접후위 혹은 간접후위일 때 후위라고 한다.

(3)토너먼트에서 모든 꼭지점을 후위로 가지는 꼭지점을 강한 꼭지점이 라 한다.

3. 점화식과 생성함수

3.1. 알고리즘과 점화식

도 입

어떤 문제를 해결하기 위한 계획을 프로그램(program)이라고 한다

특히 컴퓨터로 어떤 문제를 풀기 위한 프로그램을 작성할 때는 주어진 문 제를 충분히 이해하고 분석하여 문제 해결의 순서를 구성하여야 한다. 이 와 같은 문제해결의 처리순서를 알고리즘(algorithm)이라고 한다.

알고리즘은 다음과 같이 구성되어야 한다.

1. 유한 회의 과정을 통하여 답을 얻을 수 있어야 한다.

2. 단계가 분명하게 정의되어 있어야 한다.

3. 유한 회의 과정 안에 끝나야 한다.

4. 한 단계가 끝나면 다음 단계가 명확해야 한다.

알고리즘의 효율성 또는 실행 가능성을 판단하는 주된 기준은 그 알고리즘 을 실행하는데 소요되는 시간이다. 따라서 알고리즘을 구성할 때는 수행 소요시간 즉 계산 회수를 가급적 최소화하는 방안을 강구해야 한다.

정 의 18 (선형동차점화식의 일반해)

(1) k ∈ℕ, 수열 a0, a1, a2, … 과 수량 c1, c2, …, ck, n에 관한 식 b( n)에 대하여

an= c1an - 1+ c2an - 2+ … + ckan - k+ b( n) …①, ( n ≥ k) 를 {an}의 점화식(recurrence relation),

(2)(ⅰ) c1, c2, …, ck : 상수

⇔ ① : 선형점화식(linear recurrence relation), (ⅱ) an = c1an - 1+ c2an - 2+ … + ckan - k…② (즉 ①에서 b(n) = 0일 때)

: 선형동차점화식(linear homogeneous recurrence relation),

(3)방정식 xk- c1xk - 1- c2xk - 2- … - ck - 1x -ck= 0, (단, ck= 0) / 을 ②의 특성방정식이라 하고 특성방정식의 근을 특성근이라 한다. ck

/

= 0이므로 특성근은 0이 아니다.

정 리 16

(1)선형동차점화식의 특성방정식이 k개의 서로 다른 근 λ1,…,λk를 가질 때 이 수열의 일반항은

an = α1λn1+ … + αkλnk 꼴로 나타낼 수 있다.

(2)선형동차점화식의 특성방정식의 t개의 서로 다른 근

λ1, λ2, …, λt를 갖고 모든 특성근 λi가 pi중근( i = 1, 2, …, t)이라고 할 때, 일반항은

ti = 1ni, nλni, …, n pi- 1λni} 의 일차결합으로 나타낼 수 있다.

정 리 17 (선형비동차점화식의 일반해)

c1, c2, …, ck는 상수이고 b(n) /= 0인 선형점화식

an= c1an - 1+ c2an - 2+ … + ckan - k+ b( n) …① 대하여 이 점화식의 선형동차점화식부분

an= c1an - 1+ c2an - 2+ … + ckan - k 을 부속동차점화식이라고 한다.

①의 한 특수해를 p( n),

(즉 p(n) = c1p(n - 1) + c2p(n - 2) + … + ckp( n - k) + b( n)) 부속동차점화식의 일반해를 g( n),

(즉 g( n) = c1g( n - 1) + c2g( n - 2) + … + ckg( n - k)) 이라 하고, g(n) +p(n) = F( n)으로 두면

c1F(n - 1) + c2F(n - 2) + … + ckF(n - k) + b( n)

= c1(g( n - 1) + p( n - 1)) + c2( g(n - 2) + p( n - 2)) +

… + ck(g ( n - k) + p( n - k)) + b( n)

= ( c1g(n - 1) + c2g(n - 2) + … + ckg( n - k))

+ ( c1p( n - 1) + c2p( n - 2) + … + ckp( n - k) + b( n))

= g( n) + p( n) = F( n)

이므로 F(n)은 ①의 일반해이다.

그러므로 비동차선형점화식 ①의 일반해는 다음과 같이 구할 수 있다.

(1) 부속동차점화식의 일반해 g(n)을 구한다.

(2) 비동차점화식의 특수해 p(n)을 구한다.

(3) g( n), p( n)을 결합하여 비동차점화식의 일반해를 구한다.

3.2. 생성함수(generating function)

정 의 19

수열 a0, a1, a2, …에 대하여 g( x) = a0+ a1x + a2x2+ …을 이 수열의 생성함수라고 한다.

(7)

4. 게임이론과 최적화 문제

4.1. 의사결정과정

4.1.1. 게임이론 도 입

갑, 을 두 사람이 하는 다음과 같은 게임을 생각해 보자.

갑, 을은 각각 회전판을 1개씩 가지고 있다. 갑의 원판은 3개의 영역으로 을의 원판은 4개의 영역으로 나뉘어져 있고 각각의 영역에 아래 그림과 같이 번호가 붙어있다.

1 3

1 3 1

6 1

2 1

3

1

4 1

4

1 6 2

3 4

을의 원판 갑의 원판

1 2

갑과 을은 회전하는 자신의 원판에 화살을 쏘는데 화살이 맞힌 영역에 적힌 숫자를 각각의 조치라고 하자. 갑은 3개, 을은 4개의 가능한 조치를 가지고 있다. 각각의 경기자가 취한 조치에 따라 을이 갑에게 아래 행렬에 의하여 돈을 지불한다는 것이 이게임이다.

갑 1 2 3 4

1 3 5 - 2 - 1

2 - 2 4 - 3 - 4

3 6 -5 0 3

예를 들면 갑, 을이 화살로 맞힌 영역이 각각 1번, 2번이라면 을은 갑에게 5만원을 지불하고 그 영역이 각각 2번, 4번이라면 을은 갑에게

- 4 만을 지불, 즉 갑으로부터 4만원을 받는다는 것이다. 이 표의 양의 성분은 갑의 성과이며 을의 손실이고 음의 성분은 을의 성 과이며 갑의 손실에 해당된다.

제로섬 게임(zero sum game)

갑, 을 두 사람이 하는 위의 게임의 각 단계에서 갑의 성과는 을의 손실 과 같으므로 두 사람의 성과의 합은 0이다. 이와 같은 게임을 제로섬 게임(2-person zero sum game)이라고 한다.

갑은 m개, 을은 n개의 가능한 조치를 가지고 있는 2인 영화게임에서 갑, 을은 각각 매번 가능한 조치 중 하나를 취할 수 있다. i = 1, 2, …,

m, j = 1, 2, …, n에 대하여 갑이 조치 i를 을이 조치 j를 취했을 경우, 갑이 을로부터 받게되는 성과를 aij로 둘 때, m × n행렬

A = ( aij)를 이 게임의 성과행렬(payoff matrix)이라고 한다. 2인 게임에서 갑, 을 두 사람이 각각 취하는 조치는 확률에 의한다. 이를테면 앞의 원판게임에서 갑이 조치 2를 취할 확률을 13 , 을이 조치 2를 취할

확률은 1

4 이다. 일반적으로 갑이 조치 i를 취할 확률을 pi( i = 1, 2,

…, m), 을이 조치 j를 취할 확률을 qj( j =1, 2, …, n)라고 하면 p1+ p2+ … + pm= 1, q1+ q2+ … + qn= 1 이 성립한다.

이들 확률 pi, qj로 부터 얻어지는 다음 두 개의 벡터

p = ꀌ

︳︳

︳︳

︳︳

︳︳

︳ ꀍ

︳︳

︳︳

︳︳

︳︳

p1 p2

pm

, q = ꀌ

︳︳

︳︳

︳︳

︳︳

︳ ꀍ

︳︳

︳︳

︳︳

︳︳

q1 q2

qn

를 구성할 수 있다. 이들 벡터 p, q를 각각 갑과 을의 전략이라고 한다. 이를테면 앞의 원판게임에서 갑과 을의 전략은 각각

p = ( 1/6 , 1/3, 1/2)t, q = ( 1/4, 1/4, 1/3, 1/6)t 이다.

이 원판게임에서는 갑이 조치 i를 취하는 것과 을이 조치 j를 취하는 것이 서로 독립적이므로 갑이 조치 i를 취할 확률이 pi이고 을이 조치

j를 취할 확률이 qj라면 게임의 각 단계에서 갑이 조치 i를 취하고 을이 조치 j를 취할 확률은 piqj이다. 따라서 그와 같은 조치들의 쌍 ( i, j)에 대응되는 갑의 성과가 aij일 확률이다. 성과와 그에 대응되는 확률을 곱한 뒤 모든 가능한 성과에 대하여 더하면 ∑m

i = 1n

j = 1aijpiqj = ptA q 를 얻는다. 이 식은 갑의 성과에 대한 기대값으로 간단히 갑의 기대성과라 하고 E( p, q)로 나타낸다.

이 때 을의 기대성과는 당연히 -E( p, q)이다.

정 의 20 (최선의 기대값)

제로섬 게임에서 갑의 전략 p*와 을의 전략 q*가 갑, 을의 임의의 전략 p, q에 대하여

E( p*, q ) ≥ E( p*, q*) ≥ E( p , q*) …① 을 만족할 때 E( p*, q*) 는 갑이 기대할 수 있는 최선의 값인 동시 에 을이 기대할 수 있는 최선의 값이다. 부등식 ①을 만족하는 갑, 을의 전략 p*, q*를 각각 갑과 을의 최적 전략(optimal strategy)이라 하고 기대값 ν = E( p*, q*)를 게임의 값(value)이라고 한다.

강 결정게임

행렬 A의 성분 ars가 r행의 성분 중 가장 작고 s열의 성분 중 가장 클 때, 이 성분 ars를 A의 안장점(saddle point)이라고한다.

이를테면 다음 행렬 ꀌ

︳︳

ꀍ ꀙ

︳︳

︳ 3 - 5 0

4 9 7

- 1 6 - 3

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳

︳︳ 0 - 3 5 0 2 - 8 - 2 10 7 10 6 9 6 11 - 3 2

의 안장점은 각각 (2, 1) -성분, (3, 3) -성분이다.

성과행렬이 안장점을 가지고 있는 게임을 강결정게임(strictly determined games)이라고 한다.

ars가 안장점일 때 p*= er, q*= es 를 갑, 을의 전략이라고 하자. 단 er, es는 각각 단위행렬 Im, In의 제 r열, 제 s열이다.

이 때 E( p*, q*) = ars 이고

임의의 을의 전략 q에 대하여 E( p*, q ) = p* tA q ≥ ars, 임의의 갑의 전략 p에 대하여 E( p, q*) = ptA q* ≤ ars

이므로 임의의 갑의 전략 p와 임의의 을의 전략 q에 대하여 E( p*, q ) ≥ E( p*, q*) ≥ E( p , q*)가 성립한다. 그러므로

p*, q*는 각각 갑, 을의 최적 전략이다.

(8)

정 리 18 (1)최소, 최대정리

임의의 m × n행렬 A에 대하여 다음 등식이 성립한다.

max xmin y xtA y = min ymax x xtA y (2)안장점의 존재조건

행렬 A를 성과행렬로 가지는 게임이 안장점을 가질

필요충분조건은 max xmin y xtA y = min ymax x xtA y 이 성립할 것이다.

(3)성과 행렬이 A =

(

a bc d

)

이 강 결정이 아닌 게임에서

Δ = a + d - b - c 라고 할 때 갑, 을의 최적 전략은 각각 x0= 1

Δ

(

d - ca - b

)

, y0= 1

Δ

(

d - ba - c

)

이고 게임의 값은 ( a d - bc) / Δ이다.

4.1.2. 선거 이론 NOTE

1. 여러 가지 선거

(1)1위를 가장 많이 차지한 후보가 당선된다.

(2)1위를 차지한 득표수가 전체 투표수의 절반이 넘는 후보가 당선된다.

(3)각 투표지에서 1위를 차지한 후보에게는 4점, 2위에게는 3점, 3위에게는 2점, 4위에게는 1점을 주고 모든 투표지의 점수를 합하여 각 후보가 얻은 점수를 구하고 이 점수가 가장 높은 후보가 당선된다.

(4)1위를 가장 적게 차지한 후보를 제외한 후 남은 후보의 1위표 수를 다시 계산하고, 또 여기서 1위를 가장 적게 차지한 후보를 제외한다. 이와 같이 1위를 가장 적게 차지한 후보를 차례로 제외하여 마지막에 남은 후보가 당선된다.

(5)두 후보의 선호도를 비교하여 우세한 후보에게는 1점, 열세한

후보에게는 0점, 비겼을 때에는 두 후보에게 0.5점을 준다. 이런 방법으로 각 후보가 얻은 점수의 합을 구하여 그 합이 가장 높은 후보가 당선된다.

2. 투표 권한이 다른 경우의 선거

(1)각 투표자가 투표에 미치는 영향력은 투표자의 투표 권한과 비례하지는 않는다.

(2)경우에 따라 투표에 전혀 영향을 주지 않는 투표자도 있을 수 있고, 한 투표자에 의해 모든 결정이 이루어질 수도 있다.

4.1.3. 공평한 분배 NOTE

1. 여러 조각으로 나눌 수 있는 경우의 분배 (케이크 나누기) (1)두 사람 A, B가 나누는 방법

①먼저 A가 케이크를 두 조각으로 나눈다.

② B는 A가 나눈 두 조각 중 한 조각을 선택하고, A는 남은 한 조각 을 갖는다.

(2)세 사람 A, B, C가 나누는 방법

①먼저 A가 케이크를 세 조각으로 나눈다.

② B, C는 각각 세 조각 중 13 이상이라고 생각하는 조각을 모두 적는다.

③ B, C가 적은 조각을 보고

⋅서로 다른 조각이 있으면 B, C가 적은 조각을 서로 다르게 B, C에게 하나씩 주고 남은 조각을 A에게 준다.

⋅같은 조각을 하나만 적은 경우에는 나머지 두 조각 중 한 조각을 A 가 선택하고 남은 한 조각과 B, C가 적어낸 조각을 합쳐서 한 덩이로 만들어 (1)의 방법으로 두 사람 B, C에게 나누어 준다.

2. 여러 조각으로 나눌 수 없는 경우의 분배(상속 문제)

상속받은 재산을 팔지 않고 상속자 모두가 만족하도록 분배하는 방법

①상속자 각자가 생각하는 재산의 가치를 적어 내고 각자의 몫을 구한다.

②상속되는 재산은 그 재산의 가치를 가장 높게 평가한 사람에게 우선 배정하고 자기의 몫과 받은 재산의 차액을 현금으로 지불한다.

③지불할 금액이 양인 사람이 지불하는 돈으로 지불할 금액이 음인 사람에게 그 몫을 채워주고 남은 금액은 균등하게 나누어 준다.

4.2. 최적화 문제

4.2.1. 상자채우기

4.2.2. 배낭꾸리기 NOTE

(1)주어진 n-벡터 a = (a1, a2, …, an)t와 실수 b에 대하여 등식 at x = b 를 만족하는 ( 0, 1)-벡터 x = ( x1, x2, …, xn)t이 존재하는가?

4.2.3. 그래프와 최적화

참조

관련 문서

– 탐욕적인 방법은 항상 최적의 해답을 주는지 검증 필요 – Kruskal MST 알고리즘은 최적의 해답임이 증명됨..

[r]

두 직사각형 이 닮은 도형이 되려면 가로의 길이와 세로의 길이가 같은 비율로 축소되거나 확대되어야 한다..

그런데 두 삼각형 ABC, AQC의 모양의 토지는 밑변이 AC”로 공통이고

따라서 주어진 세 조건을 모두 만족시키는 포물선을 그래프 로 하는 이차함수의 식은 ③이다... 무한소수

그런데 두 삼각형 ABC, AQC의 모양의 토지는 밑변이 AC”로 공통이고

두 쌍의 대각의 크기가 각각 같은

[r]