Xem Nhiều 3/2023 #️ Độ Phức Tạp Tính Toán # Top 7 Trend | Caffebenevietnam.com

Xem Nhiều 3/2023 # Độ Phức Tạp Tính Toán # Top 7 Trend

Cập nhật thông tin chi tiết về Độ Phức Tạp Tính Toán mới nhất trên website Caffebenevietnam.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.

Nguồn bài: Topcoder

…đọc phần 1

Giới thiệu

Trong phần này của bài viết chúng ta sẽ tập trung vào việc ước lượng độ phức tạp cho các chương trình đệ quy. Về mặt bản chất việc này sẽ dẫn tới khảo sát độ tăng của các hàm độ phức tạp thời gian thỏa mãn các công thức truy hồi. Nếu bạn chưa hiểu chính xác thế nào là một thuật giải đệ quy thì không cần lo lắng vì nó sẽ được giải thích trong các phần sau. Trước mắt chúng ta sẽ xem xét trường hợp đơn giản hơn – các chương trình không sử dụng đệ quy.

Vòng lặp lồng nhau

Để mở đầu, ta xét các chương trình đơn giản không sử dụng các lời gọi đệ quy. Với các chương trình như vậy, ba quy tắc phổ biến dễ áp dụng để tìm cận trên của độ phức tạp là:

Tính số lần lặp tối đa của một vòng lặp

Nếu các vòng lặp nối tiếp nhau thì cộng các cận đó với nhau

Nếu các vòng lặp lồng nhau thì nhân các cận với nhau

Ví dụ 1

Ước lượng độ phức tạp của đoạn mã sau:

int

result

=

0

;

// 1

for

(

int

i

=

0

;

i

<

N

;

i

++

)

// 2

for

(

int

j

=

i

;

j

<

N

;

j

++

)

{

// 3

for

(

int

k

=

0

;

k

<

M

;

k

++

)

{

// 4

int

x

=

0

;

// 5

while

(

x

<

N

)

{

result

++

;

x

+=

3

;

}

// 6

}

// 7

for

(

int

k

=

0

;

k

<

2

*

M

;

k

++

)

// 8

if

(

k

%

7

==

4

)

result

++

;

// 9

}

// 10

Rõ ràng độ phức tạp của vòng lặp while ở dòng 6 là $O(N)$ – số lần lặp không vượt quá $N/3+1$ lần.

Xét vòng lặp for ở các dòng 4 – 7. Dễ thấy biến $k$ được tăng lên $M$ lần. Mỗi lần như vậy thì toàn bộ vòng lặp while ở dòng 6 lại được thực thi. Như vậy tổng số độ phức tạp của đoạn lệnh từ dòng 4 tới 7 là $O(MN)$ (áp dụng quy tắc 3)

Độ phức tạp của vòng for ở các dòng 8 – 9 là $O(M)$. Như vậy tổng độ phức tạp của dòng từ 4 tới 9 là $O(MN + M) = O(MN)$ (áp dụng quy tắc 2 và loại đại lượng không đáng kể)

Toàn bộ phần mã bên trong này được thực thi $O(N^2)$ lần – mỗi lần tương ứng với một tổ hợp của biến $i$ và $j$ (dòng 2 và 3) (chú ý là chỉ có $N(N + 1)/2$ giá trị khác nhau cho bộ số $[i,j]$. Mặc dù vậy $O(N^2)$ vẫn là cận trên đúng).

Từ nhận xét trên ta có tổng độ phức tạp của thuật toán trong Ví dụ 1 là $O(N^2 MN) = O(MN^3)$.

Từ ví dụ trên người đọc đã có khả năng phân tích độ phức tạp của các phần mã đơn giản sử dụng phương pháp như đã trình bày. Chúng ta sẽ đi tới xem xét các chương trình có sử dụng đệ quy (tức là một hàm số mà trong thân hàm của nó sẽ gọi tới chính nó với tham số khác) và phân tích ảnh hưởng của những lời gọi đệ quy này tới độ phức tạp của chúng.

Sử dụng đệ quy để sinh các cấu hình tổ hợp

Một ứng dụng phổ biến của đệ quy là cài đặt thuật toán quay lui để sinh ra tất cả các nghiệm của một bài toán. Ý tưởng chung là đào sâu vào từng nhánh nghiệm đến khi nhánh nghiệm này được thử hết thì quay lại bước trước đó để thử các nhánh nghiệm khác.

Cách tiếp cận này không phải lúc nào cũng áp dụng được, có những bài toán mà ta không thể sinh ra tất cả các nghiệm để thử từng nghiệm một như vậy. Tuy nhiên, trường hợp thường xảy ra là tập nghiệm của một bài toán trùng với một loại cấu hình tổ hợp nào đó. Thông thường đó là tập các hoán vị (với số phần tử cho trước), nhưng đôi lúc cũng có thể là các cấu hình khác (tổ hợp, số cách phân chia một tập hợp, …)

Lưu ý là ta luôn luôn có thể sinh ra tất cả các chuỗi của 0 và 1, kiểm tra từng chuỗi một (kiểm tra xem chuỗi đó có tương ứng với một nghiệm hợp lệ hay không) và lưu lại nghiệm tốt nhất. Nếu ta có thể tìm một cận trên của kích cỡ nghiệm tốt nhất, số nghiệm phải kiểm tra là hữu hạn. Tuy nhiên cách làm này không đủ nhanh và không nên dùng nó nếu có cách làm khác.

Ví dụ 2

Một thuật toán quay lui đơn giản để sinh ra tất cả các hoán vị của các số tự nhiên từ 0 tới $N-1$

void

try

(

int

which

,

int

what

)

{

// try taking the number “what” as the “which”-th element

permutation

[

which

]

=

what

;

used

[

what

]

=

1

;

if

(

which

==

N

1

)

outputPermutation

();

else

// try all possibilities for the next element

for

(

int

next

=

0

;

next

<

N

;

next

++

)

if

(

!

used

[

next

])

try

(

which

+

1

,

next

);

used

[

what

]

=

0

;

}

int

main

()

{

// try all possibilities for the first element

for

(

int

first

=

0

;

first

<

N

;

first

++

)

try

(

0

,

first

);

}

Trong trường hợp này, dễ thấy cận dưới chính là số lượng nghiệm khả dĩ của bài toán. Thuật toán quay lui thường được sử dụng để giải các bài toán khó – khi ta không tìm được thuật toán nào tối ưu hơn. Thường thì không gian nghiệm khá lớn và phân bố đồng đều, thuật toán có thể được cài đặt sao cho độ phức tạp gần với đánh giá cận dưới. Để tìm cận trên ta chỉ việc cộng thêm số lượng phép tính cần thiết trong thực tế.

Tuy vậy cách làm này thường là không khả thi do nó phải khảo sát một số lượng lớn các nghiệm – thường là hàm mũ hoặc lớn hơn thế.

Chia để trị sử dụng đệ quy

Từ ví dụ 2 chúng ta có thể nhầm tưởng rằng đệ quy chạy không hiệu quả và làm cho tốc độ thực thi rất chậm. Không phải lúc nào điều này cũng đúng. Ngược lại, đệ quy có thể là một công cụ rất mạnh để thiết kế những thuật toán hiệu quả. Cách thông thường để thiết kệ một giải thuật đệ quy hiệu quả là áp dụng tư tưởng Chia để Trị – chia bài toán thành nhiều phần, xử lý các phần nhỏ tách biệt nhau và cuối cùng ghép các kết quả con lại để được kết quả cho bài toán lớn. Dễ thấy rằng, phần “xử lý các phần nhỏ tách biệt nhau” thường được cài đặt bằng đệ quy – tiếp tục chia phần nhỏ thành phần nhỏ hơn cho tới khi đủ nhỏ để giải trực tiếp bằng các thuật toán đơn giản.

Ví dụ 3

Mã giả mô tả thuật toán sắp xếp trộn MergeSort

MergeSort(mảng S) { if (số phần tử của S <= 1) return S; chia đôi S thành hai mảng con S1 và S2 với số phần tử gần bằng nhau; MergeSort(S1); MergeSort(S2); trộn S1 và S2 đã sắp xếp để thu được S mới đã sắp xếp; return S mới; }

Ta thấy là chỉ cần $O(N)$ (hoặc $O(1)$, tùy vào cách cài đặt) để chia một mảng $N$ phần tử thành hai mảng con. Trộn hai mảng con ngắn hơn đã sắp xếp này có thể làm trong $ Theta(N)$: khởi tạo mảng $S$ rỗng. Tại mỗi bước phần tử nhỏ nhất mà chưa có trong $S$ là phần tử đầu của $S1$ hoặc $S2$. Lấy phần tử này cho vào cuối của $S$ và cứ thế tiếp tục.

Như vậy tổng độ phức tạp cần để $MergeSort$ một mảng với $N$ phần tử là $Theta(N)$ cộng với thời gian thực hiện hai lệnh gọi đệ quy.

Gọi $f(N)$ là độ phức tạp của thuật toán MergeSort ở trên. Theo suy luận ở trên ta có:

$$ f(N) = f(lfloor N/2 rfloor) + f(lceil N/2 rceil) + p(N) $$

Với $p$ là hàm tuyến tính biểu thị tổng chi phí tính toán dành cho việc chia đôi mảng ban đầu và trộn hai mảng con vào kết quả cuối.

Công thức trên được gọi là công thức truy hồi. Nếu bạn không biết thuật ngữ này thì cũng không cần lo lắng. Từ “truy hồi” (recurrence) trong tiếng Latin có nghĩa là “chạy về phía sau”. Vì vậy “công thức truy hồi” có nghĩa là giá trị của hàm $f$ được tính theo giá trị trước đó (đầu vào nhỏ hơn) của $f$.

Để định nghĩa hoàn chỉnh một công thức truy hồi, ta cần chỉ ra giá trị của một vài trường hợp khởi tạo cơ bản – trong trường hợp này là $f(1)$. Các giá trị này (và hàm $p$) sẽ cho phép ta tính toán chính xác giá trị của hàm $f$.

Tuy nhiên, như ta đã thấy ở phần 1, giá trị chính xác của hàm $f$ không phải là mục tiêu cần tính. Mặc dù về mặt lý thuyết ta có thể tính cụ thể biểu thức của hàm $f(N)$ theo dạng đóng, biểu thức đó có thể rất phức tạp và không thật sự cần thiết. Trong thực tế, ta chỉ quan tâm tới đánh giá $Theta$ (hoặc cận trên $O-lớn$) của độ tăng của hàm $f$. Thông thường các đánh giá này có thể tính được một cách khá thuận lợi nếu ta nắm được các phương pháp tính thông dụng.

Vì lý do trên, ta sẽ không cần tới dạng chính xác của hàm $p$ mà chỉ cần biết rằng $p(N) = Theta(N)$. Thêm vào đó, ta không cần giá trị khởi tạo của $p$. Ta chỉ cần biết rằng với $N$ nhỏ thì giá trị của $p$ sẽ dễ dàng tính được với độ phức tạp là hằng số.

Lý do đằng sau việc đơn giản hóa $p$ như trên là do một nhận xét: việc thay đổi các giá trị khởi tạo chỉ thay đổi nghiệm của công thức truy hồi chứ không thay đổi cận trên tiệm cận của hàm số. (Bạn có thể thử bằng cách tìm một hàm $p$ bất kỳ và tính $f(8)$, $f(16)$ và $f(32)$ với các giá trị $f(1)$ khác nhau).

Bên cạnh đó, vì đây chỉ là bài viết mang tính giới thiệu nên chúng ta sẽ không bàn đến các lý thuyết để xử lý các phép lấy phần nguyên, làm tròn lên và làm tròn xuống. Ta sẽ đơn giản bỏ qua các phép toán đó (ví dụ ta sẽ coi các phép chia luôn là chia lấy nguyên và làm tròn xuống).

Các bạn có kỹ năng toán tốt nên thử tự chứng minh mệnh đề sau đây: nếu $p$ là hàm đa thức (với $N$ không âm) và $q(n) = p(n+1)$ thì $q(n) = Theta(p(n))$. Mệnh đề trên cho phép ta chứng minh (với $f$ bị chặn trên bởi một hàm đa thức) rằng vế phải của công thức truy hồi có độ tăng tiệm cận không thay đổi khi ta thay phép làm tròn xuống bởi phép làm tròn lên.

Nhận định trên cho phép ta viết lại công thức truy hồi ở trên theo cách đơn giản hơn:

$$ f(N) = 2f(N/2) + Theta(N) spacespacespace(1) $$

Lưu ý rằng đây không phải là một “phương trình” theo nghĩa truyền thống. Ở phần 1 ta đã thấy rằng dấu bằng ở đây có nghĩa là “tiệm cận bằng”. Thông thường có rất nhiều hàm số khác nhau thỏa mãn phương trình trên. Tuy nhiên tất cả các hàm số đó sẽ có cùng độ tăng – và đây chính là điều mà ta hướng tới. Tổng quát hơn, ta muốn tìm cận trên nhỏ nhất của độ tăng của tất cả các hàm số thỏa mãn phương trình trên.

Trong các phần cuối cùng của bài viết này, ta sẽ bàn luận một vài phương pháp giải các “phương trình” trên. Tuy nhiên trước đó ta sẽ tìm hiểu thêm một chút về các hàm logarit.

Lưu ý về hàm logarit

Tới đây bạn có thể đặt câu hỏi: tác giả viết một vài thuật toán có độ phức tạp là hàm logarit ví dụ $O(NlogN)$, vậy cơ số của hàm logarit này là bao nhiêu? Tại sao ta không sử dụng cơ số 2 để có $O(Nlog_2N)$?

Câu trả lời: cơ số của hàm logarit không quan trọng, tất cả cac hàm logarit (với cơ số lớn hơn 1) đều tiệm cận bằng nhau. Lý do là hai hàm logarit khác nhau tỷ lệ với nhau:

$$ log_aN = frac{log_bN}{log_ba} spacespacespace(2) $$

Nhằm mục đích viết rõ ràng và dễ đọc, ta luôn sử dụng ký hiệu chung $logN$ bên trong hàm $O-lớn$, kể cả khi các hàm logarit khác nhau được sử dụng khi tính cận của độ phức tạp.

Bên cạnh đó, ý nghĩa của cách viết $logN$ khác nhau giữa các quốc gia khác nhau. Để tránh nhầm lẫn ta quy ước như sau: $logN$ để chỉ cơ số $10$, $lnN$ để chỉ cơ số tự nhiên, $lgN$ cho cơ số $2$ và $log_bN$ cho các trường hợp chung khác.

Từ (2) ta có:

$$ log_ab = frac{log_bb}{log_ba} = frac{1}{log_ba} $$

Sử dụng tính chất trên để biến đổi $a^{log_bN}$ ta được: $a^{log_bN} = a^{log_aN/log_ab} = (a^{log_aN})^{1/log_ab} = N^{log_ba} spacespacespace(3)$

Phương pháp Thay Thế

Phương pháp này có thể được tổng kết trong một câu: dự đoán cận trên (tiệm cận) của $f$ và (cố gắng) chứng minh bằng quy nạp.

Để minh họa, ta sẽ chứng minh rằng hàm $f$ thỏa mãn phương trình (1) là $O(NlogN)$ Từ (1) ta có:

$$ forall N; f(N) leq 2f(N/2) + cN $$

với một hằng số $c$ nào đó. Ta sẽ chứng minh rằng tồn tại một hằng số $d$ đủ lớn nào đó mà với mọi $N$ lớn ta có $f (N) leq dN lg N$. Ta sẽ chứng minh bằng quy nạp.

Giả sử $f (N/2) leq d (N/2)lg(N/2)$. Ta có:

Để hoàn thiện ta cần chứng minh rằng bất đẳng thức trên đúng với một vài giá trị đầu tiên của $N$. Phép chứng minh khá phức tạp. Ý tưởng chính là nếu giá trị $d$ ta tìm được chưa đủ lớn, ta luôn có thể tăng $d$ sao cho các trường hợp đầu tiên của $N$ thỏa mãn bất đẳng thức.

Lưu ý rằng trong ví dụ trên ta không thể chứng minh khi $N = 1$ với vì $lg1 = 0$. Tuy nhiên, điều này không ảnh hưởng tới tính đúng đắn của phép chứng minh trên. Kết luận: từ (1) ta có $f (N) = O(N lg N)$.

Phương pháp Cây Đệ Quy

Với một người mới bắt đầu thì phương pháp trên không hữu dụng lắm. Để sử dụng phương pháp Thay Thế ta cần phải có một dự đoán tốt về cận trên của độ phức tạp, và để có dự đoán tốt đó ta cần có một vài thông tin, hiểu biết về hàm độ phức tạp trước. Câu hỏi là, làm thế nào để thu thập các hiểu biết này? Trước tiên ta sẽ xem xét kỹ hơn về cơ chế chạy đệ quy của nó của hàm số trên (bằng việc chạy thử từng bước đệ quy của nó).

Ta có thể biểu diễn các bước thực thi của một chương trình đệ quy trên một bộ đầu vào cho trước bằng một cây có gốc xác định. Mỗi đỉnh trên cây sẽ tương ứng với một bài toán con mà chương trình đang giải. Xét một đỉnh bất kỳ trên cây. Nếu giải bài toán thuộc đỉnh đó cần phải gọi đệ quy, đỉnh đó sẽ có các đỉnh con tương ứng với các bài toán nhỏ hơn nữa. Gốc của cây là bộ đầu vào, các lá tương ứng với các bài toán cơ bản có thể giải trực tiếp bằng các thuật toán thông thường (không đệ quy).

Giả sử ta đánh dấu mỗi đỉnh bằng một nhãn biểu thị độ phức tạp nội tại cần có trên đỉnh đó (không tính tới độ phức tạp của lệnh gọi đệ quy). Rõ ràng là độ phức tạp của bài toán gốc bằng tổng tất cả các nhãn của các đỉnh.

Tương tự như các phần trên, ta chỉ quan tâm tới cận trên tiệm cận. Để tìm giá trị này ta có thể “làm tròn” mỗi nhãn để việc tính tổng dễ dàng hơn. Ta minh họa cách làm trên bằng một vài ví dụ sau:

Ví dụ 4

Cây đệ quy cho thuật toán MergeSort ở Ví dụ 3 với 5 phần tử.

Cây đệ quy cho công thức truy hồi tương ứng của MergeSort. Số trong mỗi đỉnh biểu thị số bước mà thuật toán thực thi tại đỉnh đó.

Ví dụ 5

Cây đệ quy trong trường hợp xấu nhất của phương trình (1):

Một cách xử lý phổ biến trong toán tổ hợp là tính tổng các cấu hình theo thứ tự mới khác với thứ tự mà các tổ hợp được tạo ra. Trong trường hợp này ta tính tổng theo từng mức trên cây (các đỉnh có cùng độ sâu). Không khó để nhận ra rằng tổng độ phức tạp ở mỗi mức là $cN$.

Câu hỏi thứ hai là: cây trên có bao nhiêu mức? Rõ ràng là lớp lá tương ứng với trường hợp cơ bản của thuật toán. Chú ý là kích cỡ mảng cần xử lý giảm một nửa khi đi từ mức trên xuống mức dưới. Vì sau $lgN$ bước ta có bài toán cơ bản với mảng có $1$ phần tử, chiều cao của cây (tổng số mức) sẽ là $Theta(logN)$.

Từ hai nhận xét trên ta thu được kết quả cuối cùng: tổng độ phức tạp cần thực hiện là $ Theta(cN log N) = Theta(N log N)$.

Nếu bạn chưa hoàn toàn tin tưởng vào kết quả vừa thu được thì có thể áp dụng phương pháp Thay Thế ở trên để kiểm tra lại. Trong phần sau ta sẽ thấy là tồn tại những định lý cụ thể để có thể chứng minh chặt chẽ kết quả thu được ở trên.

Cây Đệ Quy mở rộng

Ví dụ 5 ở trên cho ta một câu hỏi: việc tổng độ phức tạp ở mỗi mức của cây bằng nhau có phải là trùng hợp hay không?

Trả lời: Không và Có. Không, vì một lý do đơn giản mà ta sẽ xem ở phần sau. Có, vì không phải lúc nào tổng các mức cũng bằng nhau như vậy – hai ví dụ sau đây sẽ minh họa cho điều đó.

Ví dụ 6

Ta thử áp dụng phương pháp Cây Đệ Quy để giải cho phương trình sau: $f(N) = 3f(N/2) + Theta(N^3)$

Cây đệ quy sẽ có dạng sau:

Thử tính toán độ phức tạp tại vài mức đầu tiên, ta có:

level 1 2 3 …

work $cN$ $ {3over 8}cN^3 $ $ {3^2 over 8^2}cN^3 $ …

Rõ ràng là ta càng đi sâu xuống cây thì tổng độ phức tạp càng giảm. Vậy tốc độ giảm là bao nhiêu? Khi ta đi xuống một mức thì sẽ phải giải số bài toán con gấp ba lần số bài toán ở mức hiện tại. Tuy nhiên, vì mỗi bài toán con chỉ phải giải có kích cỡ giảm một nửa, nên thời gian cần để giải bài toán con giảm còn bằng $1 over 8$ bài toán cha. Như vậy tổng độ phức tạp giảm theo hệ số $3 over 8$.

Điều này có nghĩa là toàn bộ bảng số ở trên sẽ hình thành một dãy cấp số nhân. Giả sử rằng dãy cấp số nhân đó tăng tới vô cùng. Tổng của dãy sẽ là:

$$ S = frac{cN^3}{1 – frac{3}{8}} = frac{8}{5}cN^3 = Theta(N^3) $$

