GB2556041A - System and method for processing data inputs in computing devices - Google Patents
System and method for processing data inputs in computing devices Download PDFInfo
- Publication number
- GB2556041A GB2556041A GB1619039.9A GB201619039A GB2556041A GB 2556041 A GB2556041 A GB 2556041A GB 201619039 A GB201619039 A GB 201619039A GB 2556041 A GB2556041 A GB 2556041A
- Authority
- GB
- United Kingdom
- Prior art keywords
- variables
- relations
- system model
- present disclosure
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/60—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Public Health (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Epidemiology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Nutrition Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A method of executing real-time computing for a multidimensional system model spanned by state variables on finite domains and/or intervals: providing a system model in which all valid combinations and associated properties or object functions are stored as interconnected relations distributed on one or more computers; deducing any sub-space, corresponding to an input statement and/or query, of states or combinations spanned by one or more state variables or associated properties or object functions, by deriving consequences of a statement and/or a query by applying constraints defined by the statement and/or query to the system model. Aspirational application in providing control, analysis, and/or recommendations, could include a user interface. Embodiment is a mobile phone application which provides customised food recommendations based on user medical history, lifestyle and like data inputs.
Description
(54) Title of the Invention: System and method for processing data inputs in computing devices
Abstract Title: Multidimensional system model, feature space array system model, for inference /decision support system representing knowledge in an expert system (57) A method of executing real-time computing for a multidimensional system model spanned by state variables on finite domains and/or intervals: providing a system model in which all valid combinations and associated properties or object functions are stored as interconnected relations distributed on one or more computers; deducing any subspace, corresponding to an input statement and/or query, of states or combinations spanned by one or more state variables or associated properties or object functions, by 1 deriving consequences of a statement and/or a query by applying constraints defined by the statement and/or query to the system model. Aspirational application in 2 providing control, analysis, and/or recommendations, could include a user interface. Embodiment is a mobile phone application which provides customised food 3 recommendations based on user medical history, lifestyle and like data inputs.
1200
FIG. 12 z
NO ▼
END
This print takes account of replacement documents submitted after the date of filing to enable the application to comply with the formal requirements of the Patents Rules 2007.
1/28
100
Z
Input (system constraints and properties)
COMPILE • Compile each relation •Colligate relations • Minimize and link complete solution space •Link object functions (optionally)
I
Array > System Model
FIG. 1
2/28
200
Z
| so | so | ||||
| SI | f | SI | |||
| S2 | + | Array System Model | = | S2 | |
| \ | V | ||||
| Sn-1 | V | Sn-1 | |||
| Sn | Sn |
SV1 SV2
FIG. 2
3/28
300A
Z
FIG. 3A
4/28
300B
Z
| A | B | LinkO |
| 0 | 0 | 0 |
| 0 1 | 0 1 | 1 |
| 0 1 | 0 | 2 |
| 0 | 1 | 3 |
| C | D | LinkO | Linkl |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 1 | 2 3 | 2 |
| E | F | Linkl |
| 0 | 1 | 0 |
| 1 | 0 | 0 1 2 |
FIG. 3B
5/28
400
FIG. 4
6/28
500
Colligate On Variable Groups
Determine variable groups Sharing relations
Split relations on each variable group
Join and link relations on each variable group
Add link variable with indices of Cartesian arguments (or tuples) of each joined relation
YES
Substitute variable groups in original relations with the associate d link variables
Colligate relations on link variables
YES
Array system model
Contradiction^)
FIG. 5
7/28
600 z
FIG. 6
8/28
700 z
FIG. 7
9/28
800 /
FIG. 8
10/28
900 z
FIG. 9
11/28
1100
Z
FIG. 10
12/28
1100
Z
Split Relation Into Pairs
Determine each derived relation (VAR1,LINK); (VAR2,LINK);..;(VARn, LINK)
End
FIG. 11
13/28
1200 z
NO
END
FIG. 12
14/28
1300 z
FIG. 13
1400
15/28
Core 1/6
Core 2/6
Core 4/6
Core 5/6
FIG. 14
16/28
1500 z
17/28
1600 /
FIG. 16
18/28
1700 /
FIG. 17
19/28
1800 /
FIG. 18
20/28
1900 z
SSSSSSSSSSSSSSSSSSSSSSSSSSS: SSSSSSSSSSSSSSSSSSSSSSSSSSS^
FIG. 19
21/28
FIG. 20
22/28
2100
Z
FIG. 21
23/28
FIG. 22
24/28 2300
Z
I<W *«*S^
C&*X>*4 wf'tW’M $^asw»W $»*X .«Mimw*tsh tofe$»**»
MWM'** & *W<W* *m&ik XiH $*W»W* W<*·«* Λ«Τ*ίΛΜ<
FIG. 23
25/28
2400 /
FIG. 24
26/28
2500 /
FIG. 25
2600
27/28 /
£ b sw msm «w Ms 1 ste $& s&sdw & <*» »pw*
B$> ^s-l W
F»UrTO$
KSSWtW SKMtsS1 &-G «eMmsio
FIG. 26
28/28
2700 /
Taking Isocarboxazid with food and drink
You should NOT take alcohol (especially red wine) whilst you are taking Isocarboxazid tablets. This includes non-alcoholic beer or lager.
Isocarboxazid tablets stop the breakdown of a substance called tyramine which is found in large amounts of certain foods. If this substance is not broken down, it can cause very high blood pressure. So, while you are taking Isocarboxazid and for two weeks after the course of treatment has finished, you should avoid the following foods:
• Matured cheeses (e.g. Cheddar or processed cheese made from mature cheese) • Yeast extracts (e.g. Bovril or Marmite) • Meat, fish or poultry which is not fresh or has been pickled • Broad bean pods • Over-ripe fruit
FIG. 27
- 1 SYSTEM AND METHOD FOR PROCESSING DATA INPUTS IN COMPUTING DEVICES
Technical field
The present disclosure relates to systems for processing data inputs in computing devices, for example to systems for processing data inputs for performing real-time signal processing, for resolving constraints and for optimizing systems. Moreover, the present disclosure concerns methods of processing data inputs in the aforementioned systems. Furthermore, the present disclosure relates to computer program products comprising a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being executable by a computerized device comprising processing hardware to execute aforementioned methods. The aforementioned systems and methods are operable to provide real-time context-sensitive reasoning and decision support on, for example mobile and wearable computing devices, when provided with multi-dimensional data inputs, for example real physical measurands. Moreover, the systems and methods are susceptible to being employed in automotive and electronic control, in digital health environments, in the Internet of Things (ZoT), mobile health provision Q'mHealth} and for supporting implementations of precision medicine.
Background
Systems for processing input data representative of real physical variables acquired by sensor arrangements, wherein the systems employ in operation computer-based decision support systems for generating consistent, contextsensitive recommendations in real-time and with a predictable low memory footprint on a wide range of computing platforms, are known. Such systems often employ sensors and signal processing hardware, embedded control systems, wearable and mobile devices, graphical processing units (GPUs) and supercomputers. The systems are operable to evaluate all consequences of highly-specific combinations of multi- or even hyper-dimensional input data to predict behaviours of complex environments, and are potentially enormously beneficial in a wide variety of technical fields of use. Such technical fields include, for example, safety systems in nuclear power plants, railway interlocking systems, Internet of Things (IoT), smartgrids, consumer electronics and many exceptionally complex apparatus employed in healthcare environments.
-2 Conventionally, complex decisions are routinely made at points of care in a given healthcare system; for example, complex decisions are often made when a clinician interacts with a patient and provides corresponding diagnoses, prescriptions and advice. The decisions are complex to make, because the patient is potentially within a huge range of genetic, phenotypic, clinical and environmental diversity. For example, each patient is unique and will react differently to a given treatment regimen at a given stage of their lives. Current best clinical practice follows generic clinical pathways, for example there is employed a hypothesis ... if you have this disease, then prescribe this set of drugs .... However, such decisions are often made outside a range of specific companion diagnostic tests, and often takes minimal account of the given patient's personal factors.
In developed industrial societies having a high public welfare standard, there are presently employed in a range of 10% to 20% of gross domestic product (GDP) for healthcare related activities. Such a relatively high range results from massively inefficient delivery of healthcare services; for example, clinicians often find it contemporarily hard to personalize care to find the best combination of
1— therapies for a given patient the clinicians are seeking to treat. Such inefficiency 1 results in patients being prescribed medicines that will not work for them; for example, on average, cancer drugs are effective in only 35% of patients, in practice. Prescribed medicines are often ineffective because it is difficult for a given patient to adhere to a prescribed therapeutic regimen set by the given patient's doctor, for example as a result of the therapeutic regimen not providing a benefit as expected by the given patient. For example, interactions between drugs cause side-effects that make patients feel more unwell; these interactions often arising from issues that were not envisaged by the given patient's doctor.
Contemporarily, chronic diseases (such as cancer, cardiovascular disease, dementia and diabetes) exert huge social and financial burdens worldwide. In the United Kingdom (UK), chronic diseases are responsible for 85% of all human deaths, and the 30% of the UK population that has one or more chronic conditions consumes over 70% of a National Health Service (NHS) budget allocated for the UK. Much of this cost (for example, up to £8 billion (GBP) of a £10 billion (GBP) diabetes bill in the UK) is caused by patients who are unable to manage effectively their one or more diseases and from avoidable
-3 hospitalizations due to inaccurate or unsafe prescriptions and/or adverse drug reactions.
Adverse drug reactions become common as a given patient takes more drugs (medicines). However, it will be appreciated that chronic diseases require long5 term polypharmaceutical treatment regimens, wherein patients afflicted by such chronic diseases are often required to take in a range of 4 to 10 (or even more) prescription drugs on a daily basis; moreover, such chronic patients with these conditions have very high incidences of side effects and consequently exhibit a highest incidence of patient non-adherence (namely, failing to take prescribed io medications). Patent non-adherence is, for example, routinely in a range of 40% to 50% in cases of diseases such as chronic obstructive pulmonary disease (COPD).
»20
Aforementioned side effects are exacerbated in a situation where clinicians treat patients for one disease at a time, rather than taking a holistic approach. Such an exacerbation occurs, for example, when a given patient is referred to a plurality of specialist clinicians who prescribe new therapies for one given disease of a plurality of diseases afflicting the given patient, without due consideration of a combinatorial effect of those medications on the given patient's metabolism. Thus, it is beneficial for clinical teams to evaluate the combinatorial impact of the given patient's whole polypharmaceutical therapeutic regimen on the given patient's diseases; as a result, it is feasible, when taking into consideration the combinatorial impact, to implement more compatible selections of therapies. However, contemporarily, there are no effective tools for being able to implement more compatible selections in a systematic personalized basis across a whole patient population at a given point of care.
Contemporarily, it is a major strategic priority to provide precision or personalized medicine for healthcare systems, because such precision or personalized medicine is widely understood to offer more accurate and costeffective ways of understanding a given patient's individual disease risks, thereby enabling a delay in an onset of disease to be achieved, and also enabling a more accurate prescription of a best available treatment option to be made, thereby improving health of the given patient.
Implementing precision medicine has contemporarily been found to be extremely difficult to achieve in practice, especially when considering a given patient's
-4 whole health burden and not just a single diagnosis pertaining to the given patient. In order to provide contextualized predictions that take into account all factors applying to a given healthcare system, it is necessary to take into consideration disease processes, genetic predispositions to disease risk and therapy responses, clinical assay results, drug pharmacology and systems biology.
Thus, in order to provide contextualized predictions, there arises a need for massively complex analyses to predict accurately individual risks and therapy responses for real example patients. When contemporarily seeking to provide truly personalizing diagnostic interpretations and prescription decisions for a specific patient, there is required an understanding of a disease for which the specific patient has been diagnosed, or a treatment for the disease, together with an understanding of the specific patient's genotypic, phenotypic, clinical history, co-morbidities, co-prescriptions, lifestyle, environmental, and potentially other factors, all of which will have an impact on the specific patient and the specific patient's response to therapeutic regimens. However, such conceptualized predictions are often beyond an intellect capacity of many experienced doctors and surgeons.
From the foregoing, it will be appreciated that it is desirable to employ software programs, for example software applications, such as computer-based expert systems that can systematically personalize healthcare recommendations, such as improving an accuracy and safety of prescriptions that are prescribed for implementing complex therapeutic regimens, for providing accurate and safe advice to a given patient on their most beneficial diet and lifestyle, and for identifying a best clinical practice to employ (for example, in terms of costs, risks and outcomes); delivering such personalized healthcare recommendation in more effective manner is paramount to achieving a cost-effective delivery of effective healthcare. Currently, however, there are no truly effective analytical solutions to such problems, due to a hyper-dimensionality and combinatorial complexity of analyses required when seeking to provide a more cost-effective delivery of effective healthcare; for such analyses to be generally useful, they need to be available in real-time to a given clinician at a point of care (for example, to aid in selecting a best available drug for a specific patient), or to a given patient in a course of his/her daily lives (for example, to provide actionable advice to help the given patient to modify his/her diet and lifestyle to optimize his/her health
-5 and chances of a successful outcome of administered treatment to the given patient).
Contemporarily, statistical and machine learning methods are occasionally used to attempt to identify correlations interaction effects arising between a plurality of treatments when administered concurrently. However, it is found in practice that these methods do not scale reliably when applied to multi- or hyperdimensional data, nor do the methods cope well with integrating multiple types of input data into analyses employed in the methods. Moreover, the methods cannot, in some cases, accommodate missing or partially erroneous data (i.e.
dirty data), and particularly cannot scale computationally to cope with a vast increase in a combinatorial problem space that is presented to the aforesaid methods when there are multiple variables, wherein each variable can have with a large range of potential values.
Contemporary analytical methods seek to cope with the aforementioned vast increase in the combinatorial problem space either by seeking to simplify the problem space to successive one-dimensional slices, or to classify or prune the combinatorial problem space to reduce its complexity. A problem with such an approach to simplify the aforementioned combinatorial problem space is that there arises a risk that potentially valid solutions are eliminated, and leave behind, after simplification, potentially invalid solutions, that represents a suboptimal treatment for a given patient whose characteristics are represented in the aforementioned combinatorial problem space.
The aforementioned methods of analysing the combinatorial problem space are found in practice to be so computationally intensive that, without approximating the combinatorial problem space in ways as aforementioned, they cannot generate recommendations in real-time for individual given patients, even when massively distributed server architectures such as Hadoop or IBM Watson are employed to execute computations for implementing the methods; Hadoop and IBM Watson are registered trademarks. Moreover, it will be appreciated that
Hadoop and IBM Watson are respected as being leading-edge computing products and are highly respected within contemporary computing industries. Thus, the methods cannot be executed on relatively low-power mobile, wearable or embedded computing systems, and cannot therefore provide interactive answers to patients' questions and actionable advice outside a clinical setting,
-6 and particularly not on a wearable or mobile computing device that a given patient or carer is likely to carry around with them.
To provide detailed, useful and relevant advice to end-users, for example to clinicians and/or patients, there is therefore required that a combination of all diverse factors describing an individual patient, namely their input state vector, can be analysed in real-time on a mobile computing device, for example a smartwatch, mobile telephone (USA: cellphone} or tablet-like computing device, without a need for access external computing resources via a data communication network, for example the Internet or a remote server, and that a decision support system hosted on the mobile computing device to provide safe and consistent inferences in real-time, taking into account all input variables and constraints; for example, it is required that there are generated personalized recommendations for a given patient, wherein the personalized recommendations are of a quality and standard that is comparable to best clinical practice, taking into account all the given patient's multi-dimensional health factors as represented in a combinatorial problem space.
Contemporarily, many systems analysis tools have become available, for example as described in published patent documents WO 90/09001 and US 5,515,524. However, there still exists an unmet demand for systems that are able to generate inferences in relation to larger and more complex problems, wherein the problems concern multiple variable types and there arise requirements for completeness and compactness and real-time deduction on a small computing device having relatively limited data memory. In this context, a term completeness indicates a mathematical requirement that all combinations in the aforementioned combinatorial problem space have been verified to ensure that a logical consistency is achieved when performing computations to find solutions in relation to the combinatorial problem space.
Basic concepts of context-sensitive reasoning and decision support technology are described in published PCT patent applications WO 09948031A1 and WO
2001022278A1. A first generation of technology (herein referred to as ADB
1.0) described in the aforementioned PCT patent applications has proven to be efficient for simple product configurations and similar kinds of problems, but the technology has not been found to scale satisfactorily to process very complex problems such as those described in the foregoing with reference to healthcare.
-7 A scientific/mathematical discussion of principles of processing a complex combinatorial problem space is disclosed in a publication by Mpller, Gert L.: On the Technology of Array-based Logic. Ph.D. thesis, Electric Power Engineering Department, Technical University of Denmark, January 1995.
Summary
The present disclosure seeks to provide an improved method of processing input data in computing devices, for example where the input data corresponding to real physical variables and processed results from the method are used for information and/or control purposes.
io
Moreover, the present disclosure seeks to provide an improved system employing one or more methods of processing input data in computing devices, for example where the input data corresponding to real physical variables and processed results from the method are used for information and/or control purposes.
According to a first aspect, there is provided a method of performing data processing on a computing arrangement, wherein the method includes generating a multi-dimensional system model, wherein the multi-dimensional system model is operable to describe a system spanned by state variables on finite domains and/or intervals, characterized in that the method comprising:
(i) generating and storing, in a data memory or data storage medium of the computing arrangement, an addressable solution space defining all valid states or combinations satisfying a conjunction of substantially all system constraints on all variables;
(ii) generating and storing one or more object functions or values associated with the addressable solution space to make the values addressable from the environment like state variables; and (iii) using the addressable solution space to process one or more inputs provided to the system when in operation, and to generate corresponding outputs for use in controlling and/or advising operation of the system.
The method is of advantage in that the multi-dimensional system model can be implemented in devices having modest data processing performance and provide processed results more rapidly than known contemporary methods.
-8 Optionally, in the method, the data processing includes at least one of: embedded constraint resolution, decision support, system control, machine learning.
Optionally, in the method, the computing arrangement includes at least one of: a 5 computing device, a distributed arrangement including a plurality of computing devices.
Optionally, the method includes representing the addressable solution space in respect of all external state variables by a plurality of relations sharing only internal link variables. More optionally, the method includes arranging for any io given pair of relations to share no more than one link variable. More optionally, in the method, any given index of any link variable represents a unique single valid state or combination of a unique subset of the external state variables and associated properties or object functions.
Optionally, the method includes minimizing the solution space for memory 15 storage by splitting relations into a plurality of corresponding relations shared by
Ί” link variables with a minimal possible number of indices.
Optionally, the method includes splitting and minimizing relations sharing groups of external state variables and then executing colligation of each group of variables.
Optionally, the method includes splitting the system model into a plurality of sub-models by splitting a core relation into a plurality of corresponding relations sharing only a core variable with indices of Cartesian arguments of the core relation. More optionally, in the method, the sub-models are distributed over a plurality of computing devices that are mutually coupled together in operation via a data communication network.
According to a second aspect, there is provided a method of executing real-time computing for a multi-dimensional system model spanned by state variables on finite domains and/or intervals, characterized in that the method comprising:
(i) providing a system model in which all valid combinations and 30 associated properties or object functions are stored as interconnected relations distributed on one or more computers; and (ii) deducing any sub-space, corresponding to an input statement and/or query, of states or combinations spanned by one or more state variables or
-9 associated properties or object functions, by deriving consequences of a statement and/or a query by applying constraints defined by the statement and/or query to the system model.
Optionally, the method includes representing input state vectors (SV1) 5 associated with asserted and/or measured states of each variable and each object function from an environment in the system model, and representing output state vectors (SV2) associated with one or more deduced consequences on each variable and each object function of the entire system model, when external constraints of the input state vectors (SV1) are colligated with the static constraints in the system model. More optionally, the method includes computing the state of the entire system model in real-time by consulting one or more subsystems and/or relations at a time by deducing possible states of each variable and propagating one or more bound link variables to connected one or more relations until no further constraints can be added to the state vectors. Yet more optionally, the method includes arranging for the sub-systems to be distributed on a plurality of computing devices and to interact by propagating a common 1 core link variable on each sub-system.
According to a third aspect, there is provided a computer program product comprising a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being executable by a computerized device comprising processing hardware to execute the aforesaid methods, pursuant to the first and second aspects.
According to a fourth aspect, there is provided a system for processing one or more data inputs in a computing arrangement to provide one or more control outputs and/or one or more analysis output and/or one or more recommendation outputs, characterized in that the system includes a user interface for interacting with a user of the system for controlling operation of the system, a data processing arrangement that is operable to receive the one or more data inputs and to output the one or more control outputs and/or one or more analysis output and/or one or more recommendation outputs, wherein the computing arrangement is operable to execute a software product for implementing the aforesaid methods, pursuant to the first and second aspects.
- 10 Additional aspects, advantages, features and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative embodiments construed in conjunction with the appended claims that follow.
It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.
Description of the diagrams
The summary above, as well as the following detailed description of illustrative 10 embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and apparatus disclosed herein.
Moreover, those in the art will understand that the drawings are not to scale. 15 Wherever possible, like elements have been indicated by identical numbers.
Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
FIG. 1 is an illustration of an array system model;
FIG. 2 is an illustration of a method of using the array system model of FIG.
1, by employing a process of state deduction;
FIG. 3 is an illustration of an example pertaining to FIG. 1 and FIG. 2;
FIG. 4 is an illustration of a colligation strategy employed in the method of
FIG. 2;
FIG. 5 is an illustration of a colligation applied to variable groups;
FIG. 6 is an illustration of a step 1 of a colligation method;
FIG. 7 is an illustration of a step 2 of a colligation method;
FIG. 8 is an illustration of a step 3 of a colligation method;
FIG. 9 is an illustration of a step 4 of a colligation method;
- 11 FIG. 10 is an illustration of splitting and minimizing a relation in the method of
FIG. 2;
FIG. 11 is an illustration of splitting a relation into pairs;
FIG. 12 is an illustration of splitting a relation into a tree structure;
FIG. 13 is an illustration of a splitting model that is employed for performing parallel computing in a step 1;
FIG. 14 is an illustration of a splitting model that is employed for performing parallel computing in a step 2;
FIG. 15 is an illustration of a method of minimizing an array system model io when performing runtime applications;
FIG. 16 is an illustration of state propagations that are employed when implementing embodiments of the present disclosure;
FIG. 17 is an illustration of data mining and semantic normalization that is Ί” employed when implementing embodiments of the present disclosure;
,15 FIG. 18 is an illustration of a compilation and validation of an Array System Model;
> FIG. 19 is an illustration of a use of an Array System Model: step 1;
FIG. 20 is an illustration of a use of an Array System Model: step 2;
FIG. 21 is an illustration of a use of an Array System Model: step 3;
FIG. 22 is an illustration of a use of an Array System Model: step 4;
FIG. 23 is an illustration of a definition of a given user's input state vector;
FIG. 24 is an illustration of online shopping baskets for use with embodiments of the present disclosure;
FIG. 25 is an illustration of a use of System Array Model for identifying a given 25 example user's risk of encountering interaction with food items;
FIG. 26 is an illustration of a use of a System Array Model to suggest alternative safer food items for a given example user; and
- 12 FIG. 27 is an illustration of drug warning label information pertinent to embodiments described in the present disclosure.
In the accompanying diagrams, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the nonunderlined number is used to identify a general item at which the arrow is pointing.
io Description of embodiments of the disclosure
In the following description, there will be described exemplary embodiments of the present disclosure. Moreover, in operation, the embodiments employ a system model that will be referred to as an array system mode\. When executing computations in the aforesaid embodiments, all valid solutions are 15 stored in the array system model as one or more nested arrays.
Definitions and explanations relevant to some of the terms used when describing embodiments of the present disclosure are provided in Table 1, as follows:
Table 1: Definitions
11 17
| Term | Definition |
| Constraint | Constraint resolution means establishing |
| resolution | substantially all valid combinations of variables satisfying substantially all constraints of a given system. Optionally, all valid combinations of the variables satisfying all the constraints of the given system are established, namely computed, wherein, in an optional case, valid Cartesian sub-spaces of states or combinations satisfy a conjunction of all system constraints for all interconnected variables. |
| Optimizing | A term optimizing means applying a heuristic selection of combinations within a set of valid combinations. |
- 13 07 11 17
| A system spanned by | A term a system spanned by variables on finite |
| variables on finite | domains and/or intervals indicates that each variable |
| domains and/or | of a given system consists of a finite set of elements |
| intervals | or state values (for example, logical truth values) or a finite set of intervals. |
| An addressable | A term an addressable solution space indicates that |
| solution space | substantially all valid combinations are explicitly represented; in a preferred case, all valid combinations are explicitly represented. |
| A Cartesian sub- | A term a Cartesian sub-space” is a compact |
| space” | representation of one or more valid combinations, wherein all combinations are derivable/calculable as a Cartesian product of elements or state values for each variable. |
| System constraints | A term system constraints refers to relations (namely propositional functions) for variables defined for a given system. |
| Interconnecting | A term interconnecting variables indicates variables |
| variables | present in at least two relations. |
| A link variable | A term a link variable means a variable generated by a method according to the present disclosure and added to a given relationship with a unique index, wherein the unique index identifies one corresponding Cartesian sub-space. |
| Interconnected valid | A term interconnected valid Cartesian sub-spaces |
| Cartesian sub-spaces | means valid Cartesian sub-spaces with at least one common variable associated therewith. |
| External variables | A term external variables means variables that are to be used by or being accessible from an environment during a runtime simulation. |
| Internal variables or | A term internal variables or interim variables |
| Interim variables | means variables that are not to be used by, or are not to be accessible from, an environment during a runtime simulation. |
In overview, embodiments of the present disclosure employ in operation an array system model. Moreover, the embodiments are capable of performing real-time processing; real-time means in practice while a user of the embodiments waits for results of computations that are delivered in a time scale of tens of second, or within several minutes, even when large-scale constraint problems are being computed and resolved by the embodiments. It is thereby feasible, in practice, to provide personalized (context-sensitive) recommendations from hyperdimensional data feeds in real-time on a wearable, mobile or IoT (Internet of
Things} device. The aforementioned hyper-dimensional data feeds provide hyper-dimensional data that are stored in an array system model, wherein the array system model may represent constraints as well as other types of knowledge associated with each valid combination of the array system model, namely one or more object functions, all of which must interface with an environment provided to a given in a simple interactive way, via a user interface.
Embodiments of the disclosure are operable to support automatic modelling, analysis and real-time inference processing on multi-dimensional system models, such as those described in the present disclosure, on a wide range of computational hardware; such computation hardware includes, for example, signal processing and embedded controllers to mobile devices (for example, smart watches, smartphones and tablets), standard computers (for example, personal computers or laptop computer), graphics processing units (GPUs), distributed computers with parallel processing capabilities, and so forth. Moreover, the embodiments are capable of enabling a wide range of innovative decision support tools, such as clinical decision support systems, to be realized in practice.
Embodiments of the present disclosure, when in operation, employ multidimensional system models, wherein the multi-dimensional system models are, for example, constraint problems expressed in terms of truth tables with MN combinations, wherein each combination can assume either of a truth-value true (valid) or a truth-value false (invalid). Moreover, the multi-dimensional system
- 15 models assume N variables are involved, wherein each variable has M elements.
In general, each valid combination in a solution space computed in embodiments of the present disclosure may have one or more associated attributes or object functions, for example a price. In a special case of an embodiment of the present disclosure, all combinations may be valid, namely without any constraints on the system model being employed when computing results.
It will be appreciated that computing MN combinations using contemporary known computation methods will result in a combinatorial explosion in a contemporary computing device, that would result in an unacceptably long computation time for providing results to users via a user interface. Therefore, contemporarily, it is not a trivial task to solve large constraint problems with a multitude of variables. Nevertheless, embodiments of the present disclosure make it possible to unify seemingly contradictory requirements for completeness (all combinations must be accessible to ensure logical consistency) with compactness of representation and real time inference processing even with complex combinatorial applications on relatively low power computational devices (for example, as aforementioned).
For example, interlocking systems for railway operations are controlled by several thousands of variables representing corresponding signal values or switch positions across an entire rail network. Even a small interlocking system with just 2,000 binary variables will be characterized by a huge number (22'000) of states or combinations. Some combinations are valid (namely, they are consistent with the system constraints, for example no two trains should be on the same segment of track in a specific time window), while other combinations are clearly invalid because they would cause accidents or other operational failures. To model such railway systems by employing conventional known technology, it has been necessary to break down the system into sub-systems of sufficiently small size to allow for them to be independently validated. Such an approach is, however, unsatisfactory, because the approach potentially results in both invalid combinations being excluded, as well as a large number of valid combinations, resulting in a less efficient optimization of the system, or even an unreliable representation of the system.
Alternatively, for example, in polypharmaceutical therapeutic regimens, many drug classes (for example, anti-hypertensives, beta-blockers and so forth)
- 16 contain multiple drugs, which potentially have different or very similar mechanisms of action (for example, diuretics, Calcium channel blockers, ACE inhibitors, and so forth). Within each of these drug classes, there are multiple different drugs (for example, Captopril, Enalapril, Fosinopril, and so forth, wherein such names include registered trademarks), each of which will have different profiles of therapeutic efficacy, drug-drug interactions, drug-disease interactions and drug-food interactions, as well as side-effect risks. There may potentially be hundreds of factors that contribute to a given drug's computability for an individual patient, based on their genetic markers, phenotype, co10 morbidities, co-prescriptions and clinical assay results. As a result, processing such data using multi-dimensional system model results in there being a multidimensional problem space of massive extent (possibly as many as IO5,000 combinations), and unsuited to being computing using conventional known analytical methods.
It will be appreciated, in respect of contemporary clinical practice, in a polypharmaceutical therapy situation, that only a sub-set of combinations of
Ί” various drugs in each given class will be suitable (namely valid) for a specific
1— given patient, while other combinations of the various drugs will be unsuitable 1 (namely invalid) for the specific given patient due to the other combinations presenting an unacceptable risk of interaction or side-effect (namely constraints). Moreover, it is found in practice that a human clinician is unable to evaluate fully all potentially harmful interactions that might occur for each given patient, especially if the human clinician has only seen the given patient or a consultation of a duration of only a few minutes. There therefore arises a need, that is addressed by embodiments of the present disclosure, for clinical decision support tools to enable the human clinician to select interactively only the valid combinations of drugs from within various classes of medicine, namely avoiding those combinations of drugs that either will not work for the specific given patient or which will pose the specific given patient a potential risk.
From the foregoing, it will be appreciated that it is highly desirable to be able to handle constraint problems in complex medical systems in order to provide complete and correct advice/recommendations almost instantaneously, even using software-based support provided from handheld or wearable devices. In general applications, the complex medical systems have associated therewith variables that include multiple data types on finite domains (for example, multi- 17 valued logic, integers, classes or finite sets of intervals), representing, for example, clinical measurements or different diagnoses.
Increasingly, in mobile health (namely mHealth) applications, wearable, smartphone, home-based IoT and even ingestible sensors are providing continuous data feeds for monitoring changing physiological parameters and behaviours of a given individual, with an intention that the data feeds are to be used with other data for providing advanced diagnostic and for monitoring/alerting purposes.
Embodiments of the present disclosure seek to provide practical useful apparatus, for example compact portable apparatus including data processing arrangements that are operable to execute software products that are able to provide solutions to medical problems, without resulting in a combinatorial explosion that results when multi-dimensional tasks are being addressed. As it will be understood from the following description, embodiments of the present disclosure employ an advantageous form of data representation, in the following termed as an array system model. While the array system model is an optimal tool for complex constraint problems described in the foregoing, it will be appreciated that embodiments of the present disclosure are not limited to addressing medical-related problems; for example, embodiments of the present disclosure can be used in safety critical power stations (for example, nuclear power plant, arrays of wind turbines, arrays of ocean wave energy converters and so forth), for supervising oil well equipment, for chemical plant, for airborne radar systems, for railway network management, for automatic driverless vehicle systems, and similar.
Thus, embodiments of the present disclosure concern a method of generating a system model useful for interrogating and/or configuring and/or optimizing and/or verifying a logical system spanned by variables on finite domains and/or intervals, wherein the method comprises:
(i) generating and storing, in a memory or a storage medium of a computer and/or distributed on a plurality of computers, an addressable solution space for a set of external variables, wherein the solution space is expressed in terms of all valid Cartesian sub-spaces of states or combinations for the set of external variables with interconnected valid
- 18 Cartesian sub-spaces being addressable as valid combinations of indices of link variables and/or core link variables; and (ii) arranging for the solution space to satisfy a conjunction of all, or substantially all, relations of the set of external variables, in order to establish a system model in which all, or substantially all, valid solutions are stored as nested relations.
Aforementioned embodiments of the present disclosure are operable to perform the computations and real-time inferencing on mobile data processing hardware, thereby offering a further significant data security advantage in applications wherein data security is an operative concern. In digital health applications for instance, an aggregation of a large number of patient electronic health records on a central server creates an attractive target for hackers seeking to steal sensitive personal data. By enabling, for embodiments of the present disclosure, such analyses to be performed solely on a given clinician's or patient's own mobile computing devices, a risk of sophisticated hacking attacks is potentially considerably mitigated.
In embodiments of the present disclosure, there are encountered raw data feeds that are complex and multi-dimensional. However, there arises a need to transform such complex and multi-dimensional raw data feeds into transformed to useful actionable insight, wherein real-time inferencing is required to be performed and personalized, and wherein there is generated context-specific recommendations or advice. In practice, for embodiments of the present disclosure, there are distinct advantages to being able to compute across such raw data on data collection hardware itself that generates the raw data in operation (for example, a smartwatch, a mobile phone or a remote sensing platform), as such a manner of operation negates requirements for large data transfers that are a potential target of data interception; moreover, such large data transfers potentially consume expensive resources in terms of both network bandwidth and power on small, battery powered mobile devices.
Embodiments of the present disclosure are operable to employ, for their variables and constraints, a semantically normalized knowledge graph (namely, 'knowledge graph'}, such as, for example, disclosed in United States patent documents US 7, 493, 333 and US 7, 496, 593. Moreover, such knowledge graphs are beneficially used in the embodiments to represent all available
- 19 information from a variety of public and other data sources about variables, relationships and constraints operating on a given complex system, for example pertaining to an effect of drugs of a specific class on various systems and metabolic pathways in a human or animal body.
Such knowledge graphs are optionally based on a master multi-relational ontology, which includes a plurality of individual assertions, wherein an individual assertion comprises a first concept, a second concept, and a relationship between the first concept and the second concept, wherein at least one concept in a first assertion of the plurality of individual assertions is a concept in at least a second assertion of the plurality of assertions, for example:
(i) an assertion that 'Fosinopril is an ACE inhibitor'·, and (ii) an assertion that 'Fosinopril is used for the treatment of hypertension'.
h^-15
For each pair of related concepts, there is beneficially a broad set of descriptive relationships connecting the related concepts, for example expressed in a logical and/or probabilistic as well as linguistic manner. As each concept within each pair is potentially paired (and thus related by multiple descriptive relationships) with other concepts within a given ontology, a complex set of logical connections is formed. A corresponding superset of these connections provides a comprehensive knowledge graph describing what is known directly and indirectly about an entirety of concepts within a single domain. The knowledge graph is also optionally used to represent knowledge between and among multiple domains and derived from multiple original sources.
In another beneficial embodiment of the present disclosure, a semantic distance or relatedness of concepts in a specific context is calculated, namely computed, using methods analogous to those described in a published United States patent document US 7, 225, 183 and in a scientific publication 'Reflective Random Indexing and indirect inference: A scalable method for discovery of implicit connections', Journal of Biomedical Informatics 43 (2010) pp 240-256. Such probabilistic semantic distance metrics are susceptible to being represented as relationships between two concepts in the semantically normalized knowledge graph and used to determine the degree of connectedness of concepts above, below or between selected thresholds in a context of a specific domain or corpus.
-20 In these aforementioned embodiments of the present disclosure, the specification of a given subset of the knowledge graph to be derived for an array system model optionally includes a selection of two or more concepts or types of concepts from the plurality of assertions of a master multi-relational ontology, applying one or more queries to the two or more concepts or concept types to yield a subset of individual assertions from the plurality of assertions, wherein the queries identify one or more individual assertions from the plurality of individual assertions of the master multi-relational ontology that connect, directly or indirectly, the two or more concepts. In a context of complex domains such as healthcare examples described in the foregoing, such derived knowledge graphs potentially contain millions of concepts, each of which has multiple properties (namely, variables) with multiple potential values, and each of which may have up to tens of thousands of direct or derived logical constraints.
In describing embodiments of the present disclosure, a term logical system is 15 used to mean a complete system, alternatively a sub-system that is a part of a larger system. When used to refer to a sub-system, variables associated with other sub-systems are treated as being external variables.
In embodiments of the present disclosure, all invalid states or combinations violating constraints of a given system are excluded from relations that are employed in operation. Such exclusion of invalid states or combinations is beneficially performed when a system model is generated by a method pursuant to the present disclosure; in other words, in embodiments of the present disclosure, the invalid states or combinations are excluded from computations whenever identified to enable more rapid computation of useful results to be achieved. In practice, a state of contradiction or inconsistency is present in a system if just one relation of the system has no valid combination or state. Conversely, a system is regarded as being consistent if at least one state or combination of states is valid; namely, one state or a combination of states satisfies all system constraints. If, when generating a given system model, just one relation of a system is found to have no valid combination or state, then that whole system is in a state of contradiction or inconsistency and is excluded for achieving enhanced computational efficiency.
In the following, a process of colligating relations (that is, combining relations to arrive at a more complex sub-system or system) is elucidated in detail. It will be
-21 appreciated that on each level of a process of colligation, inconsistencies or contradictions are identified in embodiments of the present disclosure, and will, thus, result in exclusion of the colligated sub-system or system. Thus, when a generating process has been completed in embodiments of the present disclosure, the system will be consistent, as manifested by all relations having at least one valid Cartesian sub-space.
In the present disclosure, a term system is used to refer to an entire system of variables or, alternatively, to a part of an entire system of variables, for example as aforementioned. With reference to a specific application (for example healthcare), a system provides a representation of a complete set of available domain knowledge upon which real-time reasoning or inferencing can be performed using embodiments of the present disclosure to provide useful, actionable controls, insights and recommendations using decision support tools incorporating an array system model (for example for selecting a best available therapy for a specific patient at a point of care). There is thereby provided an interaction between an array system model and an environment that is carried out by a state vector representing states of all variables involved, including
1— physical measurements as well as decision parameters. Thus, in example 1 embodiments of the present disclosure, variables involved can include sensor signals acquired using physical sensors, and decision parameters can be outputs that are used to control operating states of various apparatus, for example in a hospital, in an industrial plant, in a vehicle, in an energy power plant, and so forth.
In embodiments of the present disclosure, a given system is completely defined in that every combination under the system is either valid or invalid with respect to all system constraints relevant to the use of the system model and preferably with respect to absolutely all system constraints. Thus the term 'system', used about an entire system of variables, indicates that the entire system is completely defined with respect to all system constraints relevant to the use of the system model, and optionally with respect to absolutely all system constraints. When a system of variables is not completely defined in the above sense of this term, then only that part of the system which is in fact completely defined is covered by the term system pursuant to the present disclosure. The term substantially indicates a system in which the process of colligation has not been completed, and where the runtime environment must be adapted to
-22 perform certain tests for consistency; for example, substantially all refers to at least 90%, more optionally at least 95%, and most optionally at least 99%.
As aforementioned, the system constraints are optionally determined by conjugating one or more relations, wherein each relation represents valid
Cartesian sub-spaces of states or combinations on a given subset of variables. The conjugation of the one or more relations comprises calculating Cartesian sub-spaces satisfying the combined constraints of the one or more relations. If no relations have common variables, no further action is required to conjugate the relations in embodiments of the present disclosure.
io According to an important optional feature of the invention, all relations with at least one common variable are colligated. The colligation comprises conjugating the constraints of two or more relations that are connected by having common variables therebetween to establish one or more Cartesian sub-spaces satisfying the combined constraints of the two or more relations. In embodiments of the present disclosure, the colligation of two or more relations will normally be __ performed by joining the two or more relations up to a predetermined limit. Such joining comprises an operation of replacing a set of relations with a single relation satisfying combined constraints of the set.
The set of relations is not limited to two relations, but can in general be any ^^20 finite number of relations. In an example embodiment of the present disclosure, a case where three or more relations are joined is typically decomposed into a number of pairwise joins; this pairwise joining optionally comprises a predetermined strategy or this pairwise joining is optionally in a random order.
Moreover, the joining process will typically reduce the number of relations, and the result will be one or more relations with common link variables. Moreover, the linking of the relations consists of adding link variables and adding one or more calculated relations representing the constraints on the link variables.
In an example embodiment of the present disclosure, any relation with nonconnecting as well as connecting variables is extended by adding a unique link variable with a unique index identifying each valid Cartesian sub-space on either the non-connecting or connecting variables. In such situations, it is often advantageous to split a given relation into two relations, wherein one relation pertains to the non-connecting variables and the link variable, and the other relation pertains to the connecting variables and the link variable.
-23 In relation to embodiments of the present disclosure, a term completeness of deduction indicates that all logical consequences are required to be deduced for one or more variables. Moreover, in example embodiments of the present disclosure, the completeness of deduction relates to all logical consequences on all variables, but as indicated above, the embodiments of the present disclosure are not limited to computing all logical consequences.
When the colligation process is completed, the relations for isolated variables are optionally split into a plurality of smaller interconnected relations with the isolated variables in expanded form (namely tuples). Such a representation is potentially more compact than compressed Cartesian arguments, and will make it possible to associate object functions to each single combination of the defining variables.
When the array system model is to be used for optimization or learning, one or more object functions, for example pricing functions, are optionally incorporated into the array system model. An object function of a given subset of variables, wherein the object function derives characteristics of a given subset of variables, and is linked to a complete solution space by deducing constraints imposed by the object function on each link variable connected to the given subset of variables. After the array system model has been generated by a method pursuant to the present disclosure, object functions can provide information between a set of variables and a set of object function values, for example cost, price, risk or weight.
As an example in healthcare, given a patient's set of co-morbidities and coprescriptions, it is potentially contemporarily not possible to select a drug for a particular disease from any of available options that does not present some significant risk of interactions or side-effects arising. In such a case, it is necessary to choose a best available drug, which reduces, for example minimizes, a likelihood and/or severity of any of these potential interactions or side-effects. Such reduction, for example minimization, can be achieved by accepting a partially incomplete deduction (with, for example, a single invalid variable), and then using object functions as described below to evaluate and optimize the likely outcomes, such as potential patient benefit, treatment cost and side-effect risk.
-24 If a set of object function values does not have a natural order, in contrast, for example with numbers, an arbitrary order can be assigned to the set of object function values.
Characteristics of the object function are susceptible to being determined; 5 moreover, constraints on the link variables deduced on each combination of the given variables can be determined, wherein the result is represented as a relation on the object function, the given variables, and the link variables. These characteristics are optionally values of the object function given by functional mapping of a set of independent variables or a set of constrained variables. The mapping can also be a general relation yielding one or more object function values for each combination of the variables.
Embodiments of the present disclosure provide a method of interrogating and/or configuring and/or optimizing and/or verifying and/or controlling a system spanned by variables on finite domains, wherein the method comprises:
(i) providing an array system model in which substantially all valid solutions in the system are stored as nested arrays representing valid Cartesian subspaces on all external variables, with all interconnected valid Cartesian subspaces being addressable as valid combinations of indices of link variables; and (ii) deducing any sub-space, corresponding to an input statement and/or query, of states or combinations spanned by one or more variables of the system represented by the nested arrays by deriving the consequences of a statement and/or a query by applying the constraints defined by the statement and/or query to the system model.
In respect of embodiments of the disclosure, deducing means deriving or determining logical inferences or conclusions, for example all inferences or conclusions, from a given set of premises, namely all the system constraints.
In respect of embodiments of the disclosure, a query means a question for which an array system model is operable to provide answers, for example all answers. An example question concerns one or more valid combinations of a given set of variables satisfying the system constraints and, optionally, also satisfying an external statement; an external statement concerns, for example, which antihypertensive medication can be given safely to a specific patient who already has a given set of co-morbidities and co-prescriptions.
-25 An external statement can be a number of asserted and/or measured states and/or constraints from the environment. Moreover, a deduction of any subspace of states or combinations is performed on a given subset of one or more variables either without or colligated with asserted and/or measured states and/or constraints from the environment.
An interaction between the system represented by the array system model and the environment is suitably performed by means of a state vector (SV) representing all valid states or values of each variable.
Thus, an input state vector (SV1) is employed to represent the asserted and/or io measured states from the environment, such as for example, the set of a patient's co-morbidities and co-prescriptions as described in the foregoing, or a set of clinical parameters measured in real-time by sensors of a wearable device, whereas an output state vector (SV2) is used to represented one or more deduced consequences on each variable of the entire system when the constraints of SV1 are colligated with all system constraints in the array system __ model, such as, for example, whether a potential new medication is valid or invalid for a given patient.
1 In a preferred embodiment of the present disclosure, each invalid variable is either discarded from the environment (SV1) or deduced as a consequence ^^20 (SV2). Furthermore, optionally, variables defined as output variables are allowed to change a state without causing a contradiction. Moreover, a deduction is optionally performed by consulting one or more relations and/or one or more object functions at a time by colligating a given subset of variables in a relation with given subsets of states in a state vector and then there is deduced therefrom possible states of each variable.
A consultation of a relation is beneficially performed by colligating, for example joining, the relation and states of variables present in the relation. The consultation provides a result that can be a projection (namely, union of all elements) on each variable of the colligated relation, or the result can be the colligated relation. The colligation is optionally a joining, but it will be appreciated that the consultation of each relation is not limited thereto. In an example embodiment of the present disclosure, two or more variables are colligated in parallel; projections on two or more variables are similarly performed in parallel. However, it will be appreciated that embodiments of the present disclosure are
-26 not limited to such parallel implementation, and the embodiments are optionally susceptible to being implemented sequentially.
In an example embodiment of the present disclosure, a completeness of deduction is obtained by consulting connected relations, until no further consequences can be deduced on any link variable. Such an operation is termed state propagation. Moreover, such a state propagation comprises consulting two or more relations in parallel, namely concurrently.
The parallel execution of the state propagation can be implemented in one or more GPUs (Graphics Processing Units) or hardware designed for such parallel io execution. The interaction between the array system model and the environment by the state vector can be carried out by simple operations that are suitable for a hardware implementation on devices such as embedded control systems,
Internet of Things (IoT) sensors or Field Programmable Gate Arrays (FPGAs).
An important feature of configurations and/or optimizations employed in embodiments of the present disclosure is that states of contradiction can be Ί” identified, namely when no valid states or values are deduced when consulting, 1— namely investigating or checking, at least one relation.
In the following, a more detailed description of a manner of operation of embodiments of the present disclosure will be described.
The array system model (referred to as ASM in the following) is a compact and complete representation of all valid combinations and associated object functions of constraint problems on finite domains or intervals. The ASM is used to represent a person, an apparatus, a facility, a factory or similar system. The solution space of valid states or combinations is beneficially represented geometrically in terms of nested data arrays, and the ASM is simulated very efficiently in operation by simple operations on these arrays using CPUs (central processing units), GPUs (graphics processing units) or hardware devices designed for this specific use.
Major data flows required for performing ASM modelling are summarized in
Error! Reference source not found.. The major data flows include input data, for example a user-defined specification of system constraints in terms of a set of rules or relations pertaining to a given set of variables. Thus, the ASM modelling is implemented in a four-step procedure as shown in Error!
-11 Reference source not found., wherein the four-step procedure includes STEP 1 to STEP 4 as follows:
STEP 1: Compile variables and relations
Each user-defined variable and each relation is compiled into the internal 5 array representation. At this stage STEP 1, the relations are considered as independent items.
STEP 2: Colligate relations, verification of system
The solution space of the entire system is determined by colligating interconnected relations (constraint elimination). The system is io simultaneously tested for logical consistency and redundancy.
Embodiments of the present disclosure relate inter alia to a more efficient colligation strategy.
STEP 3: Minimize and link complete solution space
The complete solution space can be, for example, minimized and restructured in order to meet requirements in a runtime environment. Examples include: minimizing memory footprint to enable operation on a wearable device; splitting the array system model into multiple instances for parallel processing hardware; adding object functions on combinations of selected variables; and adding dynamic constraints in terms of relations as well as states to enable real-time response to signals from IoT or wearable sensors.
Step 4: Link object functions
Optionally, the relations may be extended with further attributes, when the valid combinations satisfying the system constraints are associated with values or object functions to be optimized or used for specific applications, such as, for example, a price or soft constraints such as side-effect risk and severity with further values than just true or false.
At this stage, the process of ASM modelling is finished. The entire solution space is now susceptible to being addressed by coordinate indexing and other simple operations on the nested arrays.
-28 A run-time application of the ASM is shown in Error! Reference source not found.. Each item of a state vector SV represents the state (namely the valid values) of an associated variable. For example, in respect of the input state vector SV1, one or more variables are bounded due to external measurements or assertions. Moreover, the input state vector SV2 represents the resulting constraints on all variables. The properties of the ASM are summarized as follows:
(i) run-time execution on the ASM is performed with completeness of deduction in real-time, namely with predictable use of processing time and memory. The ASM technology is therefore suitable for embedded decision support or control systems on small computer devices: and (ii) the ASM representation is compact and complete. Embedded applications of embodiments of the present disclosure are required to fulfil all requirements for compactness, completeness and real-time capability with limited computing resources, even on large system models.
Ί— SIMPLE COLLIGATION STRATEGY (ADB)
Optionally, a generation of the ASM technology (to be abbreviated to ADB in the following) is based on a simple colligation strategy by pairwise joins of relations and then linking isolated variables whenever possible.
To illustrate a simple colligation strategy, there is considered a very simple constraint example with six Boolean variables (A, B, C, D, E, F) and five relations (R0, Rl, R2, R3, R4):
It will be appreciated from the foregoing, that the relations are operable to share variables. Moreover, the colligation graph (see FIG. 3) is an illustration of a structure of interconnected relations, wherein nodes represent relations and arcs represent common variables of two of the relations.
-29 A first colligation step is to compile each relation, namely to determine valid combinations of each relation:
RO
R1
R2
R3
R4
| A | B | c | D |
| 0 | 0 | 0 | 0 |
| 0 1 | 0 1 | 0 1 | 1 |
| 0 1 | 0 1 | 1 | 0 |
| c | E |
| 0 | 0 1 |
| 1 | 1 |
| D | E |
| 0 | 0 1 |
| 1 | 1 |
| A | B | c |
| 0 1 | 0 1 | 0 |
| 0 1 | 0 | 1 |
| 0 | 1 | 1 |
| E | F |
| 0 | 1 |
| 1 | 0 |
It will be appreciated that all invalid combinations are eliminated from each relation. Moreover, the valid combinations are expressed in terms of Cartesian sub-spaces; however, it will be appreciated that other coordinate spatial reference frames can be optionally employed for implementing embodiments of the present disclosure. For example, the relation RO counts three Cartesian sub25 spaces representing 13 valid combinations, while the three invalid combinations are eliminated. There is a logical AND between the variables in each row, and a logical OR between the rows (disjunctive normal form). Thus, the first row is (not A) and (not B) and (not C) and (not D), and the logical interpretation of the entire table is:
((not A) and (not B) and (not C) and (not D)) OR (D) OR (C and (not D))A second colligation step is to colligate the relations to determine the solution
-30 space of the conjunction of all relations. In this small example, it is possible to join all relations into a single relation with 12 valid combinations, as follows:
| A | B | c | D | E | F |
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 1 | 0 1 | 0 | 1 | 1 | 0 |
| 0 1 | 0 | 1 | 0 1 | 1 | 0 |
| 0 | 1 | 1 | 0 1 | 1 | 0 |
Since all user-defined variables (A, B, ..., F) are isolated in a single relation, the colligation process is thereby completed. However, it will be appreciated that this is a special case of an array system model with just a single relation. It is now possible to perform inference processing by simple array operations. For example, the derived relation (D, F) is deduced by a simple projection eliminating the other variables, all of which are considered interim variables:
| D | F |
| 0 | 1 |
| 0 | 0 |
| 1 | 0 |
1 0
This relation can be compressed into a more compact array representation with 0 1 0 just two Cartesian sub-spaces:
| D | F |
| 0 | 0 1 |
| 1 | 0 |
This derived relation is the truth-table of the propositional function not (D and F). Thus, it is thereby concluded that D and F are never permitted at the same time.
-31 The state vector is the important link between the compiled (colligated) array system model and the environment. For example, assuming that a following state vector pertains, representing A is true; the other variables are unknown:
| A | B | c | D | E | F |
| 1 | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 |
The output state vector is deduced by consulting the complete solution space, in this case represented by a single relation. Since A is bound to true (value 1), three Cartesian sub-spaces are now invalid (marked in bold and underlined text), io while two arguments are valid:
11 17
| A | B | c | D | E | F |
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 1 | 1 | 0 |
| 0 | 1 | 1 | 0 1 | 1 | 0 |
The state of each variable is deduced by computing the union of elements from the two valid Cartesian sub-spaces (shown as bold and underlined text):
| A | B | c | D | E | F | |
| 1 | 0 1 | 0 1 | 0 1 | 1 | 0 |
Assuming the Boolean variable A = l, it is thereby concluded that the Boolean variable E=1 and F=0, whereas the Boolean variable B, C, D = 0 or 1 (namely, a tautology).
In general, the colligation process is carried out by pairwise joins of the relations, and after each join isolated variables are separated (assuming at least two isolated variables) into new relations connected by common link variables
-32 representing the valid Cartesian sub-spaces. Thus, on the current example the colligation process can be executed by the following steps:
Step 1: Join relations R.0 and R.3 and isolate variables:
Joining the relations R.0 and R.3 yields the following relation:
| A | B | c | D |
| 0 | 0 | 0 | 0 |
| 0 1 | 0 1 | 0 | 1 |
| 0 1 | 0 | 1 | 0 1 |
| 0 | 1 | 1 | 0 1 |
11 17
On account of the variables A and B now being isolated, it is feasible to split the (A, B, C, D)-relation into the (A, B)-relation (to be stored for the final output) and the (C, D)-relation linked by a common link variable (LinkO) representing the indices of the Cartesian subspaces of the (A, B)-relation yet to be colligated:
| A | B | LinkO |
| 0 | 0 | 0 |
| 0 1 | 0 1 | 1 |
| 0 1 | 0 | 2 |
| 0 | 1 | 3 |
| C | D | LinkO |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 1 | 2 3 |
Step 2: Join relations R.1 and R.2:
The joined result is the following (C, D, E)-relation:
| C | D | E |
| 0 | 0 | 0 |
| 0 1 | 0 1 | 1 |
-33 In this case, no variables are isolated and all variables are then kept for a next join.
Step 3: Join relations (C, D, LinkO) and (C, D, E) and then isolate variables (C,
D, LinkO):
These two relations are determined, namely computed, in the previous steps 1 and 2 above, and their corresponding joined result is:
| c | D | E | LinkO |
| 0 | 0 | 0 1 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 1 | 1 | 2 3 |
11 17
On account of the variables C, D and LinkO are now isolated, there is then employed a step of splitting the relation using new link variable Linkl:
| C | D | LinkO | Linkl |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 1 | 2 3 | 2 |
| E | Linkl |
| 0 1 | 0 |
| 1 | 1 2 |
-34 Step 4: Join relations R.4 and (E, Linkl):
A final join yields a relation (E, F, Linkl). Thus, summing up, a complete 5 corresponding solution space is represented by three following relations:
| A | B | LinkO |
| 0 | 0 | 0 |
| 0 1 | 0 1 | 1 |
| 0 1 | 0 | 2 |
| 0 | 1 | 3 |
| c | D | LinkO | Linkl |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 1 | 2 3 | 2 |
| E | F | Linkl |
| 0 | 1 | 0 |
| 1 | 0 | 0 1 2 |
This is an array system model with three interconnected relations; the colligation graph in FIG. 13 is relevant to this array system model.
1— The state vector is deduced by consulting one relation at a time, until no further ^”15 constraints are added to each variable (state propagation). For example, assuming A is true, the relation (A, B, LinkO) yields a following output state vector:
| A | B | LinkO |
| 1 | 0 1 | 12 |
Since the link variable LinkO is now constrained (elements 0 and 3 are invalid and thus eliminated from LinkO), the relation (C, D, LinkO, Linkl) is consulted yielding a following output state vector:
| c | D | LinkO | Linkl |
| 0 1 | 0 1 | 1 2 | 12 |
Finally, the relation (E, F, Linkl) is then consulted to deduce a consequences of Linkl bound to the values 1, 2:
| E | F | Linkl |
| 1 | 0 | 1 2 |
-35 Thus, the state propagation on the tree structure of interconnected relations (by the valid states of the common link variables) ensures completeness of a given deduction; in other words, all constraints on all variables are deduced in embodiments of the present disclosure.
It will be appreciated that a completeness of deduction is not possible by state propagation on the array representation of the user-defined relations RO, Rl, R2, R3, R4. For example, when asserting A true on the relation RO, it is not possible to deduce further constraints on variable D. Thus, there arises a need to colligate all interconnected relations in advance, even on such a very simple cyclic structure with only a single variable connecting each relation pair.
The simple colligation strategy (namely ADB) technology described in the following is susceptible to being summarized as follows:
1. A given process of joining relations with common variables and linking isolated relations on isolated variables is potentially impossible to implement in practice on large sets of relations due to a possible blow-up in size of a corresponding joined result (namely, is computationally impossible
1— to achieve in practice using contemporary computing hardware). Such 1 requirement for huge computational resources is an insurmountable and constant issue arising on account of a complexity of rules in a range of ^^20 practical technical fields of use of intelligent data processing systems in fields such as healthcare and life sciences.
2. If the process of joining relations can be completed, a binary output that is thereby achieved does satisfy a requirement for completeness, but does not satisfy other requirements for embedded solutions, namely:
a. A representation thereby derived will not be as compact as possible, and potentially must be reduced in size, for example minimized in size, to meet specific hardware requirements for achieving size and real-time capability.
b. A complete solution space will not necessarily be accessible by parallel processing hardware using simple instructions, for example using GPUs.
c. The complete solution space must be addressable in order to include object functions. A compressed data format (namely, nested Cartesian arguments) is not a suitable representation for variables
-36 defining an object function; relations for these variables are beneficially in an expanded form representing all valid tuples rather than Cartesian arguments.
d. Relations without any constraints (tautologies) are potentially also a 5 part of static constraints of a system model interacting with dynamic constraints from an environment.
The array system model (ASM) that is described in the following paragraphs meets all these requirements (a) to (d) and thus represents a technically advanced embodiment of the present disclosure.
COLLIGATION STRATEGY FOR VARIABLE GROUPS
A process of colligation pursuant to an embodiment of the present disclosure is illustrated in FIG. 4. Initially, relations are joined and compressed pairwise using an approach as described in published patent documents WO 09948031A1 and WO 2001022278A1 (namely, as per Step 1 in the foregoing). Isolated variables (only present in a single relation) are separated and linked into new relations. A trivial case is to join all relations into a single relation (suitable for small problems) or the tree structure of connected relations with isolated variables (suitable for larger problems), and the colligation is thus thereby completed.
On large problems, it is not potentially feasible to join all relations due to the size of the joined result. It is thereby beneficial to introduce the colligation of relations on selected variable groups; this is illustrated in FIG. 4, Step 2.
In order to elucidate embodiments of the present disclosure in further detail, an example will be described with reference to FIG. 6. After employing an initial joining and linking process, there are thereafter three relations (shown as boxes in bold) that are yet to be joined. These three relations have following variables, most of which are shared (the relations are linked to previously isolated relations by link variables 70, 71 and 72):
|1 2 3 4 5 22 37 50 70|1 2 3 4 5 6 11 26 37 42 44 47 50 71|1 2 3
I-----------J------------------J---5 6 11 22 26 42 44 47 72
-2>Ί The number of Cartesian arguments in the three relations is very large, and it is not possible to join the relations. It is therefore necessary to colligate in respect of groups of variables shared by same given relations. A corresponding workflow for such colligation is illustrated in FIG. 5, wherein the workflow will be elucidated in greater detail below.
Step 1: Determine distinct variable groups shared by two or more relations (FIG.
and FIG. 7)
In a step 1, all variables are grouped that are shared by same relations. In FIG.
7, there is provided an illustration of the structure of three relations to be joined, io There are four different collections of variables, namely (1 2 3 5 22), (1 2 3 5), (4 37 50) and (6 11 26 42 44 47). An aim in the step 1 is to find distinct groups (namely, with no overlap), and therefore there is performed a merging of the small group (1 2 3 5) into the larger one (1 2 3 5 22). Such merging provides result in a form of three distinct variable groups:
,-,-,-, _ |l 2 3 5 22 I 4 37 50|6 11 26 42 44 47 | '20
Step 2: Split relations on each variable group (FIG. 7)
As shown in FIG. 7, all three relations share the variable group (1 2 3 5 22). There is made a copy of the relations on these variables and the associated link variables 70, 71, 72, as follows:
|1 2 3 5 22 70|1 235 71|1 2 3 5 22 72| 1--------1------L-------1
Step 3 and 4: Join and link relations on each variable group (FIG. 7 and FIG. 8)
Joining the relations on the variable group (1 2 3 5 22) yields a relation with the following variables: (1 2 3 5 22 70 71 72). Next, the variable group is isolated, and there is thereafter added a new link variable (LinkO) indexing each Cartesian argument of (1 2 3 5 22). There is thereby generated a result that a relation with following variables:
(1 2 3 5 22 70 71 72 LinkO)
-38 Similarly, the result after joining and linking the relations on the other two variable groups are the relations (4 37 50 70 71 Linkl) and (6 11 26 42 44 47
72 Link2), respectively.
Step 5: Substitute variable groups in original relations with the associated link variables (Fig. 8)
To illustrate, the relation (1 2 3 5 22 70 71 72 LinkO) defines the relationship between variables (70 LinkO). There is then determined the values of LinkO for each index (argument) of variable 70 and the variables (1 2 3 5 22) removed from the original relations.
io Step 6: Colligate relations on link variables (Fig. 8 and Fig. 9)
As shown in FIG. 8, the original relations are now defined on the link variables of isolated relations:
(LinkO Linkl 70) (LinkO Linkl Link2 71) ^15 (LinkO Link2 72) __ These results are also colligated by join and, if possible, to isolate variables. __ Assuming that it is required to join to provide a single relation, there is thereby provided a relation shown in FIG. 9:
(-} (LinkO Linkl Link2 70 71 72)
MINIMIZE AND LINK COMPLETE SOLUTION SPACE
Further, with reference to FIG. 1, there is thereby now completed the colligation process yielding a complete solution space. All invalid combinations are eliminated (with a state of contradiction as a special case). A final task is to prepare a model for embedded applications, namely to seek to minimize a size of the binary file (to achieve compactness) and to optimize a run-time performance in respect of specific hardware, whether with or without parallel processing capabilities, for example multi-core GPUs are susceptible of providing parallel processing functionality.
A workflow is shown in FIG. 10, wherein each individual relation is potentially split into more relations in two different ways, depending upon a size of an output to be generated and upon whether or not there is use made of parallel processing hardware.
-39 Option 1: Split core relation into pairs and split model for parallel processing
A workflow for option 1 in shown in FIG. 11. A given relation is extended with a link variable (LINK) indexing the Cartesian arguments (in a compressed form) or tuples (in an expanded form) of the given relation with variables VAR1, VAR2, ...,
VARn. The given relation is then split into n derived relations on (VAR1, LINK), (VAR2, LINK), ..., (VARn,LINK), respectively; n is an integer of value 2 or greater (namely, a plurality).
Such a method will always be used on a core relation of a complete array system model, whenever the model is to be split and distributed for parallel processing, io To illustrate, there is used an array system model as illustrated in FIG. 13. The core relation (namely, a root of the tree) is a relation on variables (70, 71, 72,
73, 74, 75, 76), wherein a variable 76 is a new link variable (LINK), while all the other variables are link variables generated in a previous colligation process.
In FIG. 14, there is illustrated the core relation split into its corresponding
1^15 relation pairs (70 76), (71 76), (72 76), (73 76), (74 76) and (75 76). It is thereby feasible to split the entire array system model into 6 (or less) sub1— models distributed upon 6 hardware cores. In a runtime environment, it is 1 thereby feasible to ensure completeness of deduction by a simple state propagation of a state vector with the variable 76 linking the distinct cores ^^20 together.
Option 2: Split relation into tree structure of interconnected relations
A workflow is shown in FIG. 12, whereas, in FIG. 15, there is illustrated how the original relation (6,11,26,42,44,47,75) is split into a tree structure of relations (represented in bold boxes). There is employed a method as follows:
Step 1: Find smallest derived relation on N variables, for example N = 2 on variables VAR1, VAR2
In the present example, in the Step 1, the smallest number of Cartesian arguments (or, alternatively, tuples in expanded form) is on the variables (6, 26).
-40 Step 2, 3: Add new link variable and isolate relation
In the Steps 2 and 3, the relation on variables (6, 26) is extended with a link variable 78 and then isolated (namely stored) for the binary output file.
Step 4: Update relation R: remove VAR.1, VAR.2 and substitute with link variable
In the present example, the original relation (6,11,26,42,44,47,75) now has the following variables: (11,42,44,47,75,78). On the method, the aforementioned Steps 1-4 of the method are executed recursively to yield a following list of relations: (11,78,79), (42,47,80), (44,79,81) and finally a relation (75,80,81), which is not split (namely, representing a root of the aforementioned tree).
BUILDING DECISION SUPPORT SYSTEMS USING EMBODIMENS OF THE PRESENT DISCLOSURE
An example application of embodiments of the present disclosure is to develop a personalised decision support system that is delivered by using a mobile telephone software application (namely mobile app) that can be used in-store or at home to help individuals to identify and choose foods, that help optimise their lifestyle to be more healthy, given their combination of clinical diagnoses and prescriptions, food sensitivities, health goals and disease risks; as such, when employed in such a manner, embodiments of the present disclosure are not employed in a manner of a method of treatment of the human or animal body. This will help individuals become more informed and engaged in managing their health and contribute to reducing the societal impact of chronic diseases.
A contemporary HealthySwaps project involves gathering a large amount of publicly available and clinically/scientifically validated source data and constructing from this an Array System Model that can be loaded onto a mobile device and used (via a runtime API running on the mobile device) to provide personalised decision support recommendations and advice to users either in store, when shopping on-line or at home. The construction of the Array System Model and Decision Support Application is a multi-stage process involving the following steps:
Step 1 - Mining of Source Data and Semantic Normalization
Step 2 - Compilation & Validation of Array System Model
-41 Step 3 - Accessing Array System Model on mobile/wearable device via Runtime API using the User's Input State Vector
MINING OF SOURCE DATA AND SEMANTIC NORMALIZATION
A starting point for developing a predictive Array System Model based on an 5 understanding of a combinatorial effect of a given user's set of drugs, diseases and diet is a list of their known (reported) direct interactions. This is however only a first-order list of interactions, and to enable inferences about the combinatorial effects to be made, the interactions have to be mapped onto a semantically normalised set of receptors, organs and other systems and io pathways in the body, so that cumulative inhibitory and excitatory interactions can be predicted.
Information describing all known serious and/or moderate interactions between drugs and other drugs, diseases and foods is required to be disclosed publicly. These are reported and reproduced in patient and professional warning labels and inserts including in drug packaging, from which an extract describing known drug:food interactions is shown in FIG. 27. Such information is required as input
1— data in embodiments of the present disclosure.
In addition to the formal reporting of these interactions (managed by regulatory agencies such as FDA, EMEA and MHRA, and so forth), and collections such as the Electronic Medicines Compendium, drugs.com and DrugBank, there are more anecdotal sources of interaction information including the AERS (Adverse Event Reporting System); such names include trademarks.
In one embodiment of the present disclosure, over ten (10) of these 'definitive' drug interaction data sources from different countries are integrated and semantically normalised to identify all potential drug-disease-food interactions, their basic mechanisms of action and sites of action in receptors, organs and systems across the human or animal body (as far as they are known and/or reported) as shown in FIG. 17. In total, information pertaining to over 500,000 interactions associated with over 8,500 drugs (including generic drugs and prescription/trade names) are integrated and extracted from drugs' patient information labels, black box warnings and professional clinician prescription advisories. In total, in an order of 136,784 drug-disease interactions are beneficially collected. Since a same given drug exists under many proprietary
-42 market names (for example acetylsalicylic acid is sold as: Bayer Aspirin, Bayer
Children's Aspirin, Bufferin, Easprin, Ecotrin, and so forth, wherein these names include trademarks), the initial database is beneficially semantically normalised in respect of an active pharmaceutical ingredient, down to a detail on a knowledge graph containing 9,526 drug-disease interactions representing interactions of 2,545 drugs' active ingredients.
Natural language processing, semantic distance and machine learning tools are beneficially also applied to build a semantically normalised ontology and knowledge graph of the food types (for example, in respect of broad categories io such as alcoholic drinks) and food ingredients (for example, vitamin K in broccoli) for all foods. Such an ontology is then beneficially used to identify those foods and ingredients that have the potential to interact with the set of drugs as aforementioned.
Food records represented in the knowledge-graph represent a broad range of different levels of abstraction, allowing for more inclusive and flexible predictions to be made in embodiments of the present disclosure. A lower level of abstraction is represented by chemical substances, for example potassium, vitamin K, and so forth. A middle level of abstraction is represented by simple food products, for example grapefruit juice or broccoli. A higher level of abstraction is represented by classes of food products: green leafy vegetables, dairy products, smoked meat, or aged cheese, for example.
This use of different levels of classification, namely abstraction, allows for making very broad recommendations to a given user, for example in respect of all alcoholic drinks, regardless of whether or not it is wine, beer, vodka and so forth, down to a detail of very narrow and specific components of more complex foods (for example, processed food products that contain smoked meat products and therefore have high levels of tyramine). In total, there are, for example, 1,899 reported interactions between different food types and /or ingredients and drugs, and each of these interactions is stored in a knowledge graph with evidence for the interaction, for use in data processing associated with embodiments of the present disclosure.
-43 COMPILATION OF ARRAY SYSTEM MODEL
In an example embodiment of the present disclosure, information pertaining to food and drug interactions is semantically normalised into a single knowledge graph for use in the compilation of an Array System Model as shown in FIG. 18.
In order to analyse and calculate potential interactions between combinations of multiple foods, drugs and diseases, an entirety of an inverse solution space (namely, combinations of foods and drugs that are known to cause problems) is compiled using methods as described in the foregoing into a nested array model, io Only the components, drugs and diseases that actually have the potential to present risks are contained in the Array System Model - all non-interacting factors are removed during the model compilation step in order to provide for more efficient data processing and thereby deliver results more promptly. Thus, in the example embodiment, a usual model logic is inverted, because there are many fewer interaction causing combinations than non-interaction causing. It is easier, quicker and uses far less memory to store only those potentially troublesome combinations. By such an approach, non-troublesome combinations are effectively filtered out of computations, thereby enabling the computations to executed more rapidly, using less computing resources.
^^20 An example validated Array System Model used in this given embodiment has:
• 1,064 interacting food components (from 186,589 food items) • 2,545 drugs with potential interactions (from 9,526 active pharmaceutical ingredient interactions) • 324 diseases with potential interactions (from over 8,500 analysed).
ACCESSING THE ARRAY SYSTEM MODEL ON A MOBILE DEVICE FOR PERSONALISED DECISION SUPPORT
This array system model is converted by the Array System Model compiler as shown in FIG. 18 into a verified and normalised structure, that can be represented in a 428 KB file, which is an amount of memory the model consumes when loaded into an Array Runtime API on a given user's mobile device, for example smart phone or smart watch. A significant proportion of this memory (over 60%) is simply names of drugs being considered in the computation, as
-44 well as diseases and foods; such data is potentially further optimised, if necessary, so that the Array System Model requires even less computing resources in operation.
This Array System Model provides an analytical and predictive substrate to power a personalised decision support app on the given user's mobile device. This substrate enables the Runtime API running directly on the user's mobile device (smart watch, phone, or tablet) to use the Array System Model to perform logical inferences on the data and deduce all the consequences of, for example, a given patient's parameters for a selected set of food items.
io The decision support system employed in embodiments of the present disclosure is capable of identifying food items, for example in an online shopping basket as shown in FIGs. 19, 24 and 25, that are potentially detrimental to a given user as they pose a high risk of interactions. The given user has previously entered, for example, diseases from which the given user suffers and drugs that the given user is taking (comprising their input state vector) as shown in FIG. 23. As __ shown in FIG. 20, food items that present a risk to the given user might well otherwise be thought to constitute part of a healthy diet, for example broccoli, for other users.
The decision support system as employed in embodiments of the present ^^20 disclosure are also capable, when in operation, of suggesting foods from a same given category that avoid any potential for interaction with the given user's diseases and drugs, as shown in FIGs. 21 and 26. If such suggestions were adopted by the given user, embodiments of the present disclosure enable the given user to substitute immediately substituted alternative products in the given user's shopping basket, when making purchases for example, using online shopping APIs.
Embodiments of the present disclosure are operable to provide a decision support system for performing aforementioned analyses within a predictable and very short time; for example, a proprietary Google Nexus 7 tablet computer running an Android software platform is capable of implementing analyses within five to ten milliseconds. Such computational performance is provided with a constant and low memory footprint (namely, around 430kBytes in practice), and is guaranteed to find all the potential adverse consequences given by constraints imposed by a given user's input state vector (namely, in this case, the given
-45 user's profile of diseases and drugs). However, it will be appreciated that embodiments of the present disclosure can be used to control complex industrial systems, receiving inputs from physical sensors and human-operated controls, and provide various outputs for controlling valves, baffles, pumps, heating elements, cooling apparatus, and so forth, of the complex industrial systems. Thus, embodiments of the present disclosure can, for example, be implemented as industrial controllers and electronic management systems.
Operational characteristics of embodiments of the present disclosure are especially crucial when running a massively complex problem such as personalising dietary advice for polypharmaceutical patients with multiple chronic diseases on a low-power mobile device with limited CPU and memory resources.
DETAILED DECRIPTION OF DRAWINGS
Referring to FIG. 1, there is shown an illustration of an array system model 100 in accordance with an embodiment of the present disclosure.
Referring to FIG. 2, there is shown an illustration of a method 200 of using the array system model 100 of FIG. 1, by employing a process of state deduction.
’ Referring to FIG. 3A, there is shown an exemplary cyclic colligation graph 300A (pertaining to FIG. 1 and FIG. 2) before colligation, in accordance with an embodiment of the present disclosure.
Referring to FIG. 3B, there is shown an exemplary tree structure 300B after colligation, in accordance with an embodiment of the present disclosure.
Referring to FIG. 4, there is shown an illustration of a block diagram of a process of colligation 400 to in the method 200 (of Fig. 2) for using the array system model 100 (of Fig. 1), in accordance with an embodiment of the present disclosure.
Referring to FIG. 5, there is shown an illustration of a block diagram of colligation 500, in accordance with an embodiment of the present disclosure.
Referring to FIG. 6, there is shown an illustration of a step 1 600 of the process of colligation 400 of Fig. 4, in accordance with an embodiment of the present disclosure.
-46 07 11 17
Referring to FIG. 7, there is shown an illustration of a step 2 700 of the process of colligation 400 of Fig. 4, in accordance with an embodiment of the present disclosure.
Referring to FIG. 8, there is shown an illustration of a step 3 800 of the process of colligation 400 of Fig. 4, in accordance with an embodiment of the present disclosure.
Referring to FIG. 9, there is shown an illustration of a step 4 900 of the process of colligation 400 of Fig. 4, in accordance with an embodiment of the present disclosure.
io Referring to FIG. 10, there is shown an illustration of a block diagram of splitting and minimizing a relation 1000 to the method 200 (of Fig. 2) for using the array system model 100 (of Fig. 1), in accordance with an embodiment of the present disclosure.
Referring to FIG. 11, there is shown an illustration of a splitting of a relation into pairs 1100, in accordance with an embodiment of the present disclosure.
Referring to FIG. 12, there is shown an illustration of a splitting a relation into a tree structure 1200, in accordance with an embodiment of the present disclosure.
Referring to FIG. 13, there is shown an illustration of a splitting model 1300 employed to perform parallel computing in a step 1 600 (of Fig. 6), in accordance with an embodiment of the present disclosure.
Referring to FIG. 14, there is shown an illustration of a splitting model 1400 employed to perform parallel computing in a step 2 700 (of Fig. 7), in accordance with an embodiment of the present disclosure.
Referring to FIG. 15, there is shown an illustration of a method of minimizing 1500 an array system model 100 (of Fig. 1) when performing runtime applications, in accordance with an embodiment of the present disclosure.
Referring to FIG. 16, there is shown an illustration of state propagations 1600 that are employed when implementing embodiments of the present disclosure.
-47 Referring to FIG. 17, there is shown an illustration of a data mining and semantic normalization 1700 that is employed when implementing embodiments of the present disclosure.
Referring to FIG. 18, there is shown an illustration of a compilation and validation
1800 of an Array System Model 100 (of Fig. 1), in accordance with an embodiment of the present disclosure.
Referring to FIG. 19, there is shown an illustration of an online shopping basket
1900, in an exemplary use of step 1 600 of Fig. 6 in the Array System Model
100 of Fig. 1, in accordance with an embodiment of the present disclosure.
io Referring to FIG. 20, there is shown an illustration of an online shopping basket
2000, in an exemplary use of step 2 700 of Fig. 7 in the Array System Model
100 of Fig. 1, in accordance with an embodiment of the present disclosure.
Referring to FIG. 21, there is shown an illustration of an online shopping basket
2100, in an exemplary use of step 3 800 of Fig. 8 in the Array System Model
100 of Fig. 1, in accordance with an embodiment of the present disclosure.
1— Referring to FIG. 22, there is shown an illustration of an online shopping basket 1 2200, in an exemplary use of step 4 900 of Fig. 9 in the Array System Model
100 of Fig. 1, in accordance with an embodiment of the present disclosure.
Referring to FIG. 23, there is shown an illustration of a user interface 2300 20 defining a given user's input state vector, in accordance with an embodiment of the present disclosure.
Referring to FIG. 24, there is shown an illustration of online shopping baskets 2400 for use with embodiments of the present disclosure.
Referring to FIG. 25, there is shown an illustration of an exemplary use 2500 of 25 System Array Model 100 (of Fig. 1) for identifying a given example user's risk of encountering interaction with food items, in accordance with an embodiment of the present disclosure.
Referring to FIG. 26, there is shown of an illustration of an exemplary use 2600 of the System Array Model 100 (of Fig. 1) to suggest alternative safer food items for a given example user, in accordance with an embodiment of the present disclosure.
-48 Referring to FIG. 27, there is shown an illustration of a drug warning label information 2700, pertinent to embodiments described in the present disclosure.
Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as including, comprising, incorporating, consisting of, have, is used to describe and claim embodiments of the present disclosure are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be io construed to relate to the plural. Numerals included within parentheses in the accompanying claims are intended to assist understanding of the claims and should not be construed in any way to limit subject matter claimed by these claims.
11 17
Claims (16)
1. A method of performing data processing on a computing arrangement, wherein the method includes generating a multi-dimensional system model, wherein the multi-dimensional system model is operable to describe a system
5 spanned by state variables on finite domains and/or intervals, characterized in that the method comprises:
(i) generating and storing, in a data memory or data storage medium of the computing arrangement, an addressable solution space defining all valid states or combinations satisfying a conjunction of substantially all system io constraints on all variables;
(ii) generating and storing one or more object functions or values associated with the addressable solution space to make the values addressable from the environment like state variables; and (iii) using the addressable solution space to process one or more inputs 15 provided to the system when in operation, and to generate corresponding outputs for use in controlling and/or advising operation of the system.
2. The method of claim 1, characterized in that the data processing includes at least one of: embedded constraint resolution, decision support, system control, machine learning.
20
3. The method of claim 1 or 2, characterized in that the computing arrangement includes at least one of: a computing device, a distributed arrangement including a plurality of computing devices.
4. The method of claim 1, 2 or 3, characterized in that the method includes representing the addressable solution space in respect of all external state
25 variables by a plurality of relations sharing only internal link variables.
5. The method of claim 4, characterized in that the method includes arranging for any given pair of relations to share no more than one link variable.
6. The method of claims 4 and 5, characterized in that any given index of any link variable represents a unique single valid state or combination of a unique
30 subset of the external state variables and associated properties or object functions.
-50
7. The method of any one of claims 1 to 6, characterized in that the method includes minimizing the solution space for memory storage by splitting relations into a plurality of corresponding relations shared by link variables with a minimal possible number of indices.
5
8. The method of any one of claims 1 to 6, characterized in that the method includes splitting and minimizing relations sharing groups of external state variables and then executing colligation of each group of variables.
9. The method of any one of claims 1 to 7, characterized in that the method includes splitting the system model into a plurality of sub-models by splitting a io core relation into a plurality of corresponding relations sharing only a core variable with indices of Cartesian arguments of the core relation.
10. The method of claim 9, characterized in that the sub-models are distributed over a plurality of computing devices that are mutually coupled together in operation via a data communication network.
^—15
11. A method of executing real-time computing for a multi-dimensional system model spanned by state variables on finite domains and/or intervals, i— characterized in that the method comprises:
(i) providing a system model in which all valid combinations and associated properties or object functions are stored as interconnected
20 relations distributed on one or more computers; and (ii) deducing any sub-space, corresponding to an input statement and/or query, of states or combinations spanned by one or more state variables or associated properties or object functions, by deriving consequences of a statement and/or a query by applying constraints defined by the statement
25 and/or query to the system model.
12. The method of claim 11, characterized in that the method includes representing input state vectors (SV1) associated with asserted and/or measured states of each variable and each object function from an environment in the system model, and representing output state vectors (SV2) associated with one
30 or more deduced consequences on each variable and each object function of the entire system model, when external constraints of the input state vectors (SV1) are colligated with the static constraints in the system model.
-51 07 11 17
13. The method of claim 12, characterized in that the method includes computing the state of the entire system model in real-time by consulting one or more sub-systems and/or relations at a time by deducing possible states of each variable and propagating one or more bound link variables to connected one or
5 more relations until no further constraints can be added to the state vectors.
14. The method of claim 13, characterized in that the method includes arranging for the sub-systems to be distributed on a plurality of computing devices and to interact by propagating a common core link variable on each subsystem.
io
15. A computer program product comprising a non-transitory computerreadable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being executable by a computerized device comprising processing hardware to execute the method of claim 1 or claim 11.
16. A system for processing one or more data inputs in a computing
15 arrangement to provide one or more control outputs and/or one or more analysis output and/or one or more recommendation outputs, characterized in that the system includes a user interface for interacting with a user of the system for controlling operation of the system, a data processing arrangement that is operable to receive the one or more data inputs and to output the one or more
20 control outputs and/or one or more analysis output and/or one or more recommendation outputs, wherein the computing arrangement is operable to execute a software product for implementing a method as claimed in any one of claims 1 to 14.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1619039.9A GB2556041A (en) | 2016-11-10 | 2016-11-10 | System and method for processing data inputs in computing devices |
| EP17811851.9A EP3539011A1 (en) | 2016-11-10 | 2017-11-10 | Control apparatus and method for processing data inputs in computing devices therefore |
| PCT/EP2017/025333 WO2018086761A1 (en) | 2016-11-10 | 2017-11-10 | Control apparatus and method for processing data inputs in computing devices therefore |
| US16/348,995 US10948887B2 (en) | 2016-11-10 | 2017-11-10 | Control apparatus and method for processing data inputs in computing devices therefore |
| US17/161,870 US11881287B2 (en) | 2016-11-10 | 2021-01-29 | Control apparatus and method for processing data inputs in computing devices therefore |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1619039.9A GB2556041A (en) | 2016-11-10 | 2016-11-10 | System and method for processing data inputs in computing devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| GB2556041A true GB2556041A (en) | 2018-05-23 |
Family
ID=62043351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB1619039.9A Withdrawn GB2556041A (en) | 2016-11-10 | 2016-11-10 | System and method for processing data inputs in computing devices |
Country Status (1)
| Country | Link |
|---|---|
| GB (1) | GB2556041A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117149801A (en) * | 2022-05-24 | 2023-12-01 | 北京沃东天骏信息技术有限公司 | Field reading method and device for nested fields |
-
2016
- 2016-11-10 GB GB1619039.9A patent/GB2556041A/en not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| None * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117149801A (en) * | 2022-05-24 | 2023-12-01 | 北京沃东天骏信息技术有限公司 | Field reading method and device for nested fields |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10948887B2 (en) | Control apparatus and method for processing data inputs in computing devices therefore | |
| Fraccaro et al. | Adoption of clinical decision support in multimorbidity: a systematic review | |
| US8055603B2 (en) | Automatic generation of new rules for processing synthetic events using computer-based learning processes | |
| Mansour | Decision tree-based expert system for adverse drug reaction detection using fuzzy logic and genetic algorithm | |
| US10902943B2 (en) | Predicting interactions between drugs and foods | |
| EP4128252A1 (en) | Systems and methods for treatment selection | |
| Silpa et al. | Drug recommendation system in medical emergencies using machine learning | |
| US20240079142A1 (en) | A system and method to predict health outcomes and optimize health interventions | |
| Singla et al. | Developing clinical decision support system using machine learning methods for type 2 diabetes drug management | |
| Marino et al. | Enhancing interoperability for a sustainable, patient-centric health care value chain: systematic review for taxonomy development | |
| El Arni et al. | Predicting diabetes using machine learning: Xgboost and the pima dataset | |
| US20130253892A1 (en) | Creating synthetic events using genetic surprisal data representing a genetic sequence of an organism with an addition of context | |
| GB2556041A (en) | System and method for processing data inputs in computing devices | |
| Jafarnejad et al. | Predicting heart disease using automated machine learning based on genetic algorithms | |
| US11798652B2 (en) | Method of and system for identifying and ameliorating body degradations | |
| Lin et al. | Secondary use of electronic health record data for prediction of outpatient visit length in ophthalmology clinics | |
| Arzanipour | Integrating feature importance techniques and causal inference to enhance early detection of heart disease | |
| Lamy et al. | Testing methods for decision support systems | |
| Kalusivalingam et al. | Enhancing Diagnostic Accuracy with AI-Powered Symptom Checkers: A Comparative Analysis of Natural Language Processing and Decision Tree Algorithms | |
| Saint-Pierre et al. | Agent-Based Modeling in Medical Research—Example in Health Economics | |
| Zhao et al. | Exploiting OHC data with tensor decomposition for off-label drug use detection | |
| de Senna | Predictive modelling of hospital readmissions in diabetic patients clusters | |
| US12524672B2 (en) | System, method, and apparatus for identifying congenital long QT syndrome in a subject | |
| Nilan et al. | A Clinical Decision Support System for Drug Conflict Identification | |
| Herzog et al. | Towards a potential paradigm shift in health data collection and analysis: Contemporary challenges of Human-Machine interaction. Metaverse. 2024; 5 (1): 2690 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |