I have looked at other questions that ask pretty much the same thing such as this and from what I gathered the significant difference in simulation and actual results is due to decoherence and compounding quantum noise effects especially due to the depth/complexity of the quantum circuit, however in my case the circuit is relatively simple and has only 3 Qubits.
The circuit that I am running is exactly the same as the Coding with Qiskit Episode 6 Tutorial, however I decreased the length of the secret number string from 6 to 3 to decrease circuit complexity as I had even worse results with length 6. My understanding is that the qasm_simulator produces the expected theoretical results of an ideal quantum computer, however when I ran the 6 length string on the IBM QE backend
ibmq_16_melbourne I didn't even get a single count for the ONLY theoretically expected result, for example if the secret number is
num='101010' then the
qasm_simulator correctly returned
num with a single shot whereas the IBM QE backend returned everything but num even with a few dozen shots. When I lowered the string length to 3, I at least got
num returned in the results but it wasn't significant and had a probability similar to the rest of the counts.
I would imagine that the issue is not with the quantum computer due to the simplicity of the quantum circuit, meaning that I must be doing something wrong.