Career Profile

Senior machine learning researcher and full-stack software developer with 10+ years of experience developing testing and maintaining enterprise software applications implemented in Python, C++, HTML, CSS, and JavaScript. Designing and developing enterprise projects as well as machine learning frameworks to work on the soccer simulation environment. Contributing to the open-source community by making the machine learning projects publicly available. Winning the championship of RoboCup competition as the leader of Cyrus Soccer Simulation 2D team, thanks to Strong programming knowledge in addition to profound machine learning background.

graphical history

Experiences

Project Manager of Ballast Water Reporting Form Information System

2019 - Present
Institute for Big Data Analytics, Dalhousie University
  • Developed and maintained a sensitive system by constant monitoring of the performance.
  • Handled different aspects of the project through the entire software development life cycle.
  • Coordinated and assisted team members during the development of the project.
  • Managed task assignments to team members and collaborated with them throughout the development of the project.
  • Engaged with research collaborators at the Department of Fisheries and Oceans Canada (DFO) and the University of Toronto.
  • Introduced agile concept and directed project plans.
  • Supported and troubleshot the system in a Ubuntu server.

Full-Stack Web developer of Ballast Water Reporting Form Information System

2019 - Present
Institute for Big Data Analytics, Dalhousie University
  • Developed back-end and front-end of the website powered by Django and MongoDB.
  • Implemented an email crawling module to process received emails, download files, parse PDF forms, standardize data, store standardized data in a database, and respond to emails.
  • Implemented port and coordinates standardization algorithm to standardize inputs and create suggestions.
  • Created web interfaces to help users in filtering queries.
  • Improved the performance of the system in many different algorithms such as calculating Ballast Risk Assessment, Updating Geo Location Fields and Updating port scaled parameters by multiprocessing and running tasks in the background.
  • Developed unit tests for features and functions.
  • Developing an application programming interface(API) to help users to filter and get stored data in JSON format.

Senior Research Assistant, Robotic and Machine Learning

2019 - Present
Institute for Big Data Analytics, Dalhousie University
  • Developed a vessel navigation framework for training autonomous vessel navigation.
  • Employed deep reinforcement learning methods to train autonomous vessels for navigating in a simulation of real-world environments.
  • Developed CYRUS, a 2D soccer simulation team, and employed various novel machine learning methods to solve the multi-agent learning problem.
  • Applied machine learning algorithms to the CYRUS soccer simulation 2D team and participated in qualified RoboCup competitions.
  • Developed the first Python soccer simulation 2D base code called PYRUS2D, consisting of over 20k lines of code.
  • Released the most powerful C++ soccer simulation 2D base code by merging Helios and Gliders base codes and applying the best features of the CYRUS team.
  • Developed a soccer simulation 2D log analyzer called Cyrus Log Analyzer that can analyze and generate useful statistical reports from soccer simulation 2D game logs powered by Python.
  • Improved and upgraded AutoTest2D software for parallel testing of soccer simulation 2D teams powered by bash scripts.
  • Developed AutoTune2D software for fine-tuning soccer simulation 2D team parameters.
  • Implemented a simple library called CppDnn for using Keras and TensorFlow for feed forwarding in C++.
  • Implemented a Python mathematical library called PyrusGeom for working in two-dimensional geometry fields.
  • Simplified Helios base code and its library to help junior students participate in the junior RoboCup competition called StarterAgent2D and StarterLibRCSC.
  • Created an application containing bash scripts powered by Docker, a web service powered by Django and SQLite, and a Telegram bot for testing and holding soccer simulation 2D tournaments called SS2D-Docker-Tournament-Runner.
  • Implemented a new observation model in soccer simulation 2D server to make the player’s observation closer to humans and new robots. The server includes over 50k lines of C++ code.

C++ and Python Developer

