✨Độ phức tạp tính toán

Độ phức tạp tính toán

Trong khoa học máy tính, độ phức tạp tính toán hoặc đơn giản là độ phức tạp của thuật toán là lượng tài nguyên cần thiết để chạy nó. Tập trung đặc biệt được đưa ra cho các yêu cầu thời gian và bộ nhớ.

Vì lượng tài nguyên cần thiết để chạy thuật toán thường thay đổi theo kích thước của đầu vào, độ phức tạp thường được biểu thị dưới dạng hàm , trong đó là kích thước của đầu vào và là độ phức tạp trong trường hợp xấu nhất (mức tối đa của lượng tài nguyên cần thiết cho tất cả các đầu vào có kích thước ) hoặc độ phức tạp của trường hợp trung bình (trung bình của lượng tài nguyên trên tất cả các đầu vào có kích thước ). Độ phức tạp thời gian thường được biểu thị bằng số lượng các thao tác cơ bản cần thiết trên một đầu vào có kích thước , trong đó các hoạt động cơ bản được giả định là mất một lượng thời gian không đổi trên một máy tính nhất định và chỉ thay đổi bởi một yếu tố không đổi khi chạy trên một máy tính khác. Độ phức tạp không gian thường được biểu thị bằng lượng bộ nhớ theo yêu cầu của thuật toán trên đầu vào có kích thước .

