Simulating Interacting Agents and Social Phenomena: