A method may include receiving a communication from a device at an artificial intelligence controller including state information for a software application component running on the device, the state information including information corresponding to at least one potential state change available to the software application component, and metrics associated with at least one end condition, interpreting the state information using the artificial intelligence controller, and selecting an artificial intelligence algorithm from a plurality of artificial intelligence algorithms for use by the software application component based on the interpreted state information; and transmitting, to the device, an artificial intelligence algorithm communication, the artificial intelligence algorithm communication indicating the selected artificial intelligence algorithm for use in the software application component on the device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving a communication from a device at an artificial intelligence (AI) controller including state information for a software application component running on the device, the state information including information corresponding to at least one potential state change available to the software application component, and metrics associated with at least one end condition; interpreting the state information using the AI controller; selecting, by the AI controller, an AI algorithm from a plurality of AI algorithms for use by the software application component based on the interpreted state information; and transmitting, to the device, an AI algorithm communication, the AI algorithm communication indicating the selected AI algorithm for use in the software application component on the device. 2. The method of claim 1, wherein the AI algorithm communication includes at least one AI algorithm. 3. The method of claim 1, wherein the software application component is a game and the state information for the software application component includes a win condition. 4. The method of claim 1, wherein the at least one potential state change available to the software application component includes an active potential state change where a representative entity changes a position with respect to a game area and an inactive potential state change where a representative entity remains still with respect to the game area. 5. The method of claim 1, wherein the metrics associated with the at least one end condition include at least one of a relative set of scores, an absolute set of scores, or a ranking of players. 6. The method of claim 1, wherein selecting the AI algorithm includes evaluating a computational complexity of simulating the software application component using the state information for the plurality of AI algorithms. 7. The method of claim 1, wherein the AI algorithm is selected from at least one of a minmax algorithm, a Monte Carlo algorithm, a neural net algorithm, a decision tree algorithm, and a Q-learning algorithm. 8. A system comprising: at least one processor; a storage device comprising instructions, which when executed by the at least one processor, configure the at least one processor to: receive a communication, at an artificial intelligence (AI) controller from a device, including state information for a software application component running on the device, the state information including information corresponding to at least one potential state change available to the software application component, and metrics associated with at least one end condition; interpret the state information using the AI controller; select an AI algorithm from a plurality of AI algorithms for use by the software application component based on the interpreted state information; and transmit, to the device, an AI algorithm communication, the AI algorithm communication indicating the selected AI algorithm for use in the software application component on the device. 9. The system of claim 8, wherein the AI algorithm communication includes at least one AI algorithm. 10. The system of claim 8, wherein the software application component is a game and the state information for the software application component includes a win condition. 11. The system of claim 8, wherein the at least one potential state change available to the software application component includes an active potential state change where a representative entity changes a position with respect to a game area and an inactive potential state change where a representative entity remains still with respect to the game area. 12. The system of claim 8, wherein the metrics associated with the at least one end condition include at least one of a relative set of scores, an absolute set of scores, or a ranking of players. 13. The system of claim 8, wherein the instructions to select the AI algorithm include instructions to evaluate a computational complexity of simulating the software application component using the state information for the plurality of AI algorithms. 14. The system of claim 8, wherein the AI algorithm is selected from at least one of a minmax algorithm, a Monte Carlo algorithm, a neural net algorithm, a decision tree algorithm, and a Q-learning algorithm. 15. A non-transitory machine-readable medium comprising instructions, which when executed by the at least one processor, configure the at least one processor to: receive a communication, at an artificial intelligence (AI) controller from a device, including state information for a software application component running on the device, the state information including information corresponding to at least one potential state change available to the software application component, and metrics associated with at least one end condition; interpret the state information using the AI controller; select an AI algorithm from a plurality of AI algorithms for use by the software application component based on the interpreted state information; and transmit, to the device, an AI algorithm communication, the AI algorithm communication indicating the selected AI algorithm for use in the software application component on the device. 16. The machine-readable medium of claim 15, wherein the Algorithm communication includes at least one AI algorithm. 17. The machine-readable medium of claim 15, wherein the software application component is a game and the state information for the software application component includes a win condition. 18. The machine-readable medium of claim 15, wherein the at least one potential state change available to the software application component includes an active potential state change where a representative entity changes a position with respect to a game area and an inactive potential state change where a representative entity remains still with respect to the game area. 19. The machine-readable medium of claim 15, wherein the metrics associated with the at least one end condition include at least one of a relative set of scores, an absolute set of scores, or a ranking of players. 20. The machine-readable medium of claim 15, wherein the instructions to select the AI algorithm include instructions to evaluate a computational complexity of simulating the software application component using the state information for the plurality of AI algorithms.