{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "AND (generic function with 1 method)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function AND(x1, x2)\n", " x = [x1, x2]\n", " w = [0.5, 0.5]\n", " b = -0.7\n", " tmp = x ⋅ w + b\n", " if tmp <= 0\n", " 0\n", " else\n", " 1\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "000\n", "100\n", "010\n", "111\n" ] } ], "source": [ "for x2=0:1, x1=0:1\n", " println(x1, x2, AND(x1, x2))\n", "end" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NAND (generic function with 1 method)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function NAND(x1, x2)\n", " x = [x1, x2]\n", " w = [-0.5, -0.5]\n", " b = 0.7\n", " tmp = x ⋅ w + b\n", " if tmp <= 0\n", " 0\n", " else\n", " 1\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "OR (generic function with 1 method)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function OR(x1, x2)\n", " x = [x1, x2]\n", " w = [0.5, 0.5]\n", " b = -0.2\n", " tmp = x ⋅ w + b\n", " if tmp <= 0\n", " 0\n", " else\n", " 1\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "001\n", "101\n", "011\n", "110\n" ] } ], "source": [ "for x2=0:1, x1=0:1\n", " println(x1, x2, NAND(x1, x2))\n", "end" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "000\n", "101\n", "011\n", "111\n" ] } ], "source": [ "for x2=0:1, x1=0:1\n", " println(x1, x2, OR(x1, x2))\n", "end" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "XOR (generic function with 1 method)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function XOR(x1, x2)\n", " s1 = NAND(x1, x2)\n", " s2 = OR(x1, x2)\n", " AND(s1, s2)\n", "end" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "000\n", "101\n", "011\n", "110\n" ] } ], "source": [ "for x2=0:1, x1=0:1\n", " println(x1, x2, XOR(x1, x2))\n", "end" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "XOR2 (generic function with 1 method)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function XOR2(x1, x2)\n", " W = [-0.5 -0.5; 0.5 0.5]\n", " B = [0.7, -0.2]\n", " X = [x1, x2]\n", " a = W * X + B\n", " Y = a .> 0\n", " AND(Y...)\n", "end" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "000\n", "101\n", "011\n", "110\n" ] } ], "source": [ "for x2=0:1, x1=0:1\n", " println(x1, x2, XOR2(x1, x2))\n", "end" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 0.5.2", "language": "julia", "name": "julia-0.5" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }