Deep reinforcement learning for dynamic computation offloading and resource allocation in cache-assisted mobile edge computing systems | Synapse