Tại sao máy học không thể nhận ra số nguyên tố?


13

Giả sử chúng ta có biểu diễn vectơ của bất kỳ số nguyên nào có độ lớn n, V_n

Vector này là đầu vào cho một thuật toán học máy.

Câu hỏi đầu tiên: Đối với loại biểu diễn nào có thể tìm hiểu tính nguyên thủy / tính tổng hợp của n bằng cách sử dụng mạng thần kinh hoặc một số ánh xạ ML-bit-bit khác. Đây hoàn toàn là lý thuyết - mạng lưới thần kinh có thể không bị giới hạn về kích thước.

Chúng ta hãy bỏ qua các đại diện đã liên quan đến thử nghiệm nguyên thủy, chẳng hạn như: danh sách các yếu tố được phân tách bằng null hoặc sự tồn tại của một nhân chứng phức tạp như trong Miller Rabin. Thay vào đó, hãy tập trung vào các biểu diễn trong các radice khác nhau, hoặc các biểu diễn dưới dạng vectơ hệ số của đa thức (có thể là đa biến). Hoặc những người kỳ lạ khác như được đặt ra.

Câu hỏi thứ hai: đối với những gì, nếu có, các loại thuật toán ML sẽ học được điều này là không thể, bất kể cụ thể của vectơ biểu diễn là gì? Một lần nữa, chúng ta hãy bỏ qua các đại diện 'bị cấm bởi tầm thường' trong đó các ví dụ được đưa ra ở trên.

Đầu ra của thuật toán học máy là một bit đơn, 0 cho số nguyên tố, 1 cho tổng hợp.

Tiêu đề của câu hỏi này phản ánh đánh giá của tôi rằng sự đồng thuận cho câu hỏi 1 là 'không xác định' và sự đồng thuận cho câu hỏi 2 là 'có lẽ hầu hết các thuật toán ML'. Tôi đang hỏi điều này vì tôi không biết gì hơn điều này và tôi hy vọng ai đó có thể chỉ đường.

Động lực chính, nếu có một, của câu hỏi này là: có giới hạn "lý thuyết thông tin" đối với cấu trúc của tập hợp các số nguyên tố có thể được nắm bắt trong một mạng lưới thần kinh có kích thước cụ thể không? Vì tôi không phải là chuyên gia về loại thuật ngữ này, hãy để tôi nói lại ý tưởng này một vài lần và xem liệu tôi có nhận được một xấp xỉ Monte-Carlo cho khái niệm này không: độ phức tạp thuật toán của tập hợp các số nguyên tố là gì? Có thể sử dụng các số nguyên tố là Diophantine đệ quy đệ quy (và có thể đáp ứng một phương trình diophantine lớn cụ thể ) để nắm bắt cấu trúc tương tự trong một mạng lưới thần kinh với các đầu vào và đầu ra được mô tả ở trên.


12
Từ góc độ lý thuyết, vấn đề của bạn không được xác định rõ. Các đầu vào cho thuật toán học máy là gì? Chúng được tạo ra như thế nào? Thuật toán biết gì trước nhiệm vụ học tập của nó?
Lev Reyzin

3
Tôi không nghĩ rằng đây là một câu hỏi hay trong hình thức hiện tại của nó cho trang web này.
Kaveh

4
Nó có thể. Nhưng trong học máy, chúng tôi muốn giảm thiểu lỗi trên tập dữ liệu thử nghiệm. Bây giờ, nếu bạn luyện tập trên bạn có thể sẽ học f ( n ) = n 2 - n + 41 và hoạt động hoàn hảo cho các số nhỏ hơn 41 . Nhưng sau đó hiệu suất của nó là không tốt. Mọi người đã thử điều này (thủ công :-)) và cho đến nay không có nhiều thành công . Trong ML chúng tôi cố gắng tìm các mẫu nhưng nếu không có mẫu nào thì sao? [1,20]f(n)=n2n+4141
Pratik Deoghare

1
Có vẻ như bạn đang hỏi liệu có một thuật toán đưa ra một hàm từ các chuỗi số tự nhiên hữu hạn đến các vị từ trên các số tự nhiên hay không, có thể đưa ra một vị từ nguyên thủy được đưa ra một chuỗi các số nguyên tố, chịu các ràng buộc bổ sung về thuật toán. Phát biểu hạn chế của bạn hơn nữa là không tầm thường, nếu có thể. Nếu bạn cố gắng làm cho nó chính xác, bạn có thể thấy.
Vijay D

1
Một câu trả lời đơn giản, vì rất khó để ước tính không gian tìm kiếm của hàm số nguyên tố f mà bạn đang tìm kiếm (nghĩa là f ( n ) trả về 1 nếu n là số nguyên tố và 0 khác cho mọiSff(n)n ). Liên quan đến @PratikDeoghare bình luận, rất khó để tìm thấy một mô hình trong S . nS
AJed

Câu trả lời:


-8

đây là một câu hỏi / vấn đề cũ với nhiều, rất nhiều mối liên hệ sâu sắc với lý thuyết số, toán học, TCS và đặc biệt là Định lý tự động chứng minh. [5]

câu hỏi cũ, gần như cổ xưa là, "có một công thức cho các số nguyên tố tính toán"

Câu trả lời là, vâng, theo một nghĩa nào đó, có nhiều thuật toán khác nhau để tính toán nó.

hàm zeta Riemann có thể được định hướng lại như một "thuật toán" để tìm các số nguyên tố.

Dường như với tôi rằng một cách tiếp cận thuật toán di truyền GA có thể thành công trong vấn đề này một ngày nào đó với một thiết lập khéo léo, tức là GA là công nghệ được biết đến gần nhất có cơ hội thành công nhất. [6] [7] vấn đề của nó là tìm kiếm một thuật toán từ một tập hợp các ví dụ hữu hạn, ví dụ như học máy, rất giống với cảm ứng toán học. tuy nhiên cho đến nay dường như không có nhiều nghiên cứu về ứng dụng GA trong lý thuyết số.

gần nhất với điều này trong các tài liệu hiện có dường như là [8] thảo luận về việc phát triển phỏng đoán nguyên tố sinh đôi theo cách tự động, tức là "tạo ra phỏng đoán tự động".

một cách tiếp cận khác là một chương trình có một tập hợp lớn các bảng hàm tiêu chuẩn, cùng với một số logic chuyển đổi tinh vi, để nhận ra các chuỗi số nguyên tiêu chuẩn. đây là một chức năng mới được tích hợp trong Mathicala gọi là findsequence[3]

nó cũng được kết nối với một lĩnh vực tương đối mới gọi là "toán học thực nghiệm" [9,10] hay còn gọi là nghiên cứu "thực nghiệm" trong TCS.

Một điểm cơ bản khác cần làm ở đây là chuỗi các số nguyên tố không "trơn tru", các thuật toán học máy tiêu chuẩn rất bất thường, hỗn loạn, gãy gọn và tiêu chuẩn dựa trên lịch sử dựa trên tối ưu hóa số và giảm thiểu lỗi (ví dụ: giảm độ dốc) và không làm như vậy cũng về việc tìm câu trả lời chính xác cho các vấn đề rời rạc. nhưng một lần nữa GA có thể thành công và đã được chứng minh là thành công trong lĩnh vực / chế độ này.

[1] có một eqn toán học cho số nguyên tố thứ n, math.se

[2] công thức cho số nguyên tố , wikipedia

[3] Hàm kết quả wolfram

[4] chức năng riemann zeta

[5] thành công hàng đầu của định lý tự động chứng minh

[6] ứng dụng của thuật toán di truyền trong thế giới thực

[7] áp dụng thuật toán di truyền để chứng minh thm tự động bởi Wang

[số 8] Tự động phỏng đoán theo lý thuyết số bằng cách sử dụng HR, Rái cá và Maple colton

[9] Có ứng dụng toán học thực nghiệm trong TCS không?

[10] Một danh sách đọc về thuật toán thử nghiệm


