{'fraction_non_alphanumeric': 0.01858736059479554, 'fraction_numerical': 0.006195786864931847, 'mean_word_length': 5.16412213740458, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Different Fuzzy Parameter Selection Based on Multiple Criteria for Microcontroller

In this paper, we explore memory usage, speed of execution, and accuracy tradeoff when developing fuzzy applications on a microcontroller. To develop fuzzy systems, various parameters need to be selected. Different parameters result in different degrees of accuracy and give different memory cost and execution time. In the experiments, we consider two typical controllers: fuzzy fan control and fuzzy pendulum. We target at PIC18F8722 microcontroller. We implement the example various fuzzy APIs in C for the microcontroller for testing the characteristics of typical fuzzy programs. We explore the tradeoff between the memory cost, speed and accuracy. The results show that when using table lookup for membership function, the time spent on the whole inference process grows linearly to the fuzzy set size. Using functions to represent the membership function is easy and save the code and data space. However, we need to spend time on calculating each membership value and floating support is needed. Bisection and COG defuzzification approaches outperform others. The max-min inference is slightly faster than max-product operation. The code size for the example fuzzy programs is around 15-30 K. The number of instructions increase when we use complex fuzzy inference operation, defuzzification, membership functions and more number of rules. The data size is increased linearly when the size of fuzzy sets grows. The accuracy rate varies majority on the size of the table storing membership values and defuzzfication method.