Như vậy tổng độ phức tạp trên cây đệ quy là $O(N^3)$ (tổng tới vô cùng cho ta cận trên). Ta cũng thấy là ngay phần từ đầu tiên của dãy cấp số nhân đã là $ Theta(N^3)$. Vậy ta kết luận tổng độ phức tạp của cây đệ quy trên là $ Theta(N^3)$.

Một nguyên lý tổng quát quan trọng ta có thể rút ra từ ví dụ này là: nếu tổng độ phức tạp của các mức của cây tạo nên một dãy cấp số nhân giảm, thì tổng độ phức tạp trên cả cây sẽ tiệm cận bằng với độ phức tạp ở gốc của cây.

Từ kết quả trên ta có một nhận xét quan trọng về thuật toán đệ quy biểu diễn bằng công thức truy hồi có tính chất trên: lệnh gọi đệ quy giải bài toán con không tốn thời gian thực thi bằng việc chuẩn bị lời gọi và xử lý sau lời gọi đệ quy. (Nói cách khác, nếu ta cần cải tiến thuật toán thì phải tập trung tối hưu hóa hai việc đó).

Ví dụ 7

Giờ chúng ta cùng thử áp dụng phương pháp Cây Đệ Quy để giải phương trình sau: $f(N) = 5f(N/3) + Theta(N)$ Cây đệ quy sẽ có dạng sau

Như trên, thử tính số lệnh cần thực thi ở vài mức đầu tiên. Ta có:

level 1 2 3 …

work $cN$ ${5over 3}cN$ ${5^2 over 3^2}cN$ …

Ta có kết quả ngược với ví dụ 6: khi ta càng đi sâu xuống dưới thì tổng độ phức tạp lại càng tăng lên. Khi ta đi xuống một mức, sẽ có gấp $5$ lần số bài toán con, mỗi bài toán con sẽ có kích cỡ bằng $1 over 3$ bài toán cha. Vì thời gian xử lý là tuyến tính với kích cỡ bài toán nên ta có tổng độ phức tạp ở mức sau tăng gấp $5 over 3 $ mức trước.

Vẫn như trên ta hướng tới việc tính tổng độ phức tạp trên cả cây. Lần này việc tính toán sẽ khó hơn vì lượng công việc phải tính nằm ở mức sâu nhất. Ta cần biết độ sâu của cây.

Mức thấp nhất tương ứng bài toán kích cỡ bằng $1$. Tổng quát, kích cỡ bài toán con ở mức $k$ là $N over 3^k$. Giải phương trình $1 = N over 3^k$ ta được $k = log_3N$. Lưu ý là ở đây ta viết rõ chỉ cơ số của hàm logarit vì cơ số này quan trọng trong việc phản ánh cấu trúc cây.

Như vậy cây đệ quy có $log_3N$ mức. Mỗi mức có $5$ lần số đỉnh so với mức trên nó, nên mức cuối cùng có $5^{log_3N}$ đỉnh. Tổng độ phức tạp ở mức cuối tương ứng là $c5^{log_3N}$.

Sử dụng phương trình (3) ta viết lại giá trị này là $cN^{log_35}$.

Để tính tổng độ phức tạp trên toàn cây ta đảo ngược cây, tạo thành một dãy cấp số nhân giảm và như vậy ta có thể áp dụng cách tính ở trên. Xử lý tương tự ví dụ trước đó ta thu được tổng độ phức tạp là một giá trị tiệm cận bằng với phần tử lớn nhất trong dãy cấp số nhân.

Ta kết luận rằng tổng độ phức tạp của thuật toán biểu diễn bởi phương trình trên là xấp xỉ $Theta(N^{log_35}) approx Theta(N^{1.465}) $.

Lưu ý là cơ số 3 trong hàm logarit cho ta kết quả mũ chính xác, vì vậy cơ số này rất quan trọng. Nếu là cơ số khác thì giá trị tiệm cận cũng sẽ thay đổi.

Định lý Tổng Quát

Từ các ví dụ trên chúng ta đã thấy một quy luật giải các công thức truy hồi. Cho một công thức truy hồi, lập cây đệ quy tương ứng và tính tổng độ phức tạp trên mỗi mức. Kết quả thu được sẽ là một dãy cấp số nhân. Nếu đó là dãy giảm, tổng độ phức tạp trên toàn cây sẽ tỷ lệ với độ phức tạp của đỉnh gốc. Nếu là dãy tăng, tổng độ phức tạp sẽ tỷ lệ với tổng độ phức tạp ở các lá. Nếu là dãy không đổi thì tổng độ phức tạp sẽ là (độ phức tạp trên một mức) nhân với (chiều cao cây).

Trong thực tế sẽ có một vài trường hợp mà quy luật trên gặp khó khăn, tuy nhiên hầu hết sẽ chỉ có một trong ba trường hợp trên xảy ra. Thêm vào đó, ta có cơ sở để chứng minh quy luật trên một cách chặt chẽ. Cơ sở chính thống của quy luật trên được biết đến với cái tên Định lý Tổng Quát.

Để thuận tiện bài viết này sẽ trình bày đầy đủ về định lý này. (Lưu ý là ta không cần biết chứng minh của nó để có thể áp dụng vào giải công thức truy hồi).

$f(N) = af(N/b) + p(N)$ Ta có kết quả sau:

Nếu $p(N) = O(N^{(log_ba) – varepsilon})$ thì $f (N) = Theta(p(N)log N)$.

Trường hợp $1$ tương với Ví dụ 7. Hầu hết thời gian thực thi được dành cho việc gọi lệnh đệ quy và số lần gọi đệ quy là đáng kể.

Trường hợp $2$ tương ứng với Ví dụ 5. Thời gian dành cho việc gọi đệ quy xấp xỉ bằng thời gian để chuẩn bị cho lệnh gọi đệ quy và xử lý sau đó. Trên tất cả các mức của cây ta có độ phức tạp xấp xỉ bằng nhau, chiều cao cây luôn là một hàm logarit của kích cỡ tập đầu vào.

Trường hợp $3$ tương ứng với Ví dụ 6. Hầu hết thời gian thực thi được dành cho việc chuẩn bị để gọi lệnh đệ quy và xử lý kết quả sau đó. Thông thường thì tổng độ phức tạp sẽ tiệm cận bằng với thời gian thực thi ở đỉnh gốc của cây.

Lưu ý điều kiện thêm vào ở trường hợp $3$. Để trường hợp $3$ đúng ta cần có điều kiện của hàm $p$ phải thỏa mãn thời gian thực thi hàm $p$ lớn hơn tổng thời gian thực thi ở các đỉnh con cháu. Thật ra đây không phải là một vấn đề cần phải chú tâm quá nhiều bởi trong các kỳ thi các hàm $p$ mà bạn có thể gặp hầu như sẽ thỏa mãn điều kiện trên (nếu rơi vào trườn hợp $3$).

Ví dụ 8

Gọi $f(N)$ là thời gian mà thuật toán nhân ma trận Strassen cần để nhân hai ma trận vuông kích cỡ $N$ x $N$. Đây là một thuật toán đệ quy, thực hiện $7$ lời gọi hàm đệ quy, mỗi hàm nhân hai ma trận có kích cỡ $N/2$ x $N/2$ và sau đó tổng hợp kết quả trong $Theta(N^2)$.

