Ayush Adhikari

My personal website

Monday, May 19, 2025

Found 5 result(s) for "Time"! Click on the links for more details

Using Dijkstra to Route Packages in a Network Overlay

The goal of this project was to use an overlay to communicate between messaging nodes (clients) and the Registry (server) to send messages using threads. It follows the principles of TCP/IP protocols and overlays used in P2P systems. The registry accepts messaging nodes using a server socket and creates receiver and sender threads for that connection. The messaging nodes also have their own sets of threads for the registry and peers. The foreground process in the Registry allows the users to specify commands that creates the undirected graph with all registered nodes, connect to peers to form bidirectional connections, and start sending messages. When all nodes finish messaging each other randomly, the statistics are collected and can be compared to see if any packets were lost during the period.

Japanese-To-English Translator

This is a translator program I built using Python that will take in a sentence in Japanese and translate the parts of the sentence into English and return an English translation. The original senetence is first split into various parts of speech using Japanese particles, which determines the transitivity of the verb if present and if a copula is present. Each part of speech is further broken down depending on the characters, length, conjugation, pairing, and use. This program does utilize the googletrans library as making a translator is a near impossible task, especially without the use of machine learning. The main feature of the program is to take the individual parts of the sentence, translate it using a csv with common words in Japanese, match it to a part of speech in English, and return that to the user. To learn more, click on the github icon next to the title of the project.

Heuristic Algorithms for Approximating the Traveling Salesman Problem

This program will approximate the Traveling salesman problem using 3 three different algorithms (Nearest Neighbot, 2Opt, and 3Opt). There are size different combinations and explanations for these can be found in the sections below. The program allows you to run each algorithm individually or run a benchmark for all 6 and the original unoptimized list. The results are formatted in a table and displayed in the console. As the algorithms have different time complexities, the time it takes increases for some algorithms drastically, so use caution when using many places.

Descriptive Statistics Calculator

This application was inspired by my statistics class, of which one of the chapter was descriptive. In the input screen, you are able to input any number of data values, which are used by the program to calculate and display the descriptive statistics associated with them. The output panel displays the count, frequency of data, min, max, median, IQR, sum, mean, range, variance, and standard deviation. Please look at the images below for reference. This is saved to the history tab each time, which can be clicked on to display all of the statistics in a screen.

CS320: Algorithms--Theory and Practice

Analyzed, designed, and implemented efficient algorithms and compared the results. Applied Big O, θ, and Ω notations, induction, recursion, invariants.

Nothing to show!
×

This is a feature mainly used to demonstrate the use of the handwriting app built using a canvas and CNN. You can use the search bar to search the site for content or to navigate the site by typing in a word such as home, which will take you to the home page. Below the search bar is a canvas where you can draw letters. This is implemented using a digit recognition CNN. As the accuracy is around 89 percent, it might not always produce an accuracte prediction, for example between o and 0. You can use the three button next to the search bar to delete the last character, clear the search bar, and finally search the site.