https://github.com/tavneetsingh01/soft-computing-lab-practicals
This Repository contains the lab Programs for On-Going Soft Computing Lab (CSP 3035) Summer 2025
https://github.com/tavneetsingh01/soft-computing-lab-practicals
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
Last synced: about 1 month ago
JSON representation
This Repository contains the lab Programs for On-Going Soft Computing Lab (CSP 3035) Summer 2025
- Host: GitHub
- URL: https://github.com/tavneetsingh01/soft-computing-lab-practicals
- Owner: Tavneetsingh01
- License: mit
- Created: 2025-02-09T20:59:32.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-08-21T11:16:17.000Z (about 2 months ago)
- Last Synced: 2025-08-21T13:19:20.643Z (about 2 months ago)
- 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
- Language: C
- Homepage:
- Size: 10.6 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# This Repository contains the lab Programs for On-Going Soft Computing Lab (CSP 3035) Spring 2025


## The following are the list of programs with their `.c` code files.
Program
Code File
Q1. Design and simulate the behaviour of AND Gate using Perceptron Network in C for bipolar inputs and targets.
Single Layer Preceptron For Bipolar AND Gate
Q2. Design and simulate the behaviour of OR Gate using Adaline Network in C for bipolar inputs and targets.
Adaline Network For OR Gate For Bipolar Inputs and Targets
Q3. Design and simulate the behaviour XOR Gate using Madaline network in C language for bipolar inputs and targets.
Madaline Network For XOR Gate For Bipolar Inputs and Targets
Additional Variant of Q3: Design and simulate the behaviour of XOR Gate using Madaline network in C language for bipolar inputs and Binary targets.
Madaline Network For XOR Gate For Bipolar Inputs and Binary Targets
Q4. Design and Simulate the Behaviour of XOR Gate Using Back-Propagation Network in c for Bipolar Inputs and Targets.
Back-Propagation Network For XOR Gate For Bipolar Inputs and Targets
Q5. Write a program in C to Implement the various primitive operations of classical sets.
Different primitive operations of classical sets.
Q6. Write a program in C to implement and verify various Laws associated with Classical sets.
Different Laws Associated with classical sets.
Q7. Write a program in C to perform various primitive operations on Fuzzy Sets with Dynamic Components.
Different Primitive operations on Fuzzy Sets.
Q8. Write a program in C to verify various Laws associated with Fuzzy Sets.
Laws Associated with Fuzzy Sets.
Q9. Write a program in C to perform Cartesian product over two given Fuzzy Sets.
Cartesian Product Of Two Fuzzy Sets.
Q10. Write a program in C to perform Max-Min Composition of Two Matrices obtained from Cartesian Product.
Max-Min Composition Of Cartesian Product Matrices.
Q11. Write a program in C to perform Max-Product Composition of Two Matrices obtained from Cartesian Product.
Max Product Composition Of Cartesian Product Matrices
Additional Combined Program: This Program includes combined program for Cartesian Product, Max-Min Composition and Max-Min Composition of two fuzzy sets.
Combined Cartesian Product Max Min Composition And Max Product Composition Of Fuzzy Sets
Q12. Write a program in C to maximize F(X) = X2 using Genetic Algorithm where 0 < x < 31
Genetic Algorithm Program
Extras: 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'.
gcc Activation_functions_display.c -lm -o activation && ./activation
Use gnuplot (commands are printed by the program) or Python/matplotlib to view the curves.
Activation Functions Display
## Answer Keys for Lab Exam/Quiz
Below are the available answer key PDFs for different groups. Click a link to view or download the file.
File Name
Link
(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BX.pdf
Open
(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_BY.pdf
Open
(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AX.pdf
Open
(Answer_Key)_Soft_Computing_Lab_Exam_Quiz_For_Group_AY.pdf
Open
## Principles of Soft Computing Book
This 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:
- Fuzzy Logic and Fuzzy Systems
- Neural Networks
- Genetic Algorithms
- Hybrid Systems
- Applications of Soft ComputingThe book is a valuable resource for students and professionals working on Soft Computing concepts and their practical implementations.
## Environment Setup (Setting up GCC)
### Windows (x86_64)
1. Download the latest MinGW release from [MinGW Builds](https://github.com/niXman/mingw-builds-binaries/releases).
2. 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).
3. Extract the contents of the downloaded file to a directory of your choice.
4. Add the `bin` directory of the extracted MinGW to your system's `PATH` environment variable:
- Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables".
- In the System Properties window, click on the "Environment Variables" button.
- In the Environment Variables window, find the `Path` variable in the "System variables" section and click "Edit".
- Click "New" and add the path to the `bin` directory of the extracted MinGW (e.g., `C:\path\to\mingw\bin`).
- Click "OK" to close all windows.
5. Verify the installation by opening a command prompt and running `gcc --version`.### Windows (ARM AArch64)
1. 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).
2. Choose the appropriate release for your system.
3. Extract the contents of the downloaded file to a directory of your choice.
4. Add the `bin` directory of the extracted toolchain to your system's `PATH` environment variable:
- Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables".
- In the System Properties window, click on the "Environment Variables" button.
- In the Environment Variables window, find the `Path` variable in the "System variables" section and click "Edit".
- Click "New" and add the path to the `bin` directory of the extracted toolchain (e.g., `C:\path\to\arm\bin`).
- Click "OK" to close all windows.
5. Verify the installation by opening a command prompt and running `arm-none-eabi-gcc --version`.#### You can also use WSL2 for this:
1. Follow the instructions to set up WSL2 [here](https://docs.microsoft.com/en-us/windows/wsl/install).
2. Install a Linux distribution from the Microsoft Store (e.g., Ubuntu).
3. Open the WSL2 terminal and install GCC using the package manager:
- For Debian-based distributions (e.g., Ubuntu):
```sh
sudo apt update
sudo apt install build-essential
```
4. Verify the installation by running `gcc --version` in the WSL2 terminal.#### Linux
1. Open a terminal.
2. Install GCC using the package manager:
- For Debian-based distributions (e.g., Ubuntu):
```sh
sudo apt update
sudo apt install build-essential
```
- For Red Hat-based distributions (e.g., Fedora):
```sh
sudo dnf install gcc
```
3. Verify the installation by running `gcc --version` in the terminal.#### macOS
1. Open a terminal.
2. Install Xcode Command Line Tools by running:
```sh
xcode-select --install
```
3. Verify the installation by running `gcc --version` in the terminal.### Open to Contributions
Contributions are welcomed to this project! If you would like to contribute, please follow these steps:
1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Make your changes and commit them with clear and concise messages.
4. Push your changes to your forked repository.
5. Create a pull request to the main repository.## License
This project is licensed under the MIT License - see the [LICENSE](/LICENSE) file for details.