Ta có công thức truy hồi sau:

$$ f(N) = 7f(N/2) + Theta(N^2) $$

Sử dụng định lý Tổng Quát, ta thấy Trường hợp $1$ có thể áp dụng được. Vì vậy độ phức tạp của thuật toán Strassen là $Theta(N^{log_27}) approx Theta({N^{2.807}})$. Lưu ý là thuật toán cổ điển nhân ma trận theo định nghĩa có độ phức tạp $ Theta(N^3)$.

Ví dụ 9

Thỉnh thoảng ta có thể gặp trường hợp mà kích cỡ các bài toán con không bằng nhau. Một ví dụ là thuật toán Trung vị của 5 để tìm phần tử lớn thứ k của một mảng số. Thuật toán trên được chứng minh là có độ phức tạp thỏa mãn công thức

$$ f(N) = f(N/5) + f(7N/10 + 6) + Theta(N) $$

Công thức trên giải như thế nào? Phương pháp cây Đệ Quy có thể được áp dụng trong trường hợp bất đối xứng như vậy không? Có một phiên bản tổng quát hơn của Định lý Tổng Quát áp dụng cho trường hợp như vậy hay không? Và trong các trường hợp mà định lý Tổng Quát không áp dụng được, điển hình là với công thức $f (N) = 4f (N/4) + Theta(N log N)$, ta cần xử lý thế nào?

Lời người dịch

Tạp Chí Xây Dựng Đảng

Cuộc kháng chiến chống thực dân Pháp xâm lược lâu dài, gian khổ và vô cùng oanh liệt của dân tộc Việt Nam đã giành được thắng lợi hoàn toàn bằng chiến dịch lịch sử Điện Biên Phủ. Cụm từ Việt Nam – Hồ Chí Minh – Điện Biên Phủ lung linh tỏa sáng, trở thành biểu tượng sáng ngời đối với các dân tộc thuộc địa trên thế giới, thúc giục nhân loại vùng dậy “đem sức ta mà giải phóng cho ta”.

Thấm nhuần đường lối kháng chiến của Đảng, nhân dân ta “đồng cam cộng khổ”, vừa đánh, vừa giam chân địch trong lòng thành phố, vừa kéo Pháp lên vùng rừng núi hiểm trở, giáng cho địch những đòn chí tử trong chiến dịch Việt Bắc thu đông 1947; Biên giới thu đông 1950; Đường số 18, Hòa Bình, Tây Bắc, mặt trận Bình – Trị – Thiên, Thượng Lào, Đông Bắc Căm-pu-chia… Thắng lợi liên tiếp của 3 nước Đông Dương đã giải phóng một vùng đất đai rộng lớn, khai thông biên giới Việt – Trung, mở rộng quan hệ giữa nước ta với thế giới, đẩy thực dân Pháp lún sâu vào thế bị động và phân tán lực lượng, làm cho chiến lược “đánh nhanh, thắng nhanh” của Pháp thất bại, tạo thế và lực mới cho cuộc kháng chiến.

Liên tiếp thất bại trên chiến trường, Pháp cử tướng Hăng-ri Na-va – Tham mưu trưởng các lực lượng khối Bắc Đại Tây Dương, người đã từng chiến đấu trong suốt cuộc Chiến tranh thế giới I, từng tham gia bình định Xy-ri-a, Ma-rốc… Với tài chỉ huy của tướng Na-va, cùng với số lượng quân đông nhất (267 tiểu đoàn trong đó có 84 tiểu đoàn quân cơ động chiến lược và phương tiện chiến tranh hiện đại; chi viện ngày càng lớn của Mỹ), Pháp hòng tìm một “lối thoát danh dự” trong cuộc chiến tranh hao người, tốn của, “cuộc chiến tranh bẩn thỉu” mà nhân dân Pháp, nhân dân tiến bộ trên thế giới kịch liệt phản đối. Chính phủ Pháp hy vọng kế hoạch Na-va sẽ giúp “chuyển bại thành thắng” trong vòng 18 tháng, giành lại quyền chủ động chiến lược trên chiến trường Đông Dương. “Kế hoạch Na-va chẳng những được Chính phủ Pháp mà cả những người bạn Mỹ cũng tán thành. Nó cho phép hi vọng đủ mọi điều”(4).

Kế hoạch Na-va gồm 2 bước: Bước thứ nhất, giữ thế phòng ngự chiến lược ở miền Bắc và tiến công bình định ở miền Nam, miền Trung Đông Dương, xỏa bỏ vùng tự do Liên Khu V. Bước thứ hai, thực hiện chiến lược tiến công ra Bắc, giành thắng lợi quân sự, buộc ta phải đàm phán theo những điều kiện có lợi cho chúng. Kế hoạch Na-va thể hiện rõ tham vọng “nuốt chửng Việt Nam” của Pháp và Mỹ. Tháng 9-1953, Bộ Chính trị, BCH Trung ương Đảng đã họp bàn nhiệm vụ quân sự Đông Xuân 1953-1954. Bộ Chính trị nhận định, Kế hoạch Na-va đã gây cho ta những khó khăn mới, nhưng bản thân nó chứa đựng nhiều khó khăn và nhược điểm. Đại bộ phận địch tập trung ở đồng bằng Bắc bộ. Ở những chiến trường khác, nhất là miền núi, chúng có nhiều sơ hở và yếu. Theo đó, phải sử dụng mọi biện pháp để giữ vững và phát triển quyền chủ động tiến công chiến lược, điều những bộ phận chủ lực của ta tiến về 5 hướng chiến lược nhằm vào những nơi hiểm và tương đối yếu của chúng mà tiêu diệt, buộc quân địch phải đánh theo cách đánh của ta, trên chiến trường ta đã chuẩn bị, từ đó mà đập tan âm mưu của địch, giành lại quyền chủ động trên các chiến trường.

Tây Bắc được chọn làm hướng tiến công chính của ta, đòn tiến công chiến lược đầu tiên đã điểm trúng huyệt, khiến Na-va vội vã điều động 6 tiểu đoàn cơ động tăng cường cho Điện Biên Phủ, biến Điện Biên Phủ thành một tập đoàn cứ điểm mạnh với binh lực lên đến 9 tiểu đoàn. Kế hoạch Na-va bắt đầu bị đảo lộn. Na-va phải tìm cách đối phó với lực lượng của ta.

Ngày 22-11-1953, Na-va cho quân nhảy dù xuống Điện Biên Phủ và xây dựng ở đây tập đoàn cứ điểm mạnh nhất Đông Dương với ý đồ tạo thành “pháo đài bất khả xâm phạm”, “cối xay nghiền nát chủ lực Việt Minh”. Điện Biên Phủ là một thung lũng lòng chảo, vốn là cánh đồng Mường Thanh, nằm trong vùng rừng núi Tây Bắc, gần biên giới Việt – Lào, cách hậu phương của ta (Việt Bắc) 300 – 500km đường bộ. Vì vậy, Pháp coi Điện Biên Phủ là một địa bàn chiến lược hết sức quan trọng, là một vị trí chiến lược cơ động ở giữa miền Bắc Việt Nam – Thượng Lào – miền Nam Trung Quốc, có thể trở thành một căn cứ lục quân và không quân. Mỹ đánh giá Điện Biên Phủ là “một tập đoàn cứ điểm đáng sợ”, “một Véc-đoong ở Đông Nam Á” và tán dương quyết định sáng suốt của tướng Na-va.

Phân tích rõ những điều kiện giành thắng lợi, Đảng ta đã tập trung đại bộ phận chủ lực tinh nhuệ để mở hàng loạt cuộc tiến công chiến lược vào hướng địch yếu, hiểm, chia nhỏ lực lượng địch vào hướng: Bắc bộ, Trung bộ, Tây Nguyên và Nam bộ, đồng thời phối hợp hiệu quả với nước bạn Lào mở các chiến dịch quan trọng ở Trung, Thượng, Hạ Lào và Đông Bắc Căm-pu-chia. Nhờ đó, ta đã làm lực lượng địch phải chia nhỏ, rải ra khắp chiến trường, hạn chế sự chi viện của chúng cho cứ điểm Điện Biên Phủ, từng bước giải phóng vùng đất đai rộng lớn, tăng cường tình đoàn kết hữu nghị chiến đấu của ba nước Đông Dương trong cuộc kháng chiến chống kẻ thù chung.

Thắng lợi quân sự trong kế hoạch Đông Xuân 1953-1954 đã tạo tiền đề vô cùng quan trọng để Đảng ta đưa ra đòn quyết chiến chiến lược cuối cùng với Pháp tại cứ điểm Điện Biên Phủ. Ngày 6-12-1953, Bộ Chính trị thông qua phương án mở chiến dịch Điện Biên Phủ của Tổng Quân ủy, Đại tướng Võ Nguyên Giáp được chỉ định trực tiếp làm Tư lệnh kiêm Bí thư Đảng ủy chiến dịch. Như vậy, cả địch và ta đều coi trận giao chiến ở Điện Biên Phủ là một trận quyết chiến lịch sử. Tháng 12-1953, Hồ Chủ tịch gửi thư cho cán bộ và chiến sỹ mặt trận Điện Biên Phủ, Người căn dặn: “Các chú phải chiến đấu anh dũng hơn, chịu đựng gian khổ hơn, phải giữ vững quyết tâm trong mọi hoàn cảnh: Quyết tâm tiêu diệt địch, Quyết tâm giữ vững chính sách, Quyết tâm tranh nhiều thắng lợi”(5).Bên cạnh sự chuẩn bị chu đáo của cả dân tộc “tất cả cho tiền tuyến, tất cả để đánh thắng”, còn có sự giúp đỡ của Đoàn cố vấn Trung Quốc (đồng chí Vi Quốc Thanh làm Trưởng đoàn). Sau khi họp bàn cân nhắc những thuận lợi và khó khăn trên chiến trường giữa ta và địch, Đoàn cố vấn Trung Quốc tham mưu cho chúng ta chuẩn bị đánh Điện Biên Phủ theo phương châm “đánh nhanh, thắng nhanh”, cần tranh thủ sớm, đánh nhanh bằng sức mạnh hiệp đồng của bộ binh và pháo binh tiêu diệt tập đoàn cứ điểm Điện Biên Phủ chỉ 2 ngày 3 đêm trong điều kiện địch còn đang phòng ngự lâm thời. Đó là cách đánh mà cố vấn Mai Gia Sinh gọi là “oa tâm tạng chiến thuật” tức là dùng mũi thọc sâu “tạo nên sự rối loạn ở trung tâm phòng ngự địch ngay từ đầu, rồi từ trong đánh ra, từ ngoài đánh vào, tiêu diệt địch trong thời gian tương đối ngắn”(6).

Trước vận mệnh sinh tử tồn vong của dân tộc, nhiệm vụ tối cao được Đảng và Bác Hồ trao cho người cầm quân: “Trận này rất quan trọng phải đánh cho thắng, chắc thắng mới đánh, không chắc không đánh”. Bao đêm trăn trở, nghiên cứu, phân tích tình hình thay đổi trên chiến trường Đông Dương, so sánh tương quan lực lượng giữa ta và địch, không có lợi cho phương châm “đánh nhanh, thắng nhanh”; đặc biệt, khi Na-va điên cuồng quyết tâm tăng cường xây dựng công sự, sân bay, bổ sung lực lượng cho Điện Biên Phủ lên tới 12 tiểu đoàn, Đại tướng Võ Nguyên Giáp đã có nhận định sáng suốt: “Tình hình địch còn thay đổi nên chủ trương cũng có thể thay đổi”, ông quyết định cho hoãn kế hoạch đã chuẩn bị chu đáo chờ lệnh nổ súng của quân và dân ta theo phương châm “đánh nhanh, thắng nhanh” sang “đánh chắc, tiến chắc”. Quyết định này được xem là một “quyết định khó khăn nhất” trong cuộc đời cầm quân của vị Tổng Tư lệnh mới 43 tuổi!

Kế hoạch “đánh chắc, tiến chắc” được thông qua, Đại tướng Võ Nguyên Giáp ra lệnh cho các mặt trận hoãn cuộc tiến công, các đơn vị lùi về địa điểm tập kết. Mặc dù trận địa đã được bố trí, pháo lớn được kéo lên vị trí chiến đấu với bao công sức và máu xương của quân và dân ta, nhưng Đại tướng vẫn quyết tâm lệnh đưa pháo xuống, rồi kéo pháo lên vào vị trí tác chiến mới. Kế hoạch tấn công tập đoàn cứ điểm Điện Biên Phủ được chuẩn bị lại theo phương châm mới “đánh chắc, tiến chắc”. Sự thay đổi phương châm tác chiến thể hiện nghệ thuật đánh giặc tài tình, thông minh của dân tộc ta và tầm nhìn chiến lược của vị Tổng chỉ huy kiệt xuất. Lần đầu tiên ở Việt Nam và cũng rất hiếm trên thế giới, vị Thống soái chỉ huy tối cao của Quân đội nhân dân Việt Nam đã lệnh cho quân kéo pháo lên núi cao, vào hầm chĩa thẳng pháo xuống đầu kẻ thù mà chế áp. Cách đánh này vừa bảo vệ được pháo, vừa nâng cao được uy lực, mức chính xác và mang lại hiệu quả cao nhất.

Thực hành triệt để theo phương châm mới “đánh chắc tiến chắc”, hàng ngàn hệ thống giao thông, trận địa hầm hào kiên cố nhanh chóng hoàn chỉnh, những chiếc xe thồ cần mẫn ngày đêm đưa lương thực, quân trang, quân dụng phục vụ chiến dịch. Chí ta đã quyết, lòng ta đã đồng, ngày 13-3-1954, quân ta được lệnh nổ súng tấn công vào tập đoàn cứ điểm Điện Biên Phủ. Đây là lần đầu tiên quân ta tiến hành bao vây tiến công một tập đoàn cứ điểm trong điều kiện kẻ thù có vũ khí trang bị hiện đại hơn ta gấp bội. Cùng với việc triệt phá các nguồn hoả lực của địch: Pháo binh, xe tăng và máy bay chi viện, hệ thống hầm hào trận địa với chiến thuật “vây, lấn, tấn, phá, triệt, diệt” của quân ta từng bước thắt chặt vòng vây, tạo nên sức mạnh tiến công tiêu diệt địch. Dõi theo từng bước tiến của quân và dân ta trên chiến trường, Trung ương Đảng và Chủ tịch Hồ Chí Minh đã gửi điện khen ngợi, động viên tinh thần cán bộ, đảng viên, chiến sỹ trên toàn mặt trận: “Chiến dịch này là một chiến dịch lịch sử của quân đội ta, ta đánh thắng chiến dịch này có ý nghĩa quân sự và chính trị quan trọng”(7).

