text:
Concerning Quality

# Property-Based Testing Against a Model of a Web Application

The term “lightweight formal methods” is a bit of a contradiction, but the idea is that like everything else, formal methods exists on a spectrum. We don’t have to prove each line of our entire application to use mathematical thinking to reason about our software. A great example of this is model-based testing, where we can automatically generate test cases for an implementation by first constructing a model of the system. This is a well-studied approach, but what rekindled my curiosity in it was Amazon’s recent usage of it to test parts of S3’s functionality, as well as seeing some recent activity around the Quickstrom web application testing tool.

If it hasn’t been clear, I’m mostly interested in which aspects of formal methods we can use “at work” and on real projects. So what interests me about lightweight formal methods is that they generally have a built-in solution to the verification gap, meaning we can apply them to deployable code. Does the lightweight nature of model-based testing make it a viable approach for testing web applications? Let’s first go into an example, and we’ll tackle the underlying theory in a separate post.

# A Model of Functional Correctness

It is our position that a solid product consists of a triple: a program, a functional specification, and a proof that the program meets the functional specification

-Edsger W. Djikstra, EWD1060-0

As always, testing and verification starts out with the surprisingly difficult question of: “what is our program supposed to do”? And as we talked about in Refinement, the answer to that question also depends on who you ask. But when you start to think about it, the really crazy thing is that the only way to know the answer to this question is by looking at the code - the code is the source of truth for the behavior.

Is this a good idea? Do we need to look at JSON serialization, database queries, caching layers, or other distributed system minutiae to figure out what is supposed to happen when a user clicks “submit” on some form?

Model-based testing instead encourages us to create a high level model of our system, and to use it to test that the implementation conforms to the model. The model serves as a functional specification of the application that we can test the implementation against. Now Djikstra was no fan of testing, but if we relax the requirement of a full-blown proof we can arrive at a more lightweight definition of a “solid” product: a triple of a program, a model, and a property-based test that checks that the program conforms to the model.

We’ll talk about each of those in turn, but first let’s get right into the modeling. We’re going to build a personal finance application for tracking our recurring bills. All of the code referenced in this post is available here.

export class Budget {
recurringTransactions: RecurringTransaction[] = [];
scheduledTransactions: ScheduledTransaction[] = [];
error: string | null = null;

ids: Record<string, number> = {};

this.recurringTransactions.push(recurringTransactionFromCreate(this.genId("RecurringTransaction"), crt));
}

viewRecurringTransactions(): RecurringTransaction[] {
return this.recurringTransactions;
}

viewScheduledTransactions(start: Date, end: Date) {
let expanded = this.recurringTransactions.flatMap(rt =>
expandRecurringTransaction(rt, start, end).map(d => (
{ date: dateStringFromDate(d), name: rt.name, amount: rt.amount }
)));

expanded.sort(compareScheduledTransactions);

this.scheduledTransactions = expanded;
}

genId(type: string): number {
if (this.ids[type]) {
this.ids[type] += 1;

return this.ids[type];
}

this.ids[type] = 1;

return 1;
}
}

First thing’s first: we wrote our model in Typescript. There are many ways of creating model specifications with separate specification languages like TLA+ or Alloy, but in the Amazon paper above they went with implementing the model in the same language as the implementation. This makes writing the functional correctness test a lot simpler, as it can just reference the model and implementation directly.

A few other notes about this model. It’s a class (Budget) which holds the state of the whole system. There are a few methods on it which influence the system state, and these are meant to model which user actions the user can take with the application. addRecurringTransaction is a basic CRUD operation - we just take the input data and store it in the system state. viewScheduledTransactions takes the current system state and “expands” the recurring transactions into the actual days that they’d occur based on their recurrence rules. For example we may pay rent monthly on the same day each month, but get our dog groomed every 3 weeks. The expansion logic is fairly nontrivial, especially since there’s a lot of date-based math to achieve full correctness, as you can see in the rrule library which implements the iCalendar recurrence rule format. For now, we’ll stay focused on the testing aspect vs. the actual domain logic, but feel free to browse the repo for the full model.

One part that probably looks weird is our genId method which keeps track of global identifiers. We use this to assign a new ID for the Recurring Transactions that we create. This might seem like database logic, but I find that identifiers are actually a crucial part of any practical application. Either way, in order for the implementation to match the model state those identifiers will need to agree. There are certainly other ways to accomplish that, but this works for this example.

The main thing that I want to highlight here is how simple the model is. This is pure domain logic, and is probably as close to the essential complexity of the application that we can get. The full model is about 130 source-lines of code, including the type definitions of the system state. It’s a very simple program because of the lack of web application details, and since this model will serve as the source of truth for the behavior of the application this simplicity is crucial.

Now that we have a model of our behavior, let’s first talk about what it would mean for an implementation to be correct with respect to this model.

# A Single Test for Conformance

The high level goal of a test for model conformance is to check that the implementation “does what the model does” in all cases. So we’ll introduce a Client object which is our entrypoint to the web app implementation. This object receives the same actions as the model, but calls into a web server to perform the action. That means that after all of the web requests, database queries, JSON serialization, etc., the end result of each of the actions in the model and implementation should be the same.

To test for “all” cases, we’ll use the model-based testing capabilities of fast-check to create large amounts of randomly generated sequences of these actions. As with all property-based tests, the random generation here is a proxy for checking all possibilities.

First we create a command object that runs the same action in both the model and the implementation:

class AddRecurringTransactionCommand implements fc.AsyncCommand<Budget, Client> {
check = (m: Readonly<Budget>) => true;
async run(b: Budget, c: Client): Promise<void> {
}
toString = () => addRecurringTransaction;
}

Each command gets passed a Budget instance which we defined in the model, as well as the Client instance. We create similar command objects for the other system actions, and then we can wire them up into the full test. The test creates an array, allCommands, which holds all of these possible actions, and it uses fast-check's data generators to create the input data for each of the actions. fast-check takes in this array of commands and executes random sequences of them, and after each sequence is complete we can run some assertions that check that the model and implementation states are equal.

That’s a bunch of info, but the full test is relatively small and looks like this:

const dateMin = new Date("1990-01-01T00:00:00.000Z");
const dateMax = new Date("1991-01-01T00:00:00.000Z");

Deno.test("functional correctness", async (t) => {
let client = new Client();

// 1. Data generators for all system action inputs
const allCommands = [
fc.record({
name: fc.string(),
amount: fc.integer(),
recurrenceRule: fc.oneof(
fc.record({ recurrenceType: fc.constant("monthly"), day: fc.integer({min: 0, max: 31}) }),
fc.record({
recurrenceType: fc.constant("weekly"),
day: fc.integer({min: 0, max: 31 }),
basis: fc.option(fc.date({min: dateMin, max: dateMax})),
interval: fc.option(fc.integer({min: 1, max: 20}))
})
)
fc.constant(new ViewRecurringTransactionsCommand()),
fc.record({
start: fc.date({min: dateMin, max: dateMax}),
end: fc.date({min: dateMin, max: dateMax}),
}).map(({ start, end }) => new ViewScheduledTransactionsCommand(start, end)),
];

await fc.assert(
// 2. fc.commands generates random sequences of the actions defined in 1.
fc.asyncProperty(fc.commands(allCommands, { size: "small" }), async (cmds) => {
// 3. We're testing a web application with a database, so signal the start of the test case
//    so that we can restore the system state at the end
await client.setup();

await t.step(Executing scenario with ${cmds.commands.length} commands, async (t) => { let model = new Budget(); client = new Client(); // 4. Run the list of commands in sequence by executing each command's run method const env = () => ({ model, real: client }); await fc.asyncModelRun(env, cmds); // 5. Check that the model and implementation states are equivalent, and any additional // state in the Client has the expected value. await t.step("Checking invariants between model and implementation", async (t) => { await t.step("UI State", async (t) => { await t.step("loading", async () => { assertEquals(client.loading, false); }) await t.step("error", async () => { assertEquals(client.error, model.error); }); }); await t.step("Recurring transactions are equal", async () => { assertEquals(client.recurringTransactions, model.recurringTransactions); }); await t.step("Scheduled transactions are equal", async () => { assertEquals(client.scheduledTransactions, model.scheduledTransactions); }); }); // 6. Restore system state to its state before the test iteration await client.teardown(); }); console.log("\n") }), { numRuns: 100 } ); });  The actual test in the example repo has some added logging to show what’s going on in each test case in more detail, and here’s an example scenario that’s generated:  Executing scenario with 5 commands ... ------- output ------- [Action] addRecurringTransaction { "name": "tCnRiS", "amount": 1518583647, "recurrenceRule": { "recurrenceType": "monthly", "day": 0 } } [Action] addRecurringTransaction { "name": "", "amount": -1669970975, "recurrenceRule": { "recurrenceType": "weekly", "day": 3, "basis": "1990-06-08T17:55:25.769Z", "interval": 17 } } [Action] addRecurringTransaction { "name": "xRL", "amount": -1400152232, "recurrenceRule": { "recurrenceType": "weekly", "day": 19, "basis": "1990-03-11T00:36:49.477Z", "interval": 10 } } [Action] addRecurringTransaction { "name": "V/'/]dlYwp", "amount": -1711622850, "recurrenceRule": { "recurrenceType": "monthly", "day": 13 } } [Action] viewScheduledTransactions start: Mon Mar 05 1990 17:36:42 GMT-0500 (Eastern Standard Time), end: Wed Sep 26 1990 12:25:40 GMT-0400 (Eastern Daylight Time) ----- output end ----- Checking invariants between model and implementation ... UI State ... loading ... ok (3ms) error ... ok (2ms) ok (7ms) Recurring transactions are equal ... ok (2ms) Scheduled transactions are equal ... ok (3ms) ok (13ms) ok (78ms)  Here the test generated a scenario with 5 actions, where 4 recurring transactions were added in a row and then the corresponding scheduled transactions were viewed. All of the invariants are checked after that, and they all pass. It’s important to drive the point home that the variance in action sequences that the test can generate is immense, depending on how fast-check is conifgured. This is the main value proposition of property-based testing! In the above snippet, we’re setting the number of scenarios to 100 (with { numRuns: 100 }). The number of commands per scenario is also configurable. This test passes { size: 'small' } to the fc.commands function, which generates sequences with lengths between 0 and 10. fast-check supports medium, large and xlarge sizes, which generate much longer lists of commands - xlarge generates sequences of up to 10,000 commands. To get a sense for how long this takes, on my machine (an M1 Max Macbook), 100 small iterations took about 9 seconds to run, 1,000 small iterations took 1 minute and 45 seconds, and 100 medium iterations took 45 seconds. These are integration tests that go all the way from the client to a Postgres database, which brings us to our actual implementation. # The Implementation A couple of design decisions had to be made to enable model-based testing in this way. The first questsion is, what should Client be? In order to compare an implementation to the model, they have to have the same interface and hold comparable state. This application will have a React UI, so we could make Client something like a React class component supporting the same methods as the model, but almost all of the flaky tests I’ve ever encountered have been involving an actual UI. Instead, we’ll go one layer below the React UI and have Client be a class which manages the state of the application and handles all networking with the API server. The model-based test is therefore not a full end to end test but starts at this layer, and we’ll rely on a simple state-binding strategy to ensure that the Client state is always properly rendered in the UI. On top of that, the Client is statically typed, so that should also reduce the change of passing invalid date into it. For the state binding, we’ll use MobX. MobX plays very nicely with binding stateful classes to React’s view state while having pretty minimal setup code. With the Client object and MobX handling the heavy lifting of the application’s state management, the React UI is kept very thin, only forwarding user input to the Client and rendering its state. This is commonly called the humble object pattern. To be clear, the React UI itself is left untested by the model-based test, but of course it can be tested separately if desired. Here’s an excerpt of the Client to get more concrete: export class Client { recurringTransactions: RecurringTransaction[] = []; scheduledTransactions: ScheduledTransaction[] = []; loading: boolean = false; error: string | null = null; constructor(config: (c: Client) => void = () => {}) { config(this); } async addRecurringTransaction(crt: CreateRecurringTransaction) { this.updateLoading(true); let resp = await fetch(${API_HOST}/recurring_transactions, {
method: "POST",
body: serializeRecurringTransaction(crt),
'Content-Type': "application/json",
},
});

this.updateNewRecurringTransaction(await resp.json());
}

async setup() {
return fetch(${API_HOST}/setup, { method: "POST", }); } async teardown() { return fetch(${API_HOST}/teardown, {
method: "POST",
});
}

updateNewRecurringTransaction(json: RecurringTransactionResponse) {
switch (json.type) {
case "recurring_transaction":
this.recurringTransactions = [...this.recurringTransactions, normalizeRecurringTransaction(json)];
break;
case "error":
this.error = json.message;
break;
default:
console.log("Default was hit when updating new recurring transaction")
};
}
}

The choice of MobX influenced two main aspects of the Client. First, the constructor has to accept a config callback so the React app can setup MobX to mark its state as automatically observable. Second, any actual updates to the state of the Client have to take place in non-async functions - not adhering to this caused a warning in the browser console. Both of these were easy to work around.

That brings us to our API server. In this example, I went with Rails, but any server framework or library would do. The first interesting part of the server are the setup and teardown APIs which the test calls. These allow the server to clean up any database state created in each property iteration so that each iteration starts with fresh data and leads to a deterministic test case. Rails has the tried and true database_cleaner gem which takes care of most of this for us. All that we need to do is pick the appropriate cleaning strategy. Since the test spans multiple different endpoint requests, the proper strategy is the truncation strategy, which truncates only the tables that have been written to during the test when the pre_count option is set to true:

class TestController < ApplicationController
def setup
DatabaseCleaner.strategy = DatabaseCleaner::ActiveRecord::Truncation.new(pre_count: true)
DatabaseCleaner.start
end

def teardown
DatabaseCleaner.clean
end
end

The next interesting thing is how we represent the recurrence rules in the database. In the model, they’re represented as discriminated unions since that’s the most natural way to model them, but SQL doesn’t have any built in way to store them. There are various ways to do this, but let’s just pick one and go for it. We’ll just serialize the rule into a string and store that in the DB in the same table as the recurring transaction model. We can do this with the ActiveRecord attributes API and a custom type conversion:

class RecurringTransaction < ApplicationRecord
attribute :recurrence_rule, RecurrenceRuleType.new
end

...

# Recurrence rules are stored as a string with format:
#   '<type>::attr1=v1;attr2=v2;...'
#
# The type represents the different rule types, e.g. Monthly and Weekly,
# and the list of attribute keys and values represent the data for each
# rule type.

class RecurrenceRuleType < ActiveRecord::Type::Value
def resolve_rrule_type(type_str)
case type_str
when 'monthly'
RecurrenceRule::Monthly
when 'weekly'
RecurrenceRule::Weekly
else
raise "Attempted to cast unknown recurrence rule type: #{type}"
end
end

def cast(value)
if value.is_a?(String) && value =~ /^weekly|monthly:/
value_components = value.split('::')

if value_components.length != 2
raise "Recurrence rule DB strings must be of the format ''<type>:attr1=v1;attr2=v2;...'. Attempted to cast a string with #{value_components.length} components: #{value}"
end

type, all_attrs = value_components

attr_pairs = all_attrs.split(';')
attrs = attr_pairs.each_with_object({}) do |attr_pair, attrs|
k, v = attr_pair.split('=')
if !v.nil?
attrs[k] = v
end
end

super(resolve_rrule_type(type).from_attrs(attrs))
elsif value.is_a?(ActiveSupport::HashWithIndifferentAccess)
attrs = value.except(:recurrence_type)

super(resolve_rrule_type(value[:recurrence_type]).from_attrs(attrs))
else
super
end
end

def serialize(value)
if value.is_a?(RecurrenceRule::Monthly) || value.is_a?(RecurrenceRule::Weekly)
attrs = value.db_serialize.to_a.map { |k, v| "#{k}=#{v}" }.join(";")
case value
when RecurrenceRule::Monthly
super("monthly::#{attrs}")
when RecurrenceRule::Weekly
super("weekly::#{attrs}")
end
else
super
end
end
end

The implementation is where most of the nitty gritty details show up because of the trifecta of networking, UI state binding, and database concerns. But once this is in place, the test has been very reliable, and we’re free to change pretty major implementation details while keeping the test unchanged.

The single functional correctness test was also invaluable for getting these details right.

# Would Anyone Ever Do This On a Real Web Application?

Well, it depends, but I think that it’s less crazy than it may seem at first glance. The first thing that I want to talk about in this respect is the delta between the perceived high-level behavior of the application and the lower-level behavior in the application’s architecture. I don’t think it’s crazy to say that in modern applications that delta is actually quite large, and my justification for that opinion is the amount of times I or one of my coworkers have said: “this application is just simple CRUD, and I have to write so much code to just move data around!” This is exacerbated if you’re working with services - one simple action in terms of the model might involve communicating across multiple different services, compiling all of the data together before applying further processing and sending to the client. Now sure, libraries and frameworks exist to make operating within the architecture a little easier, but they don’t get rid of the overhead entirely.

Why do complicated web architectures exist in the first place? Most if not all facets of web architecture boil down to some kind of optimization. Using a database is often a performance optimization, but also an optimization to ensure data integrity amongst concurrent accesses and modifications. There are many reasons to use services, but the main reasons are to optimize for modularity in the face of many teams or to optimize a small subset of the system’s operational characteristics independent of the rest. Specific to this example, the changes to the Client object to play nicely with MobX are a result of React’s declarative UI which is an optimization for developer cognitive load. The presence of optimizations are one of the best reasons to use a model, because the model captures the essence of the system, whereas the actual optimizations cloud that simple behavior.

And like everything else, back in the 70s we were already thinking about this problem of optimization making verification more difficult and considering how to use models to make it simpler:

I also claim that in order to prove by Floyd’s method the correctness of a program A, in a case where data is represented unnaturally, perhaps for efficiency’s sake, the easiest and most lucid approach is rather close to first designing a program B which is simulated by program A and which represents the data naturally, and then proving B correct.

-Robin Milner, An Algebraic Definition of Simulation Between Programs 1971

That’s right. Even proofs are easier when the logic being verified is simpler. Simplicity always wins in the end.

As far as cost of effort, the aformentioned paper by Amazon found that their reference models were just 1% of the size of the implementation code, and the overall model-based testing framework and actual test properties totaled 12% of the component’s codebase. Contrast that with gigantic unit test suites that are often 2-3x the size of the production code! No test suite is free, and beyond the actual size of a test suite, I’ve also found that large unit test suites can lead to TDD Ossification. So, if the application behavior is relatively simple, but general distributed system complexity makes your implementation large and complex, models can be a big win and an actual cost saver with respect to the overall project code size and agility.

Even if it has benefits over traditional unit testing, I’d like to point out that model-based testing is fairly noncommital and doesn’t prevent you from doing any other kinds of testing. For example, as the property-based test caught bugs in this example application, I used them to create regular example-based tests to be able to figure the issue with that specific scenario. If we know that certain scenarios are really important, we can easily add specific unit or integration tests for them, using all of the same tools and techniques that we use today. So model-based testing doesn’t have to replace anything, but can rather complement your existing test suite. Such tests are in the repo in a separate examples.ts test file. Note how after just a few examples, this file is already ~400 lines of code, whereas the model-based test is only ~100.

Now to the tradeoffs. One often-cited benefit of fine-grained unit tests is that they provide very specific error messages when they fail so you know exactly where the error needs to be fixed. The model-based test basically gives you a binary message: correct, or not correct. To mitigate this, I added logs to all of the actions so that the full trace of behavior could be looked at after any failure. From there, we’d still need to figure out where in the codebase the actual error is. While I agree that specific error messages are a desirable property, I still think the benefit is oversold. In practice, it’s not that difficult to narrow down to the problematic area of code in the span of a few web requests. But it’s still worth calling out, and anything we could do to improve that I’m on board with.

Also, while the overall size of the test suite code might be reduced, the price we pay for that is the test runtime. No matter how many random tests get run, it won’t be exhaustive, so the more we allow the property-based test to run the better. Luckily, property-based testing is an embarrassingly parallelizable problem since each property iteration is totally independent from the next. While it’s still not free, we can simply run many invocations of the same test at the same time and cover more surface area in parallel. One other idea there is to decompose the single test for all commands into multiple different subsets of commands, where a subset of commands is picked related to individual feature areas. For example, as the personal finance application grows and we add something like authentication, we can test the auth flow separately from recurring transaction management.

Probably the biggest concern is misspecification. Since it’s the source of truth, as the model grows and changes it’s going to be hard to know when something was simply expressed incorrectly in the model, or when some important aspect of the model was lost. This is a very tricky problem in general, but I would also argue that it’s also unavoidable and not solved by other approaches either. Since the model is executable, it can also be tested though, and testing an in-memory class is much simpler than testing a full distributed system. For example, it’s much easier to check properties and invariants on the model since it is small. This is what Robin Milner was getting at in the above quote.

# Wrapping Up

Overall, even when considering the tradeoffs, this flavor of model-based testing seems to have a great cost-to-value ratio. To see the value of property-based testing in practice, check out the example test cases that I got simply by taking failure traces from the model-based test and turning them into a single deterministic example. The flagship example of that the test caught a discrepancy when expanding recurring transactions in a range where a crossover to daylight savings time occurred. As much as I try to be vigilant, this is a test case I would have never written ahead of time! Any tool or methodology that actually points out unknown-unknowns is extremely compelling.

The performance also isn’t as bad as you would think, and as we mentioned before this style of testing is very amenable to parallelization. We live in a world now where Jepsen regularly finds issues in real distributed systems products with property-based integration tests.

The React UI is also totally functional. Feel free to build the app and run it, and of course please report any bugs :)


text:
Volume 256 - 34th annual International Symposium on Lattice Field Theory (LATTICE2016) - Hadron Structure
Nucleon form factors near the physical point in 2+1 flavor QCD
Y. Kuramashi,* K.I. Ishikawa, S. Sasaki, T. Yamazaki, N. Tsukamoto, A. Ukawa on behalf of PACS Collaboration
*corresponding author
Full text: pdf
Pre-published on: February 01, 2017
Published on: March 24, 2017
Abstract
We present preliminary results for nucleon form factors including the axial charge and the isovector electric radius in 2+1 flavor QCD at almost the physical pion mass on a $96^4$ lattice with the lattice spacing of 0.085 fm. The configurations are generated with the stout-smeared $O(a)$-improved Wilson quark action and the Iwasaki gauge action at $\beta$=1.82. A large spatial volume of $(8.1 {\rm fm})^3$ allows us to investigate the form factors at small momentum transfer region. We discuss analyses of the momentum dependence of the form factors with the z-expansion.
DOI: https://doi.org/10.22323/1.256.0158
How to cite

Metadata are provided both in "article" format (very similar to INSPIRE) as this helps creating very compact bibliographies which can be beneficial to authors and readers, and in "proceeding" format which is more detailed and complete.

Open Access

format: plain


text:
# American Institute of Mathematical Sciences

December  2015, 8(6): 1139-1154. doi: 10.3934/dcdss.2015.8.1139

## Dynamic systems based on preference graph and distance

 1 Business School of Sichuan University, Chengdu 610065, China, China 2 School of Economics and Management, Southwest Jiaotong University, Chengdu 610031, China 3 Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences, 1068 Xueyuan Avenue, Shenzhen University Town, Shenzhen 518055, China

Received  May 2015 Revised  August 2015 Published  December 2015

A group decision-making approach fusing preference conflicts and compatibility measure is proposed , focused on dynamic group decision making with preference information of policymakers at each time describing with dynamic preference Hasse diagram with the identification framework of relation between alternative pairs is H=$\{\succ,\parallel,\succeq,\preceq,\approx,\prec,\phi\}$, and the preference graph may contain incomplete decision making alternatives. First, the relationship between preference sequences is be defined on the basis of concepts about preference, preference sequence and preference graph; and defining the decision function that can reflect dynamic preference, such as conflict ,comply support and preference distance measure. Finally, through the perspective of conflict and compatible aggregating the comprehensive preference of each decision makers in each period, and by establishing the optimization model based on lattice preference distance measure to assemble group preference, gives the specific steps of the decision making. The feasibility and effectiveness of the approach proposed in this paper are illustrated with a numerical example.
Citation: Chun-Xiang Guo, Guo Qiang, Jin Mao-Zhu, Zhihan Lv. Dynamic systems based on preference graph and distance. Discrete and Continuous Dynamical Systems - S, 2015, 8 (6) : 1139-1154. doi: 10.3934/dcdss.2015.8.1139
##### References:
 [1] S. B. Amor and J. M. Martel, A new distance measure including the weak preference relation: Application to the multiple criteria aggregation procedure for mixed evaluations, European Journal of Operational Research, 237 (2014), 1165-1169. doi: 10.1016/j.ejor.2014.03.036. [2] M. Z. Angiz, A. Tajaddini, A. Mustafa and M. J. Kamali, Ranking alternatives in a preferential voting system using fuzzy concepts and data envelopment analysis, Comput. Ind. Eng., 63 (2012), 784-790. [3] J. R. Busemeyera and T. J. Pleskac, Theoretical tools for understanding and aiding dynamic decision making, Journal of Mathematical Psychology, 53 (2009), 126-138. doi: 10.1016/j.jmp.2008.12.007. [4] G. Campanella and R. A. Ribeiro, A framework for dynamic multiple-criteria decision making, Decision Support Systems, 52 (2011), 52-60. doi: 10.1016/j.dss.2011.05.003. [5] S. Y. Chen and G. T. Fu, Combining fuzzy iteration model with dynamic programming to solve multiobjective multistage decision making problems, Fuzzy Sets and Systems, 152 (2005), 499-512. doi: 10.1016/j.fss.2004.10.006. [6] Y. L. Chen and L. C. Cheng, An approach to group ranking decisions in a dynamic environment, Decision Support Systems, 48 (2010), 622-634. doi: 10.1016/j.dss.2009.12.003. [7] Y. L. Chen and L. C. Cheng, Mining maximum consensus sequences from group ranking data, European Journal of Operational Research, 198 (2009), 241-253. doi: 10.1016/j.ejor.2008.09.004. [8] Y. L. Chen, L. C. Cheng and P. H. Huang, Mining consensus preference graphs from users' ranking data, Decision Support Systems, 54 (2013), 1055-1064. doi: 10.1016/j.dss.2012.10.031. [9] F. Chiclana, J. M. T. García, M. J. Moral and E. Herrera-viedma, A statistical comparative study of different similarity measures of consensus in group decision making, Information Sciences, 221 (2013), 110-123. doi: 10.1016/j.ins.2012.09.014. [10] S. J. Chuu, Selecting the advanced manufacturing technology using fuzzy multiple attributes group decision making with multiple fuzzy information, Computers & Industrial Engineering, 57 (2009), 1033-1042. doi: 10.1016/j.cie.2009.04.011. [11] D. Engelage, Optimal stopping with dynamic variational preferences, Journal of Economic Theory, 146 (2011), 2042-2074. doi: 10.1016/j.jet.2011.06.014. [12] Z. P. Fan, Q. Yue, B. Feng and Y. Liu, An approach to group decision-making with uncertain preference ordinals, Computers & Industrial Engineering, 58 (2010), 51-57. doi: 10.1016/j.cie.2009.08.001. [13] C. X. Guo, A method for aggregating group preference based on pair-wise comparison with random binary relations under interval belief structures, Mathematics & Information Sciences, 6 (2012), 869-880. [14] C. X. Guo, H. Gong and Y. H. Guo, Approach for random lattice order ranking based on preference entropy under interval belief degree circumstance, Operations Research and Management Science, 22 (2013), 21-29. [15] Y. Guo, Lattice Order Making[M], Shanghai Science and Technology Publishing House, Shanghai, 2003. [16] T. M. Gureckis and B. C. Love, Learning in noise: Dynamic decision-making in a variable environment, Journal of Mathematical Psychology, 53 (2009), 180-193. doi: 10.1016/j.jmp.2009.02.004. [17] C. X. Guo and Y. Peng, Lattice order group decision making with interval probability based on prospect theory, Group Decis. Negot., 24 (2015), 753-775. [18] E. D. Hahn, Judgmental consistency and consensus in stochastic multicriteria decision making, Expert Systems with Applications, 37 (2010), 3784-3791. doi: 10.1016/j.eswa.2009.11.042. [19] C. H. Han, J. K. Kim and S. H. Choi, Prioritizing engineering characteristics in quality function deployment with incomplete information: A linear partial ordering approach, Int. J. Production Economics, 91 (2004), 235-249. doi: 10.1016/j.ijpe.2003.09.001. [20] J. D. Hey and J. A. Knoll, Strategies in dynamic decision making - An experimental investigation of the rationality of decision behaviour, Journal of Economic Psychology, 32 (2011), 399-409. doi: 10.1016/j.joep.2011.02.011. [21] B. Huang and C. X. Guo, Intuitionistic fuzzy multigranulation rough sets, Information Sciences, 277 (2014), 299-320. doi: 10.1016/j.ins.2014.02.064. [22] Y. Huang and J. W. Hutchinson, The roles of planning, learning, and mental models in repeated dynamic decision making, Organizational Behavior and Human Decision Processes, 122 (2013), 163-176. doi: 10.1016/j.obhdp.2013.07.001. [23] K. Jabeur and J. M. Martel, A collective choicemethod based on individual preferences relational systems(prs), Eur. J. Oper. Res., 177 (2007), 1549-1565. doi: 10.1016/j.ejor.2005.10.028. [24] K. Jabeur and J. M. Martel, An agreement index with respect to a consensus preorder, Group Decis. Negot., 19 (2010), 571-590. doi: 10.1007/s10726-009-9160-3. [25] K. Jabeur and J. M. Martel, An ordinal sorting method for group decision-making, Eur. J. Oper. Res., 180 (2007), 1272-1289. doi: 10.1016/j.ejor.2006.05.032. [26] K. Jabeur, J. M. Martel and A. Guitouni, Deriving a minimum distance-based collective preorder: A binary mathematical programming approach, OR Spectr., 34 (2012), 23-42. doi: 10.1007/s00291-009-0192-5. [27] K. Jabeur, J. M. Martel and S. B. Khélif, A distance-based collective preorder integrating the relative importance of the group's members, Group Decis. Negotiat., 13 (2004), 327-349. doi: 10.1023/B:GRUP.0000042894.00775.75. [28] S. Jullien-Ramasso, G. Mauris, L. Valet and P. Bolon, A decision support system for animated film selection based on a multi-criteria aggregation of referees' ordinal preferences, Expert Syst. Appl., 39 (2012), 4250-4257. doi: 10.1016/j.eswa.2011.09.109. [29] D. Lerche, S. Y. Matsuzaki, P. B. Sørensen, L. Carlsen and O. J. Nielsen, Ranking of chemical substances based on the Japanese Pollutant Release and Transfer Register using partial order theory and random linear extensions, Chemosphere, 55 (2004), 1005-1025. doi: 10.1016/j.chemosphere.2004.01.023. [30] D. Lerche and P. B. Sørensen, Evaluation of the ranking probabilities for partial orders based on random linear extensions, Chemosphere, 53 (2003), 981-992. doi: 10.1016/S0045-6535(03)00558-7. [31] Y. H. Lin , P. C. Lee and H. I. Ting, Dynamic multi-attribute decision making model with grey number evaluations, Expert Systems with Applications, 35 (2008), 1638-1644. doi: 10.1016/j.eswa.2007.08.064. [32] L. C. Ma, Visualizing preferences on spheres for group decisions based on multiplicative preference relations, European Journal of Operational Research, 203 (2010), 176-184. doi: 10.1016/j.ejor.2009.07.008. [33] Z. X. Ma, Applying theory of partially ordered sets to study data envelopment analysis, Journal of Systems Engineering, 3 (2002), 3-8. [34] Z. X. MA, Method of data envelopment analysis based on the theory of partially ordered sets, Systems Engineering-Theory & Practice, 4 (2003), 12-17. [35] G. Martinelli, J. Eidsvik and R. Hauge, Dynamic decision making for graphical models applied to oil exploration, European Journal of Operational Research, 230 (2013), 688-702. doi: 10.1016/j.ejor.2013.04.057. [36] R. Mu, Z. X. Ma and W. Cui, Data envelopment analysis method based on poset theory, Systems Engineering and Electronics, 35 (2013), 350-356. [37] G. Munda, Intensity of preference and related uncertainty in non-compensatory aggregation rules, Theory Dec., 73 (2012), 649-669. doi: 10.1007/s11238-012-9317-4. [38] T. D. Nielsen and J. Y. Jaffray, Dynamic decision making without expected utility: An operational approach, European Journal of Operational Research, 169 (2006), 226-246. doi: 10.1016/j.ejor.2004.05.029. [39] J. H. Park, H. J. Cho and Y. C. Kwun, Extension of the VIKOR method to dynamic intuitionistic fuzzy multiple attribute decision making, Computers & Mathematics with Applications, 65 (2013), 731-744. doi: 10.1016/j.camwa.2012.12.008. [40] R. R. Yager, On the fusion of imprecise uncertainty measures using belief structures, Information Science, 181 (2011), 3199-3209. doi: 10.1016/j.ins.2011.02.010. [41] B. Roy and R. Slowinski, Criterion of distance between technical programming and socio-economic priority, RAIRO Recherche Opérationnelle, 27 (1993), 45-60. [42] A. M. Saks and B. E. Ashforth, Change in job search behaviors and employment outcomes, Journal of Vocational Behavior, 56 (2000), 277-287. doi: 10.1006/jvbe.1999.1714. [43] Z. X. Su, M. Y. Chen, G. P. Xia and L. Wang, An interactive method for dynamic intuitionistic fuzzy multi-attribute group decision making, Expert Systems with Applications, 38 (2011), 15286-15295. doi: 10.1016/j.eswa.2011.06.022. [44] J. Thenie and J. P. Vial, Step decision rules for multistage stochastic programming: A heuristic approach, Automatica, 44 (2008), 1569-1584. doi: 10.1016/j.automatica.2008.02.001. [45] J. M. Wang, Robust optimization analysis for multiple attribute decision making problems with imprecise information, Ann Oper Res, 197 (2012), 109-122. doi: 10.1007/s10479-010-0734-x. [46] X. Y. Wang and H. Y. Meng, A multi-stage dynamic decision-making model of mine resources exploitation with many running units-theoretical analysis, Procedia Earth and Planetary Science, 1 (2009), 1654-1660. doi: 10.1016/j.proeps.2009.09.254. [47] Z. S. Xu and R. R. Yager, Dynamic intuitionistic fuzzy multi-attribute decision making, International Journal of Approximate Reasoning, 48 (2008), 246-262. doi: 10.1016/j.ijar.2007.08.008.

show all references

##### References:
 [1] S. B. Amor and J. M. Martel, A new distance measure including the weak preference relation: Application to the multiple criteria aggregation procedure for mixed evaluations, European Journal of Operational Research, 237 (2014), 1165-1169. doi: 10.1016/j.ejor.2014.03.036. [2] M. Z. Angiz, A. Tajaddini, A. Mustafa and M. J. Kamali, Ranking alternatives in a preferential voting system using fuzzy concepts and data envelopment analysis, Comput. Ind. Eng., 63 (2012), 784-790. [3] J. R. Busemeyera and T. J. Pleskac, Theoretical tools for understanding and aiding dynamic decision making, Journal of Mathematical Psychology, 53 (2009), 126-138. doi: 10.1016/j.jmp.2008.12.007. [4] G. Campanella and R. A. Ribeiro, A framework for dynamic multiple-criteria decision making, Decision Support Systems, 52 (2011), 52-60. doi: 10.1016/j.dss.2011.05.003. [5] S. Y. Chen and G. T. Fu, Combining fuzzy iteration model with dynamic programming to solve multiobjective multistage decision making problems, Fuzzy Sets and Systems, 152 (2005), 499-512. doi: 10.1016/j.fss.2004.10.006. [6] Y. L. Chen and L. C. Cheng, An approach to group ranking decisions in a dynamic environment, Decision Support Systems, 48 (2010), 622-634. doi: 10.1016/j.dss.2009.12.003. [7] Y. L. Chen and L. C. Cheng, Mining maximum consensus sequences from group ranking data, European Journal of Operational Research, 198 (2009), 241-253. doi: 10.1016/j.ejor.2008.09.004. [8] Y. L. Chen, L. C. Cheng and P. H. Huang, Mining consensus preference graphs from users' ranking data, Decision Support Systems, 54 (2013), 1055-1064. doi: 10.1016/j.dss.2012.10.031. [9] F. Chiclana, J. M. T. García, M. J. Moral and E. Herrera-viedma, A statistical comparative study of different similarity measures of consensus in group decision making, Information Sciences, 221 (2013), 110-123. doi: 10.1016/j.ins.2012.09.014. [10] S. J. Chuu, Selecting the advanced manufacturing technology using fuzzy multiple attributes group decision making with multiple fuzzy information, Computers & Industrial Engineering, 57 (2009), 1033-1042. doi: 10.1016/j.cie.2009.04.011. [11] D. Engelage, Optimal stopping with dynamic variational preferences, Journal of Economic Theory, 146 (2011), 2042-2074. doi: 10.1016/j.jet.2011.06.014. [12] Z. P. Fan, Q. Yue, B. Feng and Y. Liu, An approach to group decision-making with uncertain preference ordinals, Computers & Industrial Engineering, 58 (2010), 51-57. doi: 10.1016/j.cie.2009.08.001. [13] C. X. Guo, A method for aggregating group preference based on pair-wise comparison with random binary relations under interval belief structures, Mathematics & Information Sciences, 6 (2012), 869-880. [14] C. X. Guo, H. Gong and Y. H. Guo, Approach for random lattice order ranking based on preference entropy under interval belief degree circumstance, Operations Research and Management Science, 22 (2013), 21-29. [15] Y. Guo, Lattice Order Making[M], Shanghai Science and Technology Publishing House, Shanghai, 2003. [16] T. M. Gureckis and B. C. Love, Learning in noise: Dynamic decision-making in a variable environment, Journal of Mathematical Psychology, 53 (2009), 180-193. doi: 10.1016/j.jmp.2009.02.004. [17] C. X. Guo and Y. Peng, Lattice order group decision making with interval probability based on prospect theory, Group Decis. Negot., 24 (2015), 753-775. [18] E. D. Hahn, Judgmental consistency and consensus in stochastic multicriteria decision making, Expert Systems with Applications, 37 (2010), 3784-3791. doi: 10.1016/j.eswa.2009.11.042. [19] C. H. Han, J. K. Kim and S. H. Choi, Prioritizing engineering characteristics in quality function deployment with incomplete information: A linear partial ordering approach, Int. J. Production Economics, 91 (2004), 235-249. doi: 10.1016/j.ijpe.2003.09.001. [20] J. D. Hey and J. A. Knoll, Strategies in dynamic decision making - An experimental investigation of the rationality of decision behaviour, Journal of Economic Psychology, 32 (2011), 399-409. doi: 10.1016/j.joep.2011.02.011. [21] B. Huang and C. X. Guo, Intuitionistic fuzzy multigranulation rough sets, Information Sciences, 277 (2014), 299-320. doi: 10.1016/j.ins.2014.02.064. [22] Y. Huang and J. W. Hutchinson, The roles of planning, learning, and mental models in repeated dynamic decision making, Organizational Behavior and Human Decision Processes, 122 (2013), 163-176. doi: 10.1016/j.obhdp.2013.07.001. [23] K. Jabeur and J. M. Martel, A collective choicemethod based on individual preferences relational systems(prs), Eur. J. Oper. Res., 177 (2007), 1549-1565. doi: 10.1016/j.ejor.2005.10.028. [24] K. Jabeur and J. M. Martel, An agreement index with respect to a consensus preorder, Group Decis. Negot., 19 (2010), 571-590. doi: 10.1007/s10726-009-9160-3. [25] K. Jabeur and J. M. Martel, An ordinal sorting method for group decision-making, Eur. J. Oper. Res., 180 (2007), 1272-1289. doi: 10.1016/j.ejor.2006.05.032. [26] K. Jabeur, J. M. Martel and A. Guitouni, Deriving a minimum distance-based collective preorder: A binary mathematical programming approach, OR Spectr., 34 (2012), 23-42. doi: 10.1007/s00291-009-0192-5. [27] K. Jabeur, J. M. Martel and S. B. Khélif, A distance-based collective preorder integrating the relative importance of the group's members, Group Decis. Negotiat., 13 (2004), 327-349. doi: 10.1023/B:GRUP.0000042894.00775.75. [28] S. Jullien-Ramasso, G. Mauris, L. Valet and P. Bolon, A decision support system for animated film selection based on a multi-criteria aggregation of referees' ordinal preferences, Expert Syst. Appl., 39 (2012), 4250-4257. doi: 10.1016/j.eswa.2011.09.109. [29] D. Lerche, S. Y. Matsuzaki, P. B. Sørensen, L. Carlsen and O. J. Nielsen, Ranking of chemical substances based on the Japanese Pollutant Release and Transfer Register using partial order theory and random linear extensions, Chemosphere, 55 (2004), 1005-1025. doi: 10.1016/j.chemosphere.2004.01.023. [30] D. Lerche and P. B. Sørensen, Evaluation of the ranking probabilities for partial orders based on random linear extensions, Chemosphere, 53 (2003), 981-992. doi: 10.1016/S0045-6535(03)00558-7. [31] Y. H. Lin , P. C. Lee and H. I. Ting, Dynamic multi-attribute decision making model with grey number evaluations, Expert Systems with Applications, 35 (2008), 1638-1644. doi: 10.1016/j.eswa.2007.08.064. [32] L. C. Ma, Visualizing preferences on spheres for group decisions based on multiplicative preference relations, European Journal of Operational Research, 203 (2010), 176-184. doi: 10.1016/j.ejor.2009.07.008. [33] Z. X. Ma, Applying theory of partially ordered sets to study data envelopment analysis, Journal of Systems Engineering, 3 (2002), 3-8. [34] Z. X. MA, Method of data envelopment analysis based on the theory of partially ordered sets, Systems Engineering-Theory & Practice, 4 (2003), 12-17. [35] G. Martinelli, J. Eidsvik and R. Hauge, Dynamic decision making for graphical models applied to oil exploration, European Journal of Operational Research, 230 (2013), 688-702. doi: 10.1016/j.ejor.2013.04.057. [36] R. Mu, Z. X. Ma and W. Cui, Data envelopment analysis method based on poset theory, Systems Engineering and Electronics, 35 (2013), 350-356. [37] G. Munda, Intensity of preference and related uncertainty in non-compensatory aggregation rules, Theory Dec., 73 (2012), 649-669. doi: 10.1007/s11238-012-9317-4. [38] T. D. Nielsen and J. Y. Jaffray, Dynamic decision making without expected utility: An operational approach, European Journal of Operational Research, 169 (2006), 226-246. doi: 10.1016/j.ejor.2004.05.029. [39] J. H. Park, H. J. Cho and Y. C. Kwun, Extension of the VIKOR method to dynamic intuitionistic fuzzy multiple attribute decision making, Computers & Mathematics with Applications, 65 (2013), 731-744. doi: 10.1016/j.camwa.2012.12.008. [40] R. R. Yager, On the fusion of imprecise uncertainty measures using belief structures, Information Science, 181 (2011), 3199-3209. doi: 10.1016/j.ins.2011.02.010. [41] B. Roy and R. Slowinski, Criterion of distance between technical programming and socio-economic priority, RAIRO Recherche Opérationnelle, 27 (1993), 45-60. [42] A. M. Saks and B. E. Ashforth, Change in job search behaviors and employment outcomes, Journal of Vocational Behavior, 56 (2000), 277-287. doi: 10.1006/jvbe.1999.1714. [43] Z. X. Su, M. Y. Chen, G. P. Xia and L. Wang, An interactive method for dynamic intuitionistic fuzzy multi-attribute group decision making, Expert Systems with Applications, 38 (2011), 15286-15295. doi: 10.1016/j.eswa.2011.06.022. [44] J. Thenie and J. P. Vial, Step decision rules for multistage stochastic programming: A heuristic approach, Automatica, 44 (2008), 1569-1584. doi: 10.1016/j.automatica.2008.02.001. [45] J. M. Wang, Robust optimization analysis for multiple attribute decision making problems with imprecise information, Ann Oper Res, 197 (2012), 109-122. doi: 10.1007/s10479-010-0734-x. [46] X. Y. Wang and H. Y. Meng, A multi-stage dynamic decision-making model of mine resources exploitation with many running units-theoretical analysis, Procedia Earth and Planetary Science, 1 (2009), 1654-1660. doi: 10.1016/j.proeps.2009.09.254. [47] Z. S. Xu and R. R. Yager, Dynamic intuitionistic fuzzy multi-attribute decision making, International Journal of Approximate Reasoning, 48 (2008), 246-262. doi: 10.1016/j.ijar.2007.08.008.
 [1] Xue Yan, Heap-Yih Chong, Jing Zhou, Zhaohan Sheng, Feng Xu. Fairness preference based decision-making model for concession period in PPP projects. Journal of Industrial and Management Optimization, 2020, 16 (1) : 11-23. doi: 10.3934/jimo.2018137 [2] Zhen Ming Ma, Ze Shui Xu, Wei Yang. Approach to the consistency and consensus of Pythagorean fuzzy preference relations based on their partial orders in group decision making. Journal of Industrial and Management Optimization, 2021, 17 (5) : 2615-2638. doi: 10.3934/jimo.2020086 [3] Ana F. Carazo, Ignacio Contreras, Trinidad Gómez, Fátima Pérez. A project portfolio selection problem in a group decision-making context. Journal of Industrial and Management Optimization, 2012, 8 (1) : 243-261. doi: 10.3934/jimo.2012.8.243 [4] Jian Liu, Xin Wu, Jiang-Ling Lei. The combined impacts of consumer green preference and fairness concern on the decision of three-party supply chain. Journal of Industrial and Management Optimization, 2021  doi: 10.3934/jimo.2021090 [5] V. Afraimovich, J. Schmeling, Edgardo Ugalde, Jesús Urías. Spectra of dimensions for Poincaré recurrences. Discrete and Continuous Dynamical Systems, 2000, 6 (4) : 901-914. doi: 10.3934/dcds.2000.6.901 [6] Harish Garg. Novel correlation coefficients under the intuitionistic multiplicative environment and their applications to decision-making process. Journal of Industrial and Management Optimization, 2018, 14 (4) : 1501-1519. doi: 10.3934/jimo.2018018 [7] Jian Jin, Weijian Mi. An AIMMS-based decision-making model for optimizing the intelligent stowage of export containers in a single bay. Discrete and Continuous Dynamical Systems - S, 2019, 12 (4&5) : 1101-1115. doi: 10.3934/dcdss.2019076 [8] Alireza Eydi, Rozhin Saedi. A multi-objective decision-making model for supplier selection considering transport discounts and supplier capacity constraints. Journal of Industrial and Management Optimization, 2021, 17 (6) : 3581-3602. doi: 10.3934/jimo.2020134 [9] Sunil Kumar, Saikat Ranjan Maity, Lokeswar Patnaik. A novel BWM integrated MABAC decision-making approach to optimize the wear parameter of CrN/TiAlSiN coating. Journal of Industrial and Management Optimization, 2022  doi: 10.3934/jimo.2022061 [10] A. C. Eberhard, J-P. Crouzeix. Existence of closed graph, maximal, cyclic pseudo-monotone relations and revealed preference theory. Journal of Industrial and Management Optimization, 2007, 3 (2) : 233-255. doi: 10.3934/jimo.2007.3.233 [11] Harish Garg. Some robust improved geometric aggregation operators under interval-valued intuitionistic fuzzy environment for multi-criteria decision-making process. Journal of Industrial and Management Optimization, 2018, 14 (1) : 283-308. doi: 10.3934/jimo.2017047 [12] Xiao-Xu Chen, Peng Xu, Jiao-Jiao Li, Thomas Walker, Guo-Qiang Yang. Decision-making in a retailer-led closed-loop supply chain involving a third-party logistics provider. Journal of Industrial and Management Optimization, 2022, 18 (2) : 1161-1183. doi: 10.3934/jimo.2021014 [13] Xiaoyi Zhou, Tong Ye, Tony T. Lee. Designing and analysis of a Wi-Fi data offloading strategy catering for the preference of mobile users. Journal of Industrial and Management Optimization, 2022, 18 (3) : 1665-1688. doi: 10.3934/jimo.2021038 [14] Haiying Liu, Wenjie Bi, Kok Lay Teo, Naxing Liu. Dynamic optimal decision making for manufacturers with limited attention based on sparse dynamic programming. Journal of Industrial and Management Optimization, 2019, 15 (2) : 445-464. doi: 10.3934/jimo.2018050 [15] B. Fernandez, E. Ugalde, J. Urías. Spectrum of dimensions for Poincaré recurrences of Markov maps. Discrete and Continuous Dynamical Systems, 2002, 8 (4) : 835-849. doi: 10.3934/dcds.2002.8.835 [16] Zhuchun Li. Effectual leadership in flocks with hierarchy and individual preference. Discrete and Continuous Dynamical Systems, 2014, 34 (9) : 3683-3702. doi: 10.3934/dcds.2014.34.3683 [17] Bin Dan, Huali Gao, Yang Zhang, Ru Liu, Songxuan Ma. Integrated order acceptance and scheduling decision making in product service supply chain with hard time windows constraints. Journal of Industrial and Management Optimization, 2018, 14 (1) : 165-182. doi: 10.3934/jimo.2017041 [18] Saber Saati, Adel Hatami-Marbini, Per J. Agrell, Madjid Tavana. A common set of weight approach using an ideal decision making unit in data envelopment analysis. Journal of Industrial and Management Optimization, 2012, 8 (3) : 623-637. doi: 10.3934/jimo.2012.8.623 [19] Juan Wang, Xiaodan Zhang, Yun Zhao. Dimension estimates for arbitrary subsets of limit sets of a Markov construction and related multifractal analysis. Discrete and Continuous Dynamical Systems, 2014, 34 (5) : 2315-2332. doi: 10.3934/dcds.2014.34.2315 [20] Godofredo Iommi, Bartłomiej Skorulski. Multifractal analysis for the exponential family. Discrete and Continuous Dynamical Systems, 2006, 16 (4) : 857-869. doi: 10.3934/dcds.2006.16.857

2020 Impact Factor: 2.425

## Metrics

• PDF downloads (271)
• HTML views (0)
• Cited by (10)

## Other articlesby authors

• on AIMS
• on Google Scholar

[Back to Top]


text:
# A gas sample has a volume of $4250 mathrm{~mL}$ at $15^{circ} mathrm{C}$ and $745 mathrm{mmHg}$. What is the final temperature,

###### Question:

A gas sample has a volume of $4250 mathrm{~mL}$ at $15^{circ} mathrm{C}$ and $745 mathrm{mmHg}$. What is the final temperature, in degrees Celsius, after the sample is transferred to a different container with a volume of $2.50 mathrm{~L}$ and a pressure of $1.20 mathrm{~atm}$, when $n$ remains constant? (11.6)

#### Similar Solved Questions

##### How do you find the values of x given 5times62+6times33-68=x?
How do you find the values of x given 5times62+6times33-68=x?...
##### Dakota buys a bag of cookies that contains 6 chocolate chipcookies, 8 peanut butter cookies, 7 sugar cookies and 5 oatmealcookies. What is the probability that Dakota randomly selects achocolate chip cookie from the bag, eats it, then randomly selectsa sugar cookie? Express you answer as a reduced fraction.
Dakota buys a bag of cookies that contains 6 chocolate chip cookies, 8 peanut butter cookies, 7 sugar cookies and 5 oatmeal cookies. What is the probability that Dakota randomly selects a chocolate chip cookie from the bag, eats it, then randomly selects a sugar cookie? Express you answer as a reduc...
##### Use the properties of logarithms to evaluate each expression. $2 \log _{8} 4-\frac{1}{3} \log _{8} 8$
Use the properties of logarithms to evaluate each expression. $2 \log _{8} 4-\frac{1}{3} \log _{8} 8$...
##### You notice that Alice wanted to check the cell number after one hour of growth, so...
You notice that Alice wanted to check the cell number after one hour of growth, so she also used a Petroff-Hauser chamber (Hemocytometer) to count the number of cells. If she had 10^4 cells in the original culture tube after one hour, how many microliters (uL) of the original undiluted culture would...
##### A city sower plpe has diameter of=and longih of 100 Find the volume of the pipe; Use 3.14 a5 the approximate value 0l =v-h(Round the nearest whole number as needed )
A city sower plpe has diameter of= and longih of 100 Find the volume of the pipe; Use 3.14 a5 the approximate value 0l = v-h (Round the nearest whole number as needed )...
##### The concrete sections of certain superhighway are designed to have length The sections are poured and cured at 10.0PC What minimum spacing should the engineer leave between the sections to ellminate buckling if the concrete is to reach temperature of 58,0*C? (Note: If applicable, Table is available for use solving this problem: )
The concrete sections of certain superhighway are designed to have length The sections are poured and cured at 10.0PC What minimum spacing should the engineer leave between the sections to ellminate buckling if the concrete is to reach temperature of 58,0*C? (Note: If applicable, Table is available ...
##### Which of the following two reactions would have an equilibrium constant more favorable to the right?...
Which of the following two reactions would have an equilibrium constant more favorable to the right? Explain your answer....
##### A 0.28 kg mass is attached to a light spring with a force constant of 34.9...
A 0.28 kg mass is attached to a light spring with a force constant of 34.9 N/m and set into oscillation on a horizontal frictionless surface. If the spring is stretched 5.0 cm and released from rest, determine the following. (a) maximum speed of the oscillating mass m/s (b) speed of the oscillating ...
##### P3. (a; 8) Compute the number of all equivalence relations on the set A = {1,2,3,4,5,6,7,8} that have exactly equivalence classes_ Explain your answer b; 8) Draw all types of (pairwise) non-isomorphic simple graphs with 6 vertices and 3 edges_
P3. (a; 8) Compute the number of all equivalence relations on the set A = {1,2,3,4,5,6,7,8} that have exactly equivalence classes_ Explain your answer b; 8) Draw all types of (pairwise) non-isomorphic simple graphs with 6 vertices and 3 edges_...
##### Find the equation of the tangent to the curve at the point (2,e) x =1+Vt_ y = 042Find the exact length of the curve Do not round your answerx=1+3t2y = 4 +2t3 0 <t <1
Find the equation of the tangent to the curve at the point (2,e) x =1+Vt_ y = 042 Find the exact length of the curve Do not round your answer x=1+3t2 y = 4 +2t3 0 <t <1...
##### Suppose that 0.490 mol of methane, CH4(g), is reacted with 0.640 mol of fluorine, F2(g), forming...
Suppose that 0.490 mol of methane, CH4(g), is reacted with 0.640 mol of fluorine, F2(g), forming CF4(g) and HF(g) as sole products. Assuming that the reaction occurs at constant pressure, how much heat is released? Express your answer to three significant figures and include the appropriate units ...
##### Abusbund and wilc Mhc jnd Lol sharr J digiLal musk payer Lht has 4 fcature that rancomly sclctts which song pLiy: Atotal of 2.384 sones were Iondcd onio pyer, sJiie Met jnd tItcit bv Le Suppor Utuast wtru Ule plater wnt thc rardom welection Inode: 23 of thc firxt 60 s0ngs celctted were 50n8s losdcdiCensbuci andterret 4Ueceniconinplarer tht wets loudsd64 |ort'hlnteromolKonimcnte rtnPaendloigt unabout hothor the pliye{ amplo: tha Jonra Eualn Ay thn datlnchon  not Imoxtnt Iot Ua conc'r
Abusbund and wilc Mhc jnd Lol sharr J digiLal musk payer Lht has 4 fcature that rancomly sclctts which song pLiy: Atotal of 2.384 sones were Iondcd onio pyer, sJiie Met jnd tItcit bv Le Suppor Utuast wtru Ule plater wnt thc rardom welection Inode: 23 of thc firxt 60 s0ngs celctted were 50n8s losdcd...
Initially there $potential energy in the compressed spring: Frictional m surface Eventually the block stops, its mechanical energy gone m m Frictional force acts to oppose the motion. Ax End of spring when uncompressed u oss an object straight up. If the initial velocity is 6m/s how high above your... 5 answers ##### MTH 2 1Written HW&-Doubk IntegralsWinter "0ITCatTWn Fa{umnAntutadCeMteeMumt Auisntt MkaMe fte= Errilc einut Hele Tawbn Tamiite -ukmak Lcll Autallaul 'ptobkaL ujlnamm ~luiull uMIEU canf uU cuclue Ichi ~a Iut !tMiz (ahdiMuabile Cutsuat Uuu" @udn Igi"KK Qayes LL Qdyes WECAAU nleltMaRattn HIININ.Tkill (~htiellunnt e Y~im~uleh [uarluklul(Rnnkbr (Xr.) TclebRaluielnult unuini [ceMiham t'ayi MEATT" 'uepwlt jetz thi = iuental will zite Aaeal - l7" E:u ueIfon MTH 2 1 Written HW&-Doubk Integrals Winter "0IT Cat TWn Fa {umnAntutad CeMtee Mumt Auisntt MkaMe fte= Errilc einut Hele Tawbn Tamiite -ukmak Lcll Autallaul 'ptobkaL ujlnamm ~luiull uMIEU canf uU cuclue Ichi ~a Iut !tMiz (ahdi Muabile Cutsuat Uuu" @udn Igi" KK Qayes LL Qdyes ... 1 answer ##### The Institute finds that the average student taking Elementary Shorthand will progress at a rate given by dQ/dt=k(80-Q) in a 20 -wk course, where Q(t) measures the number of words of dictation a student can take per minute after t wk in the course The Institute finds that the average student taking Elementary Shorthand will progress at a rate given by dQ/dt=k(80-Q) in a 20 -wk course, where Q(t) measures the number of words of dictation a student can take per minute after t wk in the course. If the average student can take 60 words of dicta... 5 answers ##### Let(HGHH)" and {9}-( What is18 24 30 10 28 54d, Tne answer ncr listed Let (HGHH)" and {9}-( What is 18 24 30 10 28 54 d, Tne answer ncr listed... 1 answer ##### Chemistry Stoich homework Zinc dissolves in HCl, forming H2 and ZnCl2. The balanced equation for this reaction is shown below:Zn + 2 HCl --> H2 + ZnCl + ZnCl2What mass of Zn will theoretically dissolve in 75mL of .121M (molarity) HCl?... 1 answer ##### The null and alternative hypotheses for a population proportion, as well as the sample results, are given. Use StatKey or other technology to generate a randomization distribution and calculate a p-value. StatKey tip: Use "Test for a Single Proportion" and then Edit Data" to enter the sample information:Hypotheses:Ho : p = 0.5VSHa : p > 0.5Sample data:30 p 50 0.60with50Round the p-value to three decimal placesp-value0.579 The null and alternative hypotheses for a population proportion, as well as the sample results, are given. Use StatKey or other technology to generate a randomization distribution and calculate a p-value. StatKey tip: Use "Test for a Single Proportion" and then Edit Data" to enter the... 1 answer ##### Question 4 The Ubeen the arrival of de messages in your computer is distruttamente har a)... Question 4 The Ubeen the arrival of de messages in your computer is distruttamente har a) What is the probably that you do not receive a gering a tour 0.67 Round your destul places) by you have a message in the last four hours, what is the probably that you do not in the shows 4) What is the peace b... 1 answer ##### Graphing the Absolute Value of a Function Sketch the graph of each function. $\text { (a) } f(x)=x^{3} \quad \text { (b) } g(x)=\left|x^{3}\right|$ Graphing the Absolute Value of a Function Sketch the graph of each function. $\text { (a) } f(x)=x^{3} \quad \text { (b) } g(x)=\left|x^{3}\right|$... 5 answers ##### 259necestan Inunddaciral place (Use Ito opproximnation 14 forx)Subaituie tie olvon vahues into Iha plven farmuln 15 7 (Circumlatence " crde)solyn 259 necestan Inund daciral place (Use Ito opproximnation 14 forx) Subaituie tie olvon vahues into Iha plven farmuln 15 7 (Circumlatence " crde) solyn... 1 answer ##### Homework: HW 08 (Chapter 2) 2 of 4 (1 complete) HW Score: 28.57%, 2 of 7... Homework: HW 08 (Chapter 2) 2 of 4 (1 complete) HW Score: 28.57%, 2 of 7 Score: 0 of 2 pts S2-14 (similar to) Question Help Bloomfield Manufacturing found the following information in its accounting records$521,000 of direct materials used, $217.000 of direct labor and S773.000 of manufacturing ove... 1 answer ##### (Maximum of Two) Write an HMMM program max.hmmm that takes two numbers a and b as... (Maximum of Two) Write an HMMM program max.hmmm that takes two numbers a and b as input and writes the approximate maximum of the two.... 5 answers ##### AXIS 0 = 4 teignt 10 whose base tne (3) Find the ellipee volume of the solid given axis obtained by rotating the region enclose (8) v =12,y = 6 _ I, about y = -2 (b) y = 16 _ x2 I =2,I =3,y = 0 about I = 6 6.3: The cylindrical shell method: Using the cylindrical shell method , by rotating the region enclosed by the givengcuees about the given axis_ (1) y = 16 - 22,1 =2,1 =3, y =0 about € = 6 (2) y = (22 +1)-2, y = 2 - (22 + 1)-2, I = 2, about the y-axis (3) y = a - € with a > 0, I = 0, y = 0, AXIS 0 = 4 teignt 10 whose base tne (3) Find the ellipee volume of the solid given axis obtained by rotating the region enclose (8) v =12,y = 6 _ I, about y = -2 (b) y = 16 _ x2 I =2,I =3,y = 0 about I = 6 6.3: The cylindrical shell method: Using the cylindrical shell method , by rotating the region... 1 answer ##### How do you find a polynomial function with zeroes 5,-3? How do you find a polynomial function with zeroes 5,-3?... 5 answers ##### A= Density of a Solid A.] Mass of the solid4.2 Volume of the solid by displacement Initial water level (mL)Final water level with solid (mL)Volume of solid (mL)gmLA3 Calculating the density of the solid (Show calculationsA.4 Type of metal A= Density of a Solid A.] Mass of the solid 4.2 Volume of the solid by displacement Initial water level (mL) Final water level with solid (mL) Volume of solid (mL) gmL A3 Calculating the density of the solid (Show calculations A.4 Type of metal... 5 answers ##### A ball of mass 7kg tied t0 string I2cmn Lng Grad/s. Ignore gravity in this problem. Find the tcnsion the string:5WlII around in circles at angular velocityFind thc frequency ol the circular motion. What Lhc centripetal acceleration thc ball? When the blll SWIIDg Such that gces aroud thc: circle 12 times in 7s the string breaks What the maxim tension the string can withstind? Whal Lhc Langential spexxl of the: hall when the string aL HALXiT tension? A ball of mass 7kg tied t0 string I2cmn Lng Grad/s. Ignore gravity in this problem. Find the tcnsion the string: 5WlII around in circles at angular velocity Find thc frequency ol the circular motion. What Lhc centripetal acceleration thc ball? When the blll SWIIDg Such that gces aroud thc: circle 12... 1 answer ##### At a large grocery store, based on a sample of size 19. the cashler error has... At a large grocery store, based on a sample of size 19. the cashler error has a sample mean of 29.1 dollars per day and a standard deviation of 5.9 dollars. Find a 87% confidence interval for the population cashier error. You may assume that the cashier errors are normally distributed. Answer: We ar... 1 answer ##### Simply defined, ethical marketing is less of a marketing strategy and more of a philosophy that... simply defined, ethical marketing is less of a marketing strategy and more of a philosophy that informs all marketing efforts. true or false?... 2 answers ##### Arecent nalknal survcy Ibund Ukt parents craqi lncani ot 10 books pcT ITonth lo their chiklien under Itve yeats old Te poqululi stunard deviationis The disuibutior ol books read pEt month follows Ihe ntrruaul drstnbulion Tanidom sanple 25 hatrselakk: revedledhatt tux: I H qnbct books (Cud kst Inorth*61X Al Ilic 01 sicprulic afcekvel can we ronclude Ihat Qutenis [edomkahenan InC Aycnrc numuei book:: to tekr c hildren:State the null hypathesis ud the alterate hypolhesisState the declslan nule to Arecent nalknal survcy Ibund Ukt parents craqi lncani ot 10 books pcT ITonth lo their chiklien under Itve yeats old Te poqululi stunard deviationis The disuibutior ol books read pEt month follows Ihe ntrruaul drstnbulion Tanidom sanple 25 hatrselakk: revedledhatt tux: I H qnbct books (Cud kst Inor... 5 answers ##### Solve 4 sin x - 3 = 0 graphically in the range 0% < x < 3609.1803609gin *2708 Solve 4 sin x - 3 = 0 graphically in the range 0% < x < 3609. 180 3609 gin * 2708... 1 answer ##### Alex bought his principal residence for$175000 on June 5, 2016. He sold it on July...
Alex bought his principal residence for $175000 on June 5, 2016. He sold it on July 18, 2017 for$205000. Assuming no adjustments to basis, what is the amount and character of Alex's gain?...
##### As definite integrals. Note that (1) $P=\left[x_{0}, x_{1}, \ldots, x_{n}\right]$ is a partition of the indicated interval, (2) $c_{k} \in\left[x_{k-1}, x_{k}\right]$, and (3) $\Delta x_{k}=x_{k}-x_{k-1}$. $\lim _{\|P\| \rightarrow 0} \sum_{k=1}^{n} 2 c_{k}^{3} \Delta x_{k}$, where $P$ is a partition of $[1,2]$
As definite integrals. Note that (1) $P=\left[x_{0}, x_{1}, \ldots, x_{n}\right]$ is a partition of the indicated interval, (2) $c_{k} \in\left[x_{k-1}, x_{k}\right]$, and (3) $\Delta x_{k}=x_{k}-x_{k-1}$. $\lim _{\|P\| \rightarrow 0} \sum_{k=1}^{n} 2 c_{k}^{3} \Delta x_{k}$, where $P$ is a partitio...


text:
+0

# When $555_{10}$ is expressed in this base, it has 4 digits, in the form ABAB, where A and B are two different digits. What base is it?

0
520
3
+416

When $555_{10}$ is expressed in this base, it has 4 digits, in the form ABAB, where A and B are two different digits. What base is it?

Dabae  Jun 7, 2015

### Best Answer

#1
+92221
+20

When $555_{10}$ is expressed in this base, it has 4 digits, in the form ABAB, where A and B are two different digits. What base is it?

Let the base be X

$$\\A*X^3+B*X^2+A*X+B=555\\\\ AX^3+BX^2+AX+B=555\\\\ X^2(AX+B)+(AX+B)=555\\\\ (X^2+1)(AX+B)=555\\\\ So\;\;X^2+1\;\;must be a factor of 555\\\\$$

$${factor}{\left({\mathtt{555}}\right)} = {\mathtt{3}}{\mathtt{\,\times\,}}{\mathtt{5}}{\mathtt{\,\times\,}}{\mathtt{37}}$$

factors of 555 are   3,5,37,15,111,185,555

5  and 37 would both work so far

5 would  be base 2 And base 2 is to little,  37 would give base 6 (X=6) so that is probably correct.

Lets see

$$\\(X^2+1)(AX+B)=555\\\\ (6^2+1)(6A+B)=555\\\\ 37(6A+B)=555\\\\ 6A+B=15\\\\ If A=1 B=8 \qquad no good A and B cannot be more than 5\\\\ If A=2 B=3 \qquad Great\\\\ so our number is  2323_6$$

Check

$${\mathtt{2}}{\mathtt{\,\times\,}}{{\mathtt{6}}}^{{\mathtt{3}}}{\mathtt{\,\small\textbf+\,}}{\mathtt{3}}{\mathtt{\,\times\,}}{{\mathtt{6}}}^{{\mathtt{2}}}{\mathtt{\,\small\textbf+\,}}{\mathtt{2}}{\mathtt{\,\times\,}}{\mathtt{6}}{\mathtt{\,\small\textbf+\,}}{\mathtt{3}} = {\mathtt{555}}$$

And that is excellent

So               $$555_{10}=2323_6$$

Melody  Jun 8, 2015
Sort:

### 3+0 Answers

#1
+92221
+20
Best Answer

When $555_{10}$ is expressed in this base, it has 4 digits, in the form ABAB, where A and B are two different digits. What base is it?

Let the base be X

$$\\A*X^3+B*X^2+A*X+B=555\\\\ AX^3+BX^2+AX+B=555\\\\ X^2(AX+B)+(AX+B)=555\\\\ (X^2+1)(AX+B)=555\\\\ So\;\;X^2+1\;\;must be a factor of 555\\\\$$

$${factor}{\left({\mathtt{555}}\right)} = {\mathtt{3}}{\mathtt{\,\times\,}}{\mathtt{5}}{\mathtt{\,\times\,}}{\mathtt{37}}$$

factors of 555 are   3,5,37,15,111,185,555

5  and 37 would both work so far

5 would  be base 2 And base 2 is to little,  37 would give base 6 (X=6) so that is probably correct.

Lets see

$$\\(X^2+1)(AX+B)=555\\\\ (6^2+1)(6A+B)=555\\\\ 37(6A+B)=555\\\\ 6A+B=15\\\\ If A=1 B=8 \qquad no good A and B cannot be more than 5\\\\ If A=2 B=3 \qquad Great\\\\ so our number is  2323_6$$

Check

$${\mathtt{2}}{\mathtt{\,\times\,}}{{\mathtt{6}}}^{{\mathtt{3}}}{\mathtt{\,\small\textbf+\,}}{\mathtt{3}}{\mathtt{\,\times\,}}{{\mathtt{6}}}^{{\mathtt{2}}}{\mathtt{\,\small\textbf+\,}}{\mathtt{2}}{\mathtt{\,\times\,}}{\mathtt{6}}{\mathtt{\,\small\textbf+\,}}{\mathtt{3}} = {\mathtt{555}}$$

And that is excellent

So               $$555_{10}=2323_6$$

Melody  Jun 8, 2015
#2
+85805
0

That's a nice approach and nice thinking, Melody....

CPhill  Jun 8, 2015
#3
+92221
0

Thanks Chris :)

Melody  Jun 8, 2015

### 25 Online Users

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.  See details


text:
# Isomorphism between groups and their Lie Algebra

1. Mar 19, 2013

### raopeng

I must apologize if this question sounds dump but if an isomorphism is established between two groups, is it true that their lie algebra is an isomorphism too? My idea is that since the tangent space is sent to tangent space also in the matrix space, both groups' lie algebra will be isomorphism also. For example we have: SU(2) × SU(2) ≈ SO(4) and su(2) × su(2) ≈ so(4).

2. Mar 19, 2013

### GoodSpirit

Hi raopeng,

Could you explain a little bit more?

Best regards

GoodSpirit

3. Mar 19, 2013

### raopeng

For example we have an isomorphism between two groups, and we know that Lie Algebra of a group is the commutator of matrix of its tangent space at the identity. So if there exists an isomorphism, wouldn't that entail that, since the tangent space is sent to tangent space under the mapping, their lie algebra is isomorphic too? I have this idea when trying to establish an isomorphism between su(2) x su(2) ≈ so(4) and there is an isomorphism between SU(2) x SU(2) ≈ SO(4)

4. Mar 23, 2013

### wisvuze

A lie group isomorphism f between lie groups G and H will have full rank, so that the corresponding map between lie algebras df is an isomorphism. However, the converse is false, two lie groups can have the same lie algebra but be non isomorphic lie groups.
Groups that are locally diffeomorphic at the identity will have isomorphic lie algebras

5. Mar 23, 2013

### lavinia

you need to show that df[X,Y] = [df(X),dfY)] which implies that the linear isomorphism of left invariant vector fields is a Lie algebra homomorphism.