9317141
Towards Manipulation of Mutually Recursive Functions
TOWARDSMANIPULATIONOFMUTUALLYRECURSIVEFUNCTIONSHIDEYAIWASAKIDepartmentofComputerScienceTokyoUniversityofAgricultureandchnology2{24{16,Naka-cho,Koganei,Tokyo184{8588,JAPANE-mail:iwasaki@ipl.ei.tuat.ac.jpZHENJIANGHU,MASATOTAKEICHIDepartmentofInformationEngineeringTheUniversityofTokyo7{3{1,Hongo,Bunkyo-ku,Tokyo113{8656,JAPANE-mail:fhu,takeichig@ipl.t.u-tokyo.ac.jpInfunctionalprogramming,ConstructiveAlgorithmicsisoneofthepromisingapproachestoprogramtransformation,esp eciallyfusion,inwhichaconceptcalledhylomorphismplays quiteanimp ortantrole.However,previousstudieshavemainlyfo cusedonprogramsconstructedby singlerecursive functions,whereaspro-gramsconstructedbymutualrecursionhaveb eenlittleinestigated,particularlywithresp ecttotheirpracticaluseforoptimizingfunctionalprograms.Inthispap er,weshallformalizemutualrecursivdatatyp esintermsofbifunctorsandextendhylomorphismstodescrib emutualrecursivefunctionsonthistyp e.Itisshownthattheorems(transformationrules)fororiginalhylomorphismsalsoholdwhilekeepingthesameformforextended(mutual)hylomorphisms.Asaresult,programtransformationby calculation,which mechanically applies thesetheorems,isalsop ossiblewithoutaddinganysp ecialrulesformutualrecursion.1Intro ductionInfunctionalprogramming,smallbutusefulfunctionsarecomp osedtogethertoconstitutealargeprogram.Unfortunately,programsdescrib edinthisfashioncannotb eexp ectedtoecientb othintimeandspace,mainlyb ecausemanyintermediatedatastructureswhichneverapp earthe nalresultmab epro ducedandconsumedthroughfunctionalcomp ositions.Thereforeitisimp ortanttotransformprogramseliminatesuchdatastructures.OneofthepromisingapproachestosolvethisproblemisbymeansConstructiveAlgorithmics6;7,inwhichaconceptcalledhylomorphismplaysanimp ortantrole.Inthisapproach,asmallbutp owerfulsetoftransformationrules(theorems)overhylomorphismsareappliedtothetargetprogramfusefunctionalcomp ositions.Thiskindoftransformationiscalledfusion.Animp ortantp oinisthatonce(apartof )thetargetprogramexpressedinsomesp eci cformsuchasylomorphism,thetransformationpro cessisnothingmorethananautomatedcalculation.InConstructiveAlgorithmics,datatyp esarecategoricallyde nedbyfunc-1
15997088
A New Parallel Skeleton for General Accumulative Computations
Skeletal parallel programming enables programmers to build a parallel program from ready-made components (parallel primitives) for which efficient implementations are known to exist, making both the parallel program development and the parallelization process easier. Constructing efficient parallel programs is often difficult, however, due to difficulties in selecting a proper combination of parallel primitives and in implementing this combination without having unnecessary creations and exchanges of data among parallel primitives and processors. To overcome these difficulties, we propose a powerful and general parallel skeleton, accumulate, which can be used to naturally code efficient solutions to problems as well as be efficiently implemented in parallel using Message Passing Interface (MPI).
17460651
A calculational fusion system HYLO
Fusion, one of the most useful transformation tactics for deriving efficient programs, is the process whereby separate pieces of programs are fused into a single one, leading to an efficient program without intermediate data structures produced. In this paper, we report our on-going investigation on the design and implementation of an automatic transformation system HYLO which performs fusion transformation in a more systematic and more general way than any other systems. The distinguished point of our system is its calculational feature based on simple application of transformation laws rather than traditional search-based transformations.
5453797
List Homomorphism with Accumulation
This paper introduces accumulation into list homomorphisms for systematic development of both efficient and correct parallel programs. New parallelizable recursive pattern called H-homomorphism is given, and transformations from sequential patterns in the H-form and Hform into (H-)homomorphism are shown. We illustrate the power of our formalization by developing a novel and general parallel program for a class of interesting and challenging problems, known as maximum marking problems.
13526098
Systematic Derivation of Tree Contraction Algorithms
While tree contraction algorithms play an important role in efficient tree computation in parallel, it is difficult to develop such algorithms due to the strict conditions imposed on contracting op...
21046907
Construction of List Homomorphisms by Tupling and Fusion
List homomorphisms are functions which can be efficiently computed in parallel since they ideally suit the divide- sand-conquer paradigm. However, some interesting functions, e.g., the maximum segment sum problem, are not list homomorphisms. In this paper, we propose a systematic way of embedding them into list homomorphisms so that parallel programs are derived. We show, with an example, how a simple, and “obviously” correct, but possibly inefficient solution to the problem can be successfully turned into a semantically equivalent almost homomorphism by means of two transformations: tupling and fusion.
952289
DynGO: a tool for visualizing and mining of Gene Ontology and its associations
BackgroundA large volume of data and information about genes and gene products has been stored in various molecular biology databases. A major challenge for knowledge discovery using these databases is to identify related genes and gene products in disparate databases. The development of Gene Ontology (GO) as a common vocabulary for annotation allows integrated queries across multiple databases and identification of semantically related genes and gene products (i.e., genes and gene products that have similar GO annotations). Meanwhile, dozens of tools have been developed for browsing, mining or editing GO terms, their hierarchical relationships, or their "associated" genes and gene products (i.e., genes and gene products annotated with GO terms). Tools that allow users to directly search and inspect relations among all GO terms and their associated genes and gene products from multiple databases are needed.ResultsWe present a standalone package called DynGO, which provides several advanced functionalities in addition to the standard browsing capability of the official GO browsing tool (AmiGO). DynGO allows users to conduct batch retrieval of GO annotations for a list of genes and gene products, and semantic retrieval of genes and gene products sharing similar GO annotations. The result are shown in an association tree organized according to GO hierarchies and supported with many dynamic display options such as sorting tree nodes or changing orientation of the tree. For GO curators and frequent GO users, DynGO provides fast and convenient access to GO annotation data. DynGO is generally applicable to any data set where the records are annotated with GO terms, as illustrated by two examples.ConclusionWe have presented a standalone package DynGO that provides functionalities to search and browse GO and its association databases as well as several additional functions such as batch retrieval and semantic retrieval. The complete documentation and software are freely available for download from the website http://biocreative.ifsm.umbc.edu/dyngo.
21877707
An online literature mining tool for protein phosphorylation
A web-based version of the RLIMS-P literature mining system was developed for online mining of protein phosphorylation information from MEDLINE abstracts. The online tool presents extracted phosphorylation objects (phosphorylated proteins, phosphorylation sites and protein kinases) in summary tables and full reports with evidence-tagged abstracts. The tool further allows mapping of phosphorylated proteins to protein entries in the UniProt Knowledgebase based on PubMed ID and/or protein name. The literature mining, coupled with database association, allows retrieval of rich biological information for the phosphorylated proteins and facilitates database annotation of phosphorylation features.
3641866
The iProClass integrated database for protein functional analysis
Increasingly, scientists have begun to tackle gene functions and other complex regulatory processes by studying organisms at the global scales for various levels of biological organization, ranging from genomes to metabolomes and physiomes. Meanwhile, new bioinformatics methods have been developed for inferring protein function using associative analysis of functional properties to complement the traditional sequence homology-based methods. To fully exploit the value of the high-throughput system biology data and to facilitate protein functional studies requires bioinformatics infrastructures that support both data integration and associative analysis. The iProClass database, designed to serve as a framework for data integration in a distributed networking environment, provides comprehensive descriptions of all proteins, with rich links to over 50 databases of protein family, function, pathway, interaction, modification, structure, genome, ontology, literature, and taxonomy. In particular, the database is organized with PIRSF family classification and maps to other family, function, and structure classification schemes. Coupled with the underlying taxonomic information for complete genomes, the iProClass system (http://pir.georgetown.edu/iproclass/) supports associative studies of protein family, domain, function, and structure. A case study of the phosphoglycerate mutases illustrates a systematic approach for protein family and phylogenetic analysis. Such studies may serve as a basis for further analysis of protein functional evolution, and its relationship to the co-evolution of metabolic pathways, cellular networks, and organisms.
14260384
Perfect Circular Arc Coloring
The circular arc coloring problem is to find a minimum coloring of a set of arcs of a circle so that no two overlapping arcs share a color. This NP-hard problem arises in a rich variety of applications and has been studied extensively. In this paper we present an O(n2m) combinatorial algorithm for optimally coloring any set of arcs that corresponds to a perfect graph, and propose a new approach to the general circular arc coloring problem.
38894685
A Strongly Polynomial Algorithm for the Inverse Shortest Arborescence Problem
Abstract In this paper an inverse problem of the weighted shortest arborescence problem is discussed. That is, given a directed graph G and a set of nonnegative costs on its arcs, we need to modify those costs as little as possible to ensure that T, a given v1 -arborescence of G, is the shortest one. It is found that only the cost of T needs modifying. An O(n3) combinatorial algorithm is then proposed. This algorithm also gives an optimal solution to the inverse weighted shortest path problem.