Với tinh thần quyết chiến, quyết thắng, quân dân ta đã chiến đấu vô cùng anh dũng, phát huy tác dụng của các loại vũ khí có trong tay, tìm ra nhiều cách đánh sáng tạo, vừa đánh độc lập, vừa đánh hợp đồng, xây dựng trận địa tiến công và vây hãm quân thù. Trải qua 3 đợt tấn công liên tục, đến ngày 7-5, tập đoàn cứ điểm Điện Biên Phủ – một “pháo đài khổng lồ không thể công phá” của thực dân Pháp đã bị tiêu diệt hoàn toàn. Tướng Đờ Ca-xtơ-ri và toàn bộ Bộ tham mưu của tập đoàn cứ điểm đã đầu hàng quân ta vô điều kiện. Lá cờ quyết chiến, quyết thắng của Quân đội nhân dân Việt Nam anh hùng đã tung bay trên nóc hầm chỉ huy. Ở các cứ điểm xung quanh, binh lính và sỹ quan của địch lũ lượt giương cao cờ trắng ra hang.

Chiến thắng Điện Biên Phủ kết thúc oanh liệt, dân tộc Việt Nam đã đánh bại hoàn toàn kế hoạch quân sự Na-va, làm sụp đổ niềm hy vọng của các giới quân sự và chính trị ở Pháp, làm xoay chuyển cục diện chiến tranh, thắng lợi trên chiến trường là cơ sở, điều kiện quyết định thắng lợi trên bàn đàm phán, buộc Pháp phải ký vào Hiệp định Giơ-ne-vơ, tôn trọng độc lập, chủ quyền, thống nhất và toàn vẹn lãnh thổ của Việt Nam và Đông Dương.

Tìm hiểu thắng lợi chiến dịch Điện Biên Phủ của dân tộc Việt Nam, nhà báo Pháp Giuyn Roi đã có một nhận xét đầy hình tượng: Không phải viện trợ bên ngoài đã đánh bại tướng Na-va, mà chính là những chiếc xe đạp Pơ-giô thồ 200, 300 ký hàng và đẩy bằng sức người, những con người ăn chưa đủ no và ngủ thì nằm ngay dưới đất trải tấm ni-lông. Cái đã đánh bại tướng Na-va, không phải là phương tiện, mà là sự thông minh và ý chí của đối phương. Từ cách nhìn khách quan của những học giả, nhà báo nước ngoài, thế hệ hôm nay hiểu được rằng, dưới sự lãnh đạo đúng đắn, sáng tạo, tài tình của Đảng, tài chỉ huy, cầm quân của Đại tướng Võ Nguyên Giáp, những chiếc xe thồ ấy, những con người bằng da, bằng thịt của dân tộc Việt Nam đã kiên cường bất khuất “nếm mật nằm gai” trong “56 ngày đêm khoét núi ngủ hầm, mưa dầm cơm vắt. Máu trộn bùn non” cùng nhau viết nên trang sử chói lọi ” 9 năm làm một Điện Biên. Nên vành hoa đỏ nên thiên sử vàng”.

Điện Biên Phủ chính là thắng lợi của sức mạnh và trí tuệ Việt Nam dưới sự lãnh đạo của Đảng – nhân tố quan trọng quyết định thắng lợi của dân tộc Việt Nam không chỉ trong cuộc kháng chiến chống thực dân Pháp xâm lược, mà còn giành thắng lợi thần kỳ trong hơn 20 năm kháng chiến chống Mỹ, giải phóng hoàn toàn miền Nam, thống nhất đất nước. Đồng thời, bác bỏ những luận điệu xuyên tạc sự kiện lịch sử của một số sử gia Phương Tây cho rằng: “Các anh thắng lợi là nhờ có Trung Quốc giúp và do quân đội viễn chinh Pháp không chịu đựng được muỗi a-nô-phen”. Chiến thắng lịch sử Điện Biên Phủ ghi vào lịch sử dân tộc Việt Nam như một Bạch Đằng, Chi Lăng, Đống Đa… của thế kỷ 20, đồng thời minh chứng chân lý thời đại: “Một nước thuộc địa nhỏ yếu đã đánh thắng một nước thực dân hùng mạnh. Đó là thắng lợi vẻ vang của nhân dân Việt Nam, đồng thời cũng là thắng lợi của lực lượng hoà bình dân chủ và CNXH”.

Hơn nửa thế kỷ đã trôi qua, lịch sử dân tộc đã bước sang trang mới, những bài học và ý nghĩa lớn lao của Điện Biên Phủ vẫn còn nguyên giá trị trong sự nghiệp xây dựng và phát triển đất nước hôm nay. Trong mỗi giai đoạn đi lên của đất nước, tinh thần Điện Biên Phủ vẫn luôn hiện hữu, đó là ý chí quyết chiến, quyết thắng, khát vọng vươn tới độc lập, tự do, hạnh phúc của toàn thể dân tộc Việt Nam. Bằng khối óc và bàn tay của mình, bằng tài năng và sự sáng tạo, chúng ta hoàn toàn có thể biến khát vọng thành hiện thực, hướng tới xây dựng một nước Việt Nam “dân giàu, nước mạnh, dân chủ, công bằng, văn minh”. Điện Biên Phủ mãi mãi là niềm tự hào, mãi mãi trường tồn cùng với sự phát triển đi lên của đất nước, con người Việt Nam.

(1), (3), (5), (7) Hồ Chí Minh toàn tập, NXB CTQG, H.2011, tập 4, tr.534; tập 7, tr.475; tập 8, tr.378, tr.434. (2) Đại tướng Võ Nguyên Giáp, Chiến đấu trong vòng vây, NXB QĐND, H.1995, tr.414. (4) Đỗ Thiện – Đinh Kim Khánh, Tiếng sấm Điện Biên Phủ, NXB QĐND, H.1984, tr.61.(6) Hoàng Minh Phương, Nắm ngải cứu trên đầu đồng chí Tổng Tư lệnh, Tạp chí Xưa và nay, số 208, 3-2004, tr.10.

Số Phức Toán Lớp 12 Bài 1 Giải Bài Tập

Số phức toán lớp 12 bài 1 giải bài tập được soạn và biên tập bởi đội ngũ giáo viên giàu kinh nghiệm giảng dạy môn toán. Đảm bảo chính xác dễ hiểu giúp các em nắm chắc kiến thức trọng tâm trong bài số phức lớp 12 và hướng dẫn giải các dạng bài tập số phức để các em hiểu rõ hơn.

Bài 1. Số phức thuộc: Chương 4: Số phức

I. Lý thuyết về số phức

1. Phần thực và phần ảo của số phức, số phức liên hợp.

a) Số phức z là biểu thức có dạng z = a + bi (a, b ∈ R, i 2 = -1) . Khi đó:

+ Phần thực của z là a, phần ảo của z là b và i được gọi là đơn vị ảo.

+ Tổng và tích của z và z− luôn là một số thực.

Đặc biệt:

+ Số phức z = a + 0i có phần ảo bằng 0 được coi là số thực và viết là z = a

