@article{Mitchell82, title = {Generalization as Search}, author = {Tom M. Mitchell}, journal = {Artificial Intelligence}, number = 2, pages = {203--226}, volume = 18, year = 1982, biburl = {http://www.bibsonomy.org/bibtex/25981d634b9fc220f99e7ba1bf50dbfd1/emanuel}, keywords = {seminal_paper machine_learning} } @inproceedings{LapointeM92, title = {Sub-unification: a Tool for Efficient Induction of Recursive Programs}, address = {San Francisco, CA, USA}, author = {St\'{e}phane Lapointe and Stan Matwin}, booktitle = {ML92: Proceedings of the Ninth International Workshop on Machine Learning}, pages = {273--281}, publisher = {Morgan Kaufmann Publishers Inc.}, year = 1992, url = {http://portal.acm.org/citation.cfm?id=141975.142038}, description = {sub-unification, a technique to invert implication}, biburl = {http://www.bibsonomy.org/bibtex/20a7f5f4d0072c61938dbf4d7c15d7fbc/emanuel}, keywords = {inductive_programming ilp ip-system induction analytical_ip program_synthesis} } @inproceedings{MarcinkowskiP92, title = {Undecidability of the Horn-clause Implication Problem}, author = {J. Marcinkowski and L. Pacholski}, booktitle = {Proceedings of the 33rd IEEE Annual Symposium on Foundations of Computer Science}, pages = {354-362}, publisher = {IEEE}, year = 1992, url = {http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=267755}, doi = {10.1109/SFCS.1992.267755}, description = {implication among Horn-clauses is not decidable}, biburl = {http://www.bibsonomy.org/bibtex/22fae374f9553a7a058113f971212ba58/emanuel}, keywords = {logic horn-clauses decidability} } @inproceedings{Kitzelmann08LOPSTR, title = {Analytical Inductive Functional Programming}, author = {Emanuel Kitzelmann}, booktitle = {18th International Symposium on Logic-Based Program Synthesis and Transformation }, note = {to appear}, publisher = {Springer-Verlag}, series = {LNCS}, year = 2008, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/lopstr08.pdf}, description = {first regularly published paper on IGOR2.2}, biburl = {http://www.bibsonomy.org/bibtex/243c54286bff297afb251c1b469c79f36/emanuel}, keywords = {inductive_programming analytical_ip ifp induction inproceedings program_synthesis constructor_systems igor2} } @inproceedings{HofmannKS08, title = {Analysis and Evaluation of Inductive Programming Systems in a Higher-Order Framework}, author = {Martin Hofmann and Emanuel Kitzelmann and Ute Schmid}, booktitle = {31st German Conference on Artificial Intelligence}, note = {to appear}, publisher = {Springer-Verlag}, series = {LNAI}, year = 2008, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/ki08.pdf}, biburl = {http://www.bibsonomy.org/bibtex/29d9277b04bb73462fdd920010fab9faa/emanuel}, keywords = {enumerative_ip overview inductive_programming ifp machine_learning analytical_ip experiment igor2 ilp higher-order_functions program_synthesis induction iflp haskell inproceedings} } @inproceedings{Kitzelmann08ECAI, title = {Data-driven Induction of Functional Programs}, author = {Emanuel Kitzelmann}, booktitle = {18th European Conference on Artificial Intelligence}, note = {to appear}, publisher = {IOS Press}, year = 2008, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/ecai08_short.pdf}, biburl = {http://www.bibsonomy.org/bibtex/28b355e26e90058c3513165b821ec9936/emanuel}, keywords = {inproceedings program_synthesis analytical_ip induction constructor_systems igor2 inductive_programming ifp extended_abstract} } @inproceedings{BischofGK03b, title = {Cost Optimality and Predictability of Parallel Programming with Skeletons}, author = {Holger Bischof and Sergei Gorlatch and Emanuel Kitzelmann}, booktitle = {Euro-Par 2003 Parallel Processing}, pages = {682--693}, publisher = {Springer-Verlag}, series = {LNCS}, year = 2003, url = {http://www.springerlink.com/content/602ycb05htd85f24}, abstract = {Skeletons are reusable, parameterized components with well-defined semantics and pre-packaged efficient parallel implementation. This paper develops a new, provably cost-optimal implementation of the DS (double-scan) skeleton for the divide-and-conquer paradigm. Our implementation is based on a novel data structure called plist (pointed list); implementation's performance is estimated using an analytical model. We demonstrate the use of the DS skeleton for parallelizing a tridiagonal system solver and report experimental results for its MPI implementation on a Cray T3E and a Linux cluster: they confirm the performance improvement achieved by the cost-optimal implementation and demonstrate its good predictability by our performance model.}, biburl = {http://www.bibsonomy.org/bibtex/2324af963ab944ebb7d1de595ac369825/emanuel}, keywords = {skeletons parallel_programming inproceedings} } @inproceedings{KitzelmannSMW02AISC, title = {Inductive Synthesis of Functional Programs}, author = {Emanuel Kitzelmann and Ute Schmid and Martin M{\"u}hlpfordt and Fritz Wysotzki}, booktitle = {AISC '02/Calculemus '02: Proceedings of the Joint International Conferences on Artificial Intelligence, Automated Reasoning, and Symbolic Computation}, pages = {337--354}, publisher = {Springer-Verlag}, series = {LNCS}, volume = 2385, year = 2002, url = {http://www.springerlink.com/content/r02frg6bh82g29pw/}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/aisc02.pdf}, description = {Inductive Synthesis of Functional Programs}, abstract = {We present an approach to folding of finite program terms based on the detection of recurrence relations in a single given term which is considered as the k-th unfolding of an unknown recursive program. Our approach goes beyond Summers' classical approach in several aspects: It is language independent and works for terms belonging to an arbitrary term algebra; it allows induction of sets of recursive equations which are in some arbitrary ``calls'' relation; induced equations can be dependent on more than one input parameters and we can detect interdependencies of variable substitutions in recursive calls; the given input terms can represent incomplete unfoldings of an hypothetical recursive program.}, biburl = {http://www.bibsonomy.org/bibtex/27b020d823e50128ba18a74591725f5e6/emanuel}, keywords = {inproceedings inductive_programming recursive_program_schemes igor1 ifp program_synthesis induction analytical_ip} } @article{KitzelmannS07ENTCS, title = {Inducing Constructor Systems from Example-Terms by Detecting Syntactical Regularities}, author = {Emanuel Kitzelmann and Ute Schmid}, booktitle = {Proceedings of the 7th International Workshop on Rule Based Programming (RULE 2006)}, journal = {Electronic Notes in Theoretical Computer Science}, number = 1, pages = {49--63}, volume = 174, year = 2007, url = {http://dx.doi.org/10.1016/j.entcs.2006.11.015}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/entcs07.pdf}, description = {ScienceDirect - Electronic Notes in Theoretical Computer Science : Inducing Constructor Systems from Example-Terms by Detecting Syntactical Regularities}, abstract = {We present a technique for inducing functional programs from few, well chosen input/output-examples (I/O-examples). Potential applications for automatic program or algorithm induction are to enable end users to create their own simple programs, to assist professional programmers, or to automatically invent completely new and efficient algorithms. In our approach, functional programs are represented as constructor term rewriting systems (CSs) containing recursive rules. I/O-examples for a target function to be implemented are a set of pairs of terms (F(i_i),o_i) meaning that F(i_i)---denoting application of function F to input i_i---is rewritten to o_i by a CS implementing the function F. Induction is based on detecting syntactic regularities between example terms. In this paper we present theoretical results and describe an algorithm for inducing CSs over arbitrary signatures/data types which consist of one function defined by an arbitrary number of rules with an arbitrary number of non-nested recursive calls in each rule. Moreover, we present empirical results based on a prototypical implementation.}, biburl = {http://www.bibsonomy.org/bibtex/20f49c7d956f306d32d63b18f5a106022/emanuel}, keywords = {article inductive_programming rule-based_programming induction program_synthesis constructor_systems analytical_ip igor2} } @mastersthesis{Kitzelmann03, title = {Inductive Functional Program Synthesis -- a Term-Construction and Folding Approach}, author = {Emanuel Kitzelmann}, school = {{Technische Universit{\"a}t Berlin}}, year = 2003, url = {http://www.cogsys.wiai.uni-bamberg.de/kitzelmann/}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/kitzelmann03_TUB.pdf}, description = {emanuel kitzelmann's diploma thesis}, biburl = {http://www.bibsonomy.org/bibtex/294dbcbdc86ff6dc79f6954269526bb95/emanuel}, keywords = {ifp program_synthesis analytical_ip induction recursive_program_schemes inductive_programming mastersthesis igor1} } @inproceedings{KitzelmannSMW02IS, title = {Folding of finite program terms to recursive program schemes}, author = {Emanuel Kitzelmann and Ute Schmid and Martin M{\"u}hlpfordt and Fritz Wysotzki}, booktitle = {Intelligent Systems, 2002. Proceedings. 2002 First International IEEE Symposium}, pages = {144--149 vol.1}, volume = 1, year = 2002, url = {http://dx.doi.org/10.1109/IS.2002.1044245}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/ieeeis02.pdf}, description = {Welcome to IEEE Xplore 2.0: Folding of finite program terms to recursive program schemes}, abstract = {We present an approach to inductive synthesis of functional programs based on the detection of recurrence relations. A given term is considered as the k-th unfolding of an unknown recursive program. If a recurrence relations can be identified in the term, it can be folded into a recursive program which: (a) can reproduce the term and (b) generalizes over it. Our approach goes beyond Summers' classical approach (1977) in several aspects: it is language independent and works for terms belonging to an arbitrary term algebra; it allows induction of sets of recursive equations which are in some arbitrary `calls' relation; induced equations can be dependent on more than one input parameters and we can detect interdependencies of variable substitutions in recursive calls; the given input terms can represent incomplete unfoldings of an hypothetical recursive program.}, biburl = {http://www.bibsonomy.org/bibtex/21c72408b0c6508f935658d38c3889425/emanuel}, keywords = {program_synthesis induction ifp analytical_ip recursive_program_schemes igor1 inductive_programming inproceedings} } @inproceedings{BischofGK03a, title = {Design and Implementation of a Cost-Optimal Parallel Tridiagonal System Solver Using Skeletons}, author = {Holger Bischof and Sergei Gorlatch and Emanuel Kitzelmann}, booktitle = {Parallel Computing Technologies}, pages = {415--428}, publisher = {Springer-Verlag}, series = {LNCS}, volume = 2763, year = 2003, url = {http://www.springerlink.com/content/j1362563434l61n6}, abstract = {We address the problem of systematically designing correct parallel programs and developing their efficient implementations on parallel machines. The design process starts with an intuitive, sequential algorithm and proceeds by expressing it in terms of well-defined, pre-implemented parallel components called skeletons. We demonstrate the skeleton-based design process using the tridiagonal system solver as our example application. We develop step by step three provably correct, parallel versions of our application, and finally arrive at a cost-optimal implementation in MPI (Message Passing Interface). The performance of our solutions is demonstrated experimentally on a Cray T3E machine.}, biburl = {http://www.bibsonomy.org/bibtex/266a4aeaeb6d096328a449dee1694061f/emanuel}, keywords = {skeletons parallel_programming tridiagonal_system_solver inproceedings} } @article{BischofGK03c, title = {Cost Optimality And Predictability Of Parallel Programming with Skeletons}, author = {Holger Bischof and Sergei Gorlatch and Emanuel Kitzelmann}, journal = {Parallel Processing Letters}, number = 4, pages = {575--587}, volume = 13, year = 2003, url = {http://dx.doi.org/10.1142/S0129626403001525}, biburl = {http://www.bibsonomy.org/bibtex/21becb457fcdff29bf2e60d3d8a329fb2/emanuel}, keywords = {article parallel_programming skeletons} } @unpublished{Kitzelmann01, title = {{Grundlegende Ans{\"a}tze zur Induktiven Synthese Funktionaler Programme (Summers und Biermann)}}, author = {Emanuel Kitzelmann}, school = {{Technische Universit{\"a}t Berlin}}, year = 2001, url = {http://ki.cs.tu-berlin.de/KIuSE_WS00/kitzelm-ifp.ps}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/kise01.pdf}, description = {one of my term papers}, biburl = {http://www.bibsonomy.org/bibtex/2b9f4f20a0eb9132166f6c3c5379464e9/emanuel}, keywords = {induction analytical_ip term_paper inductive_programming ifp program_synthesis} } @article{KitzelmannS06JMLR, title = {Inductive Synthesis of Functional Programs: An Explanation Based Generalization Approach}, address = {Cambridge, MA, USA}, author = {Emanuel Kitzelmann and Ute Schmid}, journal = {Journal of Machine Learning Research}, pages = {429--454}, publisher = {MIT Press}, volume = 7, year = 2006, url = {http://jmlr.csail.mit.edu/papers/v7/kitzelmann06a.html}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/jmlr06.pdf}, description = {Inductive Synthesis of Functional Programs: An Explanation Based Generalization Approach}, abstract = {We describe an approach to the inductive synthesis of recursive equations from input/output-examples which is based on the classical two-step approach to induction of functional Lisp programs of Summers (1977). In a first step, I/O-examples are rewritten to traces which explain the outputs given the respective inputs based on a datatype theory. These traces can be integrated into one conditional expression which represents a non-recursive program. In a second step, this initial program term is generalized into recursive equations by searching for syntactical regularities in the term. Our approach extends the classical work in several aspects. The most important extensions are that we are able to induce a set of recursive equations in one synthesizing step, the equations may contain more than one recursive call, and additionally needed parameters are automatically introduced.}, biburl = {http://www.bibsonomy.org/bibtex/241c72a03ba80767af6f77376acdbeb02/emanuel}, keywords = {recursive_program_schemes ebg inductive_programming ifp analytical_ip program_synthesis article induction igor1} } @unpublished{KitzelmannS06poster, title = {Induction of Functional Programs based on Relations between I/O Examples}, author = {Emanuel Kitzelmann and Ute Schmid}, note = {poster abstract}, year = 2006, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/ki06_short.pdf}, biburl = {http://www.bibsonomy.org/bibtex/2df072a9ad455085c90f6f09a0bb6a281/emanuel}, keywords = {extended_abstract inductive_programming program_synthesis ifp analytical_ip constructor_systems igor2 induction} } @inproceedings{KitzelmannS05, title = {An Explanation Based Generalization Approach to Inductive Synthesis of Functional Programs}, author = {Emanuel Kitzelmann and Ute Schmid}, booktitle = {Proceedings of the ICML 2005 Workshop on Approaches and Applications of Inductive Programming}, pages = {15--27}, year = 2005, url = {http://www.cogsys.wiai.uni-bamberg.de/aaip05/proceedings/aaip05_ifps.pdf}, location = {Bonn, Germany}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/aaip05.pdf}, biburl = {http://www.bibsonomy.org/bibtex/233baefe4d9d0bc4d9ebb09d64428a99e/emanuel}, keywords = {induction inproceedings ifp program_synthesis ebg machine_learning igor1 analytical_ip recursive_program_schemes inductive_programming} } @proceedings{KitzelmannOS05, title = {Proceedings of the ICML 2005 Workshop on Approaches and Applications of Inductive Programming}, editor = {Emanuel Kitzelmann and Roland Olsson and Ute Schmid}, year = 2005, url = {http://www.cogsys.wiai.uni-bamberg.de/aaip05/proceedings/proceedings.pdf}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/aaip05_proc.pdf}, biburl = {http://www.bibsonomy.org/bibtex/220f63ed902bf72999afb6e24d55b9d20/emanuel}, keywords = {ilp program_synthesis inductive_programming ifp machine_learning proceedings induction} } @inproceedings{SchmidKW02, title = {Inductive Program Synthesis: From Theory to Application}, author = {Ute Schmid and Emanuel Kitzelmann and Fritz Wysotzki}, booktitle = {Beitr{\"a}ge zum Treffen der GI-Fachgruppe 1.1.3 Maschinelles Lernen (FGML 2002)}, editor = {Gabriella K{\´o}kai and Jens Zeidler}, pages = {135--141}, year = 2002, location = {Hannover, Germany}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/fgml02.pdf}, biburl = {http://www.bibsonomy.org/bibtex/28d8779b88e95763ae64403630d945ab5/emanuel}, keywords = {inductive_programming inproceedings induction machine_learning ifp program_synthesis recursive_program_schemes} } @inproceedings{Kitzelmann07a, title = {Data-Driven Induction of Recursive Functions from Input/Output-Examples}, author = {Emanuel Kitzelmann}, booktitle = {Proceedings of the ECML/PKDD 2007 Workshop on Approaches and Applications of Inductive Programming (AAIP'07)}, editor = {Emanuel Kitzelmann and Ute Schmid}, pages = {15--26}, year = 2007, location = {Warsaw, Poland}, pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/aaip07.pdf}, biburl = {http://www.bibsonomy.org/bibtex/244b59a613a514cdf463d35973004b8ae/emanuel}, keywords = {inductive_programming constructor_systems igor2 program_synthesis induction ifp inproceedings analytical_ip} }