✨Phát hiện chu trình

Phát hiện chu trình

Trong Khoa học máy tính, bài toán phát hiện chu trình hay tìm chu trình là bài tìm thuật toán tìm vòng lặp trong một chuỗi giá trị hàm.

Bất kỳ hàm f nào ánh xạ một tập hữu hạn S tới chính nó, và bất kỳ giá trị ban đầu x_0 trong S, chuỗi các giá trị hàm

: x_0,\ x_1=f(x_0),\ x_2=f(x_1),\ \dots,\ xi=f(x{i-1}),\ \dots

phải có một giá trị xuất hiện hai lần: có một số cặp ij phân biệt sao cho x_i = x_j. Khi điều này xảy ra, chuỗi tiếp tục chu trình một cách định kỳ, bằng cách lặp lại chuỗi giá trị từ xi tới x{j-1}. Tìm chu trình là bài toán tìm ij khi biết fx_0.

Rất nhiều thuật toán tìm chu trình nhanh và dùng ít bộ nhớ được biết. Thuật toán rùa và thỏ của Robert W.Floyd di chuyển hai con trỏ với vận tốc khác nhau qua chuỗi cho đến khi chúng cùng chỉ một giá trị. Lựa chọn khác, ta có thuật toán của Brent dựa trên ý tưởng tìm kiếm theo cấp số mũ. Cả hai thuật toán trên chỉ dùng một số lượng cố định bộ nhớ và tính giá trị hàm một lượng tỷ lệ thuận với khoảng cách tính từ xuất phát của chuỗi đến giá trị lặp đầu tiên. Các thuật toán khác đổi bộ nhớ lớn hơn để tính ít hơn số lần tính giá trị hàm.

Ứng dụng của phát hiện chu trình bao gồm thử nghiệm chất lượng của bộ sinh số giả ngẫu nhiên và hàm băm mật mã học, các thuật toán trong lý thuyết số tính toán, phát hiện vòng lặp vô hạn trong các chương trình máy tính và các cấu hình tuần hoàn trong tế bào tự động hóa.

Thí dụ

nhỏ|Một hàm từ và đến tập {0,1,2,3,4,5,6,7,8} và đồ thị hàm tương ứng Hình bên cho biết một hàm f ánh xạ tập S = {0, 1, 2, 3, 4, 5, 6, 7, 8} tới chính nó. Nếu ta xuất phát từ x_0 = 2 và liên tục áp dụng hàm f, ta sẽ được chuỗi sau

:

Chu trình trong chuỗi giá trị này là 6, 3, 1.

Định nghĩa

Gọi là tập hữu hạn bất kỳ, là hàm bất kỳ từ ánh xạ vào chính nó và là phần tử bất kỳ trong . Với bất kỳ , đặt . Gọi là chỉ số nhỏ nhất sao cho giá trị thường xuyên lặp lại vô hạn trong chuỗi giá trị và đặt (độ dài vòng lặp) là số nguyên dương nhỏ nhất sao cho . Bài toán phát hiện chu trình yêu cầu tìm hai giá trị và .

Ta có thể xét bài toán này bằng lý thuyết đồ thị, bằng cách xây một đồ thị hàm (một đồ thị có hướng mà mỗi đỉnh có một cung đi ra) trong đó mỗi đỉnh là một phần tử của S, và các cung đi ra ánh xạ phần tử giá trị hàm tương ứng, như hình trên.

Các thuật toán

Nếu input được đưa như một thủ tục con là để tìm f, bài toán có thể giải đơn giản dùng chỉ \lambda + \mu lần tính hàm, bằng cách tính chuỗi giá trị x_i dùng một cấu trúc dữ liệu như bảng băm để lưu các giá trị này và kiểm tra xem các giá trị sau đã được lưu chưa. Tuy nhiên, độ phức tạp bộ nhớ tỉ lệ thuận với \lambda + \mu, lớn không cần thiết. Do đó nghiên cứu trong khu vực này tập trung vào hai mục tiêu: dùng ít bộ nhớ hơn thuật toán trên và tìm thuật toán con trỏ dùng ít số lần kiểm tra hơn.

Thuật toán rùa và thỏ của Floyd

