✨Quay lui (khoa học máy tính)

Quay lui (khoa học máy tính)

Quay lui (tiếng Anh: backtracking) là một chiến lược tìm kiếm lời giải cho các bài toán thỏa mãn ràng buộc. Người đầu tiên đề ra thuật ngữ này (backtrack) là nhà toán học người Mỹ D. H. Lehmer vào những năm 1950.

Giải thích

Các bài toán thỏa mãn ràng buộc là các bài toán có một lời giải đầy đủ, trong đó thứ tự của các phần tử không quan trọng. Các bài toán này bao gồm một tập các biến mà mỗi biến cần được gán một giá trị tùy theo các ràng buộc cụ thể của bài toán. Việc quay lui là để thử tất cả các tổ hợp để tìm được một lời giải. Thế mạnh của phương pháp này là nhiều cài đặt tránh được việc phải thử nhiều tổ hợp chưa hoàn chỉnh, và nhờ đó giảm thời gian chạy.

Phương pháp quay lui có quan hệ chặt chẽ với tìm kiếm tổ hợp

Cài đặt

Về bản chất, tư tưởng của phương pháp là thử từng khả năng cho đến khi tìm thấy lời giải đúng. Đó là một quá trình tìm kiếm theo độ sâu trong một tập hợp các lời giải. Trong quá trình tìm kiếm, nếu ta gặp một hướng lựa chọn không thỏa mãn, ta quay lui về điểm lựa chọn nơi có các hướng khác và thử hướng lựa chọn tiếp theo. Khi đã thử hết các lựa chọn xuất phát từ điểm lựa chọn đó, ta quay lại điểm lựa chọn trước đó và thử hướng lựa chọn tiếp theo tại đó. Quá trình tìm kiếm thất bại khi không còn điểm lựa chọn nào nữa.

Quy trình đó thường được cài đặt bằng một hàm đệ quy mà trong đó mỗi thể hiện của hàm lấy thêm một biến và lần lượt gán tất cả các giá trị có thể cho biến đó, với mỗi lần gán trị lại gọi chuỗi đệ quy tiếp theo để thử các biến tiếp theo. Chiến lược quay lui tương tự với tìm kiếm theo độ sâu nhưng sử dụng ít không gian bộ nhớ hơn, nó chỉ lưu giữ trạng thái của một lời giải hiện tại và cập nhật nó.

Để tăng tốc quá trình tìm kiếm, khi một giá trị được chọn, trước khi thực hiện lời gọi đệ quy, thuật toán thường xóa bỏ giá trị đó khỏi miền xác định của các biến có mâu thuẫn chưa được gán (kiểm tra tiến - forward checking) và kiểm tra tất cả các hằng số để tìm các giá trị khác đã bị loại trừ bởi giá trị vừa được gán (lan truyền ràng buộc - constraint propagation).

Heuristic

Người ta thường sử dụng một số phương pháp heuristic để tăng tốc cho quá trình quay lui. Do các biến có thể được xử lý theo thứ tự bất kỳ, việc thử các biến bị ràng buộc chặt nhất (nghĩa là các biến có ít lựa chọn về giá trị nhất) thường có hiệu quả do nó tỉa cây tìm kiếm từ sớm (cực đại hóa ảnh hưởng của lựa chọn sớm hiện hành).

Các cài đặt quay lui phức tạp thường sử dụng một hàm biên, hàm này kiểm tra xem từ lời giải chưa đầy đủ hiện tại có thể thu được một lời giải hay không, nghĩa là nếu đi tiếp theo hướng hiện tại thì liệu có ích hay không. Nhờ đó, một kiểm tra biên phát hiện ra các lời giải dở dang chắc chắn thất bại có thể nâng cao hiệu quả của tìm kiếm. Do hàm này hay được chạy, có thể tại mỗi bước, nên chi phí tính toán các biên cần tối thiểu, nếu không, hiệu quả toàn cục của thuật toán sẽ không được cải tiến. Các hàm kiểm tra biên được tạo theo kiểu gần như các hàm heuristic khác: nới lỏng một số điều kiện của bài toán.

Ví dụ

