Isao Sasano - Academia.edu (original) (raw)

Papers by Isao Sasano

Research paper thumbnail of Make it practical

Research paper thumbnail of A Text-Based Syntax Completion Method using LR Parsing and Its Evaluation

Science of Computer Programming

Research paper thumbnail of Bidirectionalization of ATL with GRoundTram: Transformation algorithms

Research paper thumbnail of A general recursive form for graph traversals and its transformation

Research paper thumbnail of Generating comprehension checking problems using mutation analysis compensating for shakyo-style learning defects: A case study on binary operators with evaluating its effectiveness

Research paper thumbnail of An approach to estimate the difficulty of Sudoku problems by Neural Network

Research paper thumbnail of ナップサック問題およびその発展問題の統一的解法

Research paper thumbnail of 最大重み和問題の線形時間アルゴリズムの導出

Research paper thumbnail of Marker-Directed Optimization of UnCAL Graph Transformations

Lecture Notes in Computer Science, 2012

Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional gr... more Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional graph transformations based on structural recursion, and we have recently applied to model transformations. The compositional nature of the algebra greatly enhances the modularity of transformations. However, intermediate results generated between composed transformations cause overhead. Buneman et al. proposed fusion rules that eliminate the intermediate results, but auxiliary rewriting rules that enable the actual application of the fusion rules are not apparent so far. UnCAL graph model includes the concept of markers, which correspond to recursive function call in the structural recursion. We have found that there are many optimization opportunities at rewriting level based on static analysis, especially focusing on markers. The analysis can safely eliminate redundant function calls. Performance evaluation shows its practical effectiveness for non-trivial examples in model transformations.

Research paper thumbnail of Embedding the C language into SML#

Research paper thumbnail of 特集「プログラミングおよびプログラミング言語」の編集にあたって

Research paper thumbnail of Maximum Marking Problems with Accumulative Weight Functions

Abstract. We present a new derivation of efficient algorithms for a class of optimization problem... more Abstract. We present a new derivation of efficient algorithms for a class of optimization problems called maximum marking problems. We extend the class of weight functions used in the specification to allow for weight functions with accumulation, which is particularly useful when the weight of each element depends on adjacent elements. This extension of weight functions enables us to treat more interesting optimization problems such as a variant of the maximum segment sum problem and the fair bonus distribution problem. The complexity of the derived algorithm is linear with respect to the size of the input data.

Research paper thumbnail of Toward bidirectionalization of ATL with GRoundTram

Abstract. ATL is a language for describing model transformations currently in uni-direction. In o... more Abstract. ATL is a language for describing model transformations currently in uni-direction. In our previous work we have shown that transformations of graph structures given in some form can be bidirectionalized and have imple-mented a system called GRoundTram system for bidirectional graph transforma-tions. We say a transformation t is bidirectionalized when we obtain a backward transformation t ′ so that the pair (t, t′) of transformations satisfies certain well-behavedness properties. Bidirectional model transformation is used to reflect the changes in the target model back to the source model, and vice versa. In this paper, as a first step toward realizing practical bidirectional model transforma-tions, we present bidirectionalization of core part of the ATL by encoding it in the UnQL language, which is used as a transformation language in the GRound-Tram system. We give the algorithm for the encoding, based on which we have implemented the system for bidirectionalizing the cor...

Research paper thumbnail of Iterative-Free Program Analysis

flow analyses are reduced to the problem of finding a fixed point in a certain transition system,... more flow analyses are reduced to the problem of finding a fixed point in a certain transition system, and such fixed point is commonly computed through an iterative procedure that repeats tracing until convergence.

Research paper thumbnail of Make it Practical: A Generic Linear-Time Algorithm for Solving Maximum-Weightsum Problems