thumb|upright=1.25|Thuật toán rùa và thỏ của Floyd, áp dụng với chuỗi 2, 0, 6, 3, 1, 6, 3, 1,... Thuật toán tìm chu trình của Floyd là thuật toán con trỏ dùng hai con trỏ, di chuyển trên cùng một chuỗi với tốc độ khác nhau. Nó cũng được gọi là "thuật toán rùa và thỏ", dựa trên câu chuyện ngụ ngôn của Aesop.

Thuật toán được đặt tên theo Robert W. Floyd, người được công nhận bởi Donald Knuth. Tuy nhiên, thuật toán không xuất hiện trong các bài của Floyd, và do đó đây có thể là quy kết nhầm: Floyd mô tả các thuật toán liệt kê toàn bộ các chu trình đơn trong một đồ thị có hướng trong tờ nghiên cứu năm 1967, nhưng tờ báo đó không mô tả bài toán tìm chu trình với đồ thị hàm ở đây. Thậm chí, theo lời của Knuth (vào năm 1969), quy nó về Floyd mà không trích dẫn.

Yếu tố quan trọng trong thuật toán như sau. Nếu có một chu trình, thì, với bất kỳ và , , với là độ dài vòng lặp cần tìm và là vị trí của phần tử đầu tiên trong chu trình. Dựa trên đây, ta có thể chứng minh với một vài số khi và chỉ khi . Như vậy, thuật toán chỉ cần kiểm tra các giá trị lặp lại dưới dạng đặc biệt trên, với một con trỏ để cách gấp đôi từ vị trí xuất phát, để tìm chu kỳ cho một lần lặp là bội của . Một khi được tìm thấy, thuật toán tìm ngược lại từ lúc ban đầu để tìm giá trị đầu tiên trong chuỗi, khi biết rằng là ước của và do đó . Cuối cùng, một khi đã được biết, bài toán trở nên đơn giản trong việc tìm độ dài cho chu trình lặp lại ngắn nhất, bằng việc tìm vị trí đầu tiên của sao cho .

Thuật toán do đó dùng hai con trỏ, con trỏ đầu tiên (con rùa) nằm tại , và con còn lại (con trỏ) nằm tại . Trong mỗi bước của thuật toán, tăng bởi một, di chuyển con rùa một bước phía trước và con thỏ hai bước phía trước trong chuỗi, rồi so sánh giá trị chuỗi ở hai con trỏ này. Giá trị nhỏ nhất của sao cho rùa và thỏ đều trỏ vào cùng một giá trị là giá trị cần tìm.

Đoạn code Python sau mô tả ý tưởng thuật toán trên:

def floyd(f, x0): # Main phase of algorithm: finding a repetition x_i = x_2i. # The hare moves twice as quickly as the tortoise and # the distance between them increases by 1 at each step. # Eventually they will both be inside the cycle and then, # at some point, the distance between them will be # divisible by the period λ. tortoise = f(x0) # f(x0) is the element/node next to x0. hare = f(f(x0)) while tortoise != hare: tortoise = f(tortoise) hare = f(f(hare))
# At this point the tortoise position, ν, which is also equal
# to the distance between hare and tortoise, is divisible by
# the period λ. So hare moving in circle one step at a time, 
# and tortoise (reset to x0) moving towards the circle, will 
# intersect at the beginning of the circle. Because the 
# distance between them is constant at 2ν, a multiple of λ,
# they will agree as soon as the tortoise reaches index μ.

# Find the position μ of first repetition.    
mu = 0
tortoise = x0
while tortoise != hare:
    tortoise = f(tortoise)
    hare = f(hare)   # Hare and tortoise move at same speed
    mu += 1

# Find the length of the shortest cycle starting from x_μ
# The hare moves one step at a time while tortoise is still.
# lam is incremented until λ is found.
lam = 1
hare = f(tortoise)
while tortoise != hare:
    hare = f(hare)
    lam += 1

return lam, mu

Thuật toán chỉ dùng con trỏ để lưu và sao chép giá trị, tính giá trị hàm và kiểm tra bằng nhau, do đó nó thỏa mãn yêu cầu của thuật toán con trỏ.Thuật toán dùng số phép tính trên, và bộ nhớ.

Thuật toán của Brent

Richard P. Brent mô tả một thuật toán tìm chu trình khác, giống thuật toán rùa và con thỏ, chỉ cần hai con trỏ để duyệt dãy số. Tuy nhiên, nó dựa theo nguyên tắc khác: tìm giá trị lũy thừa bậc hai nhỏ nhất mà lớn hơn cả và . Với , thuật toán so sánh với mỗi giá trị phần tử tiếp theo cho đến khi gặp lũy thừa bậc hai tiếp theo, dừng khi nó gặp một cặp bằng nhau. Thuật toán có hai ưu thế so với thuật toán rùa và con thỏ: nó tìm đúng và trực tiếp giá trị của chu trình, thay vì phải tìm nó trong đoạn mã sau, và các bước của nó chỉ cần một phép tính hơn là 3.

Đoạn code python sau mô tả lại ý tưởng trên.

def brent(f, x0): # main phase: search successive powers of two power = lam = 1 tortoise = x0 hare = f(x0) # f(x0) is the element/node next to x0. while tortoise != hare: if power == lam: # time to start a new power of two? tortoise = hare power *= 2 lam = 0 hare = f(hare) lam += 1
# Find the position of the first repetition of length λ
tortoise = hare = x0
for i in range(lam):
# range(lam) produces a list with the values 0, 1, ... , lam-1
    hare = f(hare)
# The distance between the hare and tortoise is now λ.

# Next, the hare and tortoise move at same speed until they agree
mu = 0
while tortoise != hare:
    tortoise = f(tortoise)
    hare = f(hare)
    mu += 1

return lam, mu

Giống thuật toán rùa và thỏ, đây là thuật toán con trỏ dùng lần kiểm tra và tính hàm cùng với bộ nhớ. Đồng thời cũng không quá khó để chứng minh rằng số lần tính hàm không bao giờ cao hơn số lần tính trong thuật toán của Floyd. Brent cho rằng, trên trung bình, thuật toán tìm chu trình của ông chạy khoảng 36% nhanh hơn so với cái của Floyd và nó đẩy tốc độ cho thuật toán Pollard rho bởi tầm 24%. Ông cũng xét phân tích trung bình cho phiên bản ngẫu nhiên của thuật toán trong đó dãy chỉ số xét bởi con trỏ chậm hơn không phải lũy thừa bậc hai như thường, mà là bội ngẫu nghiên của lũy thừa bậc hai. Mặc dù ông định áp dụng chủ yếu cho các thuật toán phân tích số nguyên, Brent cũng có xét tới các ứng dụng cho việc kiểm nghiệm các bộ sinh số giả ngẫu nhiên.

👁️ 66 | ⌚2025-09-16 22:46:29.964

QC Shopee
Trong Khoa học máy tính, bài toán **phát hiện chu trình** hay **tìm chu trình** là bài tìm thuật toán tìm vòng lặp trong một chuỗi giá trị hàm. Bất kỳ hàm f nào ánh
Biểu đồ chu trình carbon. Các số màu đen chỉ ra lượng carbon được lưu giữ trong các nguồn chứa khác nhau, tính bằng tỉ tấn ("GtC" là viết tắt của _GigaTons of Carbon_ (tỉ
Sơ đồ biểu diễn quá trình luân chuyển nitơ trong môi trường. Trong quá trình này, vi khuẩn đóng vai trò quan trọng, chúng tạo ra các dạng hợp chất nitơ khác nhau có thể
ORC với Bộ hồi nhiệt **Chu trình Rankine hữu cơ** (**ORC**) được đặt tên cho việc sử dụng chất lỏng có khối lượng phân tử cao, hữu cơ với sự thay đổi pha hơi-lỏng hoặc
thumb|upright=1.2|Mô hình vật lý của **chu trình Rankine**
1. [[Máy bơm, 2. Lò hơi, 3. Tua bin, 4. Condenser (heat transfer)]] **Chu trình Rankine** là một mô hình được sử dụng để dự đoán hiệu suất
**Chu trình Carnot** là một chu trình nhiệt động lực học thuận nghịch lý tưởng được nghiên cứu bởi Nicolas Léonard Sadi Carnot trong thập niên 1820 và Benoit Paul Émile Clapeyron vào khoảng thập
**PDCA** hay **Chu trình PDCA** (Lập kế hoạch – Thực hiện – Kiểm tra – Cải tiến) là chu trình cải tiến liên tục được Tiến sĩ Deming giới thiệu cho người Nhật trong những
**Chu trình ure** (còn được gọi là **chu trình ornithine**) là một chu trình phản ứng sinh hóa tạo ra ure ((NH2)2CO) từ amonia (NH3). Chu trình này diễn ra ở các các sinh vật
nhỏ|[[Mặt Trời, trung tâm của Hệ Mặt Trời (Lưu ý: Mặt Trời là một ngôi sao, không phải hành tinh).]] **Thời gian biểu phát hiện các hành tinh và vệ tinh trong Hệ Mặt
**Chu trình Brayton** là một chu trình nhiệt động lực học, đặt tên theo George Brayton (1830-1892), một kỹ sư người Mỹ, người đã phát triển nó. Năm 1872, Brayton đăng ký bằng sáng chế
phải|nhỏ|350x350px|Chu trình oxy **Chu trình oxy** là chu trình sinh địa hóa của oxy bên trong bốn nguồn dự trữ chính của nó: khí quyển (không khí), tổng tất cả vật chất sinh học trong sinh quyển (tổng toàn cầu của mọi hệ
right|thumbnail|Tổng quan về chu trình CNO loại 1 right|thumb|Chu trình Carbon-Nitrogen-Oxygen loại 1 **Chu trình CNO** (cho carbon–nitrogen–oxygen) là một trong hai chuỗi phản ứng nhiệt hạch mà các ngôi sao chuyển hydrogen về helium,
Lịch Sử Phật Giáo - Hành Trình Từ Cội Nguồn Ấn Độ Đến Các Vùng Đất Châu Á “Lịch Sử Phật Giáo - Hành Trình từ cội nguồn Ấn Độ đến các vùng đất châu
PRE-ORDER - HÀNG ĐẶT TRƯỚC Lịch Sử Phật Giáo – Hành Trình từ cội nguồn Ấn Độ đến các vùng đất châu Á - Dự án Phật Học Tinh Hoa Khám Phá Hành Trình Kỳ
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
thumb|upright|Một mẩu [[giáp cốt có khắc Giáp cốt văn khai quật ở Ân Khư, phát hiện được nhiều phiếu bình chọn nhất.]] Năm 2001, Viện Khảo cổ, Viện Khoa học xã hội Trung Quốc đã
nhỏ|Một góc nhìn lãng mạn về thời khắc đoàn thám hiểm của [[Christopher Columbus đặt chân lên châu Mỹ (Dióscoro Puebla, 1862).]] **Phát hiện ra châu Mỹ** là hội nghị lịch sử được đánh dấu
Combo (2 Cuốn): Kanban - Quản Lý Công Việc Hiệu Quả + Lập Kế Hoạch Công Việc Theo Chu Trình PDCA - Bí Quyết Phát Triển Thần Kỳ Của Các Doanh Nghiệp Nhật Bản Kanban
Đây là tự truyện của James Watson – người đồng khám phá ra cấu trúc xoắn kép của DNA Nếu bạn tò mò về khám phá được coi là vĩ đại nhất thế kỷ 20
Ngày 9-1, Khánh Hòa phát động chương trình Người dân Khánh Hòa nói tiếng Anh, nhằm phổ cập tiếng Anh đến toàn dân trên địa bàn tỉnh, hướng tới phục vụ cho du lịch -
Combo Trinh Thám Hay Nhất Của Higashino Keigo: Giấc Mơ Tiên Tri + Án Mạng Mười Một Chữ 1.Giấc Mơ Tiên Tri Đêm khuya, một gã đàn ông lẻn vào phòng của thiếu nữ mười
**Phát hiện chuyển động** là quá trình phát hiện sự thay đổi vị trí của vật thể so với môi trường xung quanh hoặc thay đổi môi trường xung quanh một cách tương đối so
**24 Giờ** (, tiếng Anh: Twenty Four Hours) là chương trình thực tế ngoài trời được phát sóng trên kênh vệ tinh Chiết Giang. 6 vị khách nam sẽ là các vị khách thường xuyên
Giới thiệu sách Khoa học về tâm lý là rất khó, cảm xúc cá nhân mỗi người là khác nhau, ở thời điểm, thời kỳ...môi trường khác nhau sẽ có những phản ứng khác nhau.
“Lịch sử Phật giáo - Hành trình từ cội nguồn Ấn Độ đến các vùng đất châu Á” là một tác phẩm quan trọng của Giáo sư Andrew Skilton (Đại học Oxford), một trong những chuyên gia hàng đầu thế giới về Phật học. Cuốn sách mang đến một cái nhìn toàn diện và súc tích về hành trình kéo dài hàng thiên niên kỷ của một trong những tôn giáo vĩ đại nhất thế giới. Từ khởi nguồn khiêm tốn ở Ấn Độ cho đến sự lan tỏa mạnh mẽ khắp châu Á, Skilton đã khéo léo phác họa bức tranh lịch sử đầy đủ, làm nổi bật cả những cột mốc quan trọng về cả giáo lý và những biến đổi văn hóa. Cuốn sách được chia làm 2 phần với 28 chương, trong đó: Phần I: Phật giáo ở Ấn Độ (18 chương) Bắt đầu với bối cảnh cổ đại và cuộc đời Đức Phật, làm rõ các giáo lý cốt lõi như Tứ Thánh Đế và Tám Thánh Đạo. Sách mô tả sự hình thành Tăng đoàn sơ khai, các hội nghị kết tập kinh điển, và sự phân hóa thành các trường phái Phật giáo như Thượng tọa bộ và Đại chúng bộ. Skilton cũng trình bày về Tam Tạng Kinh Điển và A-tỳ-đạt-ma tạng. Một bước ngoặt lớn là sự xuất hiện của Đại thừa (Mahāyāna) với lý tưởng Bồ tát, các kinh điển quan trọng, và những trường phái như Trung quán tông, Duy Thức tông, cùng với học thuyết Như Lai Tạng và sự phát triển của Mật tông/Kim Cương thừa. Phần này kết thúc với phân tích về sự suy tàn của Phật giáo tại Ấn Độ. Phần II: Phật giáo truyền bá ngoài Ấn Độ (10 chương) Mở rộng tầm nhìn ra khỏi Ấn Độ để đến với hành trình truyền bá, phát triển của Phật giáo ở các nước Á châu khác. Tác giả bắt đầu với Sri Lanka và Đông Nam Á, sau đó dẫn người đọc đến với Trung Á và Kashmir, hai trung tâm Phật giáo cổ xưa và quan trọng. Không dừng lại ở đó, tác giả còn phân tích sự du nhập và biến đổi của Phật giáo tại Trung Quốc, Nhật Bản, Tây Tạng và một số nước Á châu khác, giúp độc giả có được cái nhìn toàn diện về sự lan truyền và phát triển của Phật giáo trên khắp châu lục. Xuyên suốt cuốn sách, tác giả không chỉ đơn thuần liệt kê các sự kiện lịch sử mà còn chú trọng vào sự phát triển của các khái niệm và học thuyết Phật giáo. Tác giả giải thích rõ ràng các giáo lý cốt lõi như Tứ Thánh Đế, Tám Thánh Đạo, Duyên Khởi, và sau đó đi sâu vào những phức tạp hơn của các trường phái Đại thừa như Trung quán tông và Duy thức tông. Cách tiếp cận này giúp người đọc hiểu được lý do và cách thức các trường phái và giáo lý khác nhau xuất hiện, chứ không chỉ đơn thuần là chúng đã tồn tại. Bên cạnh đó, Skilton còn mang đến cho độc giả một cái nhìn sâu sắc về khả năng thích nghi phi thường của Phật giáo, cho phép tôn giáo này bén rễ và phát triển trong vô số nền văn hóa khác nhau. Mặc dù nội dung có tính học thuật và phức tạp, nhưng sách sử dụng ngôn ngữ rõ ràng, mạch lạc và dễ hiểu. Vì thế cuốn sách là một tài liệu học thuật không thể thiếu cho bất cứ ai muốn hiểu rõ về hành trình và tầm ảnh hưởng vĩ đại của Phật giáo qua các thời đại. Hình ảnh trên bìa sách là hang động điêu khắc Phật giáo Ajanta ở Ấn Độ. Sách thuộc nhóm sách Tôn giáo – Phật giáo của Omega+ và nằm trong dự án “Phật Học Tinh Hoa thế giới”. Dự án “Phật Học Tinh Hoa Thế giới”: dự án nhằm tuyển chọn và dịch các tác phẩm hàn lâm có tính cập nhật từ các nhà nghiên cứu Phật học uy tín tại các đại học lớn như Oxford, Cambridge, Harvard, Columbia, Yale, Princeton, Chicago, Berkeley, Stanford... Dự án mong muốn truyền tải tri thức Phật giáo đến đông đảo bạn đọc và góp phần xây dựng nền tảng tri thức học thuật Phật giáo ở Việt Nam.                
Án Mạng Mười Một Chữ ------------   Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám
Án Mạng Mười Một Chữ ------------   Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám
1. Án Mạng Mười Một Chữ Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám đã
Truyện Tranh Kĩ Năng Cho Người Trẻ - Chu Trình PDCA Nhà xuất bản : Nhà Xuất Bản Kim Đồng. Công ty phát hành : NXB Kim Đồng. Tác giả : Masahiko Hara. Kích thước
Tác giả: Higashino Keigo Dịch giả: Phương Phương Nhà xuất bản: Hà Nội Số trang: 260 Kích thước: 14x20.5 cm Ngày phát hành: 12-03-2020   GIỚI THIỆU SÁCH: Tình cờ phát hiện những điều bất
Tác giả: Higashino Keigo Dịch giả: Phương Phương Nhà xuất bản: Hà Nội Số trang: 260 Kích thước: 14x20.5 cm Ngày phát hành: 12-03-2020   GIỚI THIỆU SÁCH: Tình cờ phát hiện những điều bất
Combo Án mạng mười một chữ  và Vụ án mạng ở lữ quán Kairotei - sổ tay Án mạng mười một chữ Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc
Án Mạng Mười Một Chữ ------------   Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám
Án Mạng Mười Một Chữ Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám đã cùng
Hướng Dẫn Thực Hiện Chương Trình Giáo Dục Phổ Thông Mới Thực hiện Nghị quyết số 29/NQ-TW ngày 04 tháng 11 năm 2013 Hội nghị lần thứ 8 Ban Chấp hành Trung ương Đảng Cộng
Sách - Án Mạng Mười Một Chữ Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám
Hướng Dẫn Thực Hiện Chương Trình Giáo Dục Phổ Thông Mới Thực hiện Nghị quyết số 29/NQ-TW ngày 04 tháng 11 năm 2013 Hội nghị lần thứ 8 Ban Chấp hành Trung ương Đảng Cộng
1. Án Mạng Mười Một Chữ  Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám đã
Giới thiệu bộ sách "Hướng dẫn thực hiện chương trình giáo dục phổ thông mới". Để phù hợp với tiến trình hội nhập và Thực hiện Nghị quyết số 29/NQ-TW ngày 04 tháng 11 năm 2013
Tên sản phẩm: Sách Bizbooks - Sách Tâm Lý Học Tội Phạm - Nghệ Thuật Phát Hiện Lời Nói Dối Đâu là sự thật của những lời nói dối? Một cậu thanh niên được đánh
Một nhóm nghiên cứu của Trung tâm Công nghệ thông tin và Ngoại ngữ (Công viên Phần mềm Quân đội) - Trường Đại học Thông tin liên lạc vừa nghiên cứu giải pháp kỹ thuật kết
Tình cờ phát hiện những điều bất thường sau cái chết thảm khốc của người yêu, nhân vật “tôi”, một nữ nhà văn viết tiểu thuyết trinh thám đã cùng bạn mình, Hagio Fuyuko, cũng
1.  DÒNG CHẢY TIẾN HÓA Cách các ý tưởng mới khởi phát trong tiến trình lịch sử loài người Tác giả: Matt Ridley Dịch giả: Trang Đặng BTV thực hiện: Thảo Nguyên – Thu Hằng
DÒNG CHẢY TIẾN HÓA Cách các ý tưởng mới khởi phát trong tiến trình lịch sử loài người Tác giả: Matt Ridley Dịch giả: Trang Đặng BTV thực hiện: Thảo Nguyên – Thu Hằng NỘI
 DÒNG CHẢY TIẾN HÓA Cách các ý tưởng mới khởi phát trong tiến trình lịch sử loài người Tác giả: Matt Ridley Dịch giả: Trang Đặng BTV thực hiện: Thảo Nguyên – Thu Hằng NỘI