Exe 1
Exe 1
import numpy as np
import skfuzzy as fuzz
from skfuzzy import control as ctrl
# Example dataset
temperature = np.arange(0, 101, 1)
humidity = np.arange(0, 101, 1)
fan_speed = np.arange(0, 101, 1)
# Input values
fan_speed_ctrl.input['temperature'] = 35
fan_speed_ctrl.input['humidity'] = 70
# Compute output
fan_speed_ctrl.compute()
# Print output
print("Fan speed:", fan_speed_ctrl.output['fan_speed'])
speed.view(sim=fan_speed_ctrl)
Output:
import numpy as np
class DiscretePerceptron:
def __init__(self, input_size, learning_rate=0.1, epochs=100):
self.weights = np.zeros(input_size + 1) # +1 for the bias
self.learning_rate = learning_rate
self.epochs = epochs
Ouput:
Exe 3:
import numpy as np
class NeuralNetwork:
def __init__(self, input_size, hidden_size, output_size, learning_rate=0.1):
self.input_size = input_size
self.hidden_size = hidden_size
self.output_size = output_size
# Initialize weights
self.weights_input_hidden = np.random.uniform(-1, 1, (self.input_size, self.hidden_size))
self.weights_hidden_output = np.random.uniform(-1, 1, (self.hidden_size, self.output_size))
# Initialize biases
self.bias_hidden = np.zeros(self.hidden_size)
self.bias_output = np.zeros(self.output_size)
self.learning_rate = learning_rate
# XOR dataset
X = np.array([[0, 0],
[0, 1],
[1, 0],
[1, 1]])
Y = np.array([[0],
[1],
[1],
[0]])
Output:
Exe 4:
import numpy as np
import matplotlib.pyplot as plt
from minisom import MiniSom
# Load an image
image = plt.imread('nature-jpg-format-download-1920x1200-wallpaper-preview.jpg')
plt.subplot(1, 2, 2)
plt.title('Quantized Image')
plt.imshow(quantized_image)
plt.axis('off')
plt.show()
Output:
Exe 5:
import numpy as np
# Initialize population
def initialize_population(population_size):
population = []
for _ in range(population_size):
population.append(create_chromosome())
return population
# Genetic algorithm
def genetic_algorithm(population_size, mutation_rate, generations):
population = initialize_population(population_size)
for generation in range(generations):
fitness_scores = calculate_fitness(population)
# Select parents
selected_parents = roulette_wheel_selection(population, fitness_scores)
# Apply mutation
for i in range(len(offspring)):
offspring[i] = bit_flip_mutation(offspring[i], mutation_rate)
population = offspring
Output:
Exe 6:
import numpy as np
# Initialize population
def initialize_population(population_size):
population = []
for _ in range(population_size):
population.append(create_chromosome())
return population
# Genetic algorithm
def genetic_algorithm(population_size, mutation_rate, mutation_range, generations):
population = initialize_population(population_size)
for generation in range(generations):
fitness_scores = calculate_fitness(population)
# Select parents
selected_parents = roulette_wheel_selection(population, fitness_scores)
# Apply mutation
for i in range(len(offspring)):
offspring[i] = mutate(offspring[i], mutation_rate, mutation_range)
population = offspring
# Parameters
population_size = 100
mutation_rate = 0.1
mutation_range = 0.1
generations = 100
Output:
Exe 7:
import numpy as np
# Initialize population
def initialize_population(population_size):
population = []
for _ in range(population_size):
population.append(create_chromosome())
return population
# Genetic algorithm
def genetic_algorithm(population_size, mutation_rate, mutation_range, generations):
population = initialize_population(population_size)
for generation in range(generations):
fitness_scores = calculate_fitness(population)
# Select parents
selected_parents = roulette_wheel_selection(population, fitness_scores)
# Apply mutation
for i in range(len(offspring)):
offspring[i] = mutate(offspring[i], mutation_rate, mutation_range)
population = offspring
# Parameters
population_size = 100
mutation_rate = 0.1
mutation_range = 0.1
generations = 100
Output: