Концепції сучасного природознавства - Бобильов Ю. П. - 7.2. Програмістські аналогії

У схемі звичайної сучасної ЕОМ втілена мова машинних команд, що складається з найпростіших арифметичних і логічних операцій. Примітивність цієї мови - плата за універсальність: передбачається, що машина буде використана для різних цілей, а з маленьких цеглин якраз і можна зводити будинки найвибагливішої форми, чого не скажеш про великі блоки. Але кожен конкретний користувач вирішує тільки своє вузьке коло завдань, і універсальність йому не потрібна. Навпаки, він хотів би працювати великими блоками, що дозволило б йому зменшити перебір. Іншими словами, він бажав би мати мову, орієнтовану саме на його проблеми. Як же її одержати?

При складанні декількох найпростіших програм деякі сполучення команд увесь час повторюються, вони ніби злипаються між собою. Такій комбінації можна присвоїти ім'я, увести її в пам'ять, і оператор мови більш високого рівня готовий. (Це аналогічно виробленню умовного рефлексу - повторювані стимули і реакції стають єдиним цілим.) Такий варіант дій можна назвати шляхом "знизу".

Але є й інший шлях - "зверху". Аналізують усю множину розв'язуваних задач і шукають набір якомога більших частин, з яких би складався будь-який потрібний алгоритм. Проводячи знов-таки паралель з будівництвом, можна сказати, що визначають комплект блоків, з яких вдасться звести всі будинки потрібного типу. Тут людина використовує свою перевагу перед машиною в різноплановості своїх уявлень про світ. Для комп'ютера ця великоблочна мова зовсім незрозуміла, і йому треба перевести кожен блок у набір цеглин - машинних команд. Для цього складається програма-транслятор (знову шляхом ієрархічного розбиття). У різних випадках будуть свої набори блоків; так виникають сотні алгоритмічних мов - кожна з них по-своєму членує світ.

У цих співвідношеннях виявляється загальний принцип мислення - працювати на верхніх поверхах мовної ієрархії. Якщо в нашому розпорядженні немає мови високого рівня - то її треба створити. Головна мета при цьому - уникнути великих переборів варіантів. Остаточний результат, наприклад обгрунтування якогось твердження, повинен бути зведений до чогось добре зрозумілого: аксіом у формальній теорії, атомно-молекулярних уявлень у хімії (це - мова реалізації). Виходить, завдання полягає в тому, щоб спуститися до цього рівня, а потім іти в зворотний бік (знизу нагору), здійснюючи логічний висновок, строгу дедукцію.

7.3. Дві логіки

Ще в школі на уроках геометрії ми добре засвоюємо сутність строгої логічної системи: якщо вдалося протягнути ланцюжок умовиводів від вихідних постулатів до необхідного твердження, то не залишається ніяких сумнівів у його істинності (поки хто-небудь, як Лобачевський, не засумнівається в самих основах).

Але якщо ланцюжок висновку досить довгий, то, знаючи одні аксіоми, побудувати доведення без великого перебору не можна. Тому тут теж потрібні цілі блоки умовиводів. Для цього розв'язуємо спочатку зовсім прості задачі (ланцюжки короткі), а кожну вже розв'язану запам'ятовуємо - вони й стають поняттями більш високого рівня (це те, що ми називаємо шляхом "знизу"). Найбільш важливі твердження, тобто ті, що відображають загальні властивості всього кола задач, іменують теоремами - їх потрібно пам'ятати обов'язково. Тепер, зіткнувшися зі складнішою задачею, уже не доведеться зводити її до постулатів, а лише подати як комбінацію уже відомих задач і доведених теорем (від них шлях униз уже пророблено). Розв'язати задачу - значить "викласти, як підлогу кімнати паркетом, задачу - аксіомами". Конструювання такого укладання відбиває побудову доведення, тобто склад і порядок умовиводів.

Зрозуміло, що коли задача досить велика, то відразу з нею не впоратися (усе той же великий перебір). Тому для початку треба розширити набір правильних тверджень. Візьмемося за більш прості задачі. Легко заповнюємо їх аксіомами. Тепер, тримаючи в голові ці блоки, можна знову повернутися до важкої задачі. Зрозуміло, що вона зводиться до вже розв'язаних. Саме так будуються заняття з підручником або з хорошим учителем, коли спеціально підібраний ряд все складніших задач дозволяє поступово нарощувати знання учня.

А що робити в новій, недослідженій галузі? Якщо там є кілька встановлених фактів, то з них все й починається. Уважно вивчаємо їхню будову, намагаємося знайти приховану закономірність, якийсь загальний принцип. Виявляємо подібні контури і мотиви - визначаємо для себе евристики, що дозволять різко звузити число прийнятних гіпотез. Далі просіваємо правдоподібні варіанти. Нарешті, після довгих міркувань і невдалих проб, знаходимо - еврика! - що всі факти можна подати як сполучення декількох гіпотез. Переживаємо ту рідкісну і пам'ятну мить, яку називають осяянням, інсайтом.

Зрозуміло, що введення елементів-гіпотез - це вже знайомий нам шлях "зверху". Складність у тому, що самі ці елементи можуть виявитися занадто великими, занадто далекими від повсякденних уявлень, щоб відразу бути вираженими мовою загальновідомого.

Часто це просто неясні відчуття, коли сам автор здогаду вже впевнений у його правильності, але ще не може переконати інших. Як говорив Карл Гаусс: "... Я знаю свої результати, я тільки не знаю, як я до них прийду". І все-таки, незважаючи на логічну прірву, що утворилася, виникнення таких неясних образів - ключовий етап. Він відповідає інтуїтивному розв'язанню, постановці нових задач, що визначають усе подальше: формулювання й обгрунтування гіпотези, а потім перетворення її в теорію. Кожен інтуїтивний образ - "замок у хмарах" - повинний бути закріплений (подальшим підрозбиттям) на твердому грунті аксіом і теорем.



Схожі статті




Концепції сучасного природознавства - Бобильов Ю. П. - 7.2. Програмістські аналогії

Предыдущая | Следующая