Здравствуйте, дорогие друзья. Код, который мы сегодня представляем, простейшая самообучающаяся программа для решения построения таблиц истинности логических выражений. Проще говоря — зачатки, самый примитив искусственного интеллекта для типов задания №2 в ЕГЭ по информатике.
Суть задачи, которую решает эта программа, заключается в том, чтобы понять, что "ответам" соответствует левый столбик таблицы. И, позже, когда программа столкнётся с задачей подобного формата, но с другими переменными, она определит левый столбик, как "ответы" и выведет значения, примерно соответствующие левому столбцу.
Позже мы можем научить наш искусственный интеллект самостоятельно решать второе задание из ЕГЭ на алгебру логики или какие-то другие более сложные задачи. Код мы представим на скриншоте и в текстовом варианте для копирования.
А теперь текстовый вариант, уж, простите без табуляции, Яндекс Дзен её не передаёт.
import numpy as np
def sigmoid(x):
return 1 / (1 + np.exp(-x))
training_inputs = np.array([[0, 1, 1],
[1, 0, 1],
[1, 0, 1],
[0, 1, 1]])
training_outputs = np.array([[0, 1, 1, 0]]).T
synaptic_weights = np.random.random((3, 1))
print("Случайные инициализирующие веса")
print(synaptic_weights)
for i in range(10000):
outputs = sigmoid(np.dot(training_inputs, synaptic_weights))
err = training_outputs - outputs
adjustments = np.dot(training_inputs.T, err * (outputs * (1 - outputs)))
synaptic_weights += adjustments
print("Результат после обучения:")
print(outputs)
new_table = np.array([[1, 0, 0],
[0, 0, 1],
[1, 0, 0],
[0, 0, 1]])
outputs = sigmoid(np.dot(new_table, synaptic_weights))
print("Проверка:")
print(outputs)
Результат работы программы:
На этом у меня на сегодня всё. Также предлагаю подписаться на наш Ютуб канал ПиМ [ZveKa]. До новых встреч на просторах Яндекс Дзена.
Отдохнём? Полезная программа на Python, сохраняющая ваше здоровье.