+ Số phức z = 0 + bi có phần thực bằng 0 được gọi là số ảo (hay số thần ảo) và viết là

+ Số: 0 = 0 + 0 i vừa là số thực vừa là số ảo.

2. Số phức bằng nhau.

3. Biểu diễn hình học của số phức, mô đun của số phức.

a) Biễu diễn hình học của số phức.

+ Số phức z = a + bi (a, b ∈ R) được biểu diễn bởi điểm M(a; b) trong mặt phẳng tọa độ.

+ z và z− được biểu diễn bởi hai điểm đối xứng nhau qua trục 0x.

b) Mô đun của số phức.

II. Hướng dẫn giải bài tập sgk số phức lớp 12 bài 1

Bài 1 trang 133 SGK Giải tích 12:

Tính phần thực phần ảo của số phức x, biết:

a) z = 1 – πi

b) z = √2 – i

c) z = 2 √2

d) z = -7i

Lời giải:

a) Phần thực: 1, phần ảo: -π

b) Phần thực: √2, phần ảo: -1

c) Phần thực: 2 √2, phần ảo: 0

d) Phần thực: 0, phần ảo: -7

Bài 2 trang 133 SGK Giải tích 12:

Tìm các số thực x và y, biết:

a) (3x – 2) + (2y + 1)i = (x + 1) – (y – 5)i

b) (1 – 2x) – i√3 = √5 + (1 – 3y)i

c) (2x + y) + (2y – x)i = (x – 2y + 3) + (y + 2x + 1)i

Lời giải:

a) (3x – 2) + (2y – 1).i = (x + 1) – (y – 5).i

Trên mặt phẳng tọa độ tìm tập hợp điểm biểu diễn các số phức z thỏa mãn điều kiện:

a) Phần thực của z bẳng -2

b) Phần ảo của z bẳng 3

c) Phần thực của z thuộc khoảng (-1;2)

d) Phần ảo của z thuộc đoạn [1;3]

e) Phần thực và phần ảo đều thuộc đoạn [-2; 2]

Lời giải:

a) Tập hợp các điểm thuộc đường thẳng x = -2

b) Tập hợp các điểm thuộc đường thẳng y = 3

c) Tập hợp các điểm thuộc mặt phẳng nằm giữa hai đường thẳng song song x = -1 và x = 2 (hình có gạch sọc)

d) Phần mặt phẳng giới hạn bởi các đường thẳng song song y = 1 và y = 3( kể cả các điểm thuộc hai đường thẳng đó).

e) Các điểm thuộc hình chữ nhật với các cạnh nằm trên các đường thằng x = -2, x = 2 , y = -2, y = 2.

Bài 4 trang 134 SGK Giải tích 12:

a) z = -2 + i √3

b) z = √2- 3i

c) z = -5

d) z = i√3

Trên mặt phẳng tọa độ, tìm tập hợp điểm biểu diễn các số phức z thỏa mãn từng điều kiện:

Lời giải:

Gọi số phức z = x + y.i có điểm biểu diễn là M(x; y).

Vậy tập hợp điểm M là đường tròn tâm O(0; 0), bán kính R = 1.

Vậy tập hợp điểm M là hình vành khăn tâm O, bán kính đường tròn nhỏ bằng 1,đường tròn lớn bằng 2, không kể các điểm thuộc đường tròn nhỏ.

Kiến thức áp dụng

+ Số phức z = x + yi được biểu diễn bởi điểm M(x; y) trên mặt phẳng tọa độ Oxy.

Bài 6 trang 134 SGK Giải tích 12: Tìm z, biết:

a) z = 1 – i√2

b) z = -√2 + i√3

c) z = 5

d) z = 7i

Xem Video bài học trên YouTube

Là một giáo viên Dạy cấp 2 và 3 thích viết lạch và chia sẻ những cách giải bài tập hay và ngắn gọn nhất giúp các học sinh có thể tiếp thu kiến thức một cách nhanh nhất

Giải Bài Tập Toán 12 Chương 4 Bài 1: Số Phức

Giải bài tập Toán 12 chương 4 bài 1: Số phức

Giải bài tập trang 133, 134 SGK

Bài tập Toán 12 Giải tích chương 4 bài 1

là tài liệu hữu ích đã được chúng tôi tổng hợp dành cho các bạn học sinh lớp 12 học tập hiệu quả hơn môn Toán. Tài liệu kèm theo lời giải chi tiết sẽ giúp các bạn học sinh giải nhanh các bài tập Toán. Mời các bạn và thầy cô tham khảo.

Bài 1 (trang 133 SGK Giải tích 12): Tính phần thực phần ảo của số phức x, biết:

a) z=1-πi

b) z=√2-i

c) z=2 √2

d) z=-7i

Lời giải:

a) Phần thực: 1, phần ảo: -π

b) Phần thực: √2, phần ảo: -1

c) Phần thực: 2 √2, phần ảo: 0

d) Phần thực: 0, phần ảo: -7

Bài 2 (trang 133 SGK Giải tích 12): Tìm các số thực x và y, biết:

a) (3x-2)+(2y+1)i=(x+1)-(y-5)i

b) (1-2x)-i √3=√5+(1-3y)i

c) (2x+y)+(2y-x)i=(x-2y+3)+(y+2x+1)i

Lời giải:

Bài 3 (trang 133 SGK Giải tích 12): Trên mặt phẳng tọa độ tìm tập hợp điểm biểu diễn các số phức z thỏa mãn điều kiện:

a) Phần thực của z bẳng -2

b) Phần ảo của z bẳng 3

c) Phần thực của z thuộc khoảng (-1;2)

d) Phần ảo của z thuộc đoạn [1;3]

e) Phần thực và phần ảo đều thuộc đoạn [-2; 2]

Lời giải:

a) Tập hợp các điểm thuộc đường thẳng x = -2

b) Tập hợp các điểm thuộc đường thẳng y = 3

c) Tập hợp các điểm thuộc mặt phẳng nằm giữa hai đường thẳng song song x = -1 và x =2 (hình có gạch sọc)

d) Phần mặt phẳng giới hạn bởi các đường thẳng song song y =1 và y = 3( kể cả các điểm thuộc hai đường thẳng đó).

e) Các điểm thuộc hình chữ nhật với các cạnh nằm trên các đường thằng x = -2, x = 2 , y= -2, y= 2.

b) z = √2- 3i

c) z = -5

d) z = i√3

Lời giải:

Lời giải:

a) Giả sử điểm M(x, y) biểu diễn số phức z = x+y thỏa mãn:

Vậy M thuộc đường tròn tâm O(0; 0) bán kính R =1 có phương trình x 2+y 2=1.

b) Tập hợp các điểm trên hình tròn tâm x 2+y 2=1.

c) Các điểm nằm trong hình vành khăn giới hạn bởi các đường tròn tâm O, bán kính tròn nhở bằng 1,đường tròn lớn bằng 2, (hình tô đậm) không kể các điểm thuộc đường tròn nhỏ.

d) Giao điểm của đường thẳng y = 1 và đường tròn x 2+y 2=1.

Bài 6 (trang 134 SGK Giải tích 12): Tìm z, biết:

a) z=1-i √2

b) z=-√2+i √3

c) z=5

d) z=7i

Lời giải:

Bạn đang xem bài viết Độ Phức Tạp Tính Toán trên website Caffebenevietnam.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!