Skip to content
Pedro Luis Soto Santos, Home
Pedro Luis Soto Santos smiling, wearing round glasses and a black T-shirt, on a dark background.

I teach machines to make decisions.

I’m Pedro, an AI engineer focused on Python. I work with machine learning and reinforcement learning to build agents that learn from their environment and make good decisions.

Projects

Agents that learn, plan and decide. Every project comes with its code.

The four phases of Monte Carlo Tree SearchSelection: walk down the tree picking the most promising nodes. Expansion: add a new node. Simulation: play a quick game to the end. Backpropagation: the result travels back up the path and updates each node’s statistics.1. Selection2. Expansion3. Simulation4. Backpropagation

pyplAIBachelor’s thesis. Highest honours.

Decision-making algorithms for games, one pip install away.

An open-source library on PyPI with Minimax, MCTS and two ISMCTS variants for imperfect-information games, where the agent can’t see everything, like an opponent’s cards.

Pure Python with no external dependencies, just the standard library.

search algorithms
4
example games
8

Read the case studyCode on GitHubView on PyPIPlay against pyplAI

Analysing a Phantom move without seeing the opponent’s stonesA 4 × 4 board as the player sees it: their stones on a1, b2 and c3, one opponent stone discovered on c2 and every other cell unknown. MO-ISMCTS rates each move without seeing the hidden stones: d4, which completes the diagonal, wins 92% of the simulated games; b4 and c4, 66%; and d2, 64%.abcd1234Simulated winsd492%b466%c466%d264%

pyplAI-MCPPersonal project. Open-source MCP server.

pyplAI’s search, as a tool for any LLM.

An MCP server that puts pyplAI’s algorithms in the hands of assistants like Claude. The model plays, asks for an analysis of each position and explains its move with the numbers from the search. In Phantom, where the opponent’s stones are hidden, the analysis only uses what the player knows.

Built with Python, MCP, Pydantic, and pyplAI.

games, one with hidden information
3
benchmark games with Llama 3.2 3B
960

Read the case studyCode on GitHub

Connect 4 board with a diagonal winThe agent, playing the solid pieces, connects four diagonally from bottom left to top right.

Connect-X AlphaZeroKaggle ConnectX competition.

AlphaZero from scratch. Global top 10.

Connect 4 agents benchmarking classic search, Rainbow DQN, PPO and AlphaZero. AlphaZero, which pairs a neural network with MCTS, beats them all and competes with the best on the leaderboard.

Built with Python, PyTorch, Tianshou, and pyplAI.

on the global leaderboard
Top 10
agent families benchmarked
5

Code on GitHub

Also on Kaggle: Store Sales, top 5% in time-series forecasting; Spaceship Titanic, top 2% with AutoML.

What I do best

  • Agents and multi-agent reinforcement learning

    I design and train agents that decide on their own and coordinate with others. I’ve implemented DDDQL, MAPPO and AlphaZero from scratch, and trained PPO and Rainbow DQN.

    Where to see it: DDDQL and MAPPO on GitHubAlphaZero on GitHub

  • Tools for LLM agents with MCP

    I connect language models to real tools through the Model Context Protocol: typed schemas, structured output, errors the model can recover from and end-to-end tests.

    Where to see it: pyplAI-MCP on GitHub

  • Simulation environments for agent training

    I build the world the agent learns in: states, actions, rewards and randomised scenarios that prevent overfitting.

    Where to see it: Lunar simulator on GitHub

  • Planning and search with neural networks

    I combine search (MCTS, Minimax, ISMCTS) with neural networks so agents think before they act, as in AlphaZero.

    Where to see it: Connect-X AlphaZero on GitHubpyplAI on GitHub

  • Clean, documented, published Python

    It’s my main language. I write code meant for others to use, and turn research into tools like pyplAI, an open-source library on PyPI with a documented API and examples.

    Where to see it: pyplAI on PyPI

  • Production data for AI models

    Reliable ETL pipelines at scale with Python and Oracle Data Integrator: in banking I cut by 50% the processing time of the data feeding risk models.

    Where to see it: Data Engineer at Minsait

I also work with: PyTorch, TensorFlow, scikit-learn, Pandas, LLMs, RAG, Computer vision, NLP, SQL, Docker, AWS, Git, Linux, CI/CD.

Experience

  1. –

    Data Engineer, Minsait (Indra)

    Seville, Spain

    • Modernised data workflows for a top-tier banking client on one of the world’s largest Oracle Big Data environments, supporting AI-driven risk models.
    • Designed and optimised ETL pipelines with Oracle Data Integrator and Python, cutting processing time by 50% and guaranteeing daily availability for critical operations.
  2. –

    Software Engineer, Deloitte

    Seville, Spain

    • Monitored and coordinated software projects for the Spanish Ministry of Health: timelines, deliverables and early risk detection.
  3. –

    International stage

    Australia and Spain

    A planned stage to take my English to C1 and build leadership skills, before returning full-time to AI.

    • Front Office Assistant at Accor (Brisbane, Australia): customer-facing work in a fast-paced, multicultural environment, entirely in English.
    • English immersion counselor at InterWay (Spain): leading groups and daily activities in English, with a focus on leadership and problem-solving.

Education

Pedro on his graduation day, wearing a suit and a green tie, smiling.
  1. Master’s Degree in Artificial Intelligence

    International University of Valencia (VIU)

    • Highest honours for the Master’s thesis (multi-agent deep reinforcement learning).
    • Quantum computing elective.
  2. Bachelor’s Degree in Software Engineering

    University of Seville

    • Highest honours for the Bachelor’s thesis and the Artificial Intelligence course.
    • Research student at the Department of Computer Science and Artificial Intelligence.

Languages

Spanish:
Native
English:
C1 (Cambridge). I’ve lived and worked in Australia.

Let’s talk.

I’m looking for an AI Engineer role, hybrid or on-site, in Spain or anywhere in Europe.

pepoluis712@gmail.com

Download CVLinkedInGitHub