Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: How to print/draw a network graph

by GrandFather (Saint)
on Jun 29, 2006 at 10:32 UTC ( #558276=note: print w/replies, xml ) Need Help??


in reply to How to print/draw a network graph

Here's a partial solution. It doesn't "hook up" cross connections between streams yet, but notes the unresolved connections following the resolved connections.

use warnings; use strict; my @lines = <DATA>; my @splitLines = map {[/('....'..[-\d]*.) -> ('?....'?..[-\d]*.)/]} @l +ines; my %ends; for (@splitLines) { next if $_->[0] !~/T(?:Dif|Dig)/; $ends{$_->[1]} = $_->[0]; } for (keys %ends) { my $match = "$ends{$_}$_"; @splitLines = grep {"$_->[0]$_->[1]" ne $match} @splitLines; } while (@splitLines) { my $match; for (@splitLines) { next if ! exists $ends{$_->[0]}; $ends{$_->[1]} = "$ends{$_->[0]} -> $_->[0]"; $match = $_; delete $ends{$_->[0]}; @splitLines = grep {$_ ne $match} @splitLines; last; } last if ! $match; } print "$ends{$_} -> $_\n" for sort keys %ends; print "*** $_->[0] -> $_->[1]\n" for @splitLines; __DATA__ 'TAvi' (-37) -> 'TDMk' (-32) 'TAvi' (-38) -> 'TMrk' (-34) 'TDMk' (-32) -> xfer (-12) 'TDif' (-7) -> xfer (-11) 'TDif' (-8) -> 'TMCF' (-35) 'TDig' (-27) -> 'TSpN' (-33) 'TLCI' (-36) -> 'TAvi' (-37) 'TMCF' (-35) -> 'TLCI' (-36) 'TMrk' (-34) -> xfer (-28) 'TSpN' (-33) -> 'TAvi' (-38) 'TSpN' (-33) -> 'TDMk' (-32) 'TSpN' (-33) -> 'TMCF' (-35)

Prints:

'TDif' (-7) -> xfer (-11) 'TDif' (-8) -> 'TMCF' (-35) -> 'TLCI' (-36) -> 'TAvi' (-37) -> 'TDMk' +(-32) -> xfer (-12) 'TDig' (-27) -> 'TSpN' (-33) -> 'TAvi' (-38) -> 'TMrk' (-34) -> xfer ( +-28) *** 'TSpN' (-33) -> 'TDMk' (-32) *** 'TSpN' (-33) -> 'TMCF' (-35)

DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^2: How to print/draw a network graph
by Anonymous Monk on Oct 14, 2009 at 15:53 UTC
    Hi friend, I am doing my Master's project its all about scheduling the processors using the task and network graph.The project is the extension of the previous project where they have a GUI interface to draw the task and network graph and see the scheduling processors assigned as output. But the problem is the Scheduling processors are overlapping with one another. please help me out. I am thinking to work out manually drawing the network and task graph calculating it. But i do not know how to calculate it. It would be helpful to me if u can help me. Thanks

      I suggest you put together a more coherent question and post it as a new question rather than as a reply. Replies to old threads such as this one get much less notice than new questions.

      A new question would need to provide greater detail concerning the data you have for the task and network graph and how you are using that information currently to schedule processors.


      True laziness is hard work

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://558276]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2022-05-17 11:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (65 votes). Check out past polls.

    Notices?