Sử dụng chiến lược quay lui dùng để giải bài toán liệt kê các cấu hình. Mỗi cấu hình được xây dựng bằng cách xây dựng từng phần tử, mỗi phần tử được chọn bằng cách thử tất cả các khả năng.'''

Phương pháp

_Giả thiết cấu hình cần liệt kê có dạng (x_1, x_2,..., xn). Khi đó thuật toán quay lui được thực hiện qua các bước sau:

:1) Xét tất cả các giá trị x_1 có thể nhận, thử cho x_1 nhận lần lượt các giá trị đó. Với mỗi giá trị thử cho x_1 ta sẽ:

:2) Xét tất cả các giá trị x_2 có thể nhận, lại thử cho x_2 nhận lần lượt các giá trị đó. Với mỗi giá trị thử gán cho x_2 lại xét tiếp các khả năng chọn x_3... cứ tiếp tục như vậy đến bước:

:n) Xét tất cả các giá trị x_n có thể nhận, thử cho x_n nhận lần lượt các giá trị đó, thông báo cấu hình tìm được (x_1, x_2,..., x_n).

Mô tả

Thuật toán quay lui có thể được mô tả bằng đoạn mã giả (pseudocode) sau:

{Thủ tục này thử cho x_i nhận lần lượt các giá trị mà nó có thể nhận}

procedure Try(i: Integer);

begin

for (mọi giá trị có thể gán cho x_i) do

begin

<Thử cho x_i:= V>;

if (x_i là phần tử cuối cùng trong cấu hình) then

<Thông báo cấu hình tìm được>

else

begin

<Ghi nhận việc cho x_i nhận giá trị V (Nếu cần)>;

Try(i + 1); {Gọi đệ quy để chọn tiếp x_{i+1}}

end;

<Nếu cần, bỏ ghi nhận việc thử x_i:= V, để thử giá trị khác>;

end;

end;

(Thuật toán quay lui sẽ bắt đầu bằng lời gọi Try(1);)

Ta có thể trình bày quá trình tìm kiếm lời giải quả thuật toán quay lui bằng cây sau:

Tập tin:Thuật toán quay lui, Cây tìm kiếm quay lui.JPG

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Quay lui** (tiếng Anh: _backtracking_) là một chiến lược tìm kiếm lời giải cho các bài toán thỏa mãn ràng buộc. Người đầu tiên đề ra thuật ngữ này (_backtrack_) là nhà toán học người
**Triết học toán học** là nhánh của triết học nghiên cứu các giả định, nền tảng và ý nghĩa của toán học, và các mục đích để đưa ra quan điểm về bản chất và
_Cuốn [[The Compendious Book on Calculation by Completion and Balancing_]] Từ _toán học_ có nghĩa là "khoa học, tri thức hoặc học tập". Ngày nay, thuật ngữ "toán học" chỉ một bộ phận cụ thể
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 *
**_Star Wars: Thần lực thức tỉnh_** (tên gốc tiếng Anh: **_Star Wars: The Force Awakens_**, hoặc **_Star Wars: Episode VII – The Force Awakens_**) là một bộ phim điện ảnh thuộc thể loại sử thi
thumb|[[Cỗ máy Antikythera|Máy Antikythera là một chiếc máy tính analog trong khoảng thời gian từ 150TCN đến 100TCN được thiết kế để tính toán vị trí của các vật thể thiên văn]] **Thiên văn học
**Avram Noam Chomsky** (sinh ngày 7 tháng 12 năm 1928) là một giáo sư và trí thức công chúng người Mỹ, nổi danh nhờ các nghiên cứu về ngôn ngữ học, phê bình xã hội
**_Hành tinh khỉ: Vương quốc mới_** (tên tiếng Anh: **_Kingdom of the Planet of the Apes_**) là bộ phim điện ảnh thuộc thể loại hành động khoa học viễn tưởng của Hoa Kỳ ra mắt
**_Mortal Engines_** là một bộ phim hậu tận thế năm 2018 của đạo diễn Christian Rivers với kịch bản của Fran Walsh, Philippa Boyens, và Peter Jackson, dựa trên tiểu thuyết cùng tên của Philip
Trực thăng Kaman Seasprite của Hải quân Hoa Kỳ đang hạ cánh trên tàu chiến **Máy bay trực thăng** hay **máy bay lên thẳng** là một loại phương tiện bay có động cơ, hoạt động
- Các yếu tố tác động đến tình hình đăng ký doanh nghiệp tháng 10 và 10 tháng đầu năm 2021 Bước sang Quý IV/2021, Tổ chức Y tế thế giới, các nhà khoa học
phải|Mỗi phần tử của một ma trận thường được ký hiệu bằng một biến với hai chỉ số ở dưới. Ví dụ, a2,1 biểu diễn phần tử ở hàng thứ hai và cột thứ nhất
nhỏ|265x265px|Bức tượng _[[Người suy tư_, Auguste Rodin|thế=]] Thuật ngữ "**Triết học phương Tây**" muốn đề cập đến các tư tưởng và những tác phẩm triết học của thế giới phương Tây. Về mặt lịch sử,
nhỏ|[[Honda Wave 125 S, đời 2007]]nhỏ|Một [[mô tô ba bánh.]] **Xe máy** (còn gọi là **mô tô** hay **xe hai bánh**, **xe gắn máy**, phiên âm từ tiếng Pháp: _Motocyclette_) là loại xe có hai
**Benjamin Franklin** (17 tháng 1 năm 1706 - 17 tháng 4 năm 1790) là một thành viên trong nhóm lập quốc của Hoa Kỳ. Ông cũng là một chính trị gia, nhà khoa học, nhà
Tẩy chai gót chân , Chai got chan- Máy chà gót chân tẩy tế bào chết RF555, Loại tốt, giá rẻ + Tặng kèm 2 cục mài M188 - Bh uy tín 1 đổi 1
**Siêu tân tinh** (chữ Hán: 超新星) hay **sao siêu mới** (; viết tắt là **SN** hay **SNe**) là một sự kiện thiên văn học biến đổi tức thời xảy ra trong giai đoạn cuối của
**Bầu cử Quốc hội Việt Nam khóa XIV** diễn ra vào ngày 22 tháng 5 năm 2016 thông qua biểu quyết trước đó của Quốc hội vào ngày 24 tháng 11 năm 2015. Qua đó,
**Đại học Chung-Ang** (hay còn gọi là _Đại học Trung ương_, viết tắt là CAU) là một trường đại học tư thục danh tiếng có trụ sở ở Seoul. Theo tờ báo Korea Joongang Daily
nhỏ|242x242px|Con [[đom đóm, _Photinus pyralis,_ đang bay và phát sáng]] **Phát quang sinh học** là sự tạo và phát xạ ánh sáng bởi một sinh vật sống. Đây là một dạng ánh sáng hóa học.
**Vương Tiếu Lôi** (; hỗn danh: _夯先生_ _Hãng tiên sinh_; sinh ngày 26 tháng 2 năm 1979), là người gốc Cáp Nhĩ Tân, tỉnh Hắc Long Giang. Ông bị kết án tù vì sản xuất
Theo thuyết Vụ Nổ Lớn, [[vũ trụ bắt nguồn từ một trạng thái vô cùng đặc và vô cùng nóng (điểm dưới cùng). Một lý giải thường gặp đó là không gian tự nó đang
**Steven Allan Spielberg** (; sinh ngày 18 tháng 12 năm 1946) là một nam nhà làm phim người Mỹ gốc Do Thái. Ông bắt đầu sự nghiệp của mình trong kỷ nguyên New Hollywood và
**_Kẻ hủy diệt 4_** (tiếng Anh: **_Terminator Salvation_**, Dịch nghĩa: _Kẻ huỷ diệt: Cứu rỗi_) là bộ phim điện ảnh thứ tư của dòng phim hành động, khoa học viễn tưởng và được trình chiếu
Bức tranh nghệ thuật thể hiện hệ địa tâm có các dấu hiệu của hoàng đạo và hệ mặt trời với Trái Đất ở trung tâm. Hình mẫu ban đầu của hệ Ptolemaeus. Trong thiên
**_Captain America: Kẻ báo thù đầu tiên_** (tựa gốc tiếng Anh: **_Captain America: The First Avenger_**) là một bộ phim siêu anh hùng của Mỹ năm 2011 dựa trên nhân vật Captain America của Marvel
**_Kẻ hủy diệt: Thời đại Genisys_** (tựa gốc tiếng Anh: **_Terminator Genisys_**) là phim điện ảnh hành động khoa học viễn tưởng của Mỹ năm 2015 do Alan Taylor đạo diễn và Laeta Kalogridis cùng
**Syria** ( hoặc ), quốc hiệu là **Cộng hoà Ả Rập Syria** () là một quốc gia ở Tây Á, giáp với Liban và Địa Trung Hải ở phía tây, Thổ Nhĩ Kỳ ở phía
**Galileo di Vincenzo Bonaiuti de' Galilei** (; phiên âm tiếng Việt: **Ga-li-lê**; sinh ngày 15 tháng 2 năm 1564 – mất ngày 8 tháng 1 năm 1642), cũng thường được gọi ngắn gọn là **Galileo**, là
**_Alita: Thiên thần chiến binh_** (tên tiếng Anh gốc: **_Alita: Battle Angel_**) là một bộ phim điện ảnh thể loại cyberpunk hành động viễn tưởng Mĩ năm 2019, dựa trên bộ manga Gunnm của tác
**_Avatar: Dòng chảy của nước_** (tựa gốc tiếng Anh: **_Avatar: The Way of Water_**) là một bộ phim khoa học viễn tưởng sử thi của Mỹ năm 2022 do James Cameron đạo diễn, người đồng
**James Francis Cameron** (sinh ngày 16 tháng 8 năm 1954) là một nam nhà làm phim kiêm nhà hoạt động môi trường người Canada hiện đang sinh sống tại New Zealand. Ông nổi tiếng với
**_Kẻ hủy diệt: Vận mệnh đen tối_** (tên tiếng Anh: **_Terminator: Dark Fate_**) là phim điện ảnh hành động khoa học viễn tưởng của Mỹ năm 2019 do Tim Miller đạo diễn với phần kịch
**_Thor: Tận thế Ragnarok_** (tựa gốc tiếng Anh: **_Thor: Ragnarok_**) là một bộ phim siêu anh hùng ra mắt vào năm 2017 của Mỹ do Marvel Studios sản xuất và Walt Disney Studios Motion Pictures
**Richard Phillips Feynman** (; 11 tháng 5 năm 1918 – 15 tháng 2 năm 1988) là một nhà vật lý lý thuyết người Mỹ được biết đến với công trình về phương pháp tích phân
**_Chiến tranh giữa các vì sao: Tập III – Sự báo thù của người Sith_**) (tựa gốc tiếng Anh: **_Star Wars: Episode III – Revenge of the Sith_**) là một bộ phim không gian sử
phải|[[Mikhail Nikolayevich Tukhachevsky trong bộ quân phục Tư lệnh Quân khu (_Командующий войсками военного округа_) - một tác giả quan trọng của học thuyết tác chiến chiều sâu.]] **Tác chiến chiều sâu** (Tiếng Nga: _Теория
**Lịch sử của thuyết tương đối hẹp** bao gồm rất nhiều kết quả lý thuyết và thực nghiệm do nhiều nhà bác học khám phá như Albert Abraham Michelson, Hendrik Lorentz, Henri Poincaré và nhiều
**_Shang-Chi và huyền thoại Thập Luân_** (tên gốc tiếng Anh: **_Shang-Chi and the Legend of the Ten Rings_**) là phim siêu anh hùng của Mỹ năm 2021 dựa trên nhân vật Shang-Chi của Marvel Comics.
Đây là bản dịch tiếng Việt của tham luận (bằng tiếng Anh) của TS. Trần Đức Anh Sơn đã viết để tham gia “Conference on Nguyen Vietnam: 1558 – 1885” (Hội thảo về nhà Nguyễn
**_Call of Duty: Black Ops II_** là một trò chơi điện tử thuộc thể loại bắn súng góc nhìn thứ nhất được Treyarch phát triển và được Activision phát hành vào ngày 13 tháng 11
**_X-Men: Ngày cũ của tương lai_** (tựa gốc tiếng Anh: **_X-Men: Days of Future Past_**) là một bộ phim siêu anh hùng 2014 dựa tên nhân vật hư cấu X-Men xuất hiện trên Marvel Comics.
**_Star Wars: Jedi cuối cùng_** (tên gốc tiếng Anh: **_Star Wars: The Last Jedi_**, hoặc **_Star Wars: Episode VIII – The Last Jedi_**) là phim điện ảnh sử thi không gian của Mỹ năm 2017
**_Phù thủy tối thượng trong Đa Vũ trụ hỗn loạn_** (tựa gốc ) là một bộ phim siêu anh hùng của Mỹ được công chiếu vào năm 2022, phim dựa trên nhân vật Doctor Strange
**Sibu** () là thị trấn thủ phủ của huyện Sibu thuộc tỉnh Sibu, bang Sarawak, Malaysia. Thị trấn nội lục này nằm trên đảo Borneo, có diện tích là 129,5 km². Sibu nằm tại nơi hợp
là một nhà làm phim người Nhật. Được coi là một trong những nhà làm phim quan trọng và có ảnh hưởng nhất trong lịch sử điện ảnh, Kurosawa đã đạo diễn 30 bộ phim
**Sputnik 1** (tiếng Nga: Спутник 1, "vệ tinh 1". hay "PS-1", Простейший Спутник-1 hay _Prosteyshiy Sputnik-1_) là vệ tinh nhân tạo đầu tiên trên thế giới do Liên bang Xô Viết chế tạo và được
**_Transformers: Bại binh phục hận_** (tựa gốc tiếng Anh: **_Transformers: Revenge of the Fallen_**) là một phim hành động khoa học viễn tưởng của Mỹ năm 2009 dựa trên dòng đồ chơi _Transformers_ của Hasbro.
**Du hành thời gian** là khái niệm về chuyển động được cho là (chuyển) một người hoặc cơ thể (vật thể) khác từ điểm này đến điểm khác của thời gian theo nghĩa tương tự
**_Transformers 3_** (tên gốc tiếng Anh **_Transformers: Dark of the Moon_**) (tạm dịch: **_Robot Đại Chiến: Vùng Tối Của Mặt Trăng_**) là một phim điện ảnh hành động khoa học viễn tưởng của Mỹ năm