projects/mirror/epigraph.git
2 years agoadd floyd-warshall implementation master
Cyrus Harmon [Wed, 6 Oct 2010 21:46:39 +0000] 
add floyd-warshall implementation

2 years agoMerge branch 'master' of git+ssh://git.cyrusharmon.org/pub/git/epigraph
Cyrus Harmon [Wed, 6 Oct 2010 21:45:16 +0000] 
Merge branch 'master' of git+ssh://git.cyrusharmon.org/pub/git/epigraph

2 years agoremove unused deepest variable
Cyrus Harmon [Wed, 6 Oct 2010 21:45:09 +0000] 
remove unused deepest variable

2 years agoremove sorry attempt at deprecating functions
Cyrus Harmon [Thu, 8 Jul 2010 06:31:10 +0000] 
remove sorry attempt at deprecating functions

2 years agoedge-nodes -> nodes
Cyrus Harmon [Thu, 8 Jul 2010 06:28:42 +0000] 
edge-nodes -> nodes

2 years agograph-nodes -> nodes and graph-edges -> edges
Cyrus Harmon [Thu, 8 Jul 2010 06:13:00 +0000] 
graph-nodes -> nodes and graph-edges -> edges

2 years agoremoved the slow version of graph-distance-matrix
Cyrus Harmon [Tue, 6 Jul 2010 00:31:18 +0000] 
removed the slow version of graph-distance-matrix

2 years agodocstring formatting fixes.
Cyrus Harmon [Tue, 6 Jul 2010 00:29:14 +0000] 
docstring formatting fixes.

2 years agofactored out some code into graph-distance-hash-table and exported that.
Cyrus Harmon [Tue, 6 Jul 2010 00:28:49 +0000] 
factored out some code into graph-distance-hash-table and exported that.

2 years agoadded graph-distance and graph-distance-matrix and added *bfs-depth* special variable
Cyrus Harmon [Tue, 6 Jul 2010 00:03:25 +0000] 
added graph-distance and graph-distance-matrix and added *bfs-depth* special variable

2 years agowhitespace fix
Cyrus Harmon [Sun, 27 Jun 2010 02:10:27 +0000] 
whitespace fix

2 years agofix edgep and remove-edge-between-nodes to work with non-cons edges.
Cyrus Harmon [Sun, 27 Jun 2010 02:09:59 +0000] 
fix edgep and remove-edge-between-nodes to work with non-cons edges.

2 years agoadded find-longest-paths and find-longest-path
Cyrus Harmon [Sat, 26 Jun 2010 22:51:19 +0000] 
added find-longest-paths and find-longest-path

3 years agoremove version.lisp-expr stuff.
Cyrus Harmon [Sun, 23 May 2010 22:24:08 +0000] 
remove version.lisp-expr stuff.

3 years agoadd doc/epigraph.pdf to .gitignore
Cyrus Harmon [Sat, 13 Jun 2009 16:37:06 +0000] 
add doc/epigraph.pdf to .gitignore

3 years agoupdate generated documentation based on new smarkup bug fixes
Cyrus Harmon [Sat, 13 Jun 2009 16:36:34 +0000] 
update generated documentation based on new smarkup bug fixes

3 years agonodges -> nodes typo
Cyrus Harmon [Sat, 13 Jun 2009 16:19:21 +0000] 
nodges -> nodes typo

3 years agoupdate copyright
Cyrus Harmon [Sat, 13 Jun 2009 16:19:10 +0000] 
update copyright

4 years agoadded make-node-hash-table
Cyrus Harmon [Sun, 25 Jan 2009 09:05:53 +0000] 
added make-node-hash-table

4 years agoadded and exported some node and edge functions
Cyrus Harmon [Sun, 11 Jan 2009 22:52:08 +0000] 
added and exported some node and edge functions
 * node-remove
 * map-edges, map-edges->list

4 years agovarious edge API changes
Cyrus Harmon [Sun, 11 Jan 2009 19:07:58 +0000] 
various edge API changes
 * edges-nodes-equal now defaults to (test 'equal)
 * exported node-find, node-remove
 * added and exported self-edge-p, node-equal

4 years agoadded node-position and node-find
Cyrus Harmon [Sun, 11 Jan 2009 00:06:54 +0000] 
added node-position and node-find

4 years agominor edge cleanups
Cyrus Harmon [Sun, 14 Dec 2008 22:40:49 +0000] 
minor edge cleanups
 * add-edge and add-edge-between-nodes now return the edge
 * export remove-edge-between-nodes
 * documentation and tests

4 years agomap-nodes (and map-nodes->list) argument order change
Cyrus Harmon [Thu, 11 Dec 2008 16:40:58 +0000] 
map-nodes (and map-nodes->list) argument order change
 * now take fn as first argument rather than second
 * add NEWS to reflect this change

4 years agoadd other-edge-node
Cyrus Harmon [Mon, 8 Dec 2008 17:12:51 +0000] 
add other-edge-node
 * export other-edge-node and edges-nodes-equal

4 years agoadded edges-nodes-equal
Cyrus Harmon [Mon, 8 Dec 2008 05:56:07 +0000] 
added edges-nodes-equal

4 years agoedge/neighbor changes
Cyrus Harmon [Mon, 8 Dec 2008 03:56:50 +0000] 
edge/neighbor changes
 * added edge-nodes gf and method.
 * edgep now checks both "directions" of the edge. add a FIXME
   to think about whether or not this is right in the long term.
 * neighbors arg element -> node
 * added neighbors-and-edges method (FIXME: no gf yet!)
 * find-cycles now takes a pick-function that can be used to select
   which edge to break
 * export edge-nodes
 * more simple edge tests

4 years agobig-graph test cleanup
Cyrus Harmon [Sat, 6 Dec 2008 00:10:17 +0000] 
big-graph test cleanup

4 years agoadd some simple find-connected-component tests
Cyrus Harmon [Fri, 5 Dec 2008 18:35:59 +0000] 
add some simple find-connected-component tests

4 years agoadd map-nodes->list and fix remove-connected-component bug
Cyrus Harmon [Fri, 5 Dec 2008 17:56:38 +0000] 
add map-nodes->list and fix remove-connected-component bug
 * r-c-c wasn't working if we passed in a graph with no edges.

4 years agoexport bfs-map-edges and dfs-map-edges
Cyrus Harmon [Sat, 29 Nov 2008 07:55:53 +0000] 
export bfs-map-edges and dfs-map-edges

4 years agofix xhtml stylesheet
Cyrus Harmon [Sat, 29 Nov 2008 07:55:19 +0000] 
fix xhtml stylesheet
 * update docs a bit while we're at it

4 years agoremove-node, edge mapping and connected components operations
Cyrus Harmon [Sat, 29 Nov 2008 00:14:07 +0000] 
remove-node, edge mapping and connected components operations
 * added bfs-map-edges, dfs-map-edges
 * added remove-node gf and method
 * updated copy-graph docs
 * remove-connected-component and find-connected-components
   functions

4 years agoadd inline stylesheet
Cyrus Harmon [Fri, 28 Nov 2008 22:00:50 +0000] 
add inline stylesheet

4 years agodocumentation, including putting the css inline.
Cyrus Harmon [Thu, 27 Nov 2008 06:20:00 +0000] 
documentation, including putting the css inline.

4 years agoadded .gitignore
Cyrus Harmon [Wed, 26 Nov 2008 19:57:20 +0000] 
added .gitignore

4 years agoadded scratch.lisp
Cyrus Harmon [Wed, 26 Nov 2008 19:57:04 +0000] 
added scratch.lisp

4 years agoadd epigraph-doc.asd
Cyrus Harmon [Wed, 26 Nov 2008 19:55:05 +0000] 
add epigraph-doc.asd

4 years agomake links prettier
Cyrus Harmon [Wed, 26 Nov 2008 19:54:51 +0000] 
make links prettier

4 years agoupdate xhtml doc
Cyrus Harmon [Wed, 26 Nov 2008 19:45:57 +0000] 
update xhtml doc

4 years agomore doc work
Cyrus Harmon [Wed, 26 Nov 2008 19:45:48 +0000] 
more doc work

4 years agoadded a FIXME note and first-node gf
Cyrus Harmon [Wed, 26 Nov 2008 19:45:33 +0000] 
added a FIXME note and first-node gf

4 years agostarting to document graph generic functions, etc...
Cyrus Harmon [Wed, 26 Nov 2008 18:03:02 +0000] 
starting to document graph generic functions, etc...

4 years agodocumentation, comments and a declare ignore.
Cyrus Harmon [Wed, 26 Nov 2008 18:02:32 +0000] 
documentation, comments and a declare ignore.

4 years agostart docs about the node-agnostic philosophy of graphs
Cyrus Harmon [Wed, 26 Nov 2008 07:06:04 +0000] 
start docs about the node-agnostic philosophy of graphs

4 years agocycle fixes
Cyrus Harmon [Wed, 26 Nov 2008 07:05:34 +0000] 
cycle fixes
 * don't return the first node of the cycle at the end of the node list
 * properly return nil from find-cycles when there are no cycles instead
   of causing an error.

4 years agosimplify edges a bit
Cyrus Harmon [Tue, 25 Nov 2008 07:05:56 +0000] 
simplify edges a bit
 * continuing the trend, edges no longer have an explicit graph slot
 * added copy-edge
 * added &key copy-edges to copy-graph
 * find-cycle now returns the edges of the cycle, not just the last edge
 * added a FIXME about find-cycle docs
 * export copy-edge

4 years agoreorder values in find-cycle
Cyrus Harmon [Mon, 24 Nov 2008 22:04:26 +0000] 
reorder values in find-cycle
 * add some documentation strings

4 years agoexport find-cycle and find-cycles
Cyrus Harmon [Mon, 24 Nov 2008 21:27:32 +0000] 
export find-cycle and find-cycles
 * remove debugging print

4 years agoadding cycle-finding stuff
Cyrus Harmon [Mon, 24 Nov 2008 21:24:31 +0000] 
adding cycle-finding stuff
 * remove-edge now takes an edge instead of two nodes
 * various bug fixes regarding graph-node-test
 * added find-cycle and find-cycles
 * beef test back up to 6000

4 years agofixing various graph searching routines for the new node regime
Cyrus Harmon [Mon, 24 Nov 2008 19:07:30 +0000] 
fixing various graph searching routines for the new node regime
 * added forgotten utilities.lisp file
 * minor doc update
 * added node-test slot to graph class
 * reworked make-graph
 * added test args to find-edges-* etc...
 * fix bfs and dfs bugs (working with key, test, new nodes, etc...)
 * neighbors now only includes the node itself if there is a self-edge
 * start cleaning up tests

4 years agodon't export removed symbols
Cyrus Harmon [Sun, 16 Nov 2008 05:28:58 +0000] 
don't export removed symbols

4 years agoremoved node class
Cyrus Harmon [Sun, 16 Nov 2008 05:08:56 +0000] 
removed node class
 * no any object can be a node. we give up the easy string -> node
   mapping, but we allow, say, strings to be nodes and some other
   class that sits on top of the graph can manage the string - object
   mapping.

4 years agoremove element from neighbors
Cyrus Harmon [Sun, 16 Nov 2008 04:32:43 +0000] 
remove element from neighbors
 * putting aside for the moment what happens with self-edges...

4 years agoadded graph-nodes and map-nodes
Cyrus Harmon [Sat, 15 Nov 2008 18:05:16 +0000] 
added graph-nodes and map-nodes
* exported map-nodes
* some more docs

4 years agoadd print-node-data and print-edge-data and have print-object methods call these
Cyrus Harmon [Fri, 14 Nov 2008 21:45:56 +0000] 
add print-node-data and print-edge-data and have print-object methods call these
add node-count
export print-node-data and print-edge-data

4 years agogray background for :pre
Cyrus Harmon [Fri, 14 Nov 2008 21:45:00 +0000] 
gray background for :pre

4 years agoadded doc/index.xhtml and some class definitions to epigraph-doc.sexp
Cyrus Harmon [Thu, 13 Nov 2008 19:21:25 +0000] 
added doc/index.xhtml and some class definitions to epigraph-doc.sexp

4 years agoadd-edge -> add-edge-between-nodes and add a new add-edge function
Cyrus Harmon [Thu, 13 Nov 2008 08:32:18 +0000] 
add-edge -> add-edge-between-nodes and add a new add-edge function
 * changed the test examples to match

4 years agoadd-edge now takes &key edge-class
Cyrus Harmon [Thu, 13 Nov 2008 01:55:40 +0000] 
add-edge now takes &key edge-class
 * add *default-edge-class* 'edge
 * copy-graph now makes edge objects of the same class as the edge
   being copied
 * export #:edge #:node1 #:node2 #:edge-data and #:default-edge-class

4 years agomake edges edge class objects instead of conses
Cyrus Harmon [Thu, 13 Nov 2008 01:36:35 +0000] 
make edges edge class objects instead of conses
 * fixed a typo in node2 slot definition
 * added edge data slot
 * added print-object for edge
 * edge-list-graph -> simple-edge-list-graph
 * copy-graph now copies the graph-node-name-hash and the edges
 * add-edge, remove-edge, edgep, find-edges-from, find-edges-to work with
   the new edge class

4 years agofix find-edges-containing infinite-loop
Cyrus Harmon [Wed, 12 Nov 2008 19:59:33 +0000] 
fix find-edges-containing infinite-loop
 * we weren't specializing on node and therefore kept calling the general
   function in a loop.

4 years agoadded methods for add-edge, remove-edge, find-edges-* that take node-identifiers
Cyrus Harmon [Wed, 12 Nov 2008 19:38:53 +0000] 
added methods for add-edge, remove-edge, find-edges-* that take node-identifiers
minor doc work and scratch examples.
added NOTES

4 years agoadded graph-node-p
Cyrus Harmon [Wed, 12 Nov 2008 02:09:10 +0000] 
added graph-node-p

4 years agoallow for multiple edges between the same nodes
Cyrus Harmon [Wed, 12 Nov 2008 02:03:01 +0000] 
allow for multiple edges between the same nodes
 add so far unused edge class
 add graph subclasses -- might go away
 add add-node function

4 years agoadding epigraph-test.asd, test/package.lisp and test/epigraph-test.lisp
Cyrus Harmon [Tue, 11 Nov 2008 06:00:57 +0000] 
adding epigraph-test.asd, test/package.lisp and test/epigraph-test.lisp

4 years agoadd alternative approach to bfs and dfs using a general-search algorithm.
Cyrus Harmon [Mon, 10 Nov 2008 20:29:56 +0000] 
add alternative approach to bfs and dfs using a general-search algorithm.
not sure if I'll swap this in for the other or not.

4 years agoremove bfs2 as bfs works just as well now.
Cyrus Harmon [Mon, 10 Nov 2008 18:56:21 +0000] 
remove bfs2 as bfs works just as well now.

4 years agouse a hash-table instead of a list for the visited nodes. big win
Cyrus Harmon [Mon, 10 Nov 2008 18:55:58 +0000] 
use a hash-table instead of a list for the visited nodes. big win
on graphs with lots of edges.
remove unused bfs-node-data.

4 years agodepend on alexandria for copy-hash
Cyrus Harmon [Mon, 10 Nov 2008 17:30:07 +0000] 
depend on alexandria for copy-hash
add make-instance
remove nodes slot from graph
add *default-graph-class* and use this as the default value for
 &key graph-class for the new make-graph function
add bfs-node-data class and bfs2 for posterity, even though I'll
 probably remove them shortly.
egde-list-graph now stores is its nodes in a hash-table instead
 of a list. edges are still stored in a list, however.
added add-node, get-node, find-node and with-graph-iterator
added add-edge
exported make-node, make-graph, *default-graph-class*, add-node
 get-node and first-node

4 years agobegin documentation effort
Cyrus Harmon [Sun, 9 Nov 2008 19:12:15 +0000] 
begin documentation effort
add and export find-node function

4 years agoexport copy-graph and neighbors
Cyrus Harmon [Sat, 8 Nov 2008 17:17:05 +0000] 
export copy-graph and neighbors

4 years agoadded copy-graph and neighbors generic functions
Cyrus Harmon [Sat, 8 Nov 2008 17:16:53 +0000] 
added copy-graph and neighbors generic functions
use neighbors in search functions
added neighbors methods for graph
added copy-graph method for edge-list-graphs

4 years agoadd &key key test to bfs, bfs-map, dfs, and dfs-map.
Cyrus Harmon [Sat, 8 Nov 2008 07:29:18 +0000] 
add &key key test to bfs, bfs-map, dfs, and dfs-map.

4 years agofix typo
Cyrus Harmon [Sat, 8 Nov 2008 06:53:35 +0000] 
fix typo

4 years agofist version
Cyrus Harmon [Sat, 8 Nov 2008 06:40:22 +0000] 
fist version