2017 - 2019
Peykasa Message ware
  • Developed and designed a C++ component to manage and monitor SMS messages among GSM network providers.
  • Built a high-speed, multi-process Python application to store GSM data on ElasticSearch.
  • Redesigned and developed an application with components for parsing, creating flow messages, and storing flows on ElasticSearch.
  • Conducted integration tests using the Python Robot Framework for GSM C++ components.
  • Worked with many different technologies such as Robotframwork, Kibana, Elasticsearch, and git.

Rewards and Achievements

  • 2022 - 2nd Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Bangkok, Thailand
  • 2021 - 1st Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Online
  • 2019 - 3rd Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Sydney, Australia
  • 2018 - 2nd Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Montreal, Canada
  • 2017 - 4th Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Nagoya, Japan
  • 2014 - 5th Place in RoboCup, Worldwide International Robotic Competition, Soccer Simulation 2D League, Jeoa Pesoa, Brazil
  • 2020 - 2nd Place in Japan Open RoboCup Competition, Soccer Simulation 2D League, Japan
  • 2018 - 1st Place in Asia-Pacific RoboCup Competition, Soccer Simulation 2D League, Kish, Iran
  • 2018 - 1st Place in Iran Open RoboCup Competition, Soccer Simulation 2D League, Tehran, Iran
  • 2014 - 1st Place in Iran Open RoboCup Competition, Soccer Simulation 2D League, Tehran, Iran

Projects

Cyrus Soccer Simulation Team - I have lead CYRUS RoboCup soccer simulation 2D team since 11 years ago. CYRUS is one the world's most powerful soccer simulation 2D teams. I have implemented and designed many artificial intelligence algorithms and strategies for our CYRUS team.
Ballast Water Report System - BWRFIS is a website developed at Dalhousie University for Transport Canada and Fisheries and Oceans Canada. I was the manager and full-stack developer of this project. As part of this project, I was responsible for managing and assigning tasks to team members and working with the Django framework and MongoDB database.
SS2D Tournament Runner - This project is a 2D soccer simulation tournament management system that utilizes Django, SQLite, and Docker. With the website, teams can upload and test their teams, and executive members can use scripts powered by Docker to manage the tournament.

OSS Contributions

Cyrus2D Base Code - Cyrus2D-base is a sample team for the RoboCup Soccer 2D Simulator. This base is a Helios base Fork. We merged the newest version of Helios base(Agent2D) with the Gliders2D base V2.6 together, After that we applied several features of Cyrus2021, the champion of RoboCup 2021 in Soccer Simulation 2D league to improve the performance and capabilities of this base.
Pyrus2D Base Code - Pyrus is the first complete python sample team code for the RoboCup Soccer 2D Simulator.
CppDNN - CppDnn is a simple library for using Keras and TensorFlow for feed forwarding in C++.
AutoTest2D - AutoTest2D is a software for parallel testing of soccer simulation 2D teams powered by bash scripts.
AutoTune2D - AutoTune2D is a software for fine-tuning soccer simulation 2D team parameters.
CyrusLogAnalyzer - Cyrus log analyzer is library to help RoboCup researcher to analyze soccer simulation 2D game logs.
PyrusGeom - PyrusGeom is a Python library for dealing with math and geometry in soccer simulation 2D and 2-dimensional problems.