1
đây là một câu trả lời tuyệt vời Không chắc trang web có đồng ý hay không, nhưng đó là những gì tôi đang tìm kiếm. Một loạt các hướng mới để khám phá và tuổi kết nối cũ. Cảm ơn, thực sự đánh giá cao điều đó. Riêng GAs. Ngoài ra, bạn đọc giữa các dòng và khái quát hóa từ học máy đến 'hình thức cho các số nguyên tố'. Đó là lời cảm ơn rất hữu ích.
Cris Stringfellow

11
@Cris, hầu như không có gì trong câu trả lời này là về học máy. Từ nhận xét của bạn về câu trả lời của Aryeh, có vẻ như tôi không quen với việc học máy (tôi có thể hỏi bạn đã thấy một máy học thuật toán như kiểm tra tính nguyên thủy từ danh sách các ví dụ không?)
Kaveh

6
GA có thể "học" một thuật toán kiểm tra nguyên thủy theo nghĩa tương tự trong đó con khỉ vô hạn tục ngữ một ngày nào đó sẽ gõ toàn bộ tác phẩm của Shakespeare
Sasho Nikolov

@sasho, nó chưa được chứng minh nhưng (vâng, imho) có lẽ không phải do những hạn chế trong công nghệ mà là thiếu nỗ lực. koza đã trình diễn các thuật toán phức tạp "giải / học" GA cho các trò chơi video, ví dụ như pacman (thông qua các cây nguyên thủy), và cũng xây dựng các mạch bằng các thành phần phụ. không phải là ít nhất là khó như tìm số nguyên tố? câu hỏi thực sự là, hệ thống sẽ có những loại nguyên thủy nào, và chúng có thể tìm ra giải pháp như thế nào?
vzn

19

Câu hỏi là, theo tôi, khá mơ hồ và liên quan đến một số hiểu lầm, vì vậy câu trả lời này chỉ cố gắng cung cấp từ vựng đúng và chỉ cho bạn đi đúng hướng.

Có hai lĩnh vực khoa học máy tính trực tiếp nghiên cứu những vấn đề như vậy. Suy luận quy nạplý thuyết học tập tính toán . Hai lĩnh vực có liên quan rất chặt chẽ và sự khác biệt là một xã hội và thẩm mỹ, chứ không phải là một chính thức.

MộtP(A)AAFP(A) mà bạn quan tâm. Bạn thường phải sửa chữa các khái niệm mà bạn quan tâm bởi vì, như những người khác đã chỉ ra, việc thể hiện khái niệm và trình bày dữ liệu là vô cùng quan trọng.

f:NA

iNf(i)=T, for some T in F.

Vì vậy, một bản trình bày dữ liệu tích cực là một bảng liệt kê của khái niệm mục tiêu, thường có một số điều kiện công bằng bổ sung. Bạn có thể yêu cầu một bản trình bày gắn nhãn các từ tùy thuộc vào việc chúng có trong ngôn ngữ hay không. Một lần nữa, bạn có thể thêm các điều kiện bổ sung để đảm bảo tính công bằng và độ bao phủ của tất cả các từ.

RepMRepL(M)

p:NRepL(p(i))f(j)jikjkL(p(j))=L(p(j+1))

Hãy để tôi nhấn mạnh rằng đây chỉ là một hình thức cụ thể của một mô hình học tập cụ thể. Nhưng đây là bước không trước khi bạn có thể bắt đầu hỏi và nghiên cứu các câu hỏi mà bạn quan tâm. Mô hình học tập có thể được làm phong phú bằng cách cho phép tương tác giữa người học và giáo viên. Thay vì các họ ngôn ngữ tùy ý, chúng ta có thể xem xét các ngôn ngữ rất cụ thể hoặc thậm chí các biểu diễn cụ thể (chẳng hạn như các hàm Boolean đơn điệu). Có một sự khác biệt giữa những gì bạn có thể học trong mỗi mô hình và sự phức tạp của việc học. Đây là một ví dụ về một kết quả bất khả thi cơ bản.

Vàng [1967] Không có họ ngôn ngữ nào chứa tất cả các ngôn ngữ hữu hạn và ít nhất một ngôn ngữ siêu hữu hạn có thể học thụ động chỉ từ dữ liệu tích cực.

Người ta phải rất cẩn thận trong việc diễn giải kết quả này. Ví dụ, Dana Angluin đã cho thấy trong những năm 80 rằng

k

k

Angluin [1987] Các ngôn ngữ thông thường có thể học được từ một giáo viên trả lời các truy vấn tương đương và cung cấp các mẫu phản biện. Thuật toán là đa thức trong tập hợp các trạng thái của DFA tối thiểu và độ dài của mẫu phản ứng tối đa.

Đây là một kết quả khá mạnh mẽ và tích cực và gần đây đã tìm thấy một số ứng dụng. Tuy nhiên, như mọi khi các chi tiết đều quan trọng, như tiêu đề của bài viết dưới đây đã gợi ý.

Vấn đề DFA nhất quán tối thiểu không thể được tính gần đúng trong và đa thức , Pitt và Warmuth, 1989.

Bây giờ bạn có thể tự hỏi, làm thế nào bất kỳ điều này có liên quan đến câu hỏi của bạn? Câu trả lời của tôi là không gian thiết kế cho một định nghĩa toán học cho vấn đề của bạn là rất lớn và điểm cụ thể bạn chọn trong không gian này sẽ ảnh hưởng đến loại câu trả lời bạn sẽ nhận được. Trên đây không có nghĩa là một cuộc khảo sát toàn diện về cách chính thức hóa vấn đề học tập. Nó chỉ nhằm thể hiện hướng mà bạn có thể muốn điều tra. Tất cả các tài liệu tham khảo và kết quả tôi trích dẫn là vô cùng ngày, và lĩnh vực này đã làm rất nhiều kể từ đó. Có những sách giáo khoa cơ bản bạn có thể tham khảo để có đủ nền tảng để hình thành câu hỏi của bạn một cách chính xác và xác định xem câu trả lời bạn tìm kiếm đã tồn tại chưa.


Thật tuyệt vời @Vijay D, cảm ơn bạn vì điều đó.
Cris Stringfellow

Đó là một câu hỏi hình thành xấu. Câu trả lời của tôi (và ý kiến) dưới đây cho thấy tại sao. ML có thể nhận ra các số nguyên tố, nhưng không phải trong bất kỳ ý nghĩa thực tế nào, nó sẽ mất quá nhiều thời gian. Đó là bản chất của con thú đặc biệt đó.
Birkensocks

12

Sự thành công của một thuật toán học tập phụ thuộc rất nhiều vào biểu diễn. Làm thế nào để bạn trình bày đầu vào cho thuật toán? Trong một trường hợp cực đoan, giả sử bạn trình bày các con số như là chuỗi các yếu tố chính - trong trường hợp này, việc học là khá tầm thường. Trong một thái cực khác, hãy xem xét việc biểu diễn các số dưới dạng các chuỗi nhị phân. Tất cả các thuật toán học tập tiêu chuẩn mà tôi biết sẽ thất bại ở đây. Đây là một cái sẽ hoạt động: tìm máy Turing nhỏ nhất chấp nhận tất cả các ví dụ tích cực và từ chối tất cả các ví dụ tiêu cực. [Bài tập: chứng minh rằng đây là một người học phổ thông.] Một vấn đề với điều đó là nhiệm vụ không phải là Turing-computable. Để đặt mọi thứ trong quan điểm, bạn có thể học cách nhận ra tính nguyên thủy chỉ dựa trên biểu diễn nhị phân?


Tôi có thể học cách nhận ra tính nguyên thủy dựa trên đại diện nhị phân nếu tôi 'học', giả sử thuật toán Miller Rabin. Nhưng tôi muốn vượt xa những thứ như thế, và xem liệu có thứ gì khác không. Tại sao nhiệm vụ bạn đề cập không phải là Turing-computable?
Cris Stringfellow

