wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Bài tập về bài toán NP và NPC

Total questions: 66

Worksheet time: 36mins

Name
Class
Date
1.

Trong các bước sau, bước nào không đúng khi chứng minh bài toán là NPC?

a)

Chứng minh bài toán thuộc NP

b)

Tìm một bài toán trong lớp P để quy dẫn

c)

Quy dẫn bài toán đang xét về bài toán đã biết

d)

Dùng bài toán đã biết là NPC để quy dẫn về bài toán đang xét

2.

Bài toán nào sau đây thuộc NPC?

a)

3-SAT

b)

Phân hoạch tập (Partition)

c)

Tìm kiếm tuyến tính

d)

Nhân hai số nguyên lớn

3.

Bài toán nào sau đây là ví dụ của bài toán NPC:

a)

Bài toán phủ định

b)

Tìm đường đi Hamilton

c)

Bài toán nhân ma trận

d)

Sắp xếp chèn

4.

Trong định lý Cook, bài toán nào được minh chứng đầu tiên là NPC?

a)

A. Partition

b)

B. 3-SAT

c)

C. TSP

d)

D. CIRCUIT-SAT

5.

đặc điểm của bài toán thuộc lớp npc là: Chọn 2 phương án đúng nhất

a)

Không thuộc lớp NP

b)

Là bài toán quyết định

c)

Không thể kiểm định lời giải trong thời gian đa thức

d)

Mọi bài toán trong NP có thể quy dẫn đến nó

6.

Để chứng minh một bài toán là NPC, ta cần:

a)

Chứng minh nó có lời giải duy nhất

b)

Tìm một bài toán NPC có thể quy dẫn về nó

c)

Chứng minh bài toán đó thuộc NP

d)

Chứng minh mọi bài toán P đều quy dẫn về nó

7.

Một bài toán A thuộc lớp NP và mọi bài toán trong lớp NP đều có thể quy dẫn về A trong thời gian đa thức thì:

a)

Bài toán thuộc lớp NP-Hard

b)

Bài toán có thể giải được trong thời gian tuyến tính

c)

Bài toán thuộc lớp NPC

d)

Bài toán không thể là bài toán tối ưu

8.

Một bài toán được gọi là NP-Hard khi:

a)

Có thuật toán không đơn định giải trong thời gian đa thức

b)

Có thể được giải trong thời gian đa thức

c)

Nếu có thuật toán đa thức giải nó thì mọi bài toán trong NP cũng giải được

d)

Mọi bài toán trong NP có thể quy dẫn đến nó

9.

Khẳng định nào sau đây đúng về lớp np_hard: chọn 2 đáp án đúng nhất.

a)

Bao gồm các bài toán mà mọi bài toán NP đều quy dẫn đến

b)

Bao gồm các bài toán mà mọi bài toán NP đều quy dẫn đến

c)

Có thể bao gồm cả bài toán tối ưu

d)

Không chứa các bài toán quyết định

10.

Điều kiện nào cần thỏa mãn để một bài toán được xem là NPC:

a)

A. Thuộc lớp NP

b)

B. Có thể kiểm định nghiệm trong thời gian tuyến tính

c)

C. Không cần là bài toán quyết định

d)

D. Mọi bài toán NP quy dẫn về nó

11.

Trong phép quy dẫn từ KNAPSACK sang PHẠT, điều nào sau đây là đúng khi xét mối liên hệ giữa ba lô và lịch trình?

a)

Mỗi đồ vật được xử lý tại thời điểm cụ thể

b)

Trọng lượng tối đa của ba lô tương đương với hạn định hoàn thành

c)

Mỗi công việc tương ứng với một điểm phạt ứng với trọng lượng

d)

Trọng lượng balo được ánh xạ thành tổng thời gian xử lý cho phép

12.

Trong thuật toán Quicksort, phần tử “chốt” (pivot) được dùng để làm gì?

a)

So sánh các phần tử với phần tử “chốt” để phân hoạch mảng

b)

Sử dụng để phân hoạch mảng

c)

Dùng để lưu trữ giá trị lớn nhất

d)

Dùng để kết thúc đệ quy

13.

Trong mô hình nhân số nguyên cải tiến (thuật toán Strassen), mục đích chính là gì?

a)

Giảm số phép nhân từ 4 còn 3

b)

giảm số phép cộng từ 5 còn 2

c)

Giảm độ phức tạp từ O(n²) xuống O(n^1.59)

d)

loại bỏ phép chia

14.

Trong bài toán Tháp Hà Nội, để di chuyển n đĩa từ cọc nguồn sang cọc đích, ta cần:

a)

Dùng đệ quy chuyển từng đĩa

b)

Chuyển tất cả đĩa cùng lúc

c)

Dùng thuật toán quay lui

d)

Di chuyển n-1 đĩa sang cọc phụ trước

15.

Trong thuật toán Mergesort, các bước chính là gì?

a)

Gọi đệ quy sắp xếp từng nửa

b)

Chia mảng thành hai nửa

c)

Tìm phần tử chốt để phân hoạch

d)

Trộn hai nửa lại với nhau

16.

Các bước cơ bản của kỹ thuật chia để trị bao gồm:

a)

A. Chia nhỏ – Giải quyết – Tổng hợp (kết hợp)

b)

B. Tìm kiếm và duyệt toàn bộ

c)

C. Phân tích và tổng hợp

d)

xử lý đồng thời và lưu trữ

17.

Khi nào việc áp dụng kỹ thuật chia để trị hiệu quả nhất?

a)

Khi bài toán có nhiều vòng lặp lồng nhau

b)

Khi các bài toán con có thể giải đồng thời

c)

Khi bài toán có thể phân tách thành các bài toán con độc lập

d)

Khi cần giảm độ phức tạp bằng phương pháp vét cạn

18.

Hàm đánh giá g(x) trong nhánh cận có vai trò gì?

a)

Hỗ trợ sắp xếp thứ tự mở rộng nhánh

b)

Giúp xác định nhánh nào có khả năng chứa lời giải tốt

c)

Để xác định hàm mục tiêu

d)

Không cần liên quan đến hàm mục tiêu

19.

Trong bài toán TSP với nhánh cận, ta dùng cận dưới g(x) để:

a)

Ưu tiên nhánh có tổng chi phí tạm thời nhỏ nhất

b)

Lựa chọn hành trình ngắn nhất ngay lập tức

c)

Cắt bỏ các nhánh có chi phí không thể tối ưu

d)

Tăng tốc việc liệt kê tất cả các hành trình

20.

Trong cây tìm kiếm của bài toán TSP:

a)

Mỗi nút biểu diễn một hành trình tạm thời

b)

cần xây toàn bộ cây trước khi chọn hành trình tối ưu

c)

cận dưới càng lớn thì phương án càng tốt

d)

nhánh cận giúp rút ngắn số tổ hợp phải xét

21.

Các bước chính của kỹ thuật quay lui gồm

a)

A. Chấp nhận giá trị nếu thoả điều kiện

b)

B. Duyệt ngẫu nhiên các giá trị

c)

C. Loại trừ tất cả các giá trị nhỏ hơn

d)

D. Đưa ra tập để cử cho xi

22.

Để liệt kê dãy nhị phân độ dài n bằng quay lui, ta cần

a)

Tập đề cử là {0,1}

b)

Duyệt tất cả các tổ hợp dãy nhị phân

c)

Sử dụng mảng đánh dấu giá trị đã chọn

d)

Áp dụng cấu trúc cây tìm kiếm tuyến tính

23.

Trong cây tìm kiếm của bài toán TSP (Chọn 2 phương án đúng)

a)

Cần xây toàn bộ cây trước khi chọn hành trình tối ưu

b)

Cận dưới càng lớn thì phương án càng tốt

c)

Nhánh cận giúp rút ngắn số tổ hợp phải xét

d)

Mỗi nút biểu diễn một hành trình tạm thời

24.

Kỹ thuật quay lui hoạt động dựa trên?

a)

Loại bỏ các cấu hình không thỏa mãn tính chất T

b)

Ưu tiên các phương án có giá trị mục tiêu cao

c)

Sinh ra lời giải bằng phương pháp ngẫu nhiên.

d)

Duyệt tất cả phương án có thể theo đệ quy.

25.

Trong bài toán chiếc balo, để xây dựng hàm cận trên cần?

a)

Cộng thêm khả năng tối đa hóa giá trị còn lại

b)

Tính tổng trọng lượng của mọi đồ vật

c)

Sắp xếp đồ vật theo đơn giá giảm dần

d)

xét hết các hoán vị khả thi

26.

trong kỹ thuật nhánh cận khi nào có thể loại bỏ một nhánh?

a)

khi cận dưới của phương án lớn hơn giá trị tối ưu hiện tại

b)

khi cận dưới bằng 0

c)

khi không còn giá trị đề cử

d)

khi phương án không có lời giải

27.

Trong liệt kê hoán vị n phần tử (1, 2, ..., n) Điều kiện chấp nhận là?

a)

