LINUX.ORG.RU
ФорумTalks

В чём отличие алгоритма и данных при хранении в ЭВМ?

 


0

1

Алгоритм от данных отличает лишь способ их интерпретации (использования)?

То есть, вне контекста использования, алгоритм всегда представлен некоторой структурой данных на ЭВМ?

★★★★★

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

Avial ★★★★★
()

Наверно имелось ввиду инструкции(команды) и данные? Вне контекста это просто 0 и 1

tyamur ★★
()

сущность имеет значение только в контексте

осоенно в контексте интерпретации

stevejobs ★★★★☆
()

12345
Что я имел ввиду число или строку

tyamur ★★
()
Ответ на: комментарий от Deleted

Код — ридонли. Дата — в общем случае rw.

Уверен? На ассемблере же много вполне практичных хаков для защиты от отладки.

pacify ★★★★★
() автор топика
Ответ на: комментарий от Avial

и алгоритм, и данные представлены набором нулей и единиц

Наверняка есть языки программирования без числовых сущностей.

pacify ★★★★★
() автор топика
Ответ на: комментарий от n_play

Это не имеет значения. Сама суть программируемых устройств, отличающая их от арифмометров и прочих конструкций XIX века в том, что данные, хранящиеся в них управляют их поведением. А разделение памяти на память кода и память данных не более чем сахар.

atrus ★★★★★
()
Ответ на: комментарий от Deleted

100%

Ну а в чём проблема?

NOP
CALL asd
asd:
POP EAX
И работаешь с EIP, превращаешь программу в фарш.

pacify ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Ты спрашиваешь чем отличается статика от динамики?

Нет.

Я лет 10 назад пробовал написать свой синтаксис для ЯП с самомодифицирующимся кодом. Аналог Code wars. Вопрос тут скорее философский, сродни вопросу об относительности понятия «объект» и «субъект».

pacify ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Код — ридонли. Дата — в общем случае rw.

Генетический код — rw.

quickquest ★★★★★
()
Ответ на: комментарий от Harald

Шиза косит наши ряды!

Бгг. Посмотри, сколько гениальных людей болело:

Н.В.Гоголь, Жан-Жак Руссо, Даниил Хармс, Велимир Хлебников, Эдгар По, Эрнест Хемингуэй, Николай Некрасов, Александр Пушкин, Джонатан Свифт, Лев Толстой, Фёдор Достоевский, Франц Кафка, Иероним Босх, Ван Гог, Роберт Шуман, Модест Мусоргский, и прочая, и прочая.

Казалось бы, сколько людей мы потеряли для общества.

pacify ★★★★★
() автор топика
Ответ на: комментарий от pacify

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

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Рассчитывать что при самомодификации появится что то новое и затем эволюционирует во что то значимое, не стоит.

Да, наверное, увлечение чем-то смахивает на нумерологию.

Я тут подумал. А почему данные шифруют данными (закрытым ключом), когда можно в ключ пихать алгоритм (для определённой VM, например)?

pacify ★★★★★
() автор топика
Ответ на: комментарий от Harald

но не все, кто болеют, гениальны

Поэтому важно не задавить гения критикой.

pacify ★★★★★
() автор топика
Ответ на: комментарий от pacify

как тогда запилить размер пространства возможных алгоритмов в 100500 в 100500 степени, чтоб перебором не взламывалось?

Harald ★★★★★
()
Ответ на: комментарий от Harald

чтоб перебором не взламывалось?

А в стеганографии главное - не устойчивость к брутфорсу.

Кстати, стихотворение тут встретил.

Гомоиконность (Дмитрий Овчинников, 2015)

И человек рождает волю, и
человека порождает воля;
из счастья истекает боль, и
счастье созидается из боли,

геном определяет поведенье, и
поступки изменяют гены;
в природе ценны и рожденья, и
смерти точно так же ценны.
pacify ★★★★★
() автор топика
Последнее исправление: pacify (всего исправлений: 1)
Ответ на: комментарий от pacify

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

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

sin_a ★★★★★
()

Да, любой формат данных, например, картинка в формате PNG - могут рассматриваться как не-Тьюринг полный язык программирования. А учитывая дыры в парсерах, приводящие к выходу за пределы песочницы - то, наверное, и как Тьюринг-полные машины.

wieker ★★
()

Алгоритм от данных отличает лишь способ их интерпретации (использования)?

Да. «Это стул, на нем сидят, это стол, за ним едят»

То есть, вне контекста использования, алгоритм всегда представлен некоторой структурой данных на ЭВМ?

А что вас вообще встревожило? Поделитесь, разгрузите тяжесть с души.

vaddd ★☆
()
Ответ на: комментарий от vaddd

А что вас вообще встревожило?