6
Tôi không hiểu làm thế nào người ta có thể nói về một vấn đề học tập ở đây mà không đề cập đến, ví dụ, lớp chức năng đích.
Lev Reyzin

1
Lev đúng, tất nhiên - nhưng tôi nghĩ rằng một cuộc thảo luận về các lớp chức năng sẽ vượt ra ngoài phạm vi của câu hỏi ... :)
Aryeh

-1

Vấn đề này là một phần của nghiên cứu hiện đại: đưa ra dữ liệu đầu vào và đầu ra, tìm thuật toán đơn giản nhất tạo ra đầu ra từ đầu vào. Các mạng RNN hoàn thành Turing, vì vậy về mặt lý thuyết bởi SGD vô tận, bạn có thể kết thúc bằng RNN tương đương với mã này:

bool isPrime(int n, int d) {
    if(n<2)
        return 0;
    if(d == 1)
        return true;
    else 
    {
        if(n % d == 0) 
            return false;
        else
            return isPrime(n, d - 1);
    }
}

trên tập dữ liệu này: 0 => 0, 1 => 0, 2 => 1, 3 => 1, 4 => 0, 5 => 1, ... vv

Vấn đề là chúng ta không có lý thuyết thực tế đáng tin cậy về độ hội tụ SGD cũng như bất kỳ ước tính nào về thời gian cần thiết cho sự hội tụ hoặc độ sâu của mạng lưới thần kinh. Nhưng nghiên cứu mới nhất cho thấy các vấn đề tương tự có thể được giải quyết:

https://en.wikipedia.org/wiki/Neural_Turing_machine

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/10/curr_opin_sys_biol_17.pdf

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/cav13.pdf

sử dụng học giả google để tìm kiếm từ khóa ...


-3

Học máy phải tuân theo các quy luật phức tạp của máy tính.

Vấn đề nhân tố chính là ở lớp phức tạp NP, thậm chí có thể là NP-hard (chưa được chứng minh).

Đó là lý do tại sao phát hiện các số nguyên tố là một trong những vấn đề khó khăn nhất trong học máy, và có thể không thể thực hiện được với phương pháp đó.

Máy tính lượng tử (QC) có thể làm điều đó trong thời gian đa thức, nhưng Shor là tính quyết định mạnh mẽ, không phải học máy.

Có thể một thuật toán học QC dựa trên Shor là một cách tiếp cận. Tôi thực sự chỉ đập những tảng đá với nhau bằng cách gợi ý điều đó.


1
PRIMES là trong P, vì vậy tôi sẽ không nói rằng phát hiện các số nguyên tố là một trong những vấn đề khó khăn nhất trong ML - hoặc bất kỳ ngành khoa học máy tính nào khác, cho vấn đề đó. Đây là tất cả những gì về đại diện, rất nhiều người đến gần nhà như đã giải thích trong câu trả lời của tôi và những bình luận bên dưới nó.
Aryeh

Xin lỗi, P NP! PRIMES là đồng NP, và để giải quyết nó trong P hiện tại sẽ yêu cầu thuật toán Thiên hà hoàn toàn không được sử dụng trong bất kỳ mô hình điện toán nào - đặc biệt là học máy, bất kể bạn đại diện cho nó như thế nào. Trong bất kỳ ý nghĩa thực tế nào, đó là NP, và có thể là NP-hard, cảm ơn bạn.
Birkensocks

1
@Birkensocks bạn dường như đã kết hợp thử nghiệm Primality với Factoring. "PRIMES in P" thực ra là tên của bài báo lần đầu tiên cung cấp thuật toán đa thức thời gian để kiểm tra tính nguyên thủy, en.wikipedia.org/wiki/AKS_primality_test . Cũng lưu ý rằng, Bao thanh toán nằm trong NP và co-NP, vì vậy rất khó có thể là NP-hard, xem ví dụ: blog.computationalcomplexity.org/2002/09/ phỏng
Rahul Savani

Vâng tôi nghĩ rằng tôi đã nói rằng ...
Birkensocks
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.