{"id":26183012,"url":"https://github.com/tavneetsingh01/soft-computing-lab-practicals","last_synced_at":"2026-03-07T02:03:40.776Z","repository":{"id":280703945,"uuid":"929985554","full_name":"Tavneetsingh01/soft-computing-lab-practicals","owner":"Tavneetsingh01","description":"This Repository contains the lab Programs for On-Going Soft Computing Lab (CSP 3035) Summer 2025","archived":false,"fork":false,"pushed_at":"2025-08-24T17:40:32.000Z","size":11160,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-31T22:41:47.389Z","etag":null,"topics":["adaline","and-gate-implementation","backpropogation","cartesian-product","csp-3035","fuzzy-logic","laws-classical-set","madaline","max-min-composition","max-product-composition","or-gate-implementaion","preceptron","primitive-operations-classical-set","soft-computing","xor-gate"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tavneetsingh01.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-09T20:59:32.000Z","updated_at":"2025-08-21T11:16:21.000Z","dependencies_parsed_at":"2025-04-06T21:24:45.868Z","dependency_job_id":"e46b9494-c266-4acd-baf7-5b5c4318fbe8","html_url":"https://github.com/Tavneetsingh01/soft-computing-lab-practicals","commit_stats":null,"previous_names":["tavneetsingh01/soft-computing-lab-practicals"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Tavneetsingh01/soft-computing-lab-practicals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tavneetsingh01%2Fsoft-computing-lab-practicals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tavneetsingh01%2Fsoft-computing-lab-practicals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tavneetsingh01%2Fsoft-computing-lab-practicals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tavneetsingh01%2Fsoft-computing-lab-practicals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tavneetsingh01","download_url":"https://codeload.github.com/Tavneetsingh01/soft-computing-lab-practicals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tavneetsingh01%2Fsoft-computing-lab-practicals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30205893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adaline","and-gate-implementation","backpropogation","cartesian-product","csp-3035","fuzzy-logic","laws-classical-set","madaline","max-min-composition","max-product-composition","or-gate-implementaion","preceptron","primitive-operations-classical-set","soft-computing","xor-gate"],"created_at":"2025-03-11T22:33:45.505Z","updated_at":"2026-03-07T02:03:40.730Z","avatar_url":"https://github.com/Tavneetsingh01.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This Repository contains the lab Programs for On-Going Soft Computing Lab (CSP 3035) Spring 2025\n\u003chr\u003e\n\n![C Version](https://img.shields.io/badge/C-99-blue)\n![CMake Version](https://img.shields.io/badge/CMake-3.29-red)\n## The following are the list of programs with their `.c` code files.\n\n\u003ctable style=\"border-collapse: collapse; width: 100%;\"\u003e\n    \u003ctr\u003e\n        \u003cth style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eProgram\u003c/b\u003e\u003c/th\u003e\n        \u003cth style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eCode File\u003c/b\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ1. Design and simulate the behaviour of AND Gate using Perceptron Network in C for bipolar inputs and targets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Single_Layer_Preceptron_For_Bipolar_AND_Gate.c\"\u003eSingle Layer Preceptron For Bipolar AND Gate\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ2. Design and simulate the behaviour of OR Gate using Adaline Network in C for bipolar inputs and targets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Adaline_Network_For_OR_Gate_Bipolar_Inputs_and_Targets.c\"\u003eAdaline Network For OR Gate For Bipolar Inputs and Targets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ3. Design and simulate the behaviour XOR Gate using Madaline network in C language for bipolar inputs and targets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Madaline_Network_For_XOR_Gate_For_Bipolar_Inputs_and_Targets.c\"\u003eMadaline Network For XOR Gate For Bipolar Inputs and Targets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003e\u003ci\u003eAdditional Variant of Q3:\u003c/i\u003e Design and simulate the behaviour of XOR Gate using Madaline network in C language for bipolar inputs and Binary targets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Back_Propagation_Network_For_XOR_Gate_For_Bipolar_Inputs_and_Binary_Targets.c\"\u003eMadaline Network For XOR Gate For Bipolar Inputs and Binary Targets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ4. Design and Simulate the Behaviour of XOR Gate Using Back-Propagation Network in c for Bipolar Inputs and Targets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Back_Propogation_Network_For_XOR_Gate_For_Bipolar_Inputs_and_Targets.c\"\u003eBack-Propagation Network For XOR Gate For Bipolar Inputs and Targets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ5. Write a program in C to Implement the various primitive operations of classical sets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Primitive_Operations_Of_Classical_Sets.c\"\u003eDifferent primitive operations of classical sets.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ6. Write a program in C to implement and verify various Laws associated with Classical sets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Laws_Associated_With_Classical_Set.c\"\u003eDifferent Laws Associated with classical sets.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ7. Write a program in C to perform various primitive operations on Fuzzy Sets with Dynamic Components.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Primitive_Operations_Of_Fuzzy_Sets_With_Dynamic_Components.c\"\u003eDifferent Primitive operations on Fuzzy Sets.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ8. Write a program in C to verify various Laws associated with Fuzzy Sets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Laws_Associated_With_Fuzzy_Set.c\"\u003eLaws Associated with Fuzzy Sets.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ9. Write a program in C to perform Cartesian product over two given Fuzzy Sets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Cartesian_Product_of_Two_Fuzzy_Sets.c\"\u003eCartesian Product Of Two Fuzzy Sets.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ10. Write a program in C to perform Max-Min Composition of Two Matrices obtained from Cartesian Product.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Max_Min_Composition_Of_Cartesian_Product_Matrices.c\"\u003eMax-Min Composition Of Cartesian Product Matrices.\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ11. Write a program in C to perform Max-Product Composition of Two Matrices obtained from Cartesian Product.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Max_Product_Composition_Of_Cartesian_Product_Matrices.c\"\u003eMax Product Composition Of Cartesian Product Matrices\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003e\u003ci\u003eAdditional Combined Program: \u003c/i\u003eThis Program includes combined program for Cartesian Product, Max-Min Composition and Max-Min Composition of two fuzzy sets.\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Combined_Cartesian_Product_Max_Min_Composition_And_Max_Product_Composition_Of_Fuzzy_Sets.c\"\u003eCombined Cartesian Product Max Min Composition And Max Product Composition Of Fuzzy Sets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eQ12. Write a program in C to maximize F(X) = X\u003csup\u003e2\u003c/sup\u003e using Genetic Algorithm where 0 \u003c x \u003c 31\u003c/b\u003e\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Genetic_Algorithm_Program.c\"\u003eGenetic Algorithm Program\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003e\u003ci\u003eExtras:\u003c/i\u003e Visualize common Neural Network activation functions (Step, Signum, Binary/Bipolar Sigmoid, ReLU) and generate graph data. Compile and run, then plot from the generated 'activation_functions.txt'.\u003c/b\u003e\u003cbr/\u003e\n            \u003ccode\u003egcc Activation_functions_display.c -lm -o activation \u0026\u0026 ./activation\u003c/code\u003e\u003cbr/\u003e\n            Use gnuplot (commands are printed by the program) or Python/matplotlib to view the curves.\n        \u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Activation_functions_display.c\"\u003eActivation Functions Display\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## Answer Keys for Lab Exam/Quiz\n\nBelow are the available answer key PDFs for different groups. Click a link to view or download the file.\n\n\u003ctable style=\"border-collapse: collapse; width: 100%;\"\u003e\n    \u003ctr\u003e\n        \u003cth style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eFile Name\u003c/b\u003e\u003c/th\u003e\n        \u003cth style=\"border: 1px solid black; padding: 8px;\"\u003e\u003cb\u003eLink\u003c/b\u003e\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BX.pdf\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Answer_Key_Lab_Exam_Quiz/(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BX.pdf\"\u003eOpen\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BY.pdf\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Answer_Key_Lab_Exam_Quiz/(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BY.pdf\"\u003eOpen\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AX.pdf\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Answer_Key_Lab_Exam_Quiz/(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AX.pdf\"\u003eOpen\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AY.pdf\u003c/td\u003e\n        \u003ctd style=\"border: 1px solid black; padding: 8px;\"\u003e\u003ca href=\"/Answer_Key_Lab_Exam_Quiz/(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AY.pdf\"\u003eOpen\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## Principles of Soft Computing Book\n\nThis repository also includes the [\"Principles of Soft Computing\"](/Soft_Computing_Book/Principles%20of%20soft%20computing.pdf) book, which serves as a reference for understanding the theoretical concepts behind the implemented programs. The book covers topics such as:\n\n- Fuzzy Logic and Fuzzy Systems\n- Neural Networks\n- Genetic Algorithms\n- Hybrid Systems\n- Applications of Soft Computing\n\nThe book is a valuable resource for students and professionals working on Soft Computing concepts and their practical implementations.\n\n## Environment Setup (Setting up GCC)\n\n### Windows (x86_64)\n1. Download the latest MinGW release from [MinGW Builds](https://github.com/niXman/mingw-builds-binaries/releases).\n2. Choose the `x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev2.7z` release for modern 64-bit systems  (note: the version might change in the future, but `x86_64_posix-seh-ucrt` is the main identifier).\n3. Extract the contents of the downloaded file to a directory of your choice.\n4. Add the `bin` directory of the extracted MinGW to your system's `PATH` environment variable:\n    - Open the Start Menu, search for \"Environment Variables\", and select \"Edit the system environment variables\".\n    - In the System Properties window, click on the \"Environment Variables\" button.\n    - In the Environment Variables window, find the `Path` variable in the \"System variables\" section and click \"Edit\".\n    - Click \"New\" and add the path to the `bin` directory of the extracted MinGW (e.g., `C:\\path\\to\\mingw\\bin`).\n    - Click \"OK\" to close all windows.\n5. Verify the installation by opening a command prompt and running `gcc --version`.\n\n### Windows (ARM AArch64)\n1. Download the latest ARM GCC toolchain from [Arm Developer](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm).\n2. Choose the appropriate release for your system.\n3. Extract the contents of the downloaded file to a directory of your choice.\n4. Add the `bin` directory of the extracted toolchain to your system's `PATH` environment variable:\n    - Open the Start Menu, search for \"Environment Variables\", and select \"Edit the system environment variables\".\n    - In the System Properties window, click on the \"Environment Variables\" button.\n    - In the Environment Variables window, find the `Path` variable in the \"System variables\" section and click \"Edit\".\n    - Click \"New\" and add the path to the `bin` directory of the extracted toolchain (e.g., `C:\\path\\to\\arm\\bin`).\n    - Click \"OK\" to close all windows.\n5. Verify the installation by opening a command prompt and running `arm-none-eabi-gcc --version`.\n\n#### You can also use WSL2 for this:\n1. Follow the instructions to set up WSL2 [here](https://docs.microsoft.com/en-us/windows/wsl/install).\n2. Install a Linux distribution from the Microsoft Store (e.g., Ubuntu).\n3. Open the WSL2 terminal and install GCC using the package manager:\n    - For Debian-based distributions (e.g., Ubuntu):\n      ```sh\n      sudo apt update\n      sudo apt install build-essential\n      ```\n4. Verify the installation by running `gcc --version` in the WSL2 terminal.\n\n#### Linux\n1. Open a terminal.\n2. Install GCC using the package manager:\n    - For Debian-based distributions (e.g., Ubuntu):\n      ```sh\n      sudo apt update\n      sudo apt install build-essential\n      ```\n    - For Red Hat-based distributions (e.g., Fedora):\n      ```sh\n      sudo dnf install gcc\n      ```\n3. Verify the installation by running `gcc --version` in the terminal.\n\n#### macOS\n1. Open a terminal.\n2. Install Xcode Command Line Tools by running:\n   ```sh\n   xcode-select --install\n   ```\n3. Verify the installation by running `gcc --version` in the terminal.\n\n### Open to Contributions\nContributions are welcomed to this project! If you would like to contribute, please follow these steps:  \n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n3. Make your changes and commit them with clear and concise messages.\n4. Push your changes to your forked repository.\n5. Create a pull request to the main repository.\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](/LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftavneetsingh01%2Fsoft-computing-lab-practicals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftavneetsingh01%2Fsoft-computing-lab-practicals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftavneetsingh01%2Fsoft-computing-lab-practicals/lists"}