Серж де Арт / Статьи

Кто научил компьютер мыслить?

© 2008 Серж де Арт (Сергей Свистунов)

22 июня 2008

Работа компьютера заключается в вычислениях. Главные модули компьютера — это процессор и память. Процессор берет данные из памяти, производит над ними операции (которые также берет из памяти) и записывает результат работы в память.

Вся работа компьютера осуществляется на языке двух символов 0 и 1. То есть алфавит языка компьютера в отличие от естественного языка, скажем русского, состоит из двух букв «0» и «1». В этом состоит логическое представление работы компьютера. Физически эта возможность реализована в форме разных напряжений электрического тока, например, 3-х и 5-ти вольт.

На физическом уровне (в реальности) идут обычные переключения электрического тока. Допустим, что есть некоторое устройство (это действительно часть работы процессора), которое может из 3 вольт на входе дать 5 вольт на выходе, или наоборот.

	    _______
	0  |       |  1
       ----o   ~   o----
	   |_______|

Если интерпретировать 3 вольта как логический «0», а 5 вольт как логическую «1», то можно сказать, что произошла инверсия, или логическое отрицание. Можно также интерпретировать разные электрические сигналы как ложь (0) и истину (1). У процессора есть и другие физическо-логические возможности как, например, логическое сложение, что соответствует в символической логике коньюнкции (A&B), которая истинна только тогда, когда оба члена конъюнкции (коньюнкты) истинны:


        1   _______
       ----o       |  1
           |   &   o----
       ----o_______|
        1

Теперь на входе два сигнала и один на выходе. Если на входе есть хотя бы один ноль (ложь) то в результате на выходе будет ложь (ноль). Это нетрудно проиллюстрировать на примере. Если часть предложения ложна, то и все предложение ложно. Например, высказывание «Мы вчера пили пиво и много говорили о жизни» будет ложно, если высказывание «мы вчера пили пиво» — ложно, а высказывание «мы вчера много говорили о жизни» — истинно.

Чтобы получить истину, нужно чтобы оба коньюкта были истинными (5 и 5 вольт или две единицы на входе). Таким образом, получается, что компьютер мыслит, делает логические операции, сам того не зная.

Подчеркнем, что никакого другого языка кроме «двоичного» компьютер и все его компоненты не знают и не понимают. Следовательно, для того, чтобы компьютер выполнил какую-то задачу, поставленную перед ним человеком, эту задачу надо прежде формализовать (описать однозначно) на языке компьютера. Это занятие называется программированием.

Писать программы на языке нулей и единиц очень сложная и неэффективная задача. Например, чтобы сказать компьютеру сложить два числа и выдать результат на монитор, пришлось бы писать тысячи нулей и единиц. Нужно перевести арабские цифры десятичной системы в двоичную систему компьютера, затем объяснить компьютеру, что значит сложить два числа и как это сделать. Добавим сюда технологию ввода данных и команд с клавиатуры и с диска, взаимную работу процессора и памяти, вывод информации на монитор итд. Целая симфония! Очень легко запутаться в такой математике. Хотя раньше, когда были первые компьютеры размером с большую комнату, программисты примерно так и работали. И это был поистине адский труд!

Умные математики-программисты разработали специальный язык, который называется Ассемблером. Писать программу на таком язык намного проще. Когда программа на Ассемблере написана, то ее не нужно вручную переводить на язык компьютера, во множество нулей и единиц. Для этого есть специальная программа-компилятор, написанная один раз. Вообще, чтобы создать новый язык программирования, необходимо разработать грамматику языка (синтаксис и семантику) и логику (правила построения предложений), а также написать транслятор (компилятор или интерпретатор). Для этого нужно хорошо знать устройство компьютера и прежде всего памяти и процесоора.

С развитием программирования, появились языки высокого уровня, близкие к человеческим языкам. Программисту, работающему на языке высокого уровня, напирмер, на Basic или Pascal, C или Java теперь вовсе не обязательно знать, как устроены процессор и память компьютера. Программа написана и обо всем другом позаботится компилятор, переведя ваши идеи в миллионы или миллиарды нулей и единиц, и современный компьютер будет по-прежнему трудиться как и его предшественники, комбинируя напряжения с 3 и 5 вольтами.

Чтобы правильно ответить на вопрос «умеет ли компьютер мыслить», нужно описать критерии мышления. Когда на экране монитора написан текст, компьютер не знаеет что это осмысленный текст. В памяти компьютера есть байты состоящие из нулей и единиц, а на экране лишь отображение этих байтов. Процессор «знает» какому набору символов единиц и нулей соответствует какой символ языка, на котором написан текст и выводит текст правильно.

Где же эта грань между логической и физической реальностью? Думаю, следующее рассуждение имеет смысл.

1. Я ставлю вопрос: есть ли у компьютера память?
2. Отвечаю: есть
3. Вопрос: что такое память и где она?

Открываю компьтер и указываю на оперативную память

4. Мой ум восстает: Но это микросхема, причем здесь память!
5. Я отвечаю: эта микросхема хранит информацию, поэтому она — память
6. Какую информацию?
7. Совокупность нулей и единиц

Мой критик приносит самый мощный микроскоп и просит меня показать совокупность нулей и единиц в «памяти». Я объясняю что в микросхеме есть конденсаторы, которые хранят электрические заряды. Итд.

Таким образом, можно договориться что компьютер умеет мыслить в одном контексте понимания и не умеет в другом. Или так — компьютер умеет мыслить с помощью человека, но не умеет мыслить сам.

Ведь в мозге человека тоже нет мышления, там идут физические и биологические процессы. Поскольку мышление не физический, а виртуальный (интерпретируемый) процесс, встает вопрос кто интерпретирует надстроечные процессы, которые являются образами? Так мы приходим к идее ментальности и духовности, и далее к существованию иной реальности и существованию Бога.

В своей статье о принципах работы Интернета (Информационный рай. Введение в Интернет, 1997) я рассматривал вопрос о том, что такое реальные и виртуальные соединия. Модель TCP/IP, по которой работает интернет, может быть использована для объяснения вопроса, что такое мышление человека и как вообще возможно познание. Основной вопрос европейской философии о соотношении мышления и бытия, материи и сознания решается в этой парадигме достаточно просто.

Представьте себе некоторую сущность (абстрактную структуру), назовем ее «стекляшкой», нижняя часть которой называется реальностью, а верхняя часть виртуальностью. Теперь представьте все сущее (бытие) как нечто однородное, непрерывное и бесконечное. Стекляшка может скользить по вертикали сущего отмечая реальные и виртуальные уровни (сущности, свойства или процессы), задавая таким образом базовую иерархию.

Этой стекляшкой является например фокус нашего внимания, как когнитивной способности. Почему сущее вертикально? Потому, что мы привыкли интерпретировать иерархии по вертикали, и обычно в природе все что развивается, движется вверх, например растущие деревья, люди итд.

Вот пример работы «стекляшки» на физическом мире. Книга лежит на столе. Она реальна? Да. Берем микроскоп и начинаем смотреть в глубину книги, доходим до молекул и атомов, и дальше. Атомы реальны? Да. А книга? Нет. Почему? А что такое книга глядя отсюда? Набор атомов. Книга относительно атомов виртуальна, пока низ стекляшки находится на уровне атомов.

Стекляшку можно еще оснастить способностью переживаний и двигать ее по логической горизонтали. Таким образом, можно утверждать, что бытие имеет степень реальности, которая зависит от местоположения стекляшки. И тогда мы получим формулу: «Степень реальности бытия зависит от силы его переживания». Состояния увлечения интересным делом так захватывают человека, что все остальное перестает существовать, и даже больше того — перестают существовать сами объект и субъект переживания. Это тайна мироздания.

*

[ Вверх ]

Серж де Арт / Статьи