Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет flaass ([info]flaass)
@ 2007-06-08 10:40:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
ID4: аргументы
Времени и так нет, а с каждым днем еще на неделю меньше. С делами строго наоборот. Но полчаса вырву.

Итак, добиосфера в результате своего развития произвела известный нам механизм трансляции РНК -> белок, и я утверждаю, что по дороге она неминуемо должна была произвести что-то, что с полным правом можно называть разумом.

Тут хорошо бы дать определение разума. Даю.
Будем говорить, что некий объект обладает разумом, если:
1. Он поддерживает свое существование (то есть, противодействует разрушающим влияниям и умеет получать из окружающей среды необходимые для этого вещества и энергию).
2. Кроме этого, он умеет хранить, обрабатывать и производить избыточную информацию: то есть, не необходимую для поддержки существования, а то и вовсе с этим не связанную.
3. У него есть механизмы, превращающие эту бесполезную информацию в его материальные действия.
Замечание: эти действия могут оказаться и полезными для выживания. Но могут оказаться и бесполезными, и вообще вредными. И в любом случае объект мог бы выжить и без них.

Пример таких действий на основе избыточной информации: изготовление синтетаз и кодирующей их РНК. Да, синтетазы могут производиться и естественно, для каких-то других целей. Например, куски, отлавливающие из среды определенную аминокислоту, или определенный обрывок РНК, очень полезны для метаболизма; а там недалеко и до их попарного соединения. Но отбор из всех 64х20 возможных их комбинаций в точности тех, что соответствуют таблице кода - это и есть материальное действие, не необходимое для выживания, основанное на избыточной информации, специальным образом обрабатываемой хрен поймешь для каких целей.

А появление кодирующей РНК - вовсе чудо. Ведь простой химический механизм обратной трансляции белок -> РНК неизвестен, да и вряд ли он возможен: белки так закручены, пока их развернешь в доступную цепочку, потратишь уйму энергии, да и порвешь их нафиг.

Появление сложных белков путем естественной эволюции вполне понятно: они активны, их активность зависит от устройства, по активности можно проводить отбор. Есть и тут сомнение: ведь прямого копирования сложных белков тоже нету. Но это сомнение разрешимо. Но отбор неразличимых по активности длинных кусков РНК, основанный на их соответствии данному варианту кодовой таблицы - как ни убеждайте, а естественным я его себе представить не могу.


(Еще см. тут)
(Еще см. тут)


(Читать комментарии) - (Добавить комментарий)


[info]faceted_jacinth@lj
2007-06-09 09:46 (ссылка)
Батенька, да знаю я, что такое раскрутка
Соответственно, и знаю, что этого может быть, но только в присутствии разума.
---
Зато я, кажется, не знаю теперь =) Что именно имеется в виду?


И вообще, правильно ли я понимаю, что это вам просто сформулировать аргумент не удалось, потому что определение разума кривое, а на самом деле имелась в виду необходимость уметь производить символические рассуждения, допускающие мета-переходы (точнее, lazy evaluation)? Чтобы появилась возможность описать кодировку с использованием неопределённых пока переменных вида "тРНК номер ХХ со своей синтетазой", а потом определить их в этой самой кодировке? Ну или внешний язык, на котором это всё можно было бы описать, а потом закодировать вначале одним, а потом другим способом.

Но тогда проблема с компилятором остаётся в полном объёме, потому что перевод с человеческого языка прямо в машинные коды инструкции такого объёма невозможен.

Или, всё-таки, вы допускаете возможность того, что современный механизм был изначально описан на каком-то другом, более простом языке, не дошедшем до наших дней -- это и есть "раскрутка"? А почему для неё нужен разум?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]flaass@lj
2007-06-09 10:22 (ссылка)
Раскрутка - это как появляется софт на совсем новом железе. Начинается все с того, что на старом железе и старом софте пишут эмулятор нового железа. И вот тут-то без разума и не обойтись: надо создать абстрактную модель еще не работающего компутера.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]faceted_jacinth@lj
2007-06-09 11:08 (ссылка)
Неа, тогда всё не так. Я о том, как появляется новый софт на новом железе, когда старого железа нет, потому что новое железо и представляет из себя один из первых программируемых компьютеров.

Начинается всё с того, что сильные духом люди пишут загрузчик в машинных кодах. И вводят его при помощи switching board. Потом эти же люди пишут ассемблер, тоже в машинных кодах и тоже вводят ручками. Разница между ассемблером и машинными кодами, кстати, намного больше, чем разница между ассемблером и С, в смысле сложности написания кода. Ассемблер как минимум самостоятельно jump destinations расставляет, без этого писать длинную программу невозможно в принципе.

Потом эти или уже другие люди пишут много разного всего на ассемблере, например, операционную систему, которая позволяет удобно загружать исполняемые коды, доступаться к ПЗУ етс. И, в частности, кто-нибудь пишет интерпретатор или компилятор какого-нибудь более высокоуровневого языка. На ассемблере, конечно. А потом, уже на этом более высокоуровневом языке, компилятор следующего высокоуровневого языка. Я что-то не смог найти, на каком языке Керниган и Ричи писали свой первый компилятор С, но уж точно не в машинных кодах.

А ещё, кстати, я когда-то читал, как gcc собирается из сурцов. Для этого в бинарной форме, кажется, только ассемблер и нужен, а дальше уже собирается макроподстановщик, движок регулярных выражений, движок лексического разбора (и то, и то по сути является компилятором/интерпретатором специфического Domain-Oriented языка), что-то вроде простенького С, полноценное С, ещё что-нибудь, стандартные библиотеки, С++, разнообразные оптимизирующие модули, етс. Причём периодически перекомпилируется предыдущий код -- ну, когда оптимизатор подключили наконец, например.



Написание эмулятора на старом железе -- это, конечно, дико удобный шорткат, но ведь можно обойтись и без него. Обошлись же в самом начале.

При игнорировании всего этого предыдущего усложняющегося кода (который, кстати, в большинстве своём до наших дней не дошёл), возможность написания компилятора С двумя скучающими людьми за год или около того, выглядит совершеннейшей фантастикой, по сути такой же, как самозарождение генетического кода в его современном виде. Что наводит на мысли!

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]flaass@lj
2007-06-09 11:21 (ссылка)
Ой спасибо!
Я бы сам так детально не смог, хотя в юности и принимал участие (очень сбоку).

(Ответить) (Уровень выше)


[info]9000@lj
2007-06-09 16:12 (ссылка)
Как показывает опыт, удобно писать на ассемблере на бумаге, а потом вручную переводить в коды, подсчитывая смещения. Прямо в кодах ничего реально длинного не написать -- теряешься. (Хотя хорошие системы команд, наподобие PDP-11, позволяют обращаться с ними куда свободнее.)

Вроде бы сначала K&R написали язык B (BCPL), "следующей версией" которого и был C. (А предыдущей -- ассемблер, .a)

Кстати, вроде бы для PDP-9 (или на чём они изначально работали) был и фортран.

(Ответить) (Уровень выше)


(Читать комментарии) -