Nghiên cứu về độ phức tạp của các thuật toán được đưa ra rõ ràng được gọi là phân tích thuật toán, trong khi nghiên cứu về độ phức tạp của các vấn đề được gọi là lý thuyết độ phức tạp tính toán. Rõ ràng, cả hai lĩnh vực đều có liên quan chặt chẽ với nhau, vì độ phức tạp của thuật toán luôn bị giới hạn trên về độ phức tạp của vấn đề được giải quyết bằng thuật toán này.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Lý thuyết độ phức tạp tính toán** (tiếng Anh: _computational complexity theory_) là một nhánh của lý thuyết tính toán trong lý thuyết khoa học máy tính và toán học tập trung vào phân loại
Trong khoa học máy tính, **độ phức tạp tính toán** hoặc đơn giản là **độ phức tạp** của thuật toán là lượng tài nguyên cần thiết để chạy nó. Tập trung đặc biệt được đưa
Khái niệm **độ phức tạp truyền thông** được đưa ra bởi Andrew Yao năm 1979, khi nghiên cứu về việc hai người độc lập nhau (Alice và Bob) cùng cộng tác để thực hiện một
Trong lý thuyết độ phức tạp tính toán, **BPP** (viết tắt của cụm từ tiếng Anh **bounded-error probabilistic polynomial**) là lớp các bài toán quyết định giải được bằng máy Turing ngẫu nhiên trong thời
Trong lý thuyết độ phức tạp tính toán, **NL** (viết tắt tiếng Anh - Nondeterministic Logarithmic-space) là lớp độ phức tạp bao gồm các bài toán quyết định có thể giải bằng máy Turing không
Trong lý thuyết độ phức tạp tính toán, **RP** (viết tắt của "randomized polynomial time") là lớp độ phức tạp bao gồm các bài toán sao cho tồn tại máy Turing ngẫu nhiên với các
Trong lý thuyết độ phức tạp tính toán, lớp **NC** (viết tắt cho "Nick's Class") là tập hợp các bài toán quyết định giải được trong thời gian đa thức của lôgarit trên máy tính
Trong lý thuyết độ phức tạp tính toán, **ZPP** (viết tắt của zero-error probabilistic polynomial time - thời gian đa thức với xác suất sai bằng không) là lớp độ phức tạp bao gồm các
Trong lý thuyết độ phức tạp tính toán, **L** (còn gọi là **LSPACE**) là lớp độ phức tạp bao gồm các bài toán quyết định có thể giải bằng máy Turing đơn định trong không
Trong lý thuyết độ phức tạp tính toán, **NP** là viết tắt của "nondeterministic polynomial time" (thuật toán bất định trong thời gian đa thức). Cụ thể hơn, **NP** là tập hợp các bài toán
nhỏ|Lưới cho tâm thất trái, ở ba độ phân giải lưới khác nhau và phân phối sợi/tấm Trong khoa học máy tính, và đặc biệt hơn trong lý thuyết tính toán và lý thuyết độ
Thời gian mà máy tính khi thực hiện một thuật toán không chỉ phụ thuộc vào bản thân thuật toán đó, ngoài ra còn tùy thuộc từng máy tính. Để đánh giá hiệu quả của
nhỏ| Để tìm kiếm một mục đã cho trong một danh sách theo thứ tự nhất định, có thể sử dụng cả thuật toán [[Tìm kiếm tuần tự|tìm kiếm nhị phân và tuyến tính (bỏ
Trong lý thuyết độ phức tạp tính toán, **chứng minh có thể kiểm chứng ngẫu nhiên (PCP** - viết tắt của probabilistically checkable proof) là một chứng minh có thể được kiểm tra bởi một
Trong lý thuyết độ phức tạp tính toán, **P**, còn được gọi là **PTIME** hoặc **DTIME**(n^{O(1)}), là một trong những lớp cơ bản nhất trong các lớp độ phức tạp tính toán. Nó bao gồm
Trong khoa học máy tính và vận trù học, **thuật toán xấp xỉ** là các thuật toán tìm lời giải xấp xỉ cho các bài toán tối ưu hóa. Thuật toán xấp xỉ thường được
Trong toán học và khoa học máy tính, **lý thuyết số tính toán**, còn được gọi là **lý thuyết số thuật toán**, là nghiên cứu về các thuật toán để thực hiện tính toán lý
**Vật lý tính toán** là việc nghiên cứu và thực hiện phân tích số để giải quyết các vấn đề trong vật lý học mà đã tồn tại một lý thuyết định lượng. Trong lịch
nhỏ|Một bản tái hiện màu đen và trắng của Máy tính bảng Yale Babylonia của Bộ sưu tập YBC 7289 (khoảng 1800 Tam giác cân. Máy tính bảng cũng đưa ra một ví dụ trong
**Các hàm tính toán được** là các đối tượng nghiên cứu cơ bản trong lý thuyết tính toán. Các hàm tính toán là sự tương tự chính thức của khái niệm trực quan của thuật
**NP-khó** là một tập hợp các bài toán trong lý thuyết độ phức tạp tính toán "ít nhất là khó ngang bất kì bài toán nào trong NP". Một bài toán _H_ là NP-khó khi
nhỏ|Nếu người bán hàng xuất phát từ điểm A, và nếu khoảng cách giữa hai điểm bất kì được biết thì đâu là đường đi ngắn nhất mà người bán hàng có thể thực hiện
**Độ phức tạp** đặc trưng cho hành vi của một hệ thống hoặc mô hình có các thành phần tương tác theo nhiều cách và tuân theo các quy tắc cục bộ, có nghĩa là
thumb|Cách biểu diễn bằng [[Mặt cầu Bloch cho một qubit, yếu tố cơ bản trong máy tính lượng tử.]] **Máy tính lượng tử** (còn gọi là **siêu máy tính lượng tử**) là một thiết bị
Trong lý thuyết tính toán, một **thuật toán không đơn định** là một thuật toán có một hoặc nhiều điểm lựa chọn, mà tại đó có nhiều hướng đi tiếp khác nhau mà không được
Trong lý thuyết độ phức tạp tính toán (_Computational complexity theory_), **Đồ thị con đẳng cấu** là một bài toán quyết định (_decision problem_) thuộc loại NP-đầy đủ (_NP-complete_). Phát biểu của bài toán quyết
Khoa học máy tính nghiên cứu các cơ sở lý thuyết của thông tin và tính toán, cùng với các kỹ thuật thực tiễn để thực hiện và
Trong lý thuyết độ phức tạp tính toán, **PSPACE** là tập hợp các bài toán quyết định giải được bằng máy Turing trong không gian/bộ nhớ đa thức. ## Định nghĩa \mbox{SPACE}(s(n)) được định nghĩa
Trong lý thuyết độ phức tạp tính toán, **DTIME** (hoặc **TIME**) đại diện cho thời gian tính toán của máy Turing đơn định. **DTIME** được dùng để định nghĩa các lớp độ phức tạp bao
Trong khoa học máy tính và trong toán học, **thuật toán sắp xếp** là một thuật toán sắp xếp các phần tử của một danh sách (hoặc một mảng) theo thứ tự (tăng hoặc giảm).
Trong lý thuyết độ phức tạp tính toán, **co-NP** là một lớp độ phức tạp. Một ngôn ngữ {\mathcal{X nằm trong co-NP khi và chỉ khi phần bù \overline{\mathcal{X của nó nằm trong **NP**. Nói
Trong lý thuyết độ phức tạp tính toán, lớp **NP-đầy đủ** là một lớp các bài toán quyết định. Một bài toán _L_ là NP-đầy đủ nếu nó nằm trong lớp NP (lời giải cho
Trong khoa học máy tính, **thuật toán Kosaraju-Sharir** là một thuật toán tìm thành phần liên thông mạnh trong đồ thị có hướng. Theo Aho, Hopcroft và Ullman, thuật toán này xuất hiện trong một
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
Ví dụ về một bài toán xếp ba lô giới hạn 1 chiều: chọn các hộp nào để tổng giá trị các hộp trong ba lô là lớn nhất mà tổng khối lượng dưới 15 kg?
Mô hình 3D với DirectX 9.0: Ấm trà Utah **Đồ họa máy tính** () là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như
} ## Bối cảnh thực tế Bài toán tìm đường đi ngắn nhất giữa hai đỉnh của đồ thị liên thông có nhiều ứng dụng thực tế như: * Bài toán chọn hành trình
Trong khoa học máy tính, **thuật toán Prim** là một thuật toán tham lam để tìm cây bao trùm nhỏ nhất của một đồ thị vô hướng có trọng số liên thông. Nghĩa là nó
Trong khoa học máy tính và lý thuyết đồ thị, **thuật toán Edmonds–Karp** là một trường hợp đặc biệt của thuật toán Ford–Fulkerson cho việc tìm luồng cực đại trong mạng. Nó có độ phức
Trong lý thuyết độ phức tạp tính toán, các bài toán **co-NP-đầy đủ** là những bài toán khó nhất trong co-NP. Nếu tồn tại thuật toán giải một bài toán co-NP-đầy đủ nhanh chóng thì
[[Siêu máy tính song song hàng loạt Blue Gene/P của IBM]] **Tính toán song song** (tiếng Anh: _Parallel computing_), là một hình thức tính toán trong đó nhiều phép tính và tiến trình được thực
**Logic toán** là một ngành con của toán học có liên hệ gần gũi với cơ sở toán học, khoa học máy tính lý thuyết, logic triết học. Ngành này bao gồm hai phần: nghiên
Trong lý thuyết độ phức tạp tính toán và tính toán lượng tử, bài toán Simon là một bài toán thuộc dạng cây quyết định hay dạng truy vấn, được diễn tả bởi Daniel Simon
**Khoa học tính toán**, còn được gọi là **tính toán khoa học** hoặc **tính toán khoa học**, là một lĩnh vực đa ngành đang phát triển nhanh chóng, sử dụng các khả năng tính toán
Trong Lý thuyết đồ thị, **phép đồng cấu đồ thị** (tiếng Anh: _graph homomorphism_) là ánh xạ giữa hai đồ thị trong khi tôn trọng cấu trúc của chúng. Cụ thể hơn, nó ánh xạ
Trong đồ họa máy tính, **sprite** là một hình ảnh hai chiều hoặc hình ảnh động được tích hợp vào một cảnh lớn hơn. Ban đầu nó chỉ bao gồm đối tượng đồ họa xử
thumb|Một quá trình gồm nhiều kỹ thuật kết xuất được áp dụng lên một cảnh phim 3D đơn lẻ thumb|Một hình ảnh tạo bằng phần mềm [[POV-Ray 3.6.]] Trong đồ họa máy tính, **kết xuất
** Thuật toán so khớp chuỗi Knuth–Morris–Pratt** (hay **thuật toán KMP**) tìm kiếm sự xuất hiện của một "từ" W trong một "xâu văn bản" S bằng cách tiếp tục quá trình tìm kiếm khi
Trong tính toán lượng tử, **thuật toán lượng tử** là một thuật toán chạy bằng mô hình thực tế của tính toán lượng tử, mô hình được sử dụng phổ biến nhất là mô hình
**Hệ thống phức tạp** là một hệ thống bao gồm nhiều thành phần có thể tương tác với nhau. Ví dụ về các hệ thống phức tạp là khí hậu toàn cầu, sinh vật, não