full screen
Overview of The Project Generic Allocator
The Generic Allocator (Gel) is a framework for solving of computational problems where the problem model is defined separately from its solving routines. The framework's primary objective is to generate helpful information regarding a given problem and a corresponding solving routine. In the best case Gel creates a valid optimal solution to a given problem. In the other case Gel should provide the best solution it can calculate and a report explaining the reasons that the given problem could not be solved. The focus of this report is to inform the programmer about the information that is needed to be provided in order to enable Gel to solve the stated problem.
If these measures do not solve a given problem then the framework Gel provides two options as the last resort. The first option is to extend Gel itself by improving parts already present or by implementing an algorithm for the framework which is specifically designed to solve the given problem. The second option is the use of a network of multiple instances of Gel where a solving program is created by alternative means. This second option is not part of this project but instead might be addressed by a distinct project (Project State Network Execution, Analysis and Optimization).
A list of the latest articles related to this project can be viewed here. An extensive list of articles related to this project is located at the end of this article.
The articles I am currently writing are rather short most of the time. At the moment I have not decided yet how to link articles to one another in order to allow an easy way to read through all articles about a certain topic.
                                                                                                                                                                                                                                       
full screen
  1. Abstract
  2. Index of This Project Documentation
    1. Overview of the Project Generic Allocator
      1. Latest Articles
      2. Documentation Format
    2. Objectives of the project Generic Allocator
      1. Support Optimization Community
      2. Problem Model Capabilities
        1. Side Effects
      3. Inverse Problem Solving
      4. Problem Solving Capabilities
        1. Interactive Problem Solving
        2. Problem Solving Analysis
      5. Compatibility to Other Software
      6. Application Programming Interface (API)
        1. API for Developers
        2. API for Algorithms
      7. Performance Requirements
      8. Testing
      9. Software Infrastructure
        1. Dependencies
      10. Incorporation of Related Research, Theories, Software etc.
      11. User Interface (UI)
    3. Eschewal aka. Things to Avoid aka. Not to Do List
      1. Asynchronous Problem Network
      2. No VHDL or Verilog Implementation of the Generic Allocator
    4. Indecisions
      1. Distribution
      2. Collaboration
    5. Management
    6. History
      1. Origin of The Generic Allocator
      2. Historic Documents
        1. Universal Allocation Program Manual
    7. Related Research
      1. Typed Ratings and Dependency Injection
      2. No Free Lunch Theorem
    8. Community Support
      1. Source Code Contributions
    9. Framework
      1. Architecture
        1. Coding Guidelines
        2. Basic Data Types
          1. Attribute
          2. Line
          3. Relational Table
          4. Relational Database
          5. Database Change Listener
          6. Allocations
          7. Relational Allocation Database
          8. Constraint Based Adaptation System
            1. Query System
            2. Garbage Collection
            3. Constraint Based Communication Between Subsystems
            4. Modelling the Random Assignment Problem
          9. Constraint Based Adaptation System
        3. Ratings
        4. Constraints
          1. Constraint Interface
            1. Report
            2. Context
            3. Search Space
          2. Standard Constraint Architecture
            1. Constraint Types
            2. Rules
            3. Weight Functions
          3. Mode of Execution
            1. Incremental Mode
            2. Continuation Mode
        5. Problems
          1. Primitive Problems
          2. Complex and Synchronous Problems
        6. Solutions
        7. Solvers
          1. Solver Types
            1. Greedy Algortihms
            2. Dissatisfaction Based Algortihms
          2. Constraint Based Solvers
          3. Local Search Algorithms
            1. Hill Climber
          4. Classifiers
            1. Correlation Matrix Memories
            2. SVM
            3. Neural Networks
        8. Tensors and Common Constraints Based Low Level API
        9. Testing
          1. Testsuite API
            1. Effectiveness
            2. Efficiency
          2. Testsuites
            1. Solving Capabilities
              1. Mathematical Puzzles
                1. Sudoku
                2. Killer Sudoku
                3. Graph Coloring
            2. Virtual Machines
              1. Lambda Calculus
              2. Prolog
            3. Practical Problems
              1. Scheduling of Oral Exams
              2. Class Scheduling
              3. Car Sharing Scheduling
              4. Sports Course Scheduling
              5. Scheduling Framework
              6. Grammar Parsing
                1. Formal Grammars
                2. Natural Grammars
              7. Serialization (Grammar to Text)
                1. Formal Grammars
                2. Natural Grammars
              8. AST Transpilation
            4. Economic Model Validation Based on Measured Data
            5. Machine Learning based Solver Imitation
            6. Machine Learning based Ratings
            7. Machine Learning based Analysis
            8. Machine Learning based Pattern Mining
        10. Overall Test Result Analysis
    10. Results