84,497 research outputs found

    Analytical learning and term-rewriting systems

    Get PDF
    Analytical learning is a set of machine learning techniques for revising the representation of a theory based on a small set of examples of that theory. When the representation of the theory is correct and complete but perhaps inefficient, an important objective of such analysis is to improve the computational efficiency of the representation. Several algorithms with this purpose have been suggested, most of which are closely tied to a first order logical language and are variants of goal regression, such as the familiar explanation based generalization (EBG) procedure. But because predicate calculus is a poor representation for some domains, these learning algorithms are extended to apply to other computational models. It is shown that the goal regression technique applies to a large family of programming languages, all based on a kind of term rewriting system. Included in this family are three language families of importance to artificial intelligence: logic programming, such as Prolog; lambda calculus, such as LISP; and combinatorial based languages, such as FP. A new analytical learning algorithm, AL-2, is exhibited that learns from success but is otherwise quite different from EBG. These results suggest that term rewriting systems are a good framework for analytical learning research in general, and that further research should be directed toward developing new techniques

    Python Application: Visual Approach of Hopfield Discrete Method for Hiragana Images Recognition

    Get PDF
    Python is a dynamic object-oriented programming language. Python provides strong support for integration with other programming languages and other tools. Python programming is rarely used in the field of artificial intelligence, especially artificial neural networks. This research focuses on running Python programming to recognize hiragana letters. In learning the character of Hiragana, one can experience difficulties because of the many combinations of vowels that form new letters by different means of reading and meaning. Discrete Hopfield network is a fully connected, that every unit is attached to every other unit. This network has asymmetrical weights. At Hopfield Network, each unit has no relationship with itself. Therefore it is expected that a computer system that can help recognize the Hiragana Images. With this pattern recognition Application of Hiragana Images, it is expected the system can be developed further to recognize the Hiragana Images quickly and precisely

    AI programming by children using Snap! block programming in a developing country

    Get PDF
    The development of human civilization today can’t be separated from the Artificial Intelligence. To prepare for this, early education on Artificial intel-ligent should be done. Some activities have been done to support students making AI programs, for example Google AIY, Machine Learning for Kids website, the Wolfram Language, and the eCraft2Learn project. One of the new block pro-gramming languages Snap! has been extended to provide an easy-to-use interface that provides AI cloud services as well as other AI functions. However, there is little research about AI programming learning for children in developing coun-tries. This paper presents how the learning of AI programming using Snap! pro-gramming in Indonesia. The learning process was evaluated with 40 Senior High Schools and Vocational students. 84% students had some basic programming ex-perience but others had none. 70% students who had basic programming experi-ence felt that AI programming using Snap! was easy to understand, yet the stu-dents with no programming experience found it difficult. Even though mostly the students can answer the evaluation question about how AI works and all the stu-dents were keen on creating AI programs using Snap!. We concluded that Snap! programing worked to introduce AI to children and has encouraged children to explore AI programming. However, some improvements are required to improve the learning process of AI programing using Snap! in developing country. The improvements are presented in this paper as the result of this research

    Doménově specifické jazyky ve funkcionálním programování

    Get PDF
    In Artificial Intelligence, especially in area of constraint programming, it's popular to design various modeling languages which allow solving problems on domain level and by using domain specific abstractions. Techniques known from research on Domain-Specific Languages are often useful in this effort. Functional programming languages offer new tools for designing such languages, particularly Domain-Specific Embedded Languages. This work investigates the advantages and disadvantages of using functional programming for designing and implementing a Domain-Specific Embedded Language for state space search problems.V umělé inteligenci, obzvláště v programování s omezujícími podmínkami, je populární navrhovat rozličné modelovací jazyky, které umožňují řešit problémy na úrovni domény a prostřednictvím doménových abstrakcí. Při tom je často užitečné používat techniky známé z oblasti doménově specifických jazyků. Funkcionální programovací jazyky poskytují nové prostředky pro návrh těchto jazyků, obzvláště v případě vnořených doménově specifických jazyků. Tato práce zkoumá výhody a nevýhody využití technik funkcionálního programování při návrhu a implementaci vnořeného doménově specifického jazyka pro problémy prohledávání stavových prostorů.Katedra teoretické informatiky a matematické logikyDepartment of Theoretical Computer Science and Mathematical LogicFaculty of Mathematics and PhysicsMatematicko-fyzikální fakult

    Logic-Based Specification Languages for Intelligent Software Agents

    Full text link
    The research field of Agent-Oriented Software Engineering (AOSE) aims to find abstractions, languages, methodologies and toolkits for modeling, verifying, validating and prototyping complex applications conceptualized as Multiagent Systems (MASs). A very lively research sub-field studies how formal methods can be used for AOSE. This paper presents a detailed survey of six logic-based executable agent specification languages that have been chosen for their potential to be integrated in our ARPEGGIO project, an open framework for specifying and prototyping a MAS. The six languages are ConGoLog, Agent-0, the IMPACT agent programming language, DyLog, Concurrent METATEM and Ehhf. For each executable language, the logic foundations are described and an example of use is shown. A comparison of the six languages and a survey of similar approaches complete the paper, together with considerations of the advantages of using logic-based languages in MAS modeling and prototyping.Comment: 67 pages, 1 table, 1 figure. Accepted for publication by the Journal "Theory and Practice of Logic Programming", volume 4, Maurice Bruynooghe Editor-in-Chie

    Expert systems and developing expertise: Implications of Artificial Intelligence for Education

    Get PDF
    This paper discusses a few issues in AI research with the aim of understanding whether the concepts or the tools of AI can be of use in education (see also Green, 1984). Most of the discussion focuses on natural language understanding, one aspect of the highly diverse field of AI.published or submitted for publicationis peer reviewe

    A New Constructivist AI: From Manual Methods to Self-Constructive Systems

    Get PDF
    The development of artificial intelligence (AI) systems has to date been largely one of manual labor. This constructionist approach to AI has resulted in systems with limited-domain application and severe performance brittleness. No AI architecture to date incorporates, in a single system, the many features that make natural intelligence general-purpose, including system-wide attention, analogy-making, system-wide learning, and various other complex transversal functions. Going beyond current AI systems will require significantly more complex system architecture than attempted to date. The heavy reliance on direct human specification and intervention in constructionist AI brings severe theoretical and practical limitations to any system built that way. One way to address the challenge of artificial general intelligence (AGI) is replacing a top-down architectural design approach with methods that allow the system to manage its own growth. This calls for a fundamental shift from hand-crafting to self-organizing architectures and self-generated code – what we call a constructivist AI approach, in reference to the self-constructive principles on which it must be based. Methodologies employed for constructivist AI will be very different from today’s software development methods; instead of relying on direct design of mental functions and their implementation in a cog- nitive architecture, they must address the principles – the “seeds” – from which a cognitive architecture can automatically grow. In this paper I describe the argument in detail and examine some of the implications of this impending paradigm shift

    Probabilistic Programming Concepts

    Full text link
    A multitude of different probabilistic programming languages exists today, all extending a traditional programming language with primitives to support modeling of complex, structured probability distributions. Each of these languages employs its own probabilistic primitives, and comes with a particular syntax, semantics and inference procedure. This makes it hard to understand the underlying programming concepts and appreciate the differences between the different languages. To obtain a better understanding of probabilistic programming, we identify a number of core programming concepts underlying the primitives used by various probabilistic languages, discuss the execution mechanisms that they require and use these to position state-of-the-art probabilistic languages and their implementation. While doing so, we focus on probabilistic extensions of logic programming languages such as Prolog, which have been developed since more than 20 years
    corecore