14 research outputs found

    A New Approach to Robot’s Imitation of Behaviors by Decomposition of Multiple-Valued Relations

    Get PDF
    Relation decomposition has been used for FPGA mapping, layout optimization, and data mining. Decision trees are very popular in data mining and robotics. We present relation decomposition as a new general-purpose machine learning method which generalizes the methods of inducing decision trees, decision diagrams and other structures. Relation decomposition can be used in robotics also in place of classical learning methods such as Reinforcement Learning or Artificial Neural Networks. This paper presents an approach to imitation learning based on decomposition. A Head/Hand robot learns simple behaviors using features extracted from computer vision, speech recognition and sensors

    Synthesis of combinational circuits by means of bi-decomposition of Boolean functions

    Get PDF
    Рассматривается задача синтеза комбинационных схем в базисе двухвходовых логических элементов, в качестве которых выступают элементы И, ИЛИ, И-НЕ и ИЛИ-НЕ. Целью работы является исследование возможности применения алгебраической декомпозиции булевых функций (в англоязычной литературе bi-decomposition) для синтеза комбинационных схем

    A method for bi-decomposition of partial Boolean functions

    Get PDF
    A method for bi-decomposition of incompletely specified (partial) Boolean functions is suggested. The problem of bi-decomposition is reduced to the problem of two-block weighted covering a set of edges of a graph of rows orthogonality of a ternary or binary matrix that specify a given function, by complete bipartite subgraphs (bicliques). Each biclique is assigned in a certain way with a set of arguments of the given function, and the weight of a biclique is the cardinality of this set. According to each of bicliques, a Boolean function is constructed whose arguments are the variables from the set, which is assigned to the biclique. The obtained functions form a solution of the bi-decomposition problem

    Эвристический метод алгебраической декомпозиции частичных булевых функций

    Get PDF
    The problem of decomposition of a Boolean function is to represent a given Boolean function in the form of a superposition of some Boolean functions whose number of arguments are less than the number of given function. The bi-decomposition represents a given function as a logic algebra operation, which is also given, over two Boolean functions. The task is reduced to specification of those two functions. A method for bi-decomposition of incompletely specified (partial) Boolean function is suggested. The given Boolean function is specified by two sets, one of which is the part of the Boolean space of the arguments of the function where its value is 1, and the other set is the part of the space where the function has the value 0. The complete graph of orthogonality of Boolean vectors that constitute the definitional domain of the given function is considered. In the graph, the edges are picked out, any of which has its ends corresponding the elements of Boolean space where the given function has different values. The problem of bi-decomposition is reduced to the problem of a weighted two-block covering the set of picked out edges of considered graph by its complete bipartite subgraphs (bicliques). Every biclique is assigned with a disjunctive normal form (DNF) in definite way. The weight of a biclique is a pair of certain parameters of   assigned DNF. According to each biclique of obtained cover, a Boolean function is constructed whose arguments are the variables from the term of minimal rank on the DNF. A technique for constructing the mentioned cover for two kinds of output function is described.Задача декомпозиции булевой функции заключается в представлении заданной булевой функции в виде суперпозиции некоторых булевых функций, каждая из которых имеет меньшее число аргументов, чем исходная функция. Алгебраическая декомпозиция (в англоязычной литературе bi-decomposition) представляет заданную функцию в виде некоторой заданной операции алгебры логики над двумя булевыми функциями, и эта задача, таким образом, сводится к их определению. Предлагается эвристический метод алгебраической декомпозиции для не полностью определенных (частичных) булевых функций. Исходная булева функция задается двумя множествами, одно из которых представляет собой область булева пространства аргументов, где функция имеет значение 1, а другое – область булева пространства, где функция имеет значение 0. Рассматривается полный граф ортогональности булевых векторов, составляющих область определения заданной функции. В нём выделяются ребра, концы каждого из которых соответствуют элементам булева пространства, на которых функция имеет различные значения. Задача алгебраической декомпозиции сводится к задаче о двухблочном взвешенном покрытии множества выделенных ребер указанного графа его полными двудольными подграфами (бикликами). Каждой биклике приписывается определенным образом дизъюнктивная нормальная форма (ДНФ), и весом биклики считается пара некоторых параметров соответствующей ДНФ. По каждой из биклик полученного покрытия строится булева функция, аргументами которой являются переменные из элементарной конъюнкции минимального ранга соответствующей ДНФ, что является решением задачи алгебраической декомпозиции. Описана методика получения указанного покрытия для двух видов выходной функции

    Метод бидекомпозиции частичных булевых функций

    Get PDF
    The problem of bi-decomposition of a Boolean function is to represent a given Boolean function in the form of a given logic algebra operation over two Boolean functions and so is reduced to specification of these functions. Any of the required functions must have fewer arguments than the given function. A method of bi-decomposition for an incompletely specified (partial) Boolean function is suggested, this method uses the approach applied in solving the general problem of parallel decomposition of partial Boolean functions. The specification of the given function must be in the form of a pair of matrices. One of them, argument matrix, can be ternary or binary and represents the definitional domain of the given function. The other one, value matrix, is a binary column-vector and represents the function values on the intervals or elements of the Boolean space of the arguments. The graph of orthogonality of the argument matrix rows and the graph of orthogonality of one-element rows of the value matrix are considered. The problem of bi-decomposition is reduced to the problem of a weighted two-block covering the edge set of the orthogonality graph of the value matrix rows by complete bipartite subgraphs (bicliques) of the orthogonality graph of the argument matrix rows. Every biclique is assigned with a disjunctive normal form (DNF) in definite way. The weight of a biclique is the minimum rank of a term of the assigned DNF. According to each biclique of the obtained cover, a Boolean function is constructed whose arguments are the variables from the term of minimal rank on the DNF.Задача бидекомпозиции (от англ. bi-decomposition) булевой функции заключается в представлении заданной булевой функции в виде некоторой заданной операции алгебры логики над двумя булевыми функциями и сводится таким образом к определению этих функций. Каждая из искомых функций должна обладать меньшим числом аргументов, чем заданная. Предлагается метод бидекомпозиции для не полностью определенных (частичных) булевых функций, который использует подход, применяемый в решении общей задачи их параллельной декомпозиции. Задание исходной функции должно иметь вид пары матриц. Одна из них, матрица аргументов, может быть троичной или булевой и представляет область определения заданной функции. Другая матрица, матрица значений, имеет вид одного булева вектора-столбца и показывает значения функции на интервалах или элементах булева пространства аргументов. Рассматриваются граф ортогональности строк матрицы аргументов и граф ортогональности одноэлементных строк матрицы значений. Задача бидекомпозиции сводится к задаче о двухблочном взвешенном покрытии множества ребер графа ортогональности строк матрицы значений полными двудольными подграфами (бикликами) графа ортогональности строк матрицы аргументов. Каждой биклике приписывается определенным образом дизъюнктивная нормальная форма (ДНФ), и весом биклики считается минимальный ранг элементарной конъюнкции в соответствующей ДНФ. По каждой из биклик полученного покрытия строится булева функция, аргументами которой служат переменные из элементарной конъюнкции минимального ранга соответствующей ДНФ, что является решением задачи бидекомпозиции

    Computing the full quotient in bi-decomposition by approximation

    Get PDF
    Bi-decomposition is a design technique widely used to realize logic functions by the composition of simpler components. It can be seen as a form of Boolean division, where a given function is split into a divisor and quotient (and a remainder, if needed). The key questions are how to find a good divisor and then how to compute the quotient. In this paper we choose as divisor an approximation of the given function, and characterize the incompletely specified function which describes the full flexibility for the quotient. We report at the end preliminary experiments for bi-decomposition based on two AND-like operators with a divisor approximation from 1 to 0, and discuss the impact of the approximation error rate on the final area of the components in the case of synthesis by three-level XOR-AND-OR forms

    Performance Comparison of Static CMOS and Domino Logic Style in VLSI Design: A Review

    Get PDF
    Of late, there is a steep rise in the usage of handheld gadgets and high speed applications. VLSI designers often choose static CMOS logic style for low power applications. This logic style provides low power dissipation and is free from signal noise integrity issues. However, designs based on this logic style often are slow and cannot be used in high performance circuits. On the other hand designs based on Domino logic style yield high performance and occupy less area. Yet, they have more power dissipation compared to their static CMOS counterparts. As a practice, designers during circuit synthesis, mix more than one logic style judiciously to obtain the advantages of each logic style. Carefully designing a mixed static Domino CMOS circuit can tap the advantages of both static and Domino logic styles overcoming their own short comings

    Support-reducing decomposition for FPGA mapping

    Get PDF
    Decomposition is a technology-independent process, in which a large complex function is broken into smaller, less complex functions. The costs of two-level or factored-form representations (cubes and literals) are used in most decomposition methods, as they have a high correlation with the area of cell-based designs. However, this correlation is weaker for field-programmable gate arrays (FPGAs) based on look-up tables. Furthermore, local optimizations have limited power due to the structural bias of the circuit descriptions. This paper tries to reduce the structural biasing by remapping the LUT network and decomposing the derived functions using the support as cost function. The proposed method improves the FPGA mapping results of a commercial tool for the 20 largest MCNC benchmarks, with gains of 28% in delay plus 18% in area when targeting delay, and a reduction of 28% in area plus 14% in delay with area as cost function. Results with 23% less area and 6% less delay are obtained after physical synthesis (post place-and-route). Moreover, 12 of the best known results for delay (and 3 for area) of the EPFL benchmarks are improved.Peer ReviewedPostprint (author's final draft

    COMPACT XOR-BI-DECOMPOSITION FOR LATTICES OF BOOLEAN FUNCTIONS

    Get PDF
    Bi-Decomposition is a powerful approach for the synthesis of multi-level combinational circuits because it utilizes the properties of the given functions to find small circuits, with low power consumption and low delay. Compact bi-decompositions restrict the variables in the support of the decomposition functions as much as possible. Methods to find compact AND-, OR-, or XOR-bi-decompositions for a given completely specified function are well known.Lattices of Boolean Functions significantly increase the possibilities to synthesize a minimal circuit. However, so far only methods to find compact AND- or OR-bidecompositions for lattices of Boolean functions are known. This gap, i.e., a method to find a compact XOR-bi-decomposition for a lattice of Boolean functions, has been closed by the approach suggested in this paper

    Advances in Functional Decomposition: Theory and Applications

    Get PDF
    Functional decomposition aims at finding efficient representations for Boolean functions. It is used in many applications, including multi-level logic synthesis, formal verification, and testing. This dissertation presents novel heuristic algorithms for functional decomposition. These algorithms take advantage of suitable representations of the Boolean functions in order to be efficient. The first two algorithms compute simple-disjoint and disjoint-support decompositions. They are based on representing the target function by a Reduced Ordered Binary Decision Diagram (BDD). Unlike other BDD-based algorithms, the presented ones can deal with larger target functions and produce more decompositions without requiring expensive manipulations of the representation, particularly BDD reordering. The third algorithm also finds disjoint-support decompositions, but it is based on a technique which integrates circuit graph analysis and BDD-based decomposition. The combination of the two approaches results in an algorithm which is more robust than a purely BDD-based one, and that improves both the quality of the results and the running time. The fourth algorithm uses circuit graph analysis to obtain non-disjoint decompositions. We show that the problem of computing non-disjoint decompositions can be reduced to the problem of computing multiple-vertex dominators. We also prove that multiple-vertex dominators can be found in polynomial time. This result is important because there is no known polynomial time algorithm for computing all non-disjoint decompositions of a Boolean function. The fifth algorithm provides an efficient means to decompose a function at the circuit graph level, by using information derived from a BDD representation. This is done without the expensive circuit re-synthesis normally associated with BDD-based decomposition approaches. Finally we present two publications that resulted from the many detours we have taken along the winding path of our research
    corecore