Joel Jani's repositories
Map-Reduce
Implementation of Map-Reduce on Kubernetes
Attacking-and-Exploiting-Modern-Web-Applications
Attacking and Exploiting Modern Web Applications, published by Packt
Autonomous-Agents
Series of projects related to autonomous agents
ControlLogginSystem
An enhanced access control logging system using the C programming language. The enhanced access control logging system will monitor and keep track of every file access and modification that occurs in the system by every user.
Diffie-Hellman-Key-Exchange-Cryptography
Implementation of Diffie-Hellman-Key-Exchange cryptography
Koifish
A custom built chess GUI interface and an implementation of Q-learning reinforcement algorithm.
Network-Scanning-and-Iptables
In this assignment, we work with network scanning and iptables rules. Iptables are used to set up, maintain, and inspect the tables of IP packet filter rules in the Linux kernel. Several different tables may be defined. Each table contains a number of built-in chains and may also contain user-defined chains.
Network-traffic-monitoring
Using libpcap, we will capture packets right as they come off of the network card.
RSA-Cryptography
Implementation of RSA cryptography
Server-Client-TLS1.2
A secure connection between client and server using the TLS1.2 protocol.
TUC-Chess-AI2022
A project developed for an AI course at Technical University of Crete in the department of Electrical and Computer Engineering.. The environment and the graphics were provided and we had to work on the agent itself. Specifically, the first implementation was the minimax algorithm along with extensions that aim to improve the efficiency of the agent and the second was the Monte Carlo algorithm.
cpython
The Python programming language
MAB_Algorithms
Implementation of Multi-Armed Bandit (MAB) algorithms UCB and Epsilon-Greedy. MAB is a class of problems in reinforcement learning where an agent learns to choose actions from a set of arms, each associated with an unknown reward distribution. UCB and Epsilon-Greedy are popular algorithms for solving MAB problems.
Maintenance-replacement-problem
maintenance-replacement optimization problem, where the goal is to optimize the decision of when to replace a machine based on its age and associated costs. This problem is relevant in many industries, where machines are critical for production and the decision of when to replace them can have a significant impact on costs and performance.
Multistage-Decision-Making-Graph-Shortest-Path-Problem
Multistage Decision-Making Graph Shortest Path Problem is a dynamic programming problem where the aim is to find the shortest path in a graph with multiple stages, each with different costs and decision-making nodes. The algorithm calculates the optimal path by minimizing the total cost of all stages.
PathFindingAlgorithms
The purpose of this assignment was the implementation and comparison of the weighted A* and IDA* algorithms in an optimal path finding problem. The problem is solved offline and then follows the optimal route that gets generated.The implementations use 2 heuristics, the Euclidean and the Octile distance.