sắp xếp dãy theo thứ tự tăng

b)

phần tử xuất hiện nhiều hơn một lần

c)

phần tử chưa xuất hiện trong cấu hình

d)

mỗi giá trị xuất hiện đúng 1 lần

28.

Trong việc sinh dãy nhị phân, yếu tố nào là điều kiện dừng?

a)

Khi không còn bit nào để xét

b)

khi gặp bit bằng 0 thì dừng

c)

khi độ dài dãy đạt n

d)

khi số tổ hợp vượt ngưỡng giới hạn

29.

Điểm khác biệt giữa kỹ thuật nhánh cận và quay lui?

a)

nhánh cận cho lời giải nhanh hơn trong mọi trường hợp

b)

Nhánh cận sử dụng hàm cận để loại bỏ nhánh không cần thiết

c)

Quay lui luôn sinh toàn bộ không gian nghiệm

d)

quay lui không áp dụng được cho bài toán tối ưu

30.

Để liệt kê dãy nhị phân độ dài n bằng quay lui, ta cần:

a)

Áp dụng cấu trúc cây tìm kiếm tuyến tính

b)

Sử dụng mảng đánh dấu giá trị đã chọn

c)

Duyệt tất cả các tổ hợp dãy nhị phân

d)

Tập đệ cử là (0,1)

31.

Hàm đánh giá g(x) trong nhánh cận có vai trò gì?

a)

Để xác định hàm mục tiêu

b)

Hỗ trợ sắp xếp thứ tự mở rộng nhánh

c)

Không cần liên quan đến hàm mục tiêu

d)

giúp xác định nhánh nào có khả năng chứ lời giải tốt

32.

Trong việc sinh dãy nhị phân, yếu tố nào là điều kiện dừng?

a)

Khi không còn bịt nào để xét

b)

Khi số tổ hợp vượt ngưỡng giới hạn

c)

Khi độ dài dãy đạt n

d)

Khi gặp bịt bằng 0 thì dừng

33.

Tư tưởng và kỹ thuật chủ yếu của phương pháp quy hoạch động dựa vào:

a)

Nguyên lý tối ưu Bellman

b)

Tìm kiếm vét cạn

c)

Lập bảng kết quả các bài toán con

d)

Phân tích truy hồi

34.

Kỹ thuật quy hoạch động hiệu quả hơn chia để trị trong trường hợp nào?

a)

Không cần lưu lời giải bài toán con

b)

Các bài toán con lặp lại nhiều lần

c)

Có công thức truy hồi rõ ràng

d)

Không có sự trùng lặp bài toán con

35.

Đặc điểm chung giữa bài toán tổ hợp và xâu con chung:

a)

Có công thức quy hoạch động rõ ràng

b)

Sử dụng được cây Huffman

c)

cần lưu bảng 2 chiều

d)

tính toán dựa trên đơn giá

36.

Trong bài toán xâu con chung dài nhất (LCS): Chọn đáp án đúng.

a)

Độ phức tạp chỉ O(n)

b)

Có thể có nhiều xâu có cùng độ dài cực đại

c)

Áp dụng quy hoạch động với bảng 2 chiều

d)

Phải vét cạn toàn bộ không gian nghiệm

37.

Về bài toán xâu con chung dài nhất (LCS), phát biểu nào đúng?

a)

Có thể có nhiều xâu có cùng độ dài

b)

Áp dụng quy hoạch động với bảng 2 chiều

c)

Độ phức tạp luôn là O(n)

d)

Cần xét toàn bộ xâu con bằng vét cạn

38.

Điều kiện nào cần có để áp dụng quy hoạch động?

a)

Có sự chống chéo bài toán con

b)

Các bài toán con phải độc lập hoàn toàn

c)

Có công thức truy hồi rõ ràng

d)

Không cần cấu trúc con tối ưu

39.

Khi áp dụng thuật toán tham lam, cần đảm bảo:

a)

Không cần xét toàn bộ không gian lời giải

b)

Có hàm chọn ứng viên tốt nhất

c)

Không tạo chu trình thiếu trong bài toán TSP

d)

Có thể quay lại các lựa chọn trước đó

40.

Kỹ thuật quay lui (Backtracking) dùng để:

a)

Giải các bài toán có không gian trạng thái hữu hạn, có thể vét cạn lời giải

b)

Giải bài toán không gian trạng thái vô hạn

c)

Giải bài toán không có cấu trúc ràng buộc

d)

Giải bài toán tuyến tính

41.

Khi dùng quay lui để tìm nghiệm, nếu phương án hiện tại không thể dẫn tới nghiệm đúng thì:

a)

Tiếp tục đi sâu hơn

b)

Quay lui để thử nhánh khác

c)

Kết thúc thuật toán ngay

d)

Chọn ngẫu nhiên một nhánh khác

42.

So với vét cạn, kỹ thuật quay lui có ưu điểm:

a)

Xét tất cả các khả năng như vét cạn

b)

Loại bỏ được nhiều nhánh vô ích

c)

Đảm bảo nhanh hơn trong mọi trường hợp

d)

Có thể dừng sớm khi tìm thấy nghiệm

43.

Bài toán lập lịch cuộc họp áp dụng kỹ thuật nào sau đây: (Chọn 2 phương án đúng)

Options:

a)

Quy hoạch động (Dynamic Programming)

b)

Quay lui (Backtracking)

c)

Tham lam (Greedy)

d)

Duyệt vét cạn (Brute-force / Exhaustive search)

44.

Đặc điểm nổi bật của kỹ thuật tham lam là gì?

a)

Không cần lưu trữ lời giải các bước trước

b)

Luôn đảm bảo nghiệm tối ưu toàn cục

c)

Duyệt toàn bộ không gian nghiệm

d)

Chọn lựa tối ưu cục bộ tại mỗi bước

45.

Trong bài toán tính số tổ hợp C(n, k), kỹ thuật quy hoạch động sử dụng:

a)

A. Mảng 2 chiều theo cấu trúc tam giác Pascal

b)

B. Mệnh đề lựa chọn tối ưu tại mỗi bước như trong thuật toán tham lam

c)

C. Hàm chọn dựa trên đơn giá từng phần tử

d)

D. Mảng 1 chiều để tối ưu bộ nhớ

46.

Trong bài toán tìm xâu con chung dài nhất (LCS):

a)

Dùng quy hoạch động từ dưới lên để tránh đệ quy

b)

Duyệt hết mọi xâu con để tìm đáp án

c)

Dùng bảng 2 chiều để lưu độ dài L(i,j)

d)

Kết quả cuối cùng là L[m,n]

47.

Trong bài toán TSP (người du lịch), khi dùng thuật toán tham lam.: Sinh viên chọn 2 phương án đúng nhất

a)

Tìm đường đi ngắn nhất tuyệt đối

b)

Có thể không cho lời giải tối ưu

c)

Cần xét tất cả các hoán vị

d)

Độ phức tạp thường là O(n²)

48.

Kết quả cuối cùng của kỹ thuật chia để trị được hình thành từ:

a)

Hợp nhất các kết quả từ các nhánh nhỏ về gốc theo mô hình cây

b)

Chọn ngẫu nhiên nghiệm từ các bài toán con

c)

Tổng hợp kết quả của các bài toán con

d)

Dữ liệu đầu vào

49.

Khi áp dụng kỹ thuật chia để trị trong bài toán nhân hai số nguyên lớn, việc chia nhỏ các số nhằm mục đích gì?

a)

Chia số thành từng chữ số đơn để áp dụng nhân truyền thống dễ hơn

b)

Chia số thành hai phần có số chữ số xấp xỉ nhau để thực hiện nhân các phần nhỏ hơn

c)

Tìm các thừa số nguyên tố của số để giảm độ phức tạp nhân

d)

Áp dụng nhân các phần nhỏ rồi tổng hợp kết quả dựa trên hệ số mũ của cơ số

50.

Đặc điểm đúng của QuickSort:

a)

Luôn chia mảng thành hai phần bằng nhau

b)

Là thuật toán đệ quy tuyến tính

c)

Đạt độ phức tạp O(nlogn) trong trường hợp trung bình

d)

Thuộc loại thuật toán chia để trị

51.

Trong thuật toán Quicksort, phần tử "chốt" được dùng để:

a)

Sử dụng để phân hoạch mảng

b)

So sánh các phần tử với phần tử "chốt" để phân hoạch mảng

c)

Duyệt toàn bộ máng

d)

Lưu trữ tạm thời phần tử nhỏ nhất

52.

Trong kỹ thuật chia để trị, điều nào sau đây là đúng?

a)

Các bước tổng hợp thường cần thiết để hoàn thành bài toán

b)

Các bài toán con thường có cấu trúc khác biệt hoàn toàn

c)

Việc tổng hợp kết quả không cần thiết

d)

Việc chia bài toán con giúp đơn giản hóa bài toán chính

53.

Đặc điểm đúng của kỹ thuật chia để trị:

a)

Không sử dụng được cho các bài toán lớn

b)

Không thể áp dụng song song hoá

c)

Thường sinh ra thuật toán đệ quy

d)

Cần xác định rõ bài toán cơ sở

54.

Đặc điểm đúng của bài toán tìm kiếm nhị phân là:

a)

Mỗi bước chia đôi khoảng tìm kiếm

b)

Phù hợp với mảng chưa sắp

c)

Tìm kiếm trên mảng đã sắp xếp

d)

Có độ phức tạp O(n)

55.

Trong bài toán xếp lịch thi đấu thể thao, kỹ thuật chia để trị giúp:

a)

Lập lịch thi đấu cho mọi số lượng vận động viên

b)

Rút ngắn số ngày thi đấu

c)

Giảm số trận mỗi ngày

d)

Tăng độ khó của bài toán

56.

Kỹ thuật chia để trị được sử dụng để làm gì trong giải bài toán? (Sinh viên chọn 2 phương án đúng nhất)

a)

Giải các bài toán con có cấu trúc giống bài toán ban đầu

b)

Chia bài toán lớn thành các bài toán con nhỏ hơn

c)

Giải bài toán theo phương pháp vét cạn

d)

Bỏ qua các bài toán con nếu không cần thiết

57.

Khi giải bài toán chiếc ba lô bằng nhánh cận:

a)

Không cần xét các tổ hợp đã thử

b)

Phải tính tổng giá trị và tổng trọng lượng tạm thời

c)

Có thể dừng sớm nếu vượt quá dung lượng balô

d)

Cần một hàm cận để đánh giá khả năng tiếp tục

58.

Bài toán lập lịch cuộc họp áp dụng kỹ thuật nào sau đây?

a)

A. Quy hoạch động

b)

B. Tham lam

c)

C. Quay lui

d)

D. Duyệt vét cạn

59.

Kỹ thuật quay lui hoạt động dựa trên:

a)

Loại bỏ các cấu hình không thỏa mãn tính chất T

b)

Duyệt tất cả phương án có thể theo đệ quy

c)

Sinh ra lời giải bằng phương pháp ngẫu nhiên

d)

Ưu tiên các phương án có giá trị mục tiêu cao

60.

Trong kỹ thuật nhánh cận, khi nào có thể loại bỏ một nhánh?

a)

Khi cận dưới bằng 0

b)

Khi không còn giá trị để cử

c)

Khi phương án không có lời giải

d)

Khi cận dưới của phương án lớn hơn giá trị tối ưu hiện tại

61.

Trong kỹ thuật quy hoạch động, hai đặc điểm quan trọng của bài toán cần có là

a)

A. Bài toán có thể giải được bằng vét cạn

b)

B. Có bài toán con gối nhau

c)

C. Có thể biểu diễn bằng cây nhị phân

d)

D. Có cấu trúc con tối ưu

62.

Thuật toán tham lam có điểm nào nổi bật?

a)

A. Lựa chọn tại mỗi bước là quyết định cuối cùng

b)

B. Luôn chính xác với mọi bài toán tối ưu

c)

C. Phải lưu lại toàn bộ trạng thái trước đó

d)

D. Không cần xét lại các lựa chọn trước đó

63.

Trong bài toán tối ưu tuyến tính theo kỹ thuật tham lam, phương án nào sau đây là đúng? (Chọn 2 phương án)

a)

Luôn tìm được nghiệm tối ưu

b)

Có thể không đổi được nếu mệnh giá không phù hợp

c)

Chọn tiền mệnh giá nhỏ trước

d)

Chọn tiền mệnh giá lớn trước

64.

Với bài toán ba lô giá trị nguyên, thuật toán tham lam sẽ hiệu quả khi:

a)

A. Tỷ lệ giá trị/trọng lượng là tiêu chí chọn

b)

B. Giá trị mỗi vật là như nhau

c)

C. Không giới hạn số lượng mỗi loại vật

d)

D. Trọng lượng ba lô thay đổi liên tục

65.

Trong giải thuật Mergesort, các bước chính là: (Chọn 2 phương án)

a)

A. Chia mảng thành hai nửa

b)

B. Gọi đệ quy sắp xếp từng nửa

c)

C. Duyệt tuần tự và chèn từng phần tử

d)

D. Sắp xếp bằng cách chọn phần tử nhỏ nhất

66.

Trong kỹ thuật quay lui, điều kiện nào là bắt buộc?

a)

Không trùng lặp cấu hình

b)

Không có điều kiện chấp nhận

c)

Không sử dụng đệ quy

d)

Không bỏ sót cấu hình