All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.github.evenjn.align.graph.TupleAlignmentNode Maven / Gradle / Ivy

/**
 *
 * Copyright 2016 Marco Trevisan
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package org.github.evenjn.align.graph;

/**
 * Every path from an initial node to this node represents a partial alignment
 * of the subtuples Above[0..a] and Below[0..b].
 * 
 * Each node contains information about the incoming edges.
 */
public class TupleAlignmentNode {

	/**
	 * An array with as many sub-arrays as there are incoming edges.
	 * 
	 * Each sub-array is an array with three integer values (x, y, encout). It
	 * describes an edge incoming from another node.
	 * 
	 * The first value (x) is the row-index and the second value (y) is the
	 * column-index of the node the edge is coming from.
	 * 
	 * The third value, referred to as "encout", is a unique id that identifies
	 * the pair [p q] where p is a symbol above and q is a finite sequence of
	 * symbols below.
	 * 
	 * This pair is such that Above[0..x]+p = Above[0..a] and Below[0..y]+q =
	 * Below[0..b]
	 */
	public int[][] incoming_edges;

	/**
	 * The number of edges entering this node.
	 */
	public int number_of_incoming_edges;

	/**
	 * Marks whether the node is a final node.
	 */
	public boolean is_reachable_from_end;

	/**
	 * The row-index of this node in the tuple-alignment-graph matrix.
	 */
	public int a;

	/**
	 * The column-index of this node in the tuple-alignment-graph matrix.
	 */
	public int b;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy