Body: <p>Can neural networks be used to study (elementary) number theoretic problems? What are examples where this has been done in the past? Or is there on the contrary an understanding that neural networks are not helpful for such problems?</p>
  <p>To make the question more concrete, let me give an example of the kind of number-theoretic problem I'm thinking of: given two natural numbers a and b I may want to compute the rounded down quotient int(a/b). Naively I would restrict to 64-bit unsigned numbers and build a neural network that has 128 neurons in the input layer and 64 neurons in the output layer representing the binary expansion of the numbers. Assuming I laid out the network properly and trained it well, would I be expected to get useful output? In particular, would I be able to interpret the output as a number and would it often be the right answer?</p>
  <p>Note: the reason why I think of this as a &quot;number theoretic&quot; problem is because I want to compute int(a/b) rather than the rational number a/b. This is essentially a step in Euclid's algorithm. So the non-linear behaviour int(4/3) = 1, int(5/3) = 1, int(6/3) = 2 is crucial and would need to be recognizable in the output.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-02-03T17:54:11.710Z
Comments.Text: Hi, did you find an answer? I'm interested as well
Comments.UserDisplayName: Stefano Giacone
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-02-12T08:00:13.240Z
Comments.Text: No, I didn't find a formal answer. Heuristically my impression is that neural networks would perform rather badly.
Comments.UserDisplayName: Stefan Witzel
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-04-10T01:10:27.840Z
Comments.Text: I'd bet that you can gain nothing as number theory is rather abstract and you'd need a system working with formulas in order to gain any useful knowledge. However, your integer divisor problem can definitely be learned as it's a final optimization problem. What's unclear is the number of neurons needed - you probably don't want to use 2**128 of them. AFAIK no CPU has a single-step 64:64 bit divider, so you most probably have to use some feedback network, too.
Comments.UserDisplayName: maaartinus
Tags: <neural-networks><reference-request><math><applications>
Title: Can neural networks be used to study (elementary) number theoretic problems?
UserDisplayName: Stefan Witzel
ThreadText: # Can neural networks be used to study (elementary) number theoretic problems?
  
  (Asked by: username_0 on 2017-05-26)
  
  Can neural networks be used to study (elementary) number theoretic problems? What are examples where this has been done in the past? Or is there on the contrary an understanding that neural networks are not helpful for such problems?
  
  To make the question more concrete, let me give an example of the kind of number-theoretic problem I'm thinking of: given two natural numbers a and b I may want to compute the rounded down quotient int(a/b). Naively I would restrict to 64-bit unsigned numbers and build a neural network that has 128 neurons in the input layer and 64 neurons in the output layer representing the binary expansion of the numbers. Assuming I laid out the network properly and trained it well, would I be expected to get useful output? In particular, would I be able to interpret the output as a number and would it often be the right answer?
  
  Note: the reason why I think of this as a "number theoretic" problem is because I want to compute int(a/b) rather than the rational number a/b. This is essentially a step in Euclid's algorithm. So the non-linear behaviour int(4/3) = 1, int(5/3) = 1, int(6/3) = 2 is crucial and would need to be recognizable in the output.
  
  **Tags:** neural-networks, reference-request, math, applications
  
  > **Comments:**
  > **username_1**: Hi, did you find an answer? I'm interested as well  
  > **username_0**: No, I didn't find a formal answer. Heuristically my impression is that neural networks would perform rather badly.  
  > **username_2**: I'd bet that you can gain nothing as number theory is rather abstract and you'd need a system working with formulas in order to gain any useful knowledge. However, your integer divisor problem can definitely be learned as it's a final optimization problem. What's unclear is the number of neurons needed - you probably don't want to use 2**128 of them. AFAIK no CPU has a single-step 64:64 bit divider, so you most probably have to use some feedback network, too.  
  
  ---
  
  ## 0 answers
  
  