Publications

  • Cyrus2D base: Source Code Base for RoboCup 2D Soccer Simulation League
  • N Zare, O Amini, A Sayareh, M Sarvmaili, A Firouzkouhi, SR Rad, ...
    RoboCup 2022: Robot World Cup, Springer
  • Cyrus 2D Simulation Team Description Paper 2022
  • N Zare, O Amini, A Sayareh, M Sarvmaili, A Firouzkouhi, SR Rad, ...
    RoboCup 2022 Symposium and Competitions: Team Description Papers. Bangkok, Thailand.
  • Improving Dribbling, Passing, and Marking Actions in Soccer Simulation 2D Games Using Machine Learning
  • N Zare, O Amini, A Sayareh, M Sarvmaili, A Firouzkouhi, S Matwin, ...
    RoboCup 2021: Robot World Cup XXIV, Springer
  • Engineering Features to Improve Pass Prediction in Soccer Simulation 2D Games
  • N Zare, M Sarvmaili, A Sayareh, O Amini, S Matwin, A Soares
    RoboCup 2021: Robot World Cup XXIV, Springer
  • CYRUS Soccer Simulation 2D Team Description Paper 2021
  • N Zare, A Sayareh, M Sarvmaili, O Amini, A Soares, S Matwin.
    RoboCup 2021 Symposium and Competitions: Team Description Papers. Online.
  • Using deep reinforcement learning methods for autonomous vessels in 2d environments
  • M Etemad, N Zare, M Sarvmaili, A Soares, B Brandoli Machado, S Matwin.
    Canadian Conference on Artificial IntelligenceCanadian AI. Canada. 2020.
  • Cyrus 2D Simulation Team Description Paper 2019
  • N Zare, M Sarvmaili, O Mehrabian, A Nikanjam, SH Khasteh, A Sayareh, ...
    RoboCup 2019 Symposium and Competitions: Team Description Papers. Sydney, Australia.
  • Cyrus 2D Simulation Team Description Paper 2018
  • N Zare, M Sadeghipour, A Keshavarzi, M Sarvmaili, A Nikanjam, ...
    RoboCup 2018 Symposium and Competitions: Team Description Papers. Montreal, Canada.
  • Cyrus 2D Simulation Team Description Paper 2017
  • N Zare A Najimi, M Sarvmaili, ...
    RoboCup 2017 Symposium and Competitions: Team Description Papers. Nagoya, Japan
  • Intelligent and dynamic method to specify chrological order of the games to improve the excitement and fairness of the champions in simulation league
  • N Zare, A Keshavarzi, SE Beheshtian, H Mowla, A Akbarpour, H Jafari, ...
    Artificial Intelligence and Robotics (IRANOPEN), 2016. Page 1-6, Publisher IEEE. Tehran, Iran.
  • Cyrus 2D Simulation Team Description Paper 2016
  • N Zare, A Keshavarzi, SE Beheshtian, H Mowla, A Akbarpour, H Jafari, ...
    RoboCup 2016 Symposium and Competitions: Team Description Papers. Leipzig, Germany.
  • Cyrus 2D Simulation Team Description Paper 2015
  • N Zare, M Karimi, A Keshavarzi, E Asali, HA Poor, A Aminian, ...
    RoboCup 2015 Symposium and Competitions: Team Description Papers. Hefei, China.
  • Cyrus 2D Simulation Team Description Paper 2014
  • R Khayami, N Zare, M Karimi, P Mahor, A Afshar, MS Najafi, M Asadi, ...
    RoboCup 2014 Symposium and Competitions: Team Description Papers. Joao Pessoa, Brazil.
  • Cyrus 2D Simulation Team Description Paper 2013
  • N Zare, H Zolanvar, M karimi, P Mahor, F Tekara, E Asali, M Fatehi.
    RoboCup 2013 Symposium and Competitions: Team Description Papers. Eindhoven, Netherlands.
  • Coordination Approach to Find Best Defense Decision with Multiple Possibilities amoung Robocup Soccer Simulation Team
  • A Keshavarzi, N Zare.
    Artificial Intelligence and Robotics (IRANOPEN), 2013. Page 1-6, Publisher IEEE. Tehran, Iran.

    Skills & Proficiency

    Programming Languages

    Python, C++, CSS, HTML, JavaScript

    Data Base

    MongoDB, Redis, SQLight, ElasticSearch

    Integrated development environment (IDE)

    PyCharm, CLion, VSCode, QT Creator, R Studio, MATLAB

    Artificial Intelligent Concepts

    Deep Learning, Deep Reinforcement Learning

    Machine Learning Frameworks

    Keras, Tensorflow, Pandas, NumPy

    OS

    Ubuntu, Fedora, Windows

    Technologies and Frameworks

    Django, Git, GitLAB, Jenkins, Docker, Robot-Framework