Бгг. Если мне требуется консультация психолога - я иду в нему.

В данном случае, проблема не психологическая, а методологическая и философская. Хочу разобраться в терминах.

pacify ★★★★★
() автор топика
Ответ на: комментарий от pacify

проблема не психологическая, а методологическая и философская. Хочу разобраться в терминах.

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

vaddd ★☆
()
Ответ на: комментарий от vaddd

Wikipedia

Как обычно бывает в таких случаях, проблема в самих терминах. Начните с того, что дайте ваше определение терминов,

Проблема в том, что абстракции высших порядков лучше определять собирательным термином. Иначе выйдет тавтология. Поэтому я и хотел поспрашивать людей, собрать атрибуты понятий.

Из терминологических справочников у меня есть только справочник Першикова по ИВТ: http://pacify.ru/quotes/def-info-phil.html

1. Алгоритм. Точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.

2. Процесс вычислительный. Процесс решения различных задач на ЭВМ.

3. Данные. Информация, представленная в виде, пригодном для обработки автоматическими средствами при возможном участии человека.

Как видите, определения слишком абстрактные, и по-сути, являющиеся тавтологиями.

Если глянуть на wikipedia, то там упомянуты свойства алгоритма как набора инструкций, описывающих порядок действий исполнителя для достижения некоторого результата: (1) дискретность, (2) детерминированность, (3) понятность, (4) конечность, (5) универсальность.

Всеми этими свойствами обладают и «данные».

Посему и возник вопрос. В чём, собственно, различие.

Советские словари не дают ответа, Википедия тоже не задумывается над этим.

pacify ★★★★★
() автор топика
Ответ на: комментарий от vaddd

Как обычно бывает в таких случаях, проблема в самих терминах.

Отсылка к философии Сократа? =)

pacify ★★★★★
() автор топика

Алгоритм - это данные, обрабатываемые исполнителем (в контексте ЭВМ - процессором).

German_1984 ★★
()
Ответ на: Wikipedia от pacify

Проблема в том, что абстракции высших порядков лучше определять собирательным термином.

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

quickquest ★★★★★
()
Ответ на: Wikipedia от pacify

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

vaddd ★☆
()
Ответ на: Wikipedia от pacify

Советские словари не дают ответа, Википедия тоже не задумывается над этим.

Так и есть.

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

Serg_HIS
()

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

то бишь от первого нельзя потолстеть, а от второго можно

anto215 ★★
()

Лодки нет

Ни в чем. В конпутере всё едино. Даже небо, даже солнце, даже луна, даже Аллах.

Virtuos86 ★★★★★
()

Чем отличается рецепт яичницы от яиц при жарке на сковороде?

Алгоритм в виде программы в памяти эвм - это отображение адресного пространства в адресное пространство. Данные - аргумент этого отображения.

nikitos ★★★
()
Последнее исправление: nikitos (всего исправлений: 1)

Вы хотели сказать код от данных? Уже давно и почти на всех платформах - ни в чём.

Алгоритм в ЭВМ с двоичной системой представления не хранится, в ЭВМ с двоичной системой представления хранится машинный код - собственно двоичная репрезентация алгоритма.

AlexAT
()
Ответ на: комментарий от nikitos

Взять например интерпретаторы.

Пусть тот же Бейсик или Пых.

Тут собственно получается что алгоритмических прослоек несколько.

Сам интерпретатор работает как алгоритм для которого аргумент - это текстовый файл с набранной программой. А программа на самом бейсике или пыхе - это тоже алгоритм который читает данные из своих внутренних переменных или из наружных файлов.

К тому же на самих этих языках тоже можно написать алгоритм интерпретатора некоего языка и так в принципе до бесконечности как матрёшка.

Я к тому что все эти определения и разделения весьма относительны.

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

«Программа на бэйсике и пыхе» - это уже не сам алгоритм. Это формализованное представление алгоритма на указанном языке. Алгоритм - слишком абстрактное понятие для обсуждения, честно говоря.

AlexAT
()
Ответ на: комментарий от AlexAT

Алгоритм - слишком абстрактное понятие для обсуждения, честно говоря.

Именно это я и объяснял. Для тех кто дочитывает до конца. :)

Serg_HIS
()
Ответ на: комментарий от Serg_HIS

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

Не нужно сферических коней в вакууме. Слишком ими увлекаясь можно родить «сложность по Колмогорову». Остановитесь на алгоритме в виде последовательности команд для реального исполнителя (вычислителя): процессора, повара итд. Ваша матрешка, язык-в-языке в конце концов превратится на практике в последовательность команд.

nikitos ★★★
()
Ответ на: комментарий от nikitos

для тех кто не дочитывает до конца:

Я к тому что все эти определения и разделения весьма относительны.

Serg_HIS
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.