In this paper we propose a new method for deriving a practical linear-time algorithm from the spe... more In this paper we propose a new method for deriving a practical linear-time algorithm from the specification of a maximum-weight sum problem: From the elements of a data structure x, find a subset which satisfies a certain property p and whose weightsum is maximum. Previously proposed methods for automatically generating linear-time algorithms are theoretically appealing, but the algorithms generated are hardly useful in practice due to a huge constant factor for space and time. The key points of our approach are to express the property p by a recursive boolean function over the structure x rather than a usual logical predicate and to apply program transformation techniques to reduce the constant factor. We present an optimization theorem, give a calculational strategy for applying the theorem, and demonstrate the effectiveness of our approach through several nontrivial examples which would be difficult to deal with when using the methods previously available.

Research paper thumbnail of Generation of Efficient Programs for Solving Maximum Multi-Marking Problems

Program generation has seen an important role in a wide range of software development processes, ... more Program generation has seen an important role in a wide range of software development processes, where effective calculation rules are critical. In this paper, we propose a more general calculation rule for generation of efficient programs for solving maximum marking problems. Easy to use and implement, our new rule gives a significant extension of the rule proposed by Sasano et al., allowing multiple kinds of marks as well as more general description of the property of acceptable markings. We illustrate its effectiveness using several interesting problems.

Research paper thumbnail of Generation of Efficient Algorithms for Maximum Marking Problems

In existing work on graph algorithms, it is known that a linear time algorithm can be derived mec... more In existing work on graph algorithms, it is known that a linear time algorithm can be derived mechanically from a logical formula for a class of optimization problems. But this has a serious problem that the derived algorithm has huge constant factor. In this work, we redene this problem on recursive data structures as a maximum marking problem and propose method for deriving a linear time algorithm for that. In this method, speci cation is given using recursive functions instead of logical formula, which results in a practical linear time algorithm. This method is mechanical and in fact, based on this deriving method, we make a system which automatically generates a practical linear time algorithm from specication for a maximum marking problem.

Research paper thumbnail of Model Query Language MQL

Research paper thumbnail of Solving a class of knapsack problems on recursive data structures

Research paper thumbnail of Agent Control in Multiagent Systems: Reinforcement Learning of Weight Parameters in Particle Swarm Optimization

Research paper thumbnail of Make it practical

Research paper thumbnail of A Text-Based Syntax Completion Method using LR Parsing and Its Evaluation

Science of Computer Programming

Research paper thumbnail of Bidirectionalization of ATL with GRoundTram: Transformation algorithms

Research paper thumbnail of A general recursive form for graph traversals and its transformation

Research paper thumbnail of Generating comprehension checking problems using mutation analysis compensating for shakyo-style learning defects: A case study on binary operators with evaluating its effectiveness

Research paper thumbnail of An approach to estimate the difficulty of Sudoku problems by Neural Network

Research paper thumbnail of ナップサック問題およびその発展問題の統一的解法

Research paper thumbnail of 最大重み和問題の線形時間アルゴリズムの導出

Research paper thumbnail of Marker-Directed Optimization of UnCAL Graph Transformations

Lecture Notes in Computer Science, 2012

Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional gr... more Buneman et al. proposed a graph algebra called UnCAL (Unstructured CALculus) for compositional graph transformations based on structural recursion, and we have recently applied to model transformations. The compositional nature of the algebra greatly enhances the modularity of transformations. However, intermediate results generated between composed transformations cause overhead. Buneman et al. proposed fusion rules that eliminate the intermediate results, but auxiliary rewriting rules that enable the actual application of the fusion rules are not apparent so far. UnCAL graph model includes the concept of markers, which correspond to recursive function call in the structural recursion. We have found that there are many optimization opportunities at rewriting level based on static analysis, especially focusing on markers. The analysis can safely eliminate redundant function calls. Performance evaluation shows its practical effectiveness for non-trivial examples in model transformations.

Research paper thumbnail of Embedding the C language into SML#

Research paper thumbnail of 特集「プログラミングおよびプログラミング言語」の編集にあたって

Research paper thumbnail of Maximum Marking Problems with Accumulative Weight Functions

Abstract. We present a new derivation of efficient algorithms for a class of optimization problem... more Abstract. We present a new derivation of efficient algorithms for a class of optimization problems called maximum marking problems. We extend the class of weight functions used in the specification to allow for weight functions with accumulation, which is particularly useful when the weight of each element depends on adjacent elements. This extension of weight functions enables us to treat more interesting optimization problems such as a variant of the maximum segment sum problem and the fair bonus distribution problem. The complexity of the derived algorithm is linear with respect to the size of the input data.

Research paper thumbnail of Toward bidirectionalization of ATL with GRoundTram

Abstract. ATL is a language for describing model transformations currently in uni-direction. In o... more Abstract. ATL is a language for describing model transformations currently in uni-direction. In our previous work we have shown that transformations of graph structures given in some form can be bidirectionalized and have imple-mented a system called GRoundTram system for bidirectional graph transforma-tions. We say a transformation t is bidirectionalized when we obtain a backward transformation t ′ so that the pair (t, t′) of transformations satisfies certain well-behavedness properties. Bidirectional model transformation is used to reflect the changes in the target model back to the source model, and vice versa. In this paper, as a first step toward realizing practical bidirectional model transforma-tions, we present bidirectionalization of core part of the ATL by encoding it in the UnQL language, which is used as a transformation language in the GRound-Tram system. We give the algorithm for the encoding, based on which we have implemented the system for bidirectionalizing the cor...

Research paper thumbnail of Iterative-Free Program Analysis

flow analyses are reduced to the problem of finding a fixed point in a certain transition system,... more flow analyses are reduced to the problem of finding a fixed point in a certain transition system, and such fixed point is commonly computed through an iterative procedure that repeats tracing until convergence.

Research paper thumbnail of Make it Practical: A Generic Linear-Time Algorithm for Solving Maximum-Weightsum Problems

In this paper we propose a new method for deriving a practical linear-time algorithm from the spe... more In this paper we propose a new method for deriving a practical linear-time algorithm from the specification of a maximum-weight sum problem: From the elements of a data structure x, find a subset which satisfies a certain property p and whose weightsum is maximum. Previously proposed methods for automatically generating linear-time algorithms are theoretically appealing, but the algorithms generated are hardly useful in practice due to a huge constant factor for space and time. The key points of our approach are to express the property p by a recursive boolean function over the structure x rather than a usual logical predicate and to apply program transformation techniques to reduce the constant factor. We present an optimization theorem, give a calculational strategy for applying the theorem, and demonstrate the effectiveness of our approach through several nontrivial examples which would be difficult to deal with when using the methods previously available.

Research paper thumbnail of Generation of Efficient Programs for Solving Maximum Multi-Marking Problems

Program generation has seen an important role in a wide range of software development processes, ... more Program generation has seen an important role in a wide range of software development processes, where effective calculation rules are critical. In this paper, we propose a more general calculation rule for generation of efficient programs for solving maximum marking problems. Easy to use and implement, our new rule gives a significant extension of the rule proposed by Sasano et al., allowing multiple kinds of marks as well as more general description of the property of acceptable markings. We illustrate its effectiveness using several interesting problems.

Research paper thumbnail of Generation of Efficient Algorithms for Maximum Marking Problems

In existing work on graph algorithms, it is known that a linear time algorithm can be derived mec... more In existing work on graph algorithms, it is known that a linear time algorithm can be derived mechanically from a logical formula for a class of optimization problems. But this has a serious problem that the derived algorithm has huge constant factor. In this work, we redene this problem on recursive data structures as a maximum marking problem and propose method for deriving a linear time algorithm for that. In this method, speci cation is given using recursive functions instead of logical formula, which results in a practical linear time algorithm. This method is mechanical and in fact, based on this deriving method, we make a system which automatically generates a practical linear time algorithm from specication for a maximum marking problem.

Research paper thumbnail of Model Query Language MQL

Research paper thumbnail of Solving a class of knapsack problems on recursive data structures

Research paper thumbnail of Agent Control in Multiagent Systems: Reinforcement Learning of Weight Parameters in Particle Swarm Optimization