Bộ nguồn 1, 2, 3 trong python
Tập hợp lũy thừa của một tập hợp là tập hợp tất cả các tập hợp con của nó hoặc tập hợp tất cả các tổ hợp khác nhau của các phần tử có trong tập hợp đã cho đó. trong bài viết này, chúng ta sẽ khám phá ngắn gọn toán học đằng sau các tập hợp sức mạnh, rút ra và so sánh ba thuật toán khác nhau được sử dụng để tạo ra chúng Show bộ. lótĐể làm mới những kỷ niệm của chúng tôi. một tập hợp, khối xây dựng của lý thuyết tập hợp1, là một tập hợp gồm bất kỳ số lượng đối tượng duy nhất nào mà thứ tự của chúng không quan trọng. Một tập hợp được thể hiện bằng cách sử dụng ký hiệu dấu ngoặc, như và một tập hợp trống hoặc null, được biểu thị bằng cách sử dụng một trong hai và. Bởi vì các tập hợp không theo thứ tự, nên chúng ta có thể nói rằng và bằng nhau, và bởi vì chúng chỉ chứa các phần tử riêng biệt, nên một cái gì đó giống như không hợp lệ tập con và tập lũy thừaTập hợp con của một tập hợp là bất kỳ sự kết hợp nào (bao gồm tập hợp rỗng) của các thành viên của nó, sao cho nó được chứa bên trong tập hợp lớn nhất; . Nếu một tập hợp con chứa tất cả các thành viên của tập hợp cha mẹ (nghĩa là đó là một bản sao), chúng tôi gọi nó là một tập hợp con không chính xác - nếu không, nó đúng. Cuối cùng, lũy thừa của một tập hợp là tập hợp tất cả các tập con của nó, vì vậy lũy thừa của một tập hợp là cardinality của một bộ sức mạnhĐộ dài, hay lực lượng, của một tập hợp lũy thừa là , trong đó lực lượng của tập ban đầu, do đó, số lượng tập hợp con của một tập hợp giống như là 8. Hai cách chứng minh tài sản đó một cách không chính thức
Ghi chú. các thuật toán sau được kèm theo triển khai Python. Để đơn giản hóa mọi thứ và vì các thuật toán không phụ thuộc vào ngôn ngữ, tôi đã tránh sử dụng các hàm dựng sẵn dành riêng cho Python (như Đây là cú đâm đầu tiên của tôi vào một thuật toán, được cung cấp một tập hợp, trả về tập hợp sức mạnh của nó và thật bất ngờ. Đó là cách ít trực quan nhất và không trang nhã nhất trong ba. Chúng ta bắt đầu bằng cách viết một hàm đệ quy tạo tập con k
từ k-tập con đến tập lũy thừaVới khả năng tạo bất kỳ -subset nào, chìa khóa để tạo một power set là tìm các -subset cho tất cả các valid , nằm trong phạm vi (, một lần nữa, là lực lượng của superset)
Chúng tôi sẽ giới thiệu một hàm bao bọc,
Thuật toán thứ hai dựa trên bằng chứng không chính thức thứ hai của chúng tôi về lực lượng của tập hợp. bất cứ khi nào một phần tử được thêm vào một tập hợp, nó phải được thêm vào các bản sao của tất cả các tập hợp con trong tập sức mạnh hiện tại của nó để tạo thành tập hợp mới. Như vậy
như vậy
Thuật toán thứ ba là một cách hack thông minh và dựa vào biểu diễn nhị phân của một số tăng dần để xây dựng các tập hợp con. Trong bằng chứng đầu tiên của chúng tôi về tính chính yếu của một tập hợp sức mạnh, chúng tôi đã lặp lại từng phần tử của một tập hợp đối số và đưa ra lựa chọn với hai kết quả có thể xảy ra (phần tử đó là hoặc không phải là thành viên của tập hợp con). . Hãy xem xét một số nguyên của -bits. nó có các giá trị có thể có trong phạm vi , nghĩa là chúng ta có thể sử dụng nó để thể hiện sự sắp xếp riêng biệt của các bit. Hừm…
1. (hoàn toàn tiếp tuyến) bất cứ khi nào tôi đề cập đến lý thuyết tập hợp, tôi không thể không nghĩ đến Principia Mathematica khét tiếng. một nỗ lực đáng kinh ngạc gồm ba tập để tiên đề hóa toàn bộ toán học, được xuất bản bởi Bertrand Russell và Alfred North Whitehead vào năm 1910-‘13, chủ yếu dựa vào các tập hợp. Nó khét tiếng, trong số những thứ khác, vì đã chứng minh không dưới 379 trang. Kiểm tra nó ra Tập lũy thừa của A ={ 1 2 3 là bao nhiêu?Do đó , P{1,2,3}= {ϕ,{1},{2},{3},{1,2},{1,3
Tập lũy thừa của G ={ 1 2 3 có bao nhiêu phần tử?Tập hợp lũy thừa được định nghĩa là tập hợp hoặc nhóm tất cả các tập hợp con của bất kỳ tập hợp đã cho nào, kể cả tập hợp rỗng, được ký hiệu là {}, hoặc, ϕ. Tập hợp có n phần tử thì có tất cả 2n tập hợp con. Ví dụ: Đặt A = {1,2,3}, do đó, tổng số phần tử trong tập hợp là 3 .
Tập lũy thừa của A ={ 1 2 là bao nhiêu?Ví dụ: tập lũy thừa của A = {1, 2} là P(A) = {{}, {1}, {2}, {1, 2} . .
Python tính toán Powerset như thế nào?Trăn. Tìm bộ sức mạnh của một lần lặp nhất định . Sử dụng list() để chuyển đổi giá trị đã cho thành danh sách Sử dụng phạm vi () và itertools. tổ hợp () để tạo một trình tạo trả về tất cả các tập hợp con Sử dụng itertools. chuỗi. from_iterable() và list() để sử dụng trình tạo và trả về danh sách |