Eliminate connections between vertices in graph that are not direct

I am analyzing a graph

https://i.sstatic.net/VQKOJ.png

Considering the connection from node 1 to node 3 through node 2, I realize that the direct edge between 1 and 3 is redundant.

As a result, my objective is to eliminate this unnecessary edge between nodes 1 and 3.

To do so, I am contemplating utilizing breadth-first search to map out reachable paths starting from node 1.

If I have a list of all nodes and edges in the graph:

nodes = [1, 2, 3]
edges = [
  {source: 1, target: 2},
  {source: 1, target: 3},
  {source: 2, target: 3}
]

The edge I intend to remove is:

  {source: 1, target: 3},

since it becomes obsolete due to transitivity. However, determining whether to remove this specific edge instead of keeping

  {source: 2, target: 3}

poses a critical question.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

There seems to be an issue when trying to retrieve data from a JSON array stored

I have a SQL table with a column that stores JSON arrays. I am able to retrieve the data using Node.js, but when I try to manipulate the JSON array, I encounter errors consistently. Here is an example of my JSON array in the SQL database: { characters: [{ ...

Guide for implementing async/await in conjunction with the eval() function within JavaScript

I'm currently using the eval function to evaluate strings and adding await to it to ensure all values are obtained, but unfortunately the await is not functioning correctly. Here is a snippet of my code: if (matchCard.card.status != "notstarted& ...

When clicked, the onClick feature will reduce the number each time instead of initiating the timer

Currently, I am working on a meditation application using React. As a starting point, I implemented a 25-minute countdown feature. The challenge I am facing is that the timer starts counting down each time the button is clicked, rather than triggering it ...

Is it possible to utilize a concatenated string as the URL for my .ajax() request?

When working on cross-domain requests, I am facing an issue where I need to retrieve the ID after the first request and use it for the next request along with doing some other tasks. The problem arises at the second .ajax() request, where the concatenatio ...

JQuery is having trouble changing the image source in Internet Explorer and Firefox, but it works fine in Chrome

After creating an image gallery that functions perfectly in Chrome, I noticed it fails to work in Firefox or Internet Explorer. While scouring similar questions for solutions, none seem to address the issue at hand. To showcase the problematic code, I&apo ...

What is the process for adjusting the expiration time of a GitLab accessToken?

I am currently using NextAuth for logging in with GitLab, but I am encountering an issue where my accessToken changes every 2 hours. How can I ensure that it remains valid for a longer period so that I can successfully store it in my database? It's wo ...

Encountering an error due to an unidentified provider for a resolved value

I am currently working on a basic Router setup: .when('/login/:id', { templateUrl: 'views/login.html', controller: 'RoomLoginCtrl', resolve: { roomData: function($route, S ...

Access to property 'nodeType' on AJAX request in Firefox has been denied due to permission error

On my webpage, I have integrated the Google Sign-in button along with gapi for interaction. After a successful authentication using the Google API, an AJAX call is made to the server using JQuery: var token = gapi.auth.getToken(); var data = { "to ...

Quantifying the passage of time for data entry

Looking to create a quiz form where I can track how long it takes users to input/select answers. I attempted the following code but the timing seems off: $('input, select').on('focus', function(event) { el = $(this); name ...

Is it feasible to utilize the .fadeTo() function in jQuery multiple times?

I need some help with writing a script that will display a warning message in a div tag every time a specific button is pressed. I chose to use the fadeTo method because my div tag is within a table and I want to avoid it collapsing. However, I'm noti ...

Ways to extract output from another file's standard output?

Take this scenario for instance, Consider having the following code snippet in a file labeled main.js: function main(){ console.log(5); } Now, imagine another file where you aim to extract the stdout from main.js. Presently, your code looks like t ...

Tips for ensuring sequential execution of $.post requests without ajax alternative

Can I make synchronous requests with $.post in this code snippet? function loadTest() { var questionIDs = []; var count = 0; console.log("getting test"); $.post("db.php", function(data) { obj = jQuery.parseJSON(data); var questionCount = obj.l ...

The video is not appearing on mobile devices using Safari, Firefox, and Chrome, but it is displaying properly on desktop computers

My website has a video in the header that works fine on desktop but not on mobile. I am using next.js 13.4 and here is my code: <video id="background-video" autoPlay playsInline loop muted classN ...

Ensure that all asynchronous code within the class constructor finishes executing before any class methods are invoked

Looking to create a class that takes a filename as a parameter in the constructor, loads the file using XmlHttpRequest, and stores the result in a class variable. The problem arises with the asynchronous nature of request.onreadystatechange, causing the ge ...

The error message from the mongoose plugin is indicating a problem: it seems that the Schema for the model "Appointment" has not been properly registered

I need help troubleshooting a mongoose error that is being thrown. throw new mongoose.Error.MissingSchemaError(name); ^ MissingSchemaError: Schema hasn't been registered for model "Appointment". Use mongoose.model(name, schema) I have double-c ...

Generating model objects from JSON using Node.js

While it's common knowledge that any JSON can be easily converted into a JavaScript object, I'm facing a challenge with the GitHub API. I need to retrieve the profiles of several developers and enhance those objects with custom methods to process ...

Is it possible to deploy Vue.js from a content delivery network (CDN) for production

My decision to use Vue.js for a new project was influenced by its ability to run natively in the browser, unlike React which requires compilation/transpilation via Node. I'm considering linking directly to a CDN like this in my production code: <s ...

Troubleshooting the compatibility issue of HTML5 video tag on iOS Safari browser (iPhone)

Scenario I encountered an issue while trying to play a video in the Edge browser. The project framework consists of: .NET 6 MVC and VUE for the client side .NET 6 WebApi for the server side The Vue component on the client will send a request with ...

There seems to be a mysterious absence of chuck norris jokes in

I'm attempting to call two different APIs by clicking a button to display a random joke on the screen. I've created two separate functions to fetch the APIs and used Math.random() to generate a random number. If the number is greater than 50, one ...

AngularJS: Pause the data binding functionality temporarily

How can I temporarily deactivate data binding in AngularJS? I am working with a list called items that is being displayed using ng-repeat. I need to perform some operations on this list without immediately updating the page, as